MiUnmapLargePages

VOID __fastcall MiUnmapLargePages(VOID *BaseAddress, UINT64 NumberOfBytes, _MI_SYSTEM_VA_TYPE VaType){
  _MI_SYSTEM_VA_TYPE v3; 
  UINT64 v4; 
  char *v6; 
  char *v7; 
  char *i; 
  v3 = MiVaSystemPtesLarge;
  v4 = NumberOfBytes;
  if( VaType != MiVaSystemPtes )
    v3 = VaType;
  if( (NumberOfBytes & 0x1FFFFF) != 0 )
  {
    v6 = (char *)MmGetPteBase() + (((unsigned __int64)BaseAddress >> 9) & 0x7FFFFFFFF8i64);
    v7 = &v6[4096 * (NumberOfBytes >> 21)];
    for( i = &v6[8 * ((((unsigned __int16)BaseAddress & 0xFFF) + NumberOfBytes + 4095) >> 12)]; v7 < i; v7 += 8 )
    {
      if( !MI_READ_PTE_LOCK_FREE((INT64)v7) )
        break;
      *(_QWORD *)v7 = ZeroPte;
    }
    v4 = (v4 + 0x1FFFFF) & 0xFFFFFFFFFFE00000ui64;
  }
  MiReturnSystemVa((UINT64)BaseAddress, (UINT64)BaseAddress + v4, (unsigned int)v3);
}

Referenced by:

MiInsertInSystemSpace
MiRemoveFromSystemSpace
MiUnmapLargeDriver
MmUnmapIoSpace