Newer
Older
AMI-Aptio-BIOS-Reversed / SystemInventory / SystemInventory_sub_5E88.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
__int64 __fastcall sub_5E88(char n2)
{
  __int64 v2; // rbx
  __int64 v3; // rdx
  __int64 v4; // rcx
  __int64 v5; // r8
  __int64 v6; // r9
  __int64 result; // rax
  __int64 v8; // rdx
  __int64 v9; // r9
  __int64 v10; // rdx
  __int64 v11; // rcx
  __int64 v12; // r8
  __int64 v13; // r9
  char n2_2; // [rsp+28h] [rbp-30h]
  char v15; // [rsp+68h] [rbp+10h] BYREF
  char v16; // [rsp+70h] [rbp+18h] BYREF
  char n4; // [rsp+78h] [rbp+20h] BYREF
  char n2_1; // [rsp+79h] [rbp+21h]

  v2 = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_9460, 0, &qword_9690); /*0x5eb0*/
  result = sub_7F8(v4, v3, v5, v6); /*0x5eb3*/
  if ( (_BYTE)result ) /*0x5ebf*/
  {
    result = sub_804(64); /*0x5ec3*/
    if ( (_BYTE)result ) /*0x5eca*/
      result = sub_740(64, "[System Inventory] Locating IPMI Dxe Protocol Status - %r\n", v2); /*0x5ed8*/
  }
  if ( v2 >= 0 ) /*0x5ee0*/
  {
    n4 = 4; /*0x5ee7*/
    LOBYTE(v9) = -53; /*0x5ef1*/
    n2_1 = n2; /*0x5ef9*/
    n2_2 = 2; /*0x5f0b*/
    LOBYTE(v8) = 50; /*0x5f15*/
    v15 = 1; /*0x5f21*/
    (*(void (__fastcall **)(__int64, __int64, _QWORD, __int64, char *, char, char *, char *))(qword_9690 + 16))( /*0x5f26*/
      qword_9690,
      v8,
      0,
      v9,
      &n4,
      n2_2,
      &v16,
      &v15);
    result = sub_7F8(v11, v10, v12, v13); /*0x5f29*/
    if ( (_BYTE)result ) /*0x5f30*/
    {
      result = sub_804(64); /*0x5f35*/
      if ( (_BYTE)result ) /*0x5f3c*/
        return sub_740(64, "Set CD Device Number to 2 for USB Data transferring.\n"); /*0x5f48*/
    }
  }
  return result; /*0x5f4d*/
}