MiFillPhysicalPages

NTSTATUS __stdcall MiFillPhysicalPages(PVOID BugCheckParameter2){
  __int64 v1; 
  unsigned __int64 v2; 
  _XSTATE_CONFIGURATION *v3; 
  unsigned __int64 v4; 
  __int64 v6; 
  void *HyperPte; 
  void *v8; 
  NTSTATUS result; 
  unsigned __int64 Phase0Mapping; 
  unsigned __int64 v11; 
  unsigned __int64 v12; 
  int v13; 
  unsigned __int64 Long; 
  int v15; 
  __int64 OldIrql; 

  OldIrql = v1;
  LOBYTE(OldIrql) = 17;
  v3 = 0i64;
  v4 = v2;
  v6 = 0i64;
  HyperPte = KeGetCurrentPrcb()->HyperPte;
  do
  {
    if( HyperPte )
    {
      v8 = MiMapPageInHyperSpaceWorker((UINT64)BugCheckParameter2, (UINT8 *)&OldIrql, 0x80000000ui64);
    }
    else
    {
      Phase0Mapping = (unsigned __int64)MxGetPhase0Mapping();
      v8 = (void *)Phase0Mapping;
      if( !Phase0Mapping )
        KeBugCheckEx(0x1Au, (PVOID)0x3030305, BugCheckParameter2, 0i64, 0i64);
      v3 = (_XSTATE_CONFIGURATION *)((char *)MmGetPteBase() + ((Phase0Mapping >> 9) & 0x7FFFFFFFF8i64));
      LODWORD(v11) = MiMakeValidPte(v3, (INT64)BugCheckParameter2, 2684354564i64);
      v12 = v11;
      LOBYTE(v13) = MiPteInShadowRange((UINT64)v3);
      if( v13 && (KeGetCurrentThread()->ApcState.Process->Flags3 & 0x1000) != 0 && (v12 & 1) != 0 )
        v12 |= 0x8000000000000000ui64;
      v3->EnabledFeatures = v12;
    }
    if( v4 )
      memset64(v8, v4, 0x200ui64);
    else
      KeZeroPages(v8, 0x1000ui64);
    if( HyperPte )
    {
      MiUnmapPageInHyperSpaceWorker(v8, OldIrql, 0x80000000ui64);
    }
    else
    {
      Long = ZeroPte.u.Long;
      LOBYTE(v15) = MiPteInShadowRange((UINT64)v3);
      if( v15 && (KeGetCurrentThread()->ApcState.Process->Flags3 & 0x1000) != 0 && (ZeroPte.u.Long & 1) != 0 )
        Long = ZeroPte.u.Long | 0x8000000000000000ui64;
      v3->EnabledFeatures = Long;
      result = KeFlushSingleTb((UINT64)v8, FlushKernel, 1i64);
    }
    ++v6;
    BugCheckParameter2 = (char *)BugCheckParameter2 + 1;
  }
  while( !v6 );
  return result;
}

Referenced by:

MiGetPoolPages
MiInitializeDummyPages
MiInitializeSystemPageTable
MiZeroPhysicalPage
MxMapVa