HvTruncateAllLogFilesIfRequired

VOID __stdcall HvTruncateAllLogFilesIfRequired(_HHIVE *Hive){
  unsigned int v2; 
  __int64 v3; 
  unsigned int v4; 
  __int64 v5; 
  unsigned int EffectiveLogSizeCapForHive; 
  __int64 v7; 
  UINT64 v8; 

  if( Hive->CurrentLog == 1 )
  {
    HvpLogTypeToLogArrayIndex(1ui64);
    EffectiveLogSizeCapForHive = HvGetEffectiveLogSizeCapForHive(Hive);
    if( *((_QWORD *)&Hive[1].ViewMap.ViewTree.Min + v7) <= (unsigned __int64)EffectiveLogSizeCapForHive )
      return;
    v8 = 1i64;
LABEL_9:
    CmpDoFileSetSizeEx((INT64)Hive, v8, 0i64, 0);
    return;
  }
  HvpLogTypeToLogArrayIndex(4ui64);
  v2 = HvGetEffectiveLogSizeCapForHive(Hive);
  if( *((_QWORD *)&Hive[1].ViewMap.ViewTree.Min + v3) > (unsigned __int64)v2 )
    CmpDoFileSetSizeEx((INT64)Hive, 4ui64, 0i64, 0);
  HvpLogTypeToLogArrayIndex(5ui64);
  v4 = HvGetEffectiveLogSizeCapForHive(Hive);
  if( *((_QWORD *)&Hive[1].ViewMap.ViewTree.Min + v5) > (unsigned __int64)v4 )
  {
    v8 = 5i64;
    goto LABEL_9;
  }
}

Referenced by:

CmpFlushHive