Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / EarlyVideoPei / VgaModeProgramCrtcExt.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure
int __thiscall VgaModeProgramCrtcExt(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
  __int16 v20; // ax
  int v21; // edx
  int v22; // ecx
  int v23; // ecx
  int v24; // eax
  int v25; // edx
  int v26; // ecx
  int v27; // ecx
  int v28; // eax
  int v29; // edx
  int v30; // ecx
  int v31; // ecx
  int v32; // eax
  int v33; // edx
  int v34; // 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, 510533768);
    PciRegWrite(v14, v13, v12 | 0x30000000);
    v16 = PciRegRead(v15, 510533772);
    PciRegWrite(v18, v17, v16 | 0xCF);
    v20 = PciRegRead(v19, 510533796);
    PciRegWrite(v22, v21, *(_DWORD *)&v20 | 0xFFFF0000);
    v24 = PciRegRead(v23, 510533800);
    PciRegWrite(v26, v25, v24 | 0xF);
    v28 = PciRegRead(v27, 510533780);
    PciRegWrite(v30, v29, v28 | 2);
    v32 = PciRegRead(v31, 510533676);
    return PciRegWrite(v34, v33, v32 & 0xFFFBFFFF);
  }
  return result;
}