KiRemoveProcessorFromGroupDatabase

VOID __fastcall KiRemoveProcessorFromGroupDatabase(_KPRCB *Prcb, _BYTE *a2){
  _KPRCB *v2; 
  __int64 v3; 
  __int64 *v4; 
  __int64 v5; 
  bool v6; 
  unsigned __int64 v7; 
  v2 = Prcb;
  v3 = *((_QWORD *)Prcb + 24);
  v4 = &KiGroupBlock[2 * *(unsigned __int16 *)(v3 + 144)];
  v5 = ~*((_QWORD *)v2 + 25);
  v6 = (v5 & *v4) == 0;
  *v4 &= v5;
  if( v6 )
    KiUncommitNodeAssignment(v3);
  v7 = (unsigned __int64)*((unsigned __int8 *)v2 + 208) << 6;
  KiProcessorIndexToNumberMappingTable[*((unsigned int *)v2 + 9)] = 0;
  KiProcessorNumberToIndexMappingTable[*((unsigned __int8 *)v2 + 209) + v7] = 0;
}

Referenced by:

KeStartAllProcessors
KiStartDynamicProcessor