MiSplitBitmapPages

NTSTATUS __stdcall MiSplitBitmapPages(_MI_SYSTEM_VA_TYPE VaType, VOID *NextBuffer, UINT64 PteCount){
  INT64 v3; 
  UINT64 v5; 
  _MMPTE *PteBase; 
  INT64 v8; 

  v3 = 9i64;
  if( VaType != MiVaSystemPtesLarge )
    v3 = (unsigned int)VaType;
  v5 = 544i64;
  if( (((_DWORD)v3 - 5) & 0xFFFFFFFB) != 0 )
  {
    if( (unsigned int)(v3 - 14) > 1 && (_DWORD)v3 != 8 && KeGetCurrentIrql() <= 1u )
      v5 = 545i64;
  }
  else
  {
    v5 = 560i64;
  }
  PteBase = MmGetPteBase();
  LODWORD(v8) = 0;
  return MiMakeZeroedPageTablesEx(
           (INT64)PteBase + (((unsigned __int64)NextBuffer >> 9) & 0x7FFFFFFFF8i64),
           (INT64)PteBase + ((((unsigned __int64)NextBuffer + ((PteCount - 1) >> 3)) >> 9) & 0x7FFFFFFFF8i64),
           v5,
           v3,
           v8);
}

Referenced by:

MiExpandPtes
MiExtendDynamicBitMap
MiInitializeDriverImages
MiMarkRetpolineBits
MiSplitMirrorBitMap
MiSplitPfnBitMaps
MxMarkActiveDriverBits