KiConfigureAllSchedulingInformation

VOID __stdcall KiConfigureAllSchedulingInformation(){
  unsigned __int16 v0; 
  INT64 *v1; 
  __int64 v2; 
  unsigned __int64 v3; 
  int v4; 
  unsigned __int64 v5; 
  __int64 v6; 
  v0 = 0;
  if( KeNumberNodes )
  {
    v1 = (INT64 *)&KeNodeBlock;
    do
    {
      v2 = *((_QWORD *)&KeNodeBlock + v0);
      v3 = *(_QWORD *)(v2 + 136);
      if( v3 )
      {
        v4 = *(unsigned __int16 *)(v2 + 144) << 6;
        do
        {
          _BitScanForward64(&v5, v3);
          KiConfigureSchedulingInformation((VOID **)*(&KiProcessorBlock
                                                    + (unsigned int)KiProcessorNumberToIndexMappingTable[(unsigned int)(v4 + v5)]));
          v3 &= ~(1i64 << v5);
        }
        while( v3 );
      }
      ++v0;
    }
    while( v0 < (unsigned __int16)KeNumberNodes );
    if( KeNumberNodes )
    {
      v6 = (unsigned __int16)KeNumberNodes;
      do
      {
        KiConfigureNodeSchedulingInformation(*v1++);
        --v6;
      }
      while( v6 );
    }
  }
}

Referenced by:

KeStartAllProcessors