MiFreeUltraMapping

INT64 __fastcall MiFreeUltraMapping(UINT64 a1){
  _QWORD *v1; 
  unsigned __int64 v2; 
  INT64 result; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  memset(&LockHandle, 0, sizeof(LockHandle));
  v1 = (_QWORD *)((char *)MmGetPdpteBase() + ((a1 >> 27) & 0x1FFFF8));
  v2 = (a1 - qword_140C4E938) >> 30;
  KeAcquireInStackQueuedSpinLock(&qword_140C4E930, &LockHandle);
  _bittestandset64((signed __int64 *)qword_140C4E960, v2);
  *v1 = ZeroPte;
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  result = (unsigned int)KiIrqlFlags;
  __writecr8(LockHandle.OldIrql);
  return result;
}

Referenced by:

MiReleaseLargeZeroingVa
MiZeroPage