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;
}