Newer
Older
AMI-Aptio-BIOS-Reversed / SystemInventory / SystemInventory_sub_64D8.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
__int64 __fastcall sub_64D8(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
{
  __int64 v2; // rbx
  __int64 v3; // rdx
  __int64 v4; // rcx
  __int64 v5; // r8
  __int64 v6; // r9
  __int64 result; // rax
  __int64 v8; // rbx
  __int64 v9; // [rsp+60h] [rbp+18h] BYREF

  v2 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_93C0, 0, &v9); /*0x64fd*/
  if ( (unsigned __int8)sub_7F8(v4, v3, v5, v6) && (unsigned __int8)sub_804(0x80000000LL) ) /*0x6510*/
    sub_740(0x80000000LL, "[System Inventory] SystemInventoryEntryPoint  EfiCreateEventReadyToBootEx - %r\n", v2); /*0x6525*/
  result = sub_C8C(97); /*0x6532*/
  if ( v2 >= 0 ) /*0x653a*/
  {
    v8 = (*(__int64 (__fastcall **)(__int64, __int64 (__fastcall *)(), _QWORD, _QWORD, _QWORD, _QWORD, _QWORD))(v9 + 16))( /*0x6566*/
           v9,
           sub_3EE8,
           0,
           0,
           0,
           0,
           0);
    result = sub_7EC(); /*0x6569*/
    if ( (_BYTE)result ) /*0x6570*/
    {
      if ( v8 ) /*0x6575*/
      {
        result = 0x8000000000000013uLL; /*0x6577*/
        if ( v8 != 0x8000000000000013uLL ) /*0x6584*/
          return sub_788( /*0x6599*/
                   "e:\\hs\\LenovoServerPkg\\SystemInventory\\SystemInventory.c",
                   2160,
                   "MpStatus == 0 || MpStatus == ((RETURN_STATUS)(0x8000000000000000ULL | (19)))");
      }
    }
  }
  return result; /*0x65a3*/
}