Newer
Older
AMI-Aptio-BIOS-Reversed / LenovoServerPkg / Driver / LnvDriverPei / LnvDebugSwitchPpiCallback.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure
int __cdecl LnvDebugSwitchPpiCallback(int a1, char a2)
{
  int result; // eax
  unsigned int n0xFD; // ebx
  int v4; // eax
  double v5; // [esp-14h] [ebp-22Ch]
  char v6; // [esp+4h] [ebp-214h] BYREF
  _BYTE v7[255]; // [esp+5h] [ebp-213h] BYREF
  char v8; // [esp+104h] [ebp-114h] BYREF
  char v9; // [esp+1EAh] [ebp-2Eh]
  unsigned __int16 v10; // [esp+204h] [ebp-14h] BYREF
  unsigned __int8 v11; // [esp+206h] [ebp-12h]
  unsigned __int8 v12; // [esp+207h] [ebp-11h]
  unsigned __int8 v13; // [esp+208h] [ebp-10h]
  unsigned __int8 v14; // [esp+209h] [ebp-Fh]
  unsigned __int8 v15; // [esp+20Ah] [ebp-Eh]
  char v16; // [esp+217h] [ebp-1h] BYREF

  v16 = 0;
  if ( !a1 )
    return -2147483646;
  v9 = sub_FFE3C949(0, a1, &a2) <= 0xE6u ? v9 : 0;
  sub_FFE3C7A4(&v10);
  v6 = 0;
  LODWORD(v5) = &v8;
  n0xFD = sub_FFE3C88B(v7, 254, "%04d/%02d/%02d-%02d:%02d:%02d : %a.", v10, v11, v12, v13, v14, v15, v5);
  if ( n0xFD > 0xFD )
    return -2147483643;
  v4 = sub_FFE3C596();
  result = (*(int (__cdecl **)(int, void *, _DWORD, _DWORD, int *))(*(_DWORD *)v4 + 32))(v4, &unk_FFE3E344, 0, 0, &a1);
  if ( result >= 0 )
    return (*(int (__cdecl **)(int, int, _DWORD, int, char *, _DWORD, _DWORD, char *))(a1 + 12))(
             a1,
             46,
             0,
             71,
             &v6,
             (unsigned __int8)(n0xFD + 2),
             0,
             &v16);
  return result;
}