PfHardFaultLog
void __fastcall PfHardFaultLog(_QWORD *a1, int a2, INT64 a3){
_EPROCESS *Process;
int LowPart;
unsigned __int64 v7;
__int64 v8;
INT16 v9;
INT64 v10;
INT64 v11;
int v12[2];
__int64 v13;
__int64 v14;
__int64 v15;
__int64 v16;
Process = KeGetCurrentThread()->Process;
if( *a1 || a1[1] )
{
if( a2 )
{
if( a2 == 1 )
{
v9 = 626;
goto LABEL_13;
}
if( a2 == 2 )
{
v9 = 627;
LABEL_13:
EtwTraceSiloTimedEvent((INT64)Process->ServerSilo, v9, a3, (INT64)(a1 + 4), v10, v11, (INT64)a1);
goto LABEL_3;
}
}
v9 = 544;
goto LABEL_13;
}
LABEL_3:
if( a1[8] )
{
if( a2 != 2 )
{
LowPart = KUSER_SHARED_DATA.TickCount.LowPart;
v7 = KUSER_SHARED_DATA.TickCountQuad - a1[8];
a1[8] = v7;
v8 = (__int64)Process->UniqueProcessId ^ Process->CreateTime.QuadPart;
v12[0] = 2 * v7;
v12[1] = PfKernelGlobals.StreamSequenceNumber;
v15 = a1[6];
v13 = (unsigned int)(a1[4] >> 9);
v14 = a1[5];
v16 = v8 & 0x1FFFFFFFFFFFFFFFi64;
PfLogEvent(29, LowPart, v12, 0x28u);
}
}
}Referenced by:
MiWaitForInPageComplete