Newer
Older
AMI-Aptio-BIOS-Reversed / LenovoServerPkg / SetupDefaults / SetupDefaultLoad / sub_9A4.txt
@Ajax Dong Ajax Dong 2 days ago 1 KB Restructure the repo
__int64 __fastcall sub_9A4(char *a1, __int64 a2, __int64 a3, __int64 a4)
{
  __int64 v4; // r10
  __int64 result; // rax
  unsigned __int8 v7; // di
  int v8; // [rsp+28h] [rbp-20h]
  char v9; // [rsp+58h] [rbp+10h] BYREF
  char v10; // [rsp+60h] [rbp+18h] BYREF
  char v11; // [rsp+68h] [rbp+20h] BYREF
  unsigned __int8 v12; // [rsp+69h] [rbp+21h]
  char v13; // [rsp+6Ah] [rbp+22h]
  char v14; // [rsp+6Bh] [rbp+23h]

  v4 = qword_7920; /*0x9ae*/
  result = 0; /*0x9b5*/
  if ( !qword_7920 ) /*0x9bd*/
  {
    result = (*(__int64 (__fastcall **)(void *, _QWORD, __int64 *))(qword_79B8 + 320))(&unk_7450, 0, &qword_7920); /*0x9d6*/
    if ( result < 0 ) /*0x9df*/
    {
      qword_7920 = 0; /*0x9e1*/
      return result; /*0x9e1*/
    }
    v4 = qword_7920; /*0x9f4*/
  }
  v7 = 0; /*0x9fb*/
  if ( a1[1] ) /*0x9fe*/
  {
    while ( 1 ) /*0xa06*/
    {
      LOBYTE(a4) = 18; /*0xa06*/
      v11 = *a1; /*0xa09*/
      LOBYTE(a2) = 56; /*0xa14*/
      v12 = v7; /*0xa16*/
      v14 = 0; /*0xa1b*/
      v9 = 1; /*0xa20*/
      v13 = a1[v7 + 2]; /*0xa42*/
      LOBYTE(v8) = 4; /*0xa49*/
      result = (*(__int64 (__fastcall **)(__int64, __int64, _QWORD, __int64, char *, int, char *, char *))(v4 + 16))( /*0xa53*/
                 v4,
                 a2,
                 0,
                 a4,
                 &v11,
                 v8,
                 &v10,
                 &v9);
      if ( ++v7 >= (unsigned __int8)a1[1] ) /*0xa5e*/
        break; /*0xa5e*/
      v4 = qword_7920; /*0xa60*/
    }
  }
  return result; /*0x9ee*/
}