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);
}
}