Newer
Older
AMI-Aptio-BIOS-Reversed / EarlyVideoPei / VgaModeSetPlanes.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
int __thiscall VgaModeSetPlanes(int *this)
{
  int v1; // esi
  int result; // eax
  int v3; // ecx
  int v4; // eax
  int v5; // edx
  int v6; // ecx
  int v7; // ecx
  int v8; // eax
  int v9; // edx
  int v10; // ecx
  int v11; // ecx
  int v12; // eax
  int v13; // edx
  int v14; // ecx
  int v15; // ecx
  int v16; // eax
  int v17; // edx
  int v18; // ecx
  int v19; // ecx
  int v20; // eax
  int v21; // edx
  int v22; // ecx
  int v23; // ecx
  int v24; // eax
  int v25; // edx
  int v26; // ecx

  v1 = *(this + 15);
  result = VgaCrtcRegAnd(0xD0u, 0xFFu);
  if ( (result & 0x80u) == 0 )
  {
    PciRegWrite(v1, 510533632, 378054824);
    v4 = PciRegRead(v3, 510533636);
    PciRegWrite(v6, v5, v4 & 0xFFFFFFFB);
    v8 = PciRegRead(v7, 510533640);
    PciRegWrite(v10, v9, v8 & 0xFFFFF0FF | 0xC00);
    v12 = PciRegRead(v11, 510533764);
    PciRegWrite(v14, v13, v12 | 0xFF3A0000);
    v16 = PciRegRead(v15, 510533768);
    PciRegWrite(v18, v17, v16 | 0xFFFFF);
    v20 = PciRegRead(v19, 510533776);
    PciRegWrite(v22, v21, v20 | 0x20);
    v24 = PciRegRead(v23, 510533676);
    return PciRegWrite(v26, v25, v24 & 0xFFF8FFFF);
  }
  return result;
}