Newer
Older
AMI-Aptio-BIOS-Reversed / SetupDefaultLoad / sub_5694.txt
@Ajax Dong Ajax Dong 2 days ago 986 bytes Init
__int64 __fastcall sub_5694(unsigned __int64 a1)
{
  _BYTE *v1; // rdx
  unsigned __int64 v2; // r9
  unsigned __int64 n8; // r10
  unsigned __int64 v4; // r8

  v1 = &unk_75F0; /*0x5697*/
  v2 = a1 + 16; /*0x569e*/
  n8 = a1 & 7; /*0x56a2*/
  if ( (a1 & 7) != 0 && n8 == ((unsigned __int64)&unk_75F0 & 7) ) /*0x56b1*/
  {
    v4 = 8 - n8; /*0x56b9*/
    if ( n8 != 8 ) /*0x56bc*/
    {
      do /*0x56ce*/
      {
        if ( *(_BYTE *)a1 != *v1 ) /*0x56c2*/
          break; /*0x56c2*/
        ++a1; /*0x56c4*/
        ++v1; /*0x56c7*/
        --v4; /*0x56ca*/
      }
      while ( v4 ); /*0x56ce*/
    }
  }
  while ( a1 <= v2 - 8 && *(_QWORD *)a1 == *(_QWORD *)v1 ) /*0x56dc*/
  {
    a1 += 8LL; /*0x56de*/
    v1 += 8; /*0x56e2*/
  }
  while ( 1 ) /*0x56f9*/
  {
    if ( a1 >= v2 ) /*0x56fc*/
      return 0; /*0x5700*/
    if ( *(_BYTE *)a1 != *v1 ) /*0x56f1*/
      break; /*0x56f1*/
    ++a1; /*0x56f3*/
    ++v1; /*0x56f6*/
  }
  return *(char *)a1 - (char)*v1; /*0x5700*/
}