PpmPerfGetCurrentState
__int64 __fastcall PpmPerfGetCurrentState(__int64 a1, _DWORD *a2, unsigned int *a3, _DWORD *a4, _DWORD *a5, _DWORD *a6){
_DWORD *v6;
_DWORD *v8;
unsigned int v10;
__int64 result;
unsigned int v12;
v6 = *(_DWORD **)(a1 + 33128);
v8 = *(_DWORD **)(a1 + 33136);
if( v6 && v8 )
{
v10 = v8[18];
result = (unsigned int)v6[92];
if( v10 >= (unsigned int)result )
v10 = v6[92];
if( a2 )
{
result = (unsigned int)v8[19];
*a2 = result;
}
if( a3 )
{
v12 = v6[92] * v6[79];
result = 1374389535 * v12;
*a3 = v12 / 0x64;
}
if( a5 )
{
result = (unsigned int)(v10 < v6[81]) + 1;
*a5 = result;
}
if( a6 )
{
result = (unsigned int)v8[8];
*a6 = result;
if( v8[7] < 0x64u )
{
result = (unsigned int)result | 4;
*a6 = result;
}
}
}
else
{
if( a2 )
*a2 = *(_DWORD *)(a1 + 68);
if( a3 )
*a3 = *(_DWORD *)(a1 + 68);
if( a5 )
*a5 = 0;
result = (__int64)a6;
if( a6 )
*a6 = 0;
}
if( a4 )
{
result = PpmPerfGetCurrentFrequency(a1, 1);
*a4 = result;
}
return result;
}Referenced by:
PoGetPerfStateAndParkingInfo
PopProcessorInformation
PpmTracePerfIdleRundown
PpmWmiGetAllData