PpmEventTraceProcessorPerformance
void __fastcall PpmEventTraceProcessorPerformance(INT64 a1){
unsigned int v1;
REGHANDLE v3;
__int64 v4;
_DWORD *v5;
unsigned int v6;
int v7;
_DWORD *v8;
__int16 v9;
int v10;
int v11;
int v12;
unsigned int v13;
int v14;
int v15;
int v16;
int v17;
_BOOL4 v18;
int v19;
int v20;
unsigned int v21;
unsigned int v22;
int v23;
int v24;
int v25;
int v26;
_EVENT_DATA_DESCRIPTOR UserData;
INT64 v28;
__int64 v29;
int *v30;
__int64 v31;
int *v32;
__int64 v33;
int *v34;
__int64 v35;
int *v36;
__int64 v37;
int *v38;
__int64 v39;
int *v40;
__int64 v41;
int *v42;
__int64 v43;
int *v44;
__int64 v45;
int *v46;
__int64 v47;
INT64 v48;
__int64 v49;
INT64 v50;
__int64 v51;
_BOOL4 *v52;
__int64 v53;
int *v54;
__int64 v55;
int *v56;
__int64 v57;
int *v58;
__int64 v59;
int *v60;
__int64 v61;
INT64 v62;
__int64 v63;
int *v64;
__int64 v65;
int *v66;
__int64 v67;
int *v68;
__int64 v69;
v1 = 0;
if( PpmEtwRegistered )
{
v3 = PpmEtwHandle;
if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_CURRENT_PERF_RUNDOWN) )
{
v4 = *(_QWORD *)(a1 + 33128);
v5 = *(_DWORD **)(a1 + 33136);
v23 = *(unsigned __int8 *)(a1 + 33212);
v24 = *(_DWORD *)(a1 + 33268);
if( v4 )
{
v6 = *(_DWORD *)(v4 + 316);
v13 = v6;
v18 = *(_BYTE *)(v4 + 359) != 0;
v7 = *(unsigned __int8 *)(v4 + 352);
}
else
{
v6 = *(_DWORD *)(a1 + 68);
v7 = 100;
v13 = v6;
v18 = 0;
}
v25 = v7;
if( v5 )
{
v10 = v5[6];
v11 = v5[7];
v12 = v5[18];
v14 = v5[20];
v15 = v5[21];
v16 = v5[22];
v19 = v5[23];
v20 = v5[24];
v21 = v5[19];
v17 = v5[30];
v6 = v6 * v5[29] / 0x64;
}
else
{
v10 = 100;
v11 = 100;
v12 = 100;
v14 = 100;
v15 = 100;
v16 = 100;
v19 = 0;
v20 = 0;
v21 = v6;
v17 = 100;
}
v9 = *(unsigned __int8 *)(a1 + 208);
v22 = v6;
UserData.Ptr = (unsigned __int64)&v9;
*(_QWORD *)&UserData.Size = 2i64;
v28 = a1 + 209;
v29 = 1i64;
v30 = &v23;
v32 = &v10;
v34 = &v11;
v36 = &v12;
v38 = (int *)&v13;
v40 = &v14;
v42 = &v15;
v44 = &v16;
v46 = &v17;
v48 = a1 + 33208;
v50 = a1 + 33209;
v52 = &v18;
v54 = &v19;
v56 = &v20;
v58 = &v24;
v60 = &v25;
v62 = a1 + 33210;
v64 = (int *)&v21;
v26 = *(unsigned __int8 *)(a1 + 32819);
v66 = &v26;
v68 = (int *)&v22;
v31 = 4i64;
v33 = 4i64;
v35 = 4i64;
v37 = 4i64;
v39 = 4i64;
v41 = 4i64;
v43 = 4i64;
v45 = 4i64;
v47 = 4i64;
v49 = 1i64;
v51 = 1i64;
v53 = 4i64;
v55 = 4i64;
v57 = 4i64;
v59 = 4i64;
v61 = 4i64;
v63 = 1i64;
v65 = 4i64;
v67 = 4i64;
v69 = 4i64;
EtwWrite(v3, &PPM_ETW_CURRENT_PERF_RUNDOWN, 0, 0x16u, &UserData);
if( v4 )
{
if( *(_QWORD *)(v4 + 16) == a1 + 33128 && *(_DWORD *)(v4 + 200) )
{
do
{
v8 = (_DWORD *)(*(_QWORD *)(v4 + 216) + 136i64 * v1);
if( v8[4] == 2 )
PpmEventHiddenProcessorPerformance(
a1,
(unsigned int)v8[5],
(NPTEXTMETRIC *)(unsigned int)v8[6],
(unsigned int)v8[7]);
++v1;
}
while( v1 < *(_DWORD *)(v4 + 200) );
}
}
}
}
}Referenced by:
PpmEventTraceControlCallback