KeQueryNodeActiveAffinity

VOID *__stdcall KeQueryNodeActiveAffinity(UINT16 NodeNumber, PGROUP_AFFINITY Affinity, PUSHORT Count){
  VOID *result; 
  __int64 v4; 
  unsigned __int64 v5; 

  if( Affinity )
    *Affinity = 0i64;
  if( Count )
    *Count = 0;
  if( NodeNumber < (unsigned __int16)KeNumberNodes )
  {
    _mm_lfence();
    result = (VOID *)NodeNumber;
    v4 = KeNodeBlock[NodeNumber];
    if( Affinity )
    {
      Affinity->Group = *(_WORD *)(v4 + 144);
      result = *(VOID **)(v4 + 136);
      Affinity->Mask = (unsigned __int64)result;
    }
    if( Count )
    {
      v5 = *(_QWORD *)(v4 + 136) - ((*(_QWORD *)(v4 + 136) >> 1) & 0x5555555555555555i64);
      result = (VOID *)((0x101010101010101i64
                       * (((v5 & 0x3333333333333333i64)
                         + ((v5 >> 2) & 0x3333333333333333i64)
                         + (((v5 & 0x3333333333333333i64) + ((v5 >> 2) & 0x3333333333333333i64)) >> 4)) & 0xF0F0F0F0F0F0F0Fi64)) >> 56);
      *Count = (unsigned __int16)result;
    }
  }
  return result;
}

Referenced by:

EtwpProcessorRundown
ExAllocateCacheAwarePushLock
ExProcessorCounterSetCallback
ExpNodeCreateSystemThread
ExpPartitionStart
ExpQueryNumaProcessorMap
ExpSaPageGroupDescriptorAllocate
ExpWorkQueueInitialize
ExpWorkQueueManagerInitialize
ExpWorkQueueManagerThread
ExpWorkerThread
KeQueryNodeActiveDpcGangAffinity
KiConfigureSchedulingInformation
MiComputeIdealDpcGang
MiComputeMemoryNodeProcessorAssignments
MiCreateColorAnchors
MiGetClosestNodeWithProcessors
PnpSetDeviceAffinityThread
PpmParkRegisterParking