EtwpPsProvTracePriority
VOID __stdcall EtwpPsProvTracePriority(_ETHREAD *Thread, UINT64 HookId, INT64 OldPriority, INT64 NewPriority){
int v4;
int v5;
int v6;
__int64 *v7;
int UniqueProcess;
int UniqueThread;
_EVENT_DATA_DESCRIPTOR UserData;
int *p_UniqueThread;
__int64 v12;
int *v13;
__int64 v14;
int *v15;
__int64 v16;
int v17;
int v18;
v18 = NewPriority;
v17 = OldPriority;
v4 = HookId - 1328;
if( v4 )
{
v5 = v4 - 1;
if( v5 )
{
v6 = v5 - 2;
if( v6 )
{
if( v6 != 1 )
return;
v7 = ThreadIoPriorityChange;
}
else
{
v7 = ThreadPagePriorityChange;
}
}
else
{
v7 = ThreadCpuBasePriorityChange;
}
}
else
{
v7 = (__int64 *)&ThreadCpuPriorityChange;
}
UniqueProcess = (int)Thread->Cid.UniqueProcess;
*(_QWORD *)&UserData.Size = 4i64;
UserData.Ptr = (unsigned __int64)&UniqueProcess;
UniqueThread = (int)Thread->Cid.UniqueThread;
p_UniqueThread = &UniqueThread;
v13 = &v17;
v15 = &v18;
v12 = 4i64;
v14 = 1i64;
v16 = 1i64;
EtwWriteEx(*(&ExBootDevicesRemovedEvent + 245), (PCEVENT_DESCRIPTOR)v7, 0i64, 1u, 0, 0, 4u, &UserData);
}Referenced by:
EtwTracePriority