HalpRestartProfiling
INT64 __stdcall HalpRestartProfiling(){
__int64 v0;
__int64 v1;
__int64 **v2;
__int64 *i;
unsigned int j;
__int64 v6;
v0 = (*((__int64(**)(void))HalpProfileInterface[0] + 6))();
LODWORD(v0) = *((_DWORD *)KeGetPcr() + 105);
v2 = (__int64 **)(HalpCounterSetInfo + 24 * v0);
for( i = *v2; i != (__int64 *)v2; i = (__int64 *)*i )
{
for( j = 0; j < *((_DWORD *)i + 5); *(__int64 *)((char *)i + v6 + 32) = __readpmc(v1) )
{
v6 = j++;
v6 *= 32i64;
v1 = *(unsigned int *)((char *)i + v6 + 28);
}
}
LOBYTE(v1) = 1;
return((__int64(__fastcall *)(__int64))off_140C009A8[0])(v1);
}Referenced by:
HalpDpPostReplaceInitialization
HalpPostSleepMP