MiUnlockWorkingSetExclusive

VOID __stdcall MiUnlockWorkingSetExclusive(_MMSUPPORT_INSTANCE *Vm, UINT8 WsIrql){
  int v3; 
  _RTL_BALANCED_NODE *v4; 
  unsigned __int64 v5; 
  _MMSUPPORT_INSTANCE *v6; 
  _EPROCESS *Process; 
  _RTL_BALANCED_NODE *v8; 
  _MMSUPPORT_FLAGS Flags; 

  v3 = 0;
  v4 = 0i64;
  Flags = Vm->Flags;
  v5 = WsIrql;
  if( (Flags.$9F51E323906620A7CE080F79FB124AD0::$3F85127412E45D453B47E0230FB8DC78::_bf_0 & 7) == 2 )
    v6 = (_MMSUPPORT_INSTANCE *)((char *)&stru_140C4DB30 + 6544);
  else
    v6 = Vm + 1;
  if( (Flags.$9F51E323906620A7CE080F79FB124AD0::$3F85127412E45D453B47E0230FB8DC78::_bf_0 & 7) == 0 )
  {
    if( Vm->VmWorkingSetList )
    {
      Process = KeGetCurrentThread()->ApcState.Process;
      if( LOWORD(Process->Vm.Instance.VmWorkingSetList[9].NextPteToAge) )
        v4 = MiDeleteDeferredCloneDescriptors((INT64)Process);
    }
  }
  if( (*(_DWORD *)&KeGetCurrentThread()[1].gapD8[8] & 0x400000) != 0 )
    v3 = 1;
  MiCheckProcessShadow();
  v6->NextPageColor = 0;
  __writecr8(v5);
  if( v4 )
  {
    do
    {
      v8 = v4->Children[0];
      ExFreePoolWithTag(v4, 0);
      v4 = v8;
    }
    while( v8 );
  }
  if( !v3
    && ((Flags.$2436257948A9E417F8C1432C685A007E::$56A022E0416FA8F0D143F219D5D8FA21::_bf_0 & 8) != 0
     || (Flags.$2436257948A9E417F8C1432C685A007E::$56A022E0416FA8F0D143F219D5D8FA21::_bf_0 & 4) != 0
     || (Flags.$2436257948A9E417F8C1432C685A007E::$56A022E0416FA8F0D143F219D5D8FA21::_bf_0 & 0x10) != 0) )
  {
    MiLockWorkingSetShared();
    MiUnlockWorkingSetShared(Vm, (unsigned __int8)v5);
  }
}

Referenced by:

MiBeginHoldingDirtyFaults
MiBeginProcessClean
MiBuildForkPte
MiCleanWorkingSet
MiClearCommitReleaseState
MiCloneCaptureVadCommit
MiCloneVads
MiCommitExistingVad
MiCountSystemImageCommitment
MiCreateCloneChain
MiCreateForkWsles
MiCreateInitialSystemWsles
MiDeleteBootRange
MiDeleteCloneZombies
MiDeleteEmptyPageTableCommit
MiDeletePagablePteRange
MiDeletePartialVad
MiDeleteRotateAndStopFaults
MiDeleteSessionAddressSpace
MiDeleteTopLevelSessionMapping
MiDeleteVad
MiDoneWithThisPageGetAnother
MiDuplicateCloneLeaf
MiFinishHoldingDirtyFaults
MiFinishVadDeletion
MiFreePhysicalView
MiFreeUnusedPfnPagesDpc
MiGetVadWakeList
MiHandleForkTransitionPte
MiInsertInSystemSpace
MiInsertVad
MiInsertVadEvent
MiLocateOldestSecure
MiLockDownWorkingSet
MiLockWorkingSetForLargeMapping
MiMakeSecureExclusive
MiMakeSystemAddressValid
MiMapUserLargePages
MiMapWithLargePages
MiOutSwapWorkingSet
MiReAcquireOutSwappedProcessCommit
MiReleaseCommitForResetPages
MiReleaseFaultState
MiReleaseOutSwappedProcessCommit
MiReleaseWalkLocks
MiRemoveFromSystemSpace
MiRemovePlaceholderVad
MiRemoveSecureEntry
MiRemoveVadEvent
MiRotateComplete
MiSessionInsertImage
MiSessionRemoveImage
MiSetTrimWhileAgingState
MiUnlockFaultWorkingSet
MiUnlockSystemVa
MiUserFault
MiWaitForRotateToComplete
MmAccessFault
MmAdjustWorkingSetSizeEx
MmEnableProcessSvm
MmEnforceWorkingSetLimit
MmReleaseCommitForMemResetPages
MmSetCommitReleaseEligibility
MmStealTopLevelPage