MiFlushTbListEarly

__int64 __fastcall MiFlushTbListEarly(__int64 a1, char a2){
  unsigned __int64 v2; 
  v2 = qword_140C4DCD0;
  if( (*(_BYTE *)(a1 + 4) & 2) == 0
    && *(_DWORD *)a1 == 1
    && *(_QWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 2288i64) )
  {
    v2 = -1i64;
  }
  if( *(_DWORD *)(a1 + 12) < *(_DWORD *)(a1 + 8) && !*(_BYTE *)(a1 + 5) && *(_QWORD *)(a1 + 16) <= v2 )
    return 0i64;
  if( (a2 & 2) == 0 )
  {
    if( v2 < 0x400 || *(_BYTE *)(a1 + 5) )
    {
      if( (a2 & 1) == 0 )
        return 0i64;
      *(_BYTE *)(a1 + 5) = 1;
    }
    MiFlushTbList(a1);
  }
  return 1i64;
}

Referenced by:

MiDeleteEmptyPageTable
MiDeleteVa
MiReplenishBitMap
MiResetAccessBitPteWorker
MiSharePages