PfLogEvent
__int64 __fastcall PfLogEvent(int a1, int a2, const VOID *a3, size_t a4){
size_t v8;
INT64 v9;
int v10;
unsigned int v11;
unsigned __int64 *v12;
INT64 v13;
PSLIST_ENTRY ListEntry;
unsigned __int64 *v16;
v8 = (a4 + 31) & 0xFFFFFFF0;
PfFbLogEntryReserve((INT64)&stru_140C4DB30 + 7984, &ListEntry, (INT64)&v16, v8, 0i64, 0i64);
v11 = v10;
if( v10 < 0 )
{
_InterlockedExchangeAdd((_DWORD *)&xmmword_140C4FC10 + 1, 1u);
if( ListEntry )
PfFbLogEntryComplete(ListEntry, v9, 0i64);
}
else
{
v12 = v16;
*v16 = *v16 & 0xFFFFFFFFFFFFF003ui64 | ((v8 & 0x3FF0 | 0x8000Cui64) >> 2);
*((_DWORD *)v12 + 2) = a2;
*v12 ^= (*(_DWORD *)v12 ^ (a1 << 12)) & 0x1F000;
memmove(v12 + 2, a3, a4);
PfFbLogEntryComplete(ListEntry, v13, v8);
return 0;
}
return v11;
}Referenced by:
PfFileInfoNotify
PfHardFaultLog
PfLogFileDataAccess
PfLogForegroundProcess
PfPowerActionNotify
PfpLogApplicationEvent
PfpLogEventRequest
PfpLogScenarioEvent
PfpPowerActionStartScenarioTracing
PfpRpLogDeprioEvent