PspCreatePartitionSystemProcess

__int64 __fastcall PspCreatePartitionSystemProcess(PVOID *a1, _QWORD *a2, __int64 a3, VOID *a4){
  NTSTATUS MinimalProcess; 
  VOID *v7; 
  NTSTATUS v8; 
  __int64 result; 
  _UNICODE_STRING ProcessName; 
  PVOID Handle; 

  Handle = 0i64;
  ProcessName.Buffer = L"PartitionSystm";
  LOBYTE(a4) = PsInitialSystemProcess->Protection.Level;
  *(_QWORD *)&ProcessName.Length = 1966108i64;
  MinimalProcess = PsCreateMinimalProcess(PsInitialSystemProcess, (PS_PROTECTION)&ProcessName, 0i64, (UINT64)a4, 0i64);
  v7 = Handle;
  v8 = MinimalProcess;
  if( MinimalProcess >= 0 )
  {
    Handle = 0i64;
    v8 = ObReferenceObjectByHandle(v7, 0i64, (_OBJECT_TYPE *)PsProcessType, 0, &Handle, 0i64);
    if( v8 >= 0 )
    {
      *a1 = Handle;
      result = 0i64;
      *a2 = v7;
      return result;
    }
    if( Handle )
      HalPutDmaAdapter((PADAPTER_OBJECT)Handle);
  }
  if( v7 )
    ObCloseHandle(v7, 0);
  return(unsigned int)v8;
}

Referenced by:

PspAllocatePartition