Newer
Older
AMI-Aptio-BIOS-Reversed / TxtPei / LtPeiLibLaunchBiosAcm.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
// Decompiled: 0xffe06e41
// Function: LtPeiLibLaunchBiosAcm
// Module: TxtPei.efi (TXTPEI)

int __fastcall LtPeiLibLaunchBiosAcm(int this, int n5)
{
  unsigned int v2; // esi
  unsigned __int64 v3; // rax
  unsigned int v4; // edi
  unsigned __int64 v5; // rax
  unsigned int v6; // ebx
  unsigned __int64 v7; // rax
  unsigned int v8; // ebp
  unsigned __int64 v9; // rax
  unsigned __int64 v10; // rax
  unsigned __int64 v11; // rax
  unsigned int v14; // [esp+1Ch] [ebp-10h]

  v2 = 0; /*0xffe06e4c*/
  v3 = __readmsr(0x424u); /*0xffe06e57*/
  v4 = v3; /*0xffe06e5d*/
  v5 = __readmsr(0x428u); /*0xffe06e64*/
  v6 = v5; /*0xffe06e6a*/
  v7 = __readmsr(0x42Cu); /*0xffe06e71*/
  v8 = v7; /*0xffe06e73*/
  v14 = v7 & 0xFFFFFF7F; /*0xffe06e92*/
  v9 = __readmsr(0x179u); /*0xffe06e9b*/
  if ( (v9 & 0x1000000) != 0 ) /*0xffe06ea6*/
  {
    v10 = __readmsr(0x178u); /*0xffe06ead*/
    v2 = v10; /*0xffe06eb4*/
    __writemsr(0x178u, 0); /*0xffe06ecc*/
  }
  __writemsr(0x424u, v4 & 0xFFFFFF7F); /*0xffe06eec*/
  __writemsr(0x428u, v6 & 0xFFFFFF7F); /*0xffe06f0c*/
  __writemsr(0x42Cu, v14); /*0xffe06f2c*/
  DebugPrint(0x80000000, "LtPeiLibLaunchBiosAcm: BiosAcmAddress = 0x % 08x\n");
  ((void (__cdecl *)(_DWORD))BiosAcmInvoke)(**(_DWORD **)(this + 24)); /*0xffe06f5a*/
  __writemsr(0x425u, 0); /*0xffe06f78*/
  __writemsr(0x429u, 0); /*0xffe06f95*/
  __writemsr(0x42Du, 0); /*0xffe06fb2*/
  __writemsr(0x424u, v4); /*0xffe06fcf*/
  __writemsr(0x428u, v6); /*0xffe06fea*/
  __writemsr(0x42Cu, v8); /*0xffe07005*/
  v11 = __readmsr(0x179u); /*0xffe07010*/
  if ( (v11 & 0x1000000) != 0 ) /*0xffe0701b*/
    __writemsr(0x178u, v2); /*0xffe07032*/
  return 0; /*0xffe07034*/
}