MiFlushTbListEarly
VOID __fastcall MiFlushTbListEarly(_MI_TB_FLUSH_LIST *TbFlushList, _BYTE *Flags){
unsigned __int64 v2;
v2 = *(&stru_140C4DB30 + 52);
if( (TbFlushList[1] & 2) == 0 && *TbFlushList == 1 && KeGetCurrentThread()->ApcState.Process->VmContext )
v2 = -1i64;
if( (TbFlushList[3] >= (unsigned int)TbFlushList[2]
|| *((_BYTE *)TbFlushList + 5)
|| *((_QWORD *)TbFlushList + 2) > v2)
&& ((unsigned __int8)Flags & 2) == 0 )
{
if( v2 >= 0x400 && !*((_BYTE *)TbFlushList + 5) )
goto LABEL_13;
if( ((unsigned __int8)Flags & 1) != 0 )
{
*((_BYTE *)TbFlushList + 5) = 1;
LABEL_13:
MiFlushTbList(TbFlushList);
}
}
}Referenced by:
MiDeleteEmptyPageTable
MiDeleteVa
MiReplenishBitMap
MiResetAccessBitPteWorker
MiSharePages