PopFxQueryCurrentComponentPerfState
_BYTE *__fastcall PopFxQueryCurrentComponentPerfState(
__int64 a1,
__int64 a2,
unsigned int a3,
char a4,
_QWORD *a5,
_BYTE *a6){
__int64 v6;
__int64 v8;
bool v9;
INT64 v10;
_BYTE *result;
INT64 v12[2];
v6 = *(_QWORD *)(a2 + 424);
*(_OWORD *)v12 = 0i64;
v8 = *(_QWORD *)(v6 + 152) + 32i64 * a3;
v9 = *(_BYTE *)(v6 + 73) == 0;
LODWORD(v12[0]) = a3;
if( v9 || !*(_QWORD *)(a1 + 64) )
{
*a5 = *(_QWORD *)(v8 + 8);
}
else
{
PopPluginQueryCurrentComponentPerfState(a1, *(unsigned int *)(a2 + 16), (INT64)v12);
v10 = LODWORD(v12[1]);
if( *(_DWORD *)(*(_QWORD *)v8 + 28i64) )
v10 = v12[1];
*a5 = v10;
if( v10 != *(_QWORD *)(v8 + 8) )
{
*(_QWORD *)(v8 + 16) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
*(_BYTE *)(v8 + 24) = a4;
*(_QWORD *)(v8 + 8) = *a5;
result = a6;
if( a6 )
*a6 = 1;
return result;
}
}
result = a6;
if( a6 )
*a6 = 0;
return result;
}Referenced by:
PoFxQueryCurrentComponentPerfState
PopFxUpdateComponentPerfStateNominalChange