MiCleanVad

VOID __stdcall MiCleanVad(_MMVAD *Vad){
  _MMVAD *v2; 

  if( MiVadDeleted(&Vad->Core) == 1 )
  {
    MiWaitForVadDeletion(&v2->Core);
    MiUnlockAndDereferenceVad(&Vad->Core);
  }
  else if( (v2->Core.u.LongFlags & 0x100000) != 0 )
  {
    MiDeleteVad(v2, 0i64);
  }
  else
  {
    MiUnmapVad(v2, 0i64);
  }
}

Referenced by:

MmCleanProcessAddressSpace