KeOrAffinityEx

UINT64 __stdcall KeOrAffinityEx(_KAFFINITY_EX *Affinity1, _KAFFINITY_EX *Affinity2, _KAFFINITY_EX *Result){
  _KAFFINITY_EX *v6; 
  unsigned __int16 Count; 
  unsigned int v8; 
  unsigned __int16 v9; 
  __int64 v10; 
  bool v11; 
  __int64 v12; 
  unsigned __int64 v14; 
  INT64 result[22]; 
  memset((INT64)result, 0i64);
  if( !Result )
    Result = (_KAFFINITY_EX *)result;
  v6 = Affinity2;
  Count = Affinity1->Count;
  if( Affinity1->Count >= Affinity2->Count )
    Count = Affinity2->Count;
  if( Affinity1->Count >= Affinity2->Count )
    v6 = Affinity1;
  Result->Size = 20;
  v8 = 0;
  v9 = 0;
  for( Result->Count = v6->Count; v9 < Count; ++v9 )
  {
    v10 = v9;
    v11 = (Affinity2->Bitmap[v10] | Affinity1->Bitmap[v10]) == 0;
    Result->Bitmap[v10] = Affinity2->Bitmap[v10] | Affinity1->Bitmap[v10];
    if( !v11 )
      v8 = 1;
  }
  for( ; v9 < v6->Count; ++v9 )
  {
    v14 = v6->Bitmap[v9];
    Result->Bitmap[v9] = v14;
    if( v14 )
      v8 = 1;
  }
  if( Result != (_KAFFINITY_EX *)result )
  {
    for( Result->Reserved = 0; v9 < Result->Size; Result->Bitmap[v12] = 0i64 )
      v12 = v9++;
  }
  return v8;
}

Referenced by:

Amd64AddProfileSource
EmonAddProfileSource
KeQueryLogicalProcessorRelationship
KiForceIdleUpdateSchedulerParkState
KiForwardTick
KiStartProfileTarget
PpmCheckInitProcessors
PpmPerfApplyProcessorStates
PpmRegisterPerfStates
PpmUpdateProcessorPolicy