KiSetIdealNodeProcessByGroup

VOID __stdcall KiSetIdealNodeProcessByGroup(_EPROCESS *Process, _KNODE *IdealNode, UINT16 a3){
  __int64 v3; 
  _KNODE *v4; 
  unsigned __int64 v6; 
  __int16 v7; 
  _GROUP_AFFINITY v8; 
  v3 = a3;
  v4 = IdealNode;
  v8 = 0i64;
  v8.Group = a3;
  v6 = *((_QWORD *)Process + a3 + 11);
  v8.Mask = v6;
  if( !IdealNode )
    v4 = KeSelectNodeForAffinity(&v8);
  *((_WORD *)Process + v3 + 386) = v4->Affinity.Reserved[0];
  v8.Mask = v6 & v4->Affinity.Mask;
  v7 = KiSelectIdealProcessorForProcess((INT64)v4, (INT64 *)&v8);
  *((_WORD *)Process + v3 + 354) = v7;
  *((_WORD *)Process + v3 + 322) = v7;
}

Referenced by:

KeInitializeProcess
KeSetAffinityProcess
KiExtendProcessAffinity