ExpNodeHotAddProcessorWorker

VOID __stdcall ExpNodeHotAddProcessorWorker(INT64 a1){
  VOID **v2; 
  NTSTATUS v3; 
  VOID **NextPartition; 
  INT64 v5; 
  INT64 v6; 
  VOID **v7; 
  _LARGE_INTEGER Interval; 

  KeSynchronizeWithDynamicProcessors();
  v2 = 0i64;
  while( 1 )
  {
    NextPartition = PsGetNextPartition(v2);
    v7 = NextPartition;
    if( !NextPartition )
      break;
    v3 = ExpWorkQueueManagerStart(
           *(_QWORD *)(*((_QWORD *)NextPartition[2] + 2) + 8i64 * *(unsigned __int16 *)(a1 + 146)),
           *(unsigned __int16 *)(a1 + 146),
           v5,
           v6);
    v2 = v7;
    if( v3 < 0 )
    {
      PsQuitNextPartition(v7);
      Interval.QuadPart = -500000i64;
      KeDelayExecutionThread(0, 0, &Interval);
      *(_QWORD *)(a1 + 384) = 0i64;
      ExQueueWorkItem((PWORK_QUEUE_ITEM)(a1 + 384), DelayedWorkQueue);
      return;
    }
  }
}

Referenced by:

No references.