KeAndAffinityEx

UINT64 __stdcall KeAndAffinityEx(_KAFFINITY_EX *Affinity1, _KAFFINITY_EX *Affinity2, _KAFFINITY_EX *Result){
  INT64 *v6; 
  unsigned __int16 Count; 
  unsigned int v8; 
  unsigned __int16 v9; 
  __int64 v10; 
  bool v11; 
  __int64 v12; 
  INT64 result[22]; 
  memset((INT64)result, 0i64);
  v6 = result;
  Count = Affinity2->Count;
  if( Result )
    v6 = (INT64 *)Result;
  v8 = 0;
  v9 = 0;
  if( Affinity1->Count < Count )
    Count = Affinity1->Count;
  *(_WORD *)v6 = Count;
  if( Count )
  {
    do
    {
      v10 = v9;
      v11 = (Affinity2->Bitmap[v10] & Affinity1->Bitmap[v10]) == 0;
      v6[v10 + 1] = Affinity2->Bitmap[v10] & Affinity1->Bitmap[v10];
      if( !v11 )
        v8 = 1;
      ++v9;
    }
    while( v9 < *(_WORD *)v6 );
  }
  if( v6 != result )
  {
    *((_DWORD *)v6 + 1) = 0;
    *((_WORD *)v6 + 1) = 20;
    if( v9 < 0x14u )
    {
      do
      {
        v12 = v9++;
        v6[v12 + 1] = 0i64;
      }
      while( v9 < *((_WORD *)v6 + 1) );
    }
  }
  return v8;
}

Referenced by:

KeInitializeProfile
KeIsSubsetAffinityEx
KeQueryLogicalProcessorRelationship
KiGetDeepIdleProcessors
PpmParkReportParkedCores
PpmParkSteerInterrupts
PspSetEffectiveJobLimits