MiReleaseFaultPte

INT64 __fastcall MiReleaseFaultPte(UINT64 a1){
  __int64 v2; 
  INT64 result; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  memset(&LockHandle, 0, sizeof(LockHandle));
  *(_QWORD *)a1 = ZeroPte;
  KeFlushSingleTb((__int64)((a1 << 25) - ((_QWORD)MmGetPteBase() << 25)) >> 16, 0i64, 1i64);
  v2 = (__int64)(a1 - qword_140C4EA78) >> 3;
  KeAcquireInStackQueuedSpinLock(&qword_140C4EA80, &LockHandle);
  _bittestandreset((signed __int32 *)byte_140C4EA88, v2);
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  result = (unsigned int)KiIrqlFlags;
  __writecr8(LockHandle.OldIrql);
  return result;
}

Referenced by:

MiValidateImagePfn