HalpInitializePmcCounterSetInfo

PSTR __stdcall HalpInitializePmcCounterSetInfo(){
  __int64 MaximumProcessorCount; 
  PSTR result; 
  __int64 v2; 
  __int64 v3; 
  _QWORD *v4; 
  MaximumProcessorCount = (unsigned int)HalQueryMaximumProcessorCount();
  result = (PSTR)HalpMmAllocatePerProcessorMemory(24);
  v2 = 0i64;
  HalpCounterSetInfo = (__int64)result;
  if( !result )
    KeBugCheckEx(
      0xACu,
      24 * MaximumProcessorCount,
      0x2200ui64,
      (ULONG_PTR)"minkernel\\hals\\lib\\hwperfcnt\\profile.c",
      0x851ui64);
  if( (_DWORD)MaximumProcessorCount )
  {
    v3 = (unsigned int)MaximumProcessorCount;
    do
    {
      v4 = (_QWORD *)(v2 + HalpCounterSetInfo);
      v2 += 24i64;
      v4[1] = v4;
      *v4 = v4;
      result = *(PSTR *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      v4[2] = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      --v3;
    }
    while( v3 );
  }
  return result;
}

Referenced by:

HalpHwPerfCntInitSystem