Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem / decompiled / ffd813d1.c
@Ajax Dong Ajax Dong 7 days ago 1 KB Recovering names
int __thiscall PchEarlyInit(int *this)
{
  int v2; // eax
  int v3; // edi
  unsigned __int8 v4; // al
  unsigned __int8 v5; // al
  unsigned __int8 v6; // al
  unsigned __int8 v7; // al

  DebugPrint(64, (int)"PchEarlyInit() - Start\
"); /*0xffd813df*/
  sub_FFD82723(); /*0xffd813e4*/
  sub_FFD81769(); /*0xffd813e9*/
  sub_FFD8C497(2, 1); /*0xffd813fc*/
  sub_FFD8C5F6(255, 3); /*0xffd81414*/
  sub_FFD8C578(-2, 0); /*0xffd81425*/
  v2 = sub_FFD8CBBA(0, 31, 1); /*0xffd81431*/
  *(_DWORD *)(v2 + 128) = 0; /*0xffd8143b*/
  *(_DWORD *)(v2 + 132) = 0; /*0xffd81441*/
  *(_DWORD *)(v2 + 136) = 0; /*0xffd81447*/
  *(_DWORD *)(v2 + 140) = 0; /*0xffd8144d*/
  *(_DWORD *)(v2 + 144) = 0; /*0xffd81453*/
  *(_DWORD *)(v2 + 148) = 61440; /*0xffd81459*/
  *(_DWORD *)(v2 + 152) = 16; /*0xffd81463*/
  *(_DWORD *)(v2 + 156) = 0; /*0xffd8146d*/
  *(_BYTE *)(v2 + 244) |= 1u; /*0xffd8147d*/
  v3 = sub_FFD8CBBA(0, 31, 2); /*0xffd8148d*/
  if ( (*(_BYTE *)(v3 + 164) & 4) != 0 ) /*0xffd81499*/
  {
    __outbyte(0x74u, 0xAu); /*0xffd814a3*/
    v4 = __inbyte(0x74u); /*0xffd814a4*/
    __outbyte(0x75u, v4 & 0x8F | 0x60); /*0xffd814af*/
    __outbyte(0x74u, 0xBu); /*0xffd814b5*/
    v5 = __inbyte(0x75u); /*0xffd814b9*/
    __outbyte(0x75u, v5 | 0x80); /*0xffd814bc*/
    __outbyte(0x74u, 0xAu); /*0xffd814c2*/
    v6 = __inbyte(0x75u); /*0xffd814c6*/
    __outbyte(0x75u, v6 & 0x8F | 0x20); /*0xffd814cb*/
    __outbyte(0x74u, 0xBu); /*0xffd814d1*/
    v7 = __inbyte(0x75u); /*0xffd814d5*/
    __outbyte(0x75u, v7 & 0x7F); /*0xffd814d8*/
  }
  *(this + 4) = 16; /*0xffd814d9*/
  *(_DWORD *)(v3 + 172) &= ~0x100000u; /*0xffd814ed*/
  *(this + 53) = 0; /*0xffd814f3*/
  *(this + 61) = 0; /*0xffd814f9*/
  PchEarlyDisabledDeviceHandling(this); /*0xffd814ff*/
  sub_FFD905CC(); /*0xffd81504*/
  sub_FFD8C497(4, 0); /*0xffd81518*/
  sub_FFD8C497(4, 18875648); /*0xffd8152c*/
  sub_FFD8C497(4, 0); /*0xffd81539*/
  sub_FFD8C497(4, 18875648); /*0xffd81545*/
  return DebugPrint(64, (int)"PchEarlyInit() - End\
"); /*0xffd81559*/
}