Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / VgaModeConfig.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
int __thiscall VgaModeConfig(int *this)
{
  int *this_1; // esi
  int n0xFFFF; // ebp
  int v3; // ebx
  int v4; // eax
  unsigned int n5; // edi
  int n0xFFFF_2; // esi
  int n0xFFFF_1; // esi
  __int16 v8; // si
  bool v9; // zf
  int v12; // [esp+14h] [ebp-4h]

  this_1 = this;
  n0xFFFF = 0xFFFF;
  v3 = 0;
  v4 = *this;
  v12 = *this;
  while ( 2 )
  {
    PciRegWrite(v4, 510525564, dword_FFE76FAC[v3]);
    n5 = 0;
    while ( 1 )
    {
      n0xFFFF_2 = PciRegReadViaBar(this_1, 0);
      if ( n0xFFFF_2 != 0xFFFF )
      {
        n0xFFFF_1 = VgaModeSetTiming(this) | n0xFFFF_2;
        if ( n0xFFFF_1 != 0xFFFF )
        {
          v8 = ~(_WORD)n0xFFFF_1;
          if ( v8 )
            break;
        }
      }
      v9 = ++n5 == 5;
      if ( n5 >= 5 )
        goto LABEL_10;
      this_1 = this;
    }
    n0xFFFF = (unsigned __int16)(v8 & n0xFFFF);
    if ( !n0xFFFF )
      return 0;
    v9 = n5 == 5;
LABEL_10:
    if ( v9 )
      return 0;
    if ( (unsigned int)++v3 < 8 )
    {
      this_1 = this;
      v4 = v12;
      continue;
    }
    return n0xFFFF;
  }
}