HalpInitializePmcCounterSetInfo
UINT8 *__stdcall HalpInitializePmcCounterSetInfo(){
__int64 MaximumProcessorCount;
UINT8 *result;
__int64 v2;
__int64 v3;
_QWORD *v4;
MaximumProcessorCount = (unsigned int)HalQueryMaximumProcessorCount();
result = (UINT8 *)HalpMmAllocatePerProcessorMemory();
v2 = 0i64;
qword_140C4AD08 = (__int64)result;
if( !result )
KeBugCheckEx(
0xACu,
(PVOID)(24 * MaximumProcessorCount),
(PVOID)0x2200,
"minkernel\\hals\\lib\\hwperfcnt\\profile.c",
(PVOID)0x851);
if( (_DWORD)MaximumProcessorCount )
{
v3 = (unsigned int)MaximumProcessorCount;
do
{
v4 = (_QWORD *)(v2 + qword_140C4AD08);
v2 += 24i64;
v4[1] = v4;
*v4 = v4;
result = *(UINT8 **)&KUSER_SHARED_DATA.InterruptTime.LowPart;
v4[2] = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
--v3;
}
while( v3 );
}
return result;
}Referenced by:
HalpHwPerfCntInitSystem