Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / ImageXorDecodeType6.c
@Ajax Dong Ajax Dong 2 days ago 850 bytes Init
int __cdecl ImageXorDecodeType6(int a1, char *a2, char *a3)
{
  int v3; // ebx
  int v4; // ebp
  char *v5; // eax
  int v7; // ecx
  int v8; // edx
  char v9; // al
  char v10; // dl
  int v12; // [esp+Ch] [ebp-Ch]
  int v13; // [esp+10h] [ebp-8h]

  v3 = 0;
  v4 = 0;
  if ( a1 > 0 )
  {
    v5 = a2;
    do
    {
      v7 = 0;
      v8 = 0;
      v12 = 0;
      v13 = 0;
      do
      {
        v9 = *v5;
        if ( v9 >= 0 )
        {
          v10 = v7 * v3 + v8 % 3;
          v7 = v12;
          *a3 = v9 ^ ((v10 & 1) == 0);
          v8 = v13;
        }
        else
        {
          *a3 = v9;
        }
        v8 += v3;
        v13 = v8;
        v4 += *a3 & 1;
        v5 = a2 + 1;
        ++a3;
        ++v7;
        ++a2;
        v12 = v7;
      }
      while ( v7 < a1 );
      ++v3;
    }
    while ( v3 < a1 );
  }
  return v4;
}