Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / VgaCrtcSetRegister.c
@Ajax Dong Ajax Dong 2 days ago 890 bytes Init
int __fastcall VgaCrtcSetRegister(int a1, int a2)
{
  int v2; // esi
  unsigned __int8 n0x10; // bl
  _BYTE *v4; // edx
  int v5; // edi
  int v6; // ebp
  _BYTE *v7; // edx
  __int16 n0x10_1; // ax
  _BYTE *v10; // [esp+14h] [ebp-8h]
  _BYTE *v11; // [esp+18h] [ebp-4h]

  v2 = 0;
  n0x10 = 1;
  v4 = (_BYTE *)(a2 + 1);
  v5 = 0;
  v11 = v4;
  v10 = v4;
  do
  {
    v6 = (unsigned __int8)*v4;
    if ( *v4 )
    {
      v7 = v10;
      n0x10_1 = n0x10;
      do
      {
        *(_WORD *)(a1 + 2 * v2) = n0x10_1;
        *(_WORD *)(a1 + 2 * v2 + 2) = v5++;
        *(_WORD *)(a1 + 2 * v2 + 4) = (unsigned __int8)v7[16];
        v2 += 3;
        n0x10_1 = n0x10;
        ++v7;
        --v6;
      }
      while ( v6 > 0 );
      v10 = v7;
      v4 = v11;
    }
    v5 *= 2;
    ++v4;
    ++n0x10;
    v11 = v4;
  }
  while ( n0x10 <= 0x10u );
  *(_WORD *)(a1 + 2 * v2) = 17;
  return 17;
}