PopFxUpdateComponentPerfStateNominalChange
char __fastcall PopFxUpdateComponentPerfStateNominalChange(__int64 a1, unsigned int a2, unsigned __int8 a3, int a4){
unsigned int v7;
__int64 v8;
unsigned int v9;
__int64 v10;
__int64 v11;
__int64 v12;
__int64 v14;
__int64 v15;
char v16;
v15 = 0i64;
v16 = 0;
v7 = 0;
v8 = *(_QWORD *)(a1 + 832);
v9 = 0;
v10 = *(_QWORD *)(v8 + 8i64 * a2);
v11 = *(_QWORD *)(v10 + 424);
v12 = *(_QWORD *)(v11 + 48);
if( *(_DWORD *)(v11 + 144) )
{
do
{
LOBYTE(v8) = (unsigned __int8)PopFxQueryCurrentComponentPerfState(a1, v10, v9, 1, &v15, &v16);
if( v16 )
{
LOBYTE(v8) = v15;
++v7;
*(_QWORD *)(v12 + 8) = v15;
*(_DWORD *)v12 = v9;
v12 += 16i64;
}
++v9;
}
while( v9 < *(_DWORD *)(v11 + 144) );
if( v7 )
{
*(_DWORD *)(v11 + 56) = v7;
*(_QWORD *)(v11 + 64) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
v14 = *(_QWORD *)(v11 + 48);
*(_BYTE *)(v11 + 72) = 1;
LOBYTE(v8) = PopDiagTraceFxPerfNominalChange((__int64 *)v11, a3, (EVENT_DESCRIPTOR *)(unsigned int)a4, v7, v14);
}
}
return v8;
}Referenced by:
PopPepCompleteComponentIdleStateChangeActivity
PopPepDeviceDState