Newer
Older
AMI-Aptio-BIOS-Reversed / SystemInventory / SystemInventory_sub_3F00.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
unsigned __int8 sub_3F00()
{
  __int64 v0; // rbx
  __int64 v1; // rdx
  __int64 v2; // rcx
  __int64 v3; // r8
  __int64 v4; // r9
  __int64 v5; // rdx
  __int64 v6; // r9
  unsigned __int8 result; // al
  __int64 v8; // rbx
  __int64 v9; // rdx
  __int64 v10; // rcx
  __int64 v11; // r8
  __int64 v12; // r9
  char v13; // [rsp+28h] [rbp-30h]
  unsigned __int8 v14; // [rsp+60h] [rbp+8h] BYREF
  char v15; // [rsp+68h] [rbp+10h] BYREF
  char n4; // [rsp+70h] [rbp+18h] BYREF

  v0 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_9460, 0, &qword_9690); /*0x3f25*/
  if ( (unsigned __int8)sub_7F8(v2, v1, v3, v4) && (unsigned __int8)sub_804(64) ) /*0x3f3a*/
    sub_740(64, "[System Inventory] Locating IPMI Dxe Protocol Status - %r\n", v0); /*0x3f4f*/
  if ( v0 < 0 ) /*0x3f57*/
    return 0; /*0x3f59*/
  n4 = 4; /*0x3f62*/
  LOBYTE(v6) = -54; /*0x3f6c*/
  v15 = 1; /*0x3f74*/
  v13 = 1; /*0x3f86*/
  LOBYTE(v5) = 50; /*0x3f90*/
  v8 = (*(__int64 (__fastcall **)(__int64, __int64, _QWORD, __int64, char *, char, unsigned __int8 *, char *))(qword_9690 + 16))( /*0x3f9f*/
         qword_9690,
         v5,
         0,
         v6,
         &n4,
         v13,
         &v14,
         &v15);
  if ( (unsigned __int8)sub_7F8(v10, v9, v11, v12) && (unsigned __int8)sub_804(64) ) /*0x3fae*/
    sub_740(64, "Get the BMC virtual CD Device Number Status = %r, Number = %x \n", v8, v14); /*0x3fca*/
  result = v14; /*0x3fcf*/
  if ( v8 < 0 ) /*0x3fd7*/
    return 0; /*0x3fd7*/
  return result; /*0x3fda*/
}