MmInitializeHandBuiltProcess2

VOID __fastcall MmInitializeHandBuiltProcess2(_EPROCESS *ProcessToInitialize){
  _MMVAD_SHORT *v2; 
  NTSTATUS inserted; 
  _MMVAD_SHORT *a2; 
  _KAPC_STATE ApcState; 

  memset(&ApcState, 0, sizeof(ApcState));
  MiGetWsAndMakePageTablesNx(ProcessToInitialize);
  ProcessToInitialize->Vm.Instance.VmWorkingSetList = KeGetCurrentThread()->ApcState.Process->Vm.Instance.VmWorkingSetList;
  KiStackAttachProcess(ProcessToInitialize, 0i64, &ApcState);
  MiAllocateProcessVads();
  a2 = v2;
  if( v2 )
    inserted = MiInsertProcessVads(ProcessToInitialize, &a2);
  else
    inserted = -1073741801;
  KiUnstackDetachProcess(&ApcState, 0i64);
  if( inserted >= 0 && (MmTrackLockedPages & 1) != 0 && (MmTrackLockedPages & 0x10000000) == 0 )
    MiInitializeLockedPagesTracking(ProcessToInitialize);
}

Referenced by:

PspAllocateProcess