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