ExpPartitionStart

NTSTATUS __stdcall ExpPartitionStart(INT64 a1){
  unsigned __int16 v2; 
  __int64 v3; 
  INT64 v4; 
  INT64 v5; 
  INT64 v6; 
  NTSTATUS result; 
  _GROUP_AFFINITY Affinity; 

  v2 = 0;
  if( !KeNumberNodes )
    return 0;
  while( 1 )
  {
    Affinity = 0i64;
    v3 = 0i64;
    if( (_UNKNOWN *)KeNodeBlock[v2] != (_UNKNOWN *)((char *)&KiNodeInit + 384 * v2) )
      v3 = KeNodeBlock[v2];
    KeQueryNodeActiveAffinity(*(_WORD *)(v3 + 146), &Affinity, 0i64);
    if( Affinity.Mask )
    {
      result = ExpWorkQueueManagerStart(*(_QWORD *)(*(_QWORD *)(a1 + 16) + 8i64 * v2), v4, v5, v6);
      if( result < 0 )
        break;
    }
    if( ++v2 >= (unsigned __int16)KeNumberNodes )
      return 0;
  }
  return result;
}

Referenced by:

ExpWorkerInitialization
PspAllocatePartition