KeGetProcessorNumberFromIndex

NTSTATUS __stdcall KeGetProcessorNumberFromIndex(UINT64 ProcIndex, PROCESSOR_NUMBER *ProcNumber){
  unsigned int v3; 

  if( !(_DWORD)ProcIndex )
  {
    *ProcNumber = 0;
    return 0;
  }
  if( (unsigned int)ProcIndex < 0x500 )
  {
    v3 = KiProcessorIndexToNumberMappingTable[(unsigned int)ProcIndex];
    if( v3 )
    {
      ProcNumber->Reserved = 0;
      ProcNumber->Group = v3 >> 6;
      ProcNumber->Number = v3 & 0x3F;
      return 0;
    }
  }
  return -1073741811;
}

Referenced by:

EtwpProcessorRundown
HalGetProcessorIdByNtNumber
HalpInterruptInitializeIpis
IoGetAffinityInterrupt
KeMaskInterrupt
KeSetIdealProcessorThreadByNumber
PnprAddProcessorResources
PnprQuiesceProcessorDpc
PspWriteTebIdealProcessor