Newer
Older
AMI-Aptio-BIOS-Reversed / SystemInventory / SystemInventory_sub_2550.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
__int64 __fastcall sub_2550(char a1, __int64 a2, __int64 a3, __int64 a4, int a5, __int64 a6, _DWORD *a7, _BYTE *a8)
{
  __int64 v8; // r10
  __int64 v9; // rdi
  char v10; // si
  char v11; // bp
  __int64 result; // rax

  v8 = qword_96F8; /*0x2569*/
  v9 = a4; /*0x2570*/
  v10 = a3; /*0x2573*/
  v11 = a2; /*0x2576*/
  if ( !qword_96F8 ) /*0x257f*/
  {
    (*(void (__fastcall **)(void *, _QWORD, __int64 *))(qword_96A8 + 320))(&unk_93D0, 0, &qword_96F8); /*0x2598*/
    v8 = qword_96F8; /*0x259e*/
    if ( !qword_96F8 ) /*0x25a8*/
      return 0x8000000000000018uLL; /*0x25aa*/
  }
  LOBYTE(a4) = v10; /*0x25bb*/
  LOBYTE(a3) = v11; /*0x25c6*/
  LOBYTE(a2) = a1; /*0x25ce*/
  result = (*(__int64 (__fastcall **)(__int64, __int64, __int64, __int64, __int64, int, __int64, _DWORD *))(v8 + 16))( /*0x25e6*/
             v8,
             a2,
             a3,
             a4,
             v9,
             a5,
             a6,
             a7);
  if ( a8 && (!result || result == 0x8000000000000007uLL && *a7 == 1) ) /*0x2611*/
    *a8 = *(_BYTE *)qword_96F8; /*0x261c*/
  return result; /*0x2636*/
}