MiPageAttributeBatchChangeNeeded

INT64 __fastcall MiPageAttributeBatchChangeNeeded(INT64 a1, INT64 a2){
  int v2; 
  char v4; 
  unsigned int v5; 
  int v6[10]; 
  v2 = *(unsigned __int8 *)(a1 + 34) >> 6;
  if( v2 == (_DWORD)a2 )
    return 0i64;
  if( v2 != 1 )
  {
    if( v2 == 3
      || (v4 = *(_BYTE *)(a1 + 31) & 0xF, _InterlockedOr(v6, 0), v5 = ((_BYTE)KiTbFlushTimeStamp - v4) & 0xF, v5 > 2)
      || (v4 & 1) == 0 && v5 >= 2 )
    {
      MiChangePageAttribute(a1, a2, 4);
      return 0i64;
    }
  }
  return 1i64;
}

Referenced by:

MiConvertContiguousPages
MiInitializeMdlOneNodeBatchPages
MiSwitchToTransition