Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / VgaGcProgramMisc.c
@Ajax Dong Ajax Dong 2 days ago 800 bytes Init
int __fastcall VgaGcProgramMisc(_DWORD *a1, _DWORD *a2)
{
  unsigned int v3; // esi
  unsigned int v4; // ebx
  _BYTE *v5; // ecx
  unsigned int v6; // edx
  unsigned int v7; // ebp
  int n0xFFFF; // eax
  unsigned __int8 v9; // [esp+13h] [ebp-9h]

  v3 = (*a2 * a2[1] * ((unsigned int)(a2[2] + 7) >> 3) - 1) >> 16;
  v4 = 0;
  do
  {
    v9 = (16 * (BYTE1(v4) & 0xF)) | BYTE1(v4) & 0xF;
    __outbyte(0x3D4u, 0xA5u);
    __outbyte(0x3D5u, v9);
    __outbyte(0x3CBu, (16 * ((v4 >> 4) & 0xF)) | (v4 >> 4) & 0xF);
    __outbyte(0x3CDu, (16 * (v4 & 0xF)) | v4 & 0xF);
    v5 = (_BYTE *)a1[17];
    v6 = v4;
    v7 = v4;
    n0xFFFF = 0xFFFF;
    do
    {
      *v5++ = 0;
      --n0xFFFF;
    }
    while ( n0xFFFF );
    ++v4;
  }
  while ( v4 <= v3 );
  a1[20] = v7;
  a1[21] = v6;
  return n0xFFFF;
}