MiWriteTopLevelPxe

INT64 __fastcall MiWriteTopLevelPxe(_QWORD *a1, INT64 a2){
  BOOL v4; 
  int v5; 
  INT64 result; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  memset(&LockHandle, 0, sizeof(LockHandle));
  KeAcquireInStackQueuedSpinLock(&WorkerRoutine, &LockHandle);
  v4 = MiPteInShadowRange((UINT64)a1);
  v5 = 0;
  if( (a2 & 1) != 0 )
  {
    if( v4 && (*(_DWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 2172i64) & 0x1000) != 0 )
      a2 |= 0x8000000000000000ui64;
  }
  else if( v4 )
  {
    if( (unsigned int)MiPteHasShadow() )
      v5 = 1;
  }
  *a1 = a2;
  if( v5 )
    MiWritePteShadow();
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  result = (unsigned int)KiIrqlFlags;
  __writecr8(LockHandle.OldIrql);
  return result;
}

Referenced by:

MiDeletePteRun
MiDeleteTopLevelSessionMapping
MiDeleteVa
MiLinkPoolCommitChain
MiMapNewSession