MiFlushAllFilesystemPages

INT64 __stdcall MiFlushAllFilesystemPages(){
  INT64 result; 
  VOID(__stdcall *v1)(PVOID, CHAR); 
  int v2; 
  unsigned int v3; 
  int v4; 
  result = KeGetCurrentIrql();
  if( (unsigned __int8)result <= 1u )
  {
    LODWORD(result) = MiIsWorkingSetTrimThread();
    v3 = 0;
    if( !(_DWORD)result )
    {
      result = (INT64)MiModifiedPageWriter;
      if( (char *)v1 != (char *)MiModifiedPageWriter )
      {
        result = (INT64)MiMappedPageWriter;
        if( v1 != MiMappedPageWriter )
        {
          if( v2 == 1 )
          {
            result = (unsigned int)_InterlockedIncrement(&dword_140C4E408);
            if( (_DWORD)result != 1 )
              return result;
            MiEmptyAllWorkingSets((_MI_PARTITION *)&MiSystemPartition);
          }
          _InterlockedIncrement(&dword_140C50DD4);
          result = qword_140C52870;
          if( qword_140C52800 != qword_140C52870 )
          {
            v4 = dword_140C50D6C;
            do
            {
              KeSetEvent(&stru_140C50DD8, 0);
              CcForEachPartition((__int64(__fastcall *)(__int64, __int64))CcNotifyWriteBehindHelper, 2i64, 0);
              result = qword_140C52870;
              if( qword_140C52800 == qword_140C52870 )
                break;
              KeDelayExecutionThread(0, 0, (PLARGE_INTEGER)&Mi30Milliseconds);
              result = (unsigned int)dword_140C50D6C;
              if( v4 != dword_140C50D6C )
              {
                v4 = dword_140C50D6C;
                v3 = -1;
              }
              ++v3;
            }
            while( v3 < 0xFF );
          }
          _InterlockedDecrement(&dword_140C50DD4);
        }
      }
    }
  }
  return result;
}

Referenced by:

MiCommitExistingVad
MiGetNextPageTablePte
MiInPageSingleKernelStack
MiLockPagedAddress
MiMakeOutswappedPageResident
MiMakeSystemAddressValid
MiSetProtectionOnSection
MiShutdownSystem
MiWaitForInPageComplete