PspReadIFEONodeOptions

VOID __stdcall PspReadIFEONodeOptions(_EPROCESS *Process, VOID **IFEOKey, _KNODE **IdealNode){
  _KNODE *v5; 
  UINT64 v6; 
  unsigned int v7; 

  v7 = 0;
  LODWORD(v6) = 4;
  if( RtlQueryImageFileKeyOption(IFEOKey, (WCHAR *)L"NodeOptions", 4ui64, &v7, v6, 0i64) >= 0 )
  {
    if( (_BYTE)v7 )
    {
      if( (unsigned __int8)v7 == 1 && v7 >> 8 < (unsigned __int16)KeNumberNodes && !*IdealNode )
      {
        v5 = (_KNODE *)KeNodeBlock[(unsigned __int64)v7 >> 8];
        if( v5->Affinity.Mask )
          *IdealNode = v5;
      }
    }
    else if( (v7 & 0xFFFFFF00) != 0 )
    {
      Process->Flags2 |= 0x100000u;
    }
  }
}

Referenced by:

PspAllocateProcess