Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / ImageDecodeGetWidth.c
@Ajax Dong Ajax Dong 2 days ago 693 bytes Init
int __fastcall ImageDecodeGetWidth(_BYTE *a1, _BYTE *a2)
{
  _BYTE *v2; // esi
  _BYTE *v3; // edi
  int n4; // ebx
  int v5; // ecx

  v2 = a1;
  v3 = a1 + 16;
  n4 = (unsigned __int8)a1 & 3;
  if ( ((unsigned __int8)a1 & 3) != 0 && n4 == ((unsigned __int8)a2 & 3) )
  {
    v5 = 4 - n4;
    if ( n4 != 4 )
    {
      do
      {
        if ( *v2 != *a2 )
          break;
        ++v2;
        ++a2;
        --v5;
      }
      while ( v5 );
    }
  }
  while ( v2 <= v3 - 4 && *(_DWORD *)v2 == *(_DWORD *)a2 )
  {
    v2 += 4;
    a2 += 4;
  }
  while ( 1 )
  {
    if ( v2 >= v3 )
      return 0;
    if ( *v2 != *a2 )
      break;
    ++v2;
    ++a2;
  }
  return (char)*v2 - (char)*a2;
}