MiReturnSystemVa

VOID __stdcall MiReturnSystemVa(VOID *BaseVa, VOID *LastVa, _MI_SYSTEM_VA_TYPE VaType, _MI_TB_FLUSH_LIST *TbFlushList){
  _MMPTE *PteBase; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  __int64 v10; 
  __int64 v11; 
  int v12; 
  _MMSUPPORT_INSTANCE *AnyMultiplexedVm; 
  INT64 v14; 
  __int32 v15; 
  __int32 a5; 
  INT64 v17; 
  unsigned __int64 v18; 
  _MI_WORKING_SET_TYPE v19; 
  INT64 a6[24]; 

  memset(a6, 0i64, 0xB8u);
  PteBase = MmGetPteBase();
  v8 = ((unsigned __int64)&PteBase[511].u.Trans._bf_0 + (((unsigned __int64)BaseVa >> 9) & 0x7FFFFFFFF8i64) + 7) & 0xFFFFFFFFFFFFF000ui64;
  v9 = ((unsigned __int64)PteBase + (((unsigned __int64)LastVa >> 9) & 0x7FFFFFFFF8i64)) & 0xFFFFFFFFFFFFF000ui64;
  if( v8 < v9 )
  {
    v10 = (__int64)((v9 << 25) - ((_QWORD)PteBase << 25)) >> 16;
    v11 = (__int64)((v8 << 25) - ((_QWORD)PteBase << 25)) >> 16;
    v12 = 2;
    WORD2(a6[0]) = 0;
    a6[2] = 0i64;
    a6[3] = 0i64;
    LODWORD(a6[1]) = 20;
    if( VaType != MiVaSessionSpace )
      v12 = 0;
    LODWORD(a6[0]) = v12;
    AnyMultiplexedVm = MiGetAnyMultiplexedVm(MiWorkingSetTypeNonPagedPool, PteBase);
    v17 = (unsigned int)(VaType - a5);
    if( VaType == a5 )
    {
      AnyMultiplexedVm = MiGetSessionVm(v14, v17, v15);
      goto LABEL_11;
    }
    v18 = (unsigned int)(v17 - 5);
    if( (_DWORD)v18 )
    {
      v18 = (unsigned int)(v18 - v15);
      if( (_DWORD)v18 )
      {
        v19 = v15 + 1;
        v18 = (unsigned int)(v18 - a5);
        if( (_DWORD)v18 )
        {
          v18 = (unsigned int)(v18 - v19);
          if( (_DWORD)v18 )
          {
            v18 = (unsigned int)(v18 - a5);
            if( (_DWORD)v18 )
            {
              if( (_DWORD)v18 != a5 )
                goto LABEL_11;
              v19 = MiWorkingSetTypeKernelStacks;
            }
          }
          else
          {
            v19 = a5;
          }
        }
      }
      else
      {
        v19 = MiWorkingSetTypeSystemCache;
      }
    }
    else
    {
      v19 = v15;
    }
    AnyMultiplexedVm = MiGetAnyMultiplexedVm(v19, (VOID *)v18);
LABEL_11:
    MiDeleteSystemPageTables(AnyMultiplexedVm, (unsigned int)VaType, v11, v10 - 1, a5, (INT64)a6);
    MiMakeSystemRangeAvailable((PVOID)v11, (PVOID)(v10 - v11));
  }
}

Referenced by:

MiDeleteBootRange
MiExpandPtes
MiGetPageTablesForLargeMap
MiMapBBTMemory
MiObtainSystemCacheView
MiReleaseDriverPtes
MiReleaseLargePteMappings
MiReleaseSystemCacheView
MiReserveDriverPtes
MiReturnSystemPtes
MiUnmapLargePages
MmFreePoolMemory
MmFreeSecurePoolMemory