EtwTraceSiloTimedEvent
VOID __fastcall EtwTraceSiloTimedEvent(INT64 a1, INT16 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, INT64 a7){
unsigned int v9;
__int64 v10;
_DWORD *v11;
__int64 v12;
bool v13;
unsigned int v14;
_ETW_SILODRIVERSTATE *v15;
unsigned int EtwpActiveSystemLoggers;
__int64 v17;
_PERFINFO_GROUPMASK *v18;
__int64 ClockType;
unsigned int v20;
INT64 v21;
int v22;
int v23;
INT64 v24;
int v25;
int v26;
v26 = 0;
v24 = a4;
v9 = *(_DWORD *)(EtwpHostSiloState + 4224);
v25 = 32;
while( 1 )
{
v13 = !_BitScanForward(&v14, v9);
if( v13 )
break;
v9 &= v9 - 1;
v10 = v14;
v11 = (_DWORD *)(32i64 * v14 + EtwpHostSiloState + 4260);
if( v11 && (*v11 & 0x2000) != 0 )
{
v12 = *(unsigned __int8 *)(EtwpHostSiloState + 2 * v10 + 4209);
v23 = 0;
v22 = 8;
v21 = a7 + 8 * (v12 - 1);
EtwpLogKernelEvent(
(__int64)&v21,
(_ETW_SILODRIVERSTATE *)EtwpHostSiloState,
*(unsigned __int8 *)(EtwpHostSiloState + 2 * v10 + 4208),
2u,
a2,
0x401802u);
}
}
if( a1 )
{
v15 = *(_ETW_SILODRIVERSTATE **)(*(_QWORD *)(a1 + 1272) + 864i64);
if( v15 )
{
EtwpActiveSystemLoggers = v15->SystemLoggerSettings.EtwpActiveSystemLoggers;
while( 1 )
{
v13 = !_BitScanForward(&v20, EtwpActiveSystemLoggers);
if( v13 )
break;
v17 = v20;
EtwpActiveSystemLoggers &= EtwpActiveSystemLoggers - 1;
v18 = &v15->SystemLoggerSettings.EtwpGroupMasks[v20];
if( v18 )
{
if( (v18->Masks[0] & 0x2000) != 0 )
{
ClockType = v15->SystemLoggerSettings.EtwpSystemLogger[v17].ClockType;
v23 = 0;
v22 = 8;
v21 = a7 + 8 * (ClockType - 1);
EtwpLogKernelEvent(
(__int64)&v21,
v15,
v15->SystemLoggerSettings.EtwpSystemLogger[v17].LoggerId,
2u,
a2,
0x401802u);
}
}
}
}
}
}Referenced by:
PfHardFaultLog