MiCanFlushMakeProgress

UINT64 __stdcall MiCanFlushMakeProgress(_MI_PARTITION *Partition, UINT64 PagefileOnly){
  unsigned int v2; 
  int v3; 
  __int64 i; 
  __int64 v5; 
  __int16 v6; 
  if( !(_DWORD)PagefileOnly && *((_QWORD *)Partition + 936) != *((_QWORD *)Partition + 950) )
    return 1i64;
  v2 = *((_DWORD *)Partition + 1734);
  if( v2 )
  {
    v3 = 0;
    for( i = 6944i64; ; i += 8i64 )
    {
      v5 = *(_QWORD *)((char *)Partition + i);
      if( *(_QWORD *)(v5 + 24) )
      {
        v6 = *(_WORD *)(v5 + 204);
        if( (v6 & 0x40) == 0 )
        {
          if( (v6 & 0x10) == 0 )
            break;
          Partition = *(_MI_PARTITION **)(v5 + 248);
          if( *((_QWORD *)Partition + 5 * (v6 & 0xF) + 352) )
            break;
        }
      }
      if( ++v3 >= v2 )
        return 0i64;
    }
    return 1i64;
  }
  return 0i64;
}

Referenced by:

MiFlushAllHintedStorePages
MiFlushAllPagesWorker