HvlGetPpmStatsForProcessor
INT64 __fastcall HvlGetPpmStatsForProcessor(__int64 a1, _QWORD *a2, _QWORD *a3){
__int64 v6;
__int64 v7;
__int64 v8;
__int64 v9;
__int64 v10;
INT64 ReferenceTime;
__int64 v13;
if( (struct _KPRCB *)a1 == KeGetCurrentPrcb() )
{
v6 = HIDWORD(xmmword_140CED0E0);
v7 = *(_QWORD *)(a1 + 33616);
do
{
v8 = *(_QWORD *)(v7 + 8 * v6);
*a3 = *(_QWORD *)(*(_QWORD *)(a1 + 33616) + 8i64 * (unsigned int)xmmword_140CED0F0);
}
while( v8 != *(_QWORD *)(v7 + 8 * v6) );
v9 = DWORD1(xmmword_140CED0F0);
v10 = *(_QWORD *)(a1 + 33616);
do
{
*a2 = *(_QWORD *)(v10 + 8 * v9);
ReferenceTime = HvlGetReferenceTime();
}
while( *a2 != *(_QWORD *)(v10 + 8 * v9) );
}
else
{
ReferenceTime = HvlGetReferenceTime();
v13 = (unsigned int)xmmword_140CED0F0;
*a2 = ReferenceTime - *(_QWORD *)(*(_QWORD *)(a1 + 33616) + 8i64 * DWORD1(xmmword_140CED0E0));
*a3 = *(_QWORD *)(*(_QWORD *)(a1 + 33616) + 8 * v13);
}
return ReferenceTime;
}Referenced by:
PpmUpdatePerformanceFeedback