PpmParkRecordNodeStatistics
VOID __stdcall PpmParkRecordNodeStatistics(UINT64 MakeupCount){
unsigned int v1;
__int64 v2;
unsigned __int16 v3;
UINT8 v4;
UINT8 i;
__int64 v6;
REGHANDLE v7;
int v8;
unsigned __int8 v9;
CHAR *v10;
INT64 v11;
INT64 v12;
char v13;
char v14;
unsigned __int16 v15;
__int16 v16;
__int64 v17;
_EVENT_DATA_DESCRIPTOR UserData;
__int64 *v19;
__int64 v20;
char *v21;
__int64 v22;
__int64 v23;
__int64 v24;
__int64 v25;
int v26;
int v27;
char *v28;
__int64 v29;
v1 = *(&PopIrpWorkerControlEvent + 306);
v2 = 2736i64 * *(&stru_140C23628 + 441);
v3 = 0;
v15 = 0;
v4 = *(_BYTE *)(v2 + *(&stru_140C00F40 + 365) + 165);
for( i = *(_BYTE *)(v2 + *(&stru_140C00F40 + 365) + 167); v3 < (unsigned int)PpmParkNumNodes; v15 = v3 )
{
v6 = PpmParkNodes + 272i64 * v3;
if( PpmParkComputeSnapStatistics(v1, v4, i, v6 + 80, (_BYTE *)(v6 + 140), (_BYTE *)(v6 + 141), (_BYTE *)(v6 + 142)) )
{
v14 = *(_BYTE *)(v6 + 142);
v13 = *(_BYTE *)(v6 + 140);
v17 = *(_QWORD *)(v6 + 8);
v16 = *(_WORD *)(v6 + 4);
if( PpmEtwRegistered )
{
v7 = PpmEtwHandle;
if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_PARK_NODE_STATS) )
{
*(_QWORD *)&UserData.Size = 2i64;
UserData.Ptr = (unsigned __int64)&v16;
v20 = 8i64;
v19 = &v17;
v22 = 1i64;
v21 = &v13;
v24 = 4i64;
v23 = v6 + 120;
v8 = *(_DWORD *)(v6 + 120);
v25 = *(_QWORD *)(v6 + 88);
v27 = 0;
v29 = 1i64;
v26 = 8 * v8;
v28 = &v14;
EtwWriteEx(v7, &PPM_ETW_PARK_NODE_STATS, 0i64, 0, 0, 0, 6u, &UserData);
}
}
}
if( *(_BYTE *)(v6 + 6) != *(_BYTE *)(v6 + 128) )
{
v9 = 0;
v10 = (CHAR *)(v6 + 264);
v11 = v6 + 168;
do
{
if( PpmParkComputeSnapStatistics(v1, v4, i, v11, 0i64, 0i64, v10) )
PpmEventParkNodeClassRecordedStats(*(_WORD *)(v6 + 4), *(_QWORD *)(v6 + 8), (NPTEXTMETRIC *)v9, v12, *v10);
++v9;
v11 += 48i64;
++v10;
}
while( v9 < 2u );
v3 = v15;
}
++v3;
}
}Referenced by:
PpmCheckRecordAllUtility