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