MmMapApiSetView

NTSTATUS __stdcall MmMapApiSetView(_EPROCESS *TargetProcess){
  _EJOB *ProcessServerSilo; 
  _LOADER_PARAMETER_BLOCK *v3; 
  NTSTATUS result; 
  NTSTATUS v5; 
  __int64 v6; 
  __int64 *v7; 
  __int16 v8; 
  ProcessServerSilo = (_EJOB *)PsGetProcessServerSilo((__int64)TargetProcess);
  if( PsIsHostSilo(ProcessServerSilo) )
    v3 = *(_LOADER_PARAMETER_BLOCK **)LoaderBlock;
  else
    v3 = (_LOADER_PARAMETER_BLOCK *)PsGetServerSiloGlobals((__int64)ProcessServerSilo)[129];
  result = MmMapViewOfSection(v3, (UINT64)TargetProcess);
  v5 = result;
  if( result >= 0 )
  {
    *(_QWORD *)(*((_QWORD *)TargetProcess + 170) + 104i64) = 0i64;
    v6 = 0i64;
    v7 = (__int64 *)*((_QWORD *)TargetProcess + 176);
    if( v7 )
      v6 = *v7;
    if( v6 )
    {
      if( v7 && ((v8 = *((_WORD *)v7 + 4), v8 == 332) || v8 == 452) )
        *(_DWORD *)(v6 + 56) = 0;
      else
        *(_QWORD *)(v6 + 104) = 0i64;
    }
    return v5;
  }
  return result;
}

Referenced by:

PspAllocateProcess
PspSetupUserProcessAddressSpace