Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / VgaSeqProgramChain.c
@Ajax Dong Ajax Dong 2 days ago 949 bytes Init
int __fastcall VgaSeqProgramChain(int a1, int a2)
{
  unsigned int n64; // edi
  char *v4; // esi
  unsigned int n64_1; // ecx
  unsigned __int8 *v6; // esi
  unsigned __int8 n64_2; // [esp+8h] [ebp-8h]
  unsigned __int8 v8; // [esp+Dh] [ebp-3h]
  unsigned __int8 v9; // [esp+Eh] [ebp-2h]
  unsigned __int8 v10; // [esp+Fh] [ebp-1h]

  if ( *(_DWORD *)(a2 + 8) == 1 )
  {
    n64 = 64;
    v4 = (char *)&unk_FFE7B3DC;
  }
  else
  {
    if ( *(_DWORD *)(a2 + 8) != 8 )
      return 1;
    n64 = 256;
    v4 = (char *)&unk_FFE7B4EC;
  }
  n64_1 = 0;
  v6 = (unsigned __int8 *)(v4 + 2);
  n64_2 = 0;
  do
  {
    v10 = *(v6 - 2);
    v9 = *(v6 - 1);
    v8 = *v6;
    __outbyte(0x3C8u, n64_2);
    __inbyte(0x3C4u);
    __outbyte(0x3C9u, v10);
    __inbyte(0x3C4u);
    __outbyte(0x3C9u, v9);
    __inbyte(0x3C4u);
    __outbyte(0x3C9u, v8);
    __inbyte(0x3C4u);
    ++n64_1;
    v6 += 3;
    n64_2 = n64_1;
  }
  while ( n64_1 < n64 );
  return 0;
}