; LLVM IR from reworks-org/galaxy :: deps/sfml_deps/flac-src/src/test_libFLAC++ (metadata_object)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.FLAC__StreamMetadata = type { i32, i32, i32, %union.anon }
%union.anon = type { %struct.FLAC__StreamMetadata_CueSheet }
%struct.FLAC__StreamMetadata_CueSheet = type { [129 x i8], i64, i32, i32, ptr }
%"class.FLAC::Metadata::VorbisComment::Entry" = type <{ ptr, i8, [7 x i8], %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr, i32, [4 x i8], ptr, i32, [4 x i8] }>
%struct.FLAC__StreamMetadata_VorbisComment_Entry = type { i32, ptr }
%"class.FLAC::Metadata::VorbisComment" = type { %"class.FLAC::Metadata::Prototype.base", [7 x i8] }
%"class.FLAC::Metadata::Prototype.base" = type <{ ptr, ptr, i8 }>
%struct.FLAC__StreamMetadata_VorbisComment = type { %struct.FLAC__StreamMetadata_VorbisComment_Entry, i32, ptr }

@.str.2 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZTIN4FLAC8Metadata9PrototypeE = external constant ptr
@.str.45 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [43 x i8], align 1
@FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN = external constant i32, align 4
@FLAC__VENDOR_STRING = external global ptr, align 8
@FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN = external constant i32, align 4
@.str.164 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZL14vorbiscomment_ = external hidden global %struct.FLAC__StreamMetadata, align 8
@.str.169 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZTIN4FLAC8Metadata13VorbisCommentE = external constant ptr

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @printf(ptr noundef, ...) #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17)) #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZL4die_PKc(ptr noundef) #3

declare noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17)) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare ptr @FLAC__metadata_object_clone(ptr noundef) #1

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #4

declare noundef ptr @_ZN4FLAC8Metadata5cloneEPKNS0_9PrototypeE(ptr noundef) #1

; Function Attrs: nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) #5

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z34test_metadata_object_vorbiscommentv() #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca i1, align 1
  %2 = alloca i32, align 4
  %3 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %8 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %9 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %10 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %11 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %12 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %13 = alloca %struct.FLAC__StreamMetadata_VorbisComment_Entry, align 8
  %14 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %15 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %16 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %17 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %18 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %21 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %22 = alloca ptr, align 8
  %23 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %24 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %25 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %26 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %27 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %28 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %29 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %30 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %31 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %32 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %33 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %34 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %35 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %36 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %37 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %38 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %39 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %40 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %41 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %42 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %43 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %44 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %45 = alloca ptr, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #8
  %46 = call i32 (ptr, ...) @printf(ptr noundef @.str.123)
  %47 = call i32 (ptr, ...) @printf(ptr noundef @.str.124)
  call void @llvm.lifetime.start.p0(i64 64, ptr %3) #8
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryC1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3)
  %48 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %3)
          to label %49 unwind label %53

49:                                               ; preds = %0
  br i1 %48, label %57, label %50

50:                                               ; preds = %49
  %51 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %52 unwind label %53

52:                                               ; preds = %50
  store i1 %51, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %62

53:                                               ; preds = %59, %57, %50, %0
  %54 = landingpad { ptr, i32 }
          cleanup
  %55 = extractvalue { ptr, i32 } %54, 0
  store ptr %55, ptr %4, align 8
  %56 = extractvalue { ptr, i32 } %54, 1
  store i32 %56, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %3) #8
  br label %1506

57:                                               ; preds = %49
  %58 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %59 unwind label %53

59:                                               ; preds = %57
  %60 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.126)
          to label %61 unwind label %53

61:                                               ; preds = %59
  store i32 0, ptr %6, align 4
  br label %62

62:                                               ; preds = %61, %52
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %3) #8
  %63 = load i32, ptr %6, align 4
  switch i32 %63, label %1504 [
    i32 0, label %64
  ]

64:                                               ; preds = %62
  %65 = call i32 (ptr, ...) @printf(ptr noundef @.str.4)
  %66 = call i32 (ptr, ...) @printf(ptr noundef @.str.127)
  call void @llvm.lifetime.start.p0(i64 64, ptr %7) #8
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcj(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef @.str.128, i32 noundef 12)
  %67 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %68 unwind label %72

68:                                               ; preds = %64
  br i1 %67, label %76, label %69

69:                                               ; preds = %68
  %70 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %71 unwind label %72

71:                                               ; preds = %69
  store i1 %70, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1502

72:                                               ; preds = %110, %78, %76, %69, %64
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %4, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %5, align 4
  br label %1503

76:                                               ; preds = %68
  %77 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %78 unwind label %72

78:                                               ; preds = %76
  %79 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.129)
          to label %80 unwind label %72

80:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 64, ptr %8) #8
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKc(ptr noundef nonnull align 8 dereferenceable(60) %8, ptr noundef @.str.128)
          to label %81 unwind label %87

81:                                               ; preds = %80
  %82 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %8)
          to label %83 unwind label %91

83:                                               ; preds = %81
  br i1 %82, label %95, label %84

84:                                               ; preds = %83
  %85 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %86 unwind label %91

86:                                               ; preds = %84
  store i1 %85, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %108

87:                                               ; preds = %80
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %4, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %5, align 4
  br label %119

91:                                               ; preds = %105, %102, %97, %95, %84, %81
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %4, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %8) #8
  br label %119

95:                                               ; preds = %83
  %96 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %97 unwind label %91

97:                                               ; preds = %95
  %98 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %8)
          to label %99 unwind label %91

99:                                               ; preds = %97
  %100 = call i32 @strcmp(ptr noundef %96, ptr noundef %98) #5
  %101 = icmp ne i32 %100, 0
  br i1 %101, label %102, label %105

102:                                              ; preds = %99
  %103 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.130)
          to label %104 unwind label %91

104:                                              ; preds = %102
  store i1 %103, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %108

105:                                              ; preds = %99
  %106 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %107 unwind label %91

107:                                              ; preds = %105
  store i32 0, ptr %6, align 4
  br label %108

108:                                              ; preds = %107, %104, %86
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %8) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %8) #8
  %109 = load i32, ptr %6, align 4
  switch i32 %109, label %1502 [
    i32 0, label %110
  ]

110:                                              ; preds = %108
  %111 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.131)
          to label %112 unwind label %72

112:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 64, ptr %9) #8
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_j(ptr noundef nonnull align 8 dereferenceable(60) %9, ptr noundef @.str.132, ptr noundef @.str.133, i32 noundef 6)
          to label %113 unwind label %120

113:                                              ; preds = %112
  %114 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %9)
          to label %115 unwind label %124

115:                                              ; preds = %113
  br i1 %114, label %128, label %116

116:                                              ; preds = %115
  %117 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %118 unwind label %124

118:                                              ; preds = %116
  store i1 %117, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1499

119:                                              ; preds = %91, %87
  call void @llvm.lifetime.end.p0(i64 64, ptr %8) #8
  br label %1503

120:                                              ; preds = %112
  %121 = landingpad { ptr, i32 }
          cleanup
  %122 = extractvalue { ptr, i32 } %121, 0
  store ptr %122, ptr %4, align 8
  %123 = extractvalue { ptr, i32 } %121, 1
  store i32 %123, ptr %5, align 4
  br label %1501

124:                                              ; preds = %189, %187, %162, %130, %128, %116, %113
  %125 = landingpad { ptr, i32 }
          cleanup
  %126 = extractvalue { ptr, i32 } %125, 0
  store ptr %126, ptr %4, align 8
  %127 = extractvalue { ptr, i32 } %125, 1
  store i32 %127, ptr %5, align 4
  br label %1500

128:                                              ; preds = %115
  %129 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %130 unwind label %124

130:                                              ; preds = %128
  %131 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.134)
          to label %132 unwind label %124

132:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 64, ptr %10) #8
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_(ptr noundef nonnull align 8 dereferenceable(60) %10, ptr noundef @.str.132, ptr noundef @.str.133)
          to label %133 unwind label %139

133:                                              ; preds = %132
  %134 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %10)
          to label %135 unwind label %143

135:                                              ; preds = %133
  br i1 %134, label %147, label %136

136:                                              ; preds = %135
  %137 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %138 unwind label %143

138:                                              ; preds = %136
  store i1 %137, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %160

139:                                              ; preds = %132
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %4, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %5, align 4
  br label %171

143:                                              ; preds = %157, %154, %149, %147, %136, %133
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %4, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %10) #8
  br label %171

147:                                              ; preds = %135
  %148 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %9)
          to label %149 unwind label %143

149:                                              ; preds = %147
  %150 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %10)
          to label %151 unwind label %143

151:                                              ; preds = %149
  %152 = call i32 @strcmp(ptr noundef %148, ptr noundef %150) #5
  %153 = icmp ne i32 %152, 0
  br i1 %153, label %154, label %157

154:                                              ; preds = %151
  %155 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.130)
          to label %156 unwind label %143

156:                                              ; preds = %154
  store i1 %155, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %160

157:                                              ; preds = %151
  %158 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %159 unwind label %143

159:                                              ; preds = %157
  store i32 0, ptr %6, align 4
  br label %160

160:                                              ; preds = %159, %156, %138
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %10) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %10) #8
  %161 = load i32, ptr %6, align 4
  switch i32 %161, label %1499 [
    i32 0, label %162
  ]

162:                                              ; preds = %160
  %163 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.135)
          to label %164 unwind label %124

164:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 64, ptr %11) #8
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60) %11, ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %165 unwind label %172

165:                                              ; preds = %164
  %166 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %11)
          to label %167 unwind label %176

167:                                              ; preds = %165
  br i1 %166, label %180, label %168

168:                                              ; preds = %167
  %169 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %170 unwind label %176

170:                                              ; preds = %168
  store i1 %169, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %185

171:                                              ; preds = %143, %139
  call void @llvm.lifetime.end.p0(i64 64, ptr %10) #8
  br label %1500

172:                                              ; preds = %164
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %4, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %5, align 4
  br label %198

176:                                              ; preds = %182, %180, %168, %165
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %4, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %11) #8
  br label %198

180:                                              ; preds = %167
  %181 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %182 unwind label %176

182:                                              ; preds = %180
  %183 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.126)
          to label %184 unwind label %176

184:                                              ; preds = %182
  store i32 0, ptr %6, align 4
  br label %185

185:                                              ; preds = %184, %170
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %11) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %11) #8
  %186 = load i32, ptr %6, align 4
  switch i32 %186, label %1499 [
    i32 0, label %187
  ]

187:                                              ; preds = %185
  %188 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %189 unwind label %124

189:                                              ; preds = %187
  %190 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.136)
          to label %191 unwind label %124

191:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 64, ptr %12) #8
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %192 unwind label %199

192:                                              ; preds = %191
  %193 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %194 unwind label %203

194:                                              ; preds = %192
  br i1 %193, label %207, label %195

195:                                              ; preds = %194
  %196 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.125)
          to label %197 unwind label %203

197:                                              ; preds = %195
  store i1 %196, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

198:                                              ; preds = %176, %172
  call void @llvm.lifetime.end.p0(i64 64, ptr %11) #8
  br label %1500

199:                                              ; preds = %191
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %4, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %5, align 4
  br label %1498

203:                                              ; preds = %467, %465, %463, %461, %458, %453, %450, %445, %442, %437, %434, %431, %429, %427, %424, %419, %416, %411, %408, %403, %400, %397, %395, %393, %390, %385, %382, %377, %374, %371, %369, %367, %364, %359, %356, %351, %348, %345, %343, %341, %338, %333, %330, %325, %322, %319, %317, %315, %312, %307, %305, %303, %300, %295, %293, %291, %288, %283, %281, %279, %245, %243, %240, %235, %233, %231, %228, %223, %221, %219, %216, %211, %209, %207, %195, %192
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %4, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %5, align 4
  br label %1497

207:                                              ; preds = %194
  %208 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %209 unwind label %203

209:                                              ; preds = %207
  %210 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.137)
          to label %211 unwind label %203

211:                                              ; preds = %209
  %212 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %213 unwind label %203

213:                                              ; preds = %211
  %214 = zext i32 %212 to i64
  %215 = icmp ne i64 %214, 12
  br i1 %215, label %216, label %219

216:                                              ; preds = %213
  %217 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %218 unwind label %203

218:                                              ; preds = %216
  store i1 %217, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

219:                                              ; preds = %213
  %220 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %221 unwind label %203

221:                                              ; preds = %219
  %222 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.139)
          to label %223 unwind label %203

223:                                              ; preds = %221
  %224 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry21get_field_name_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %225 unwind label %203

225:                                              ; preds = %223
  %226 = zext i32 %224 to i64
  %227 = icmp ne i64 %226, 5
  br i1 %227, label %228, label %231

228:                                              ; preds = %225
  %229 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %230 unwind label %203

230:                                              ; preds = %228
  store i1 %229, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

231:                                              ; preds = %225
  %232 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %233 unwind label %203

233:                                              ; preds = %231
  %234 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.140)
          to label %235 unwind label %203

235:                                              ; preds = %233
  %236 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry22get_field_value_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %237 unwind label %203

237:                                              ; preds = %235
  %238 = zext i32 %236 to i64
  %239 = icmp ne i64 %238, 6
  br i1 %239, label %240, label %243

240:                                              ; preds = %237
  %241 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %242 unwind label %203

242:                                              ; preds = %240
  store i1 %241, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

243:                                              ; preds = %237
  %244 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %245 unwind label %203

245:                                              ; preds = %243
  %246 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.141)
          to label %247 unwind label %203

247:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #8
  %248 = invoke { i32, ptr } @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_entryEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %249 unwind label %261

249:                                              ; preds = %247
  %250 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 0
  %251 = extractvalue { i32, ptr } %248, 0
  store i32 %251, ptr %250, align 8
  %252 = getelementptr inbounds { i32, ptr }, ptr %13, i32 0, i32 1
  %253 = extractvalue { i32, ptr } %248, 1
  store ptr %253, ptr %252, align 8
  %254 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %13, i32 0, i32 0
  %255 = load i32, ptr %254, align 8, !tbaa !5
  %256 = zext i32 %255 to i64
  %257 = icmp ne i64 %256, 12
  br i1 %257, label %258, label %265

258:                                              ; preds = %249
  %259 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.142)
          to label %260 unwind label %261

260:                                              ; preds = %258
  store i1 %259, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %277

261:                                              ; preds = %273, %258, %247
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %4, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  br label %1497

265:                                              ; preds = %249
  %266 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %13, i32 0, i32 1
  %267 = load ptr, ptr %266, align 8, !tbaa !11
  %268 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %13, i32 0, i32 0
  %269 = load i32, ptr %268, align 8, !tbaa !5
  %270 = zext i32 %269 to i64
  %271 = call i32 @memcmp(ptr noundef %267, ptr noundef @.str.128, i64 noundef %270) #5
  %272 = icmp ne i32 0, %271
  br i1 %272, label %273, label %276

273:                                              ; preds = %265
  %274 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.143)
          to label %275 unwind label %261

275:                                              ; preds = %273
  store i1 %274, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %277

276:                                              ; preds = %265
  store i32 0, ptr %6, align 4
  br label %277

277:                                              ; preds = %276, %275, %260
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  %278 = load i32, ptr %6, align 4
  switch i32 %278, label %1496 [
    i32 0, label %279
  ]

279:                                              ; preds = %277
  %280 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %281 unwind label %203

281:                                              ; preds = %279
  %282 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.144)
          to label %283 unwind label %203

283:                                              ; preds = %281
  %284 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %285 unwind label %203

285:                                              ; preds = %283
  %286 = call i32 @memcmp(ptr noundef %284, ptr noundef @.str.128, i64 noundef 12) #5
  %287 = icmp ne i32 0, %286
  br i1 %287, label %288, label %291

288:                                              ; preds = %285
  %289 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %290 unwind label %203

290:                                              ; preds = %288
  store i1 %289, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

291:                                              ; preds = %285
  %292 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %293 unwind label %203

293:                                              ; preds = %291
  %294 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.145)
          to label %295 unwind label %203

295:                                              ; preds = %293
  %296 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %297 unwind label %203

297:                                              ; preds = %295
  %298 = call i32 @memcmp(ptr noundef %296, ptr noundef @.str.146, i64 noundef 5) #5
  %299 = icmp ne i32 0, %298
  br i1 %299, label %300, label %303

300:                                              ; preds = %297
  %301 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %302 unwind label %203

302:                                              ; preds = %300
  store i1 %301, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

303:                                              ; preds = %297
  %304 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %305 unwind label %203

305:                                              ; preds = %303
  %306 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.147)
          to label %307 unwind label %203

307:                                              ; preds = %305
  %308 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %309 unwind label %203

309:                                              ; preds = %307
  %310 = call i32 @memcmp(ptr noundef %308, ptr noundef @.str.148, i64 noundef 6) #5
  %311 = icmp ne i32 0, %310
  br i1 %311, label %312, label %315

312:                                              ; preds = %309
  %313 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %314 unwind label %203

314:                                              ; preds = %312
  store i1 %313, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

315:                                              ; preds = %309
  %316 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %317 unwind label %203

317:                                              ; preds = %315
  %318 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.149)
          to label %319 unwind label %203

319:                                              ; preds = %317
  %320 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry14set_field_nameEPKc(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef @.str.150)
          to label %321 unwind label %203

321:                                              ; preds = %319
  br i1 %320, label %325, label %322

322:                                              ; preds = %321
  %323 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %324 unwind label %203

324:                                              ; preds = %322
  store i1 %323, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

325:                                              ; preds = %321
  %326 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %327 unwind label %203

327:                                              ; preds = %325
  %328 = call i32 @memcmp(ptr noundef %326, ptr noundef @.str.150, i64 noundef 5) #5
  %329 = icmp ne i32 0, %328
  br i1 %329, label %330, label %333

330:                                              ; preds = %327
  %331 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %332 unwind label %203

332:                                              ; preds = %330
  store i1 %331, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

333:                                              ; preds = %327
  %334 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %335 unwind label %203

335:                                              ; preds = %333
  %336 = call i32 @memcmp(ptr noundef %334, ptr noundef @.str.151, i64 noundef 12) #5
  %337 = icmp ne i32 0, %336
  br i1 %337, label %338, label %341

338:                                              ; preds = %335
  %339 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.152)
          to label %340 unwind label %203

340:                                              ; preds = %338
  store i1 %339, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

341:                                              ; preds = %335
  %342 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %343 unwind label %203

343:                                              ; preds = %341
  %344 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.153)
          to label %345 unwind label %203

345:                                              ; preds = %343
  %346 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKcj(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef @.str.154, i32 noundef 6)
          to label %347 unwind label %203

347:                                              ; preds = %345
  br i1 %346, label %351, label %348

348:                                              ; preds = %347
  %349 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %350 unwind label %203

350:                                              ; preds = %348
  store i1 %349, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

351:                                              ; preds = %347
  %352 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %353 unwind label %203

353:                                              ; preds = %351
  %354 = call i32 @memcmp(ptr noundef %352, ptr noundef @.str.154, i64 noundef 6) #5
  %355 = icmp ne i32 0, %354
  br i1 %355, label %356, label %359

356:                                              ; preds = %353
  %357 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %358 unwind label %203

358:                                              ; preds = %356
  store i1 %357, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

359:                                              ; preds = %353
  %360 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %361 unwind label %203

361:                                              ; preds = %359
  %362 = call i32 @memcmp(ptr noundef %360, ptr noundef @.str.155, i64 noundef 12) #5
  %363 = icmp ne i32 0, %362
  br i1 %363, label %364, label %367

364:                                              ; preds = %361
  %365 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.152)
          to label %366 unwind label %203

366:                                              ; preds = %364
  store i1 %365, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

367:                                              ; preds = %361
  %368 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %369 unwind label %203

369:                                              ; preds = %367
  %370 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.156)
          to label %371 unwind label %203

371:                                              ; preds = %369
  %372 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKc(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef @.str.154)
          to label %373 unwind label %203

373:                                              ; preds = %371
  br i1 %372, label %377, label %374

374:                                              ; preds = %373
  %375 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %376 unwind label %203

376:                                              ; preds = %374
  store i1 %375, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

377:                                              ; preds = %373
  %378 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %379 unwind label %203

379:                                              ; preds = %377
  %380 = call i32 @memcmp(ptr noundef %378, ptr noundef @.str.154, i64 noundef 6) #5
  %381 = icmp ne i32 0, %380
  br i1 %381, label %382, label %385

382:                                              ; preds = %379
  %383 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %384 unwind label %203

384:                                              ; preds = %382
  store i1 %383, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

385:                                              ; preds = %379
  %386 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %387 unwind label %203

387:                                              ; preds = %385
  %388 = call i32 @memcmp(ptr noundef %386, ptr noundef @.str.155, i64 noundef 12) #5
  %389 = icmp ne i32 0, %388
  br i1 %389, label %390, label %393

390:                                              ; preds = %387
  %391 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.152)
          to label %392 unwind label %203

392:                                              ; preds = %390
  store i1 %391, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

393:                                              ; preds = %387
  %394 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %395 unwind label %203

395:                                              ; preds = %393
  %396 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.157)
          to label %397 unwind label %203

397:                                              ; preds = %395
  %398 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKcj(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef @.str.158, i32 noundef 12)
          to label %399 unwind label %203

399:                                              ; preds = %397
  br i1 %398, label %403, label %400

400:                                              ; preds = %399
  %401 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %402 unwind label %203

402:                                              ; preds = %400
  store i1 %401, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

403:                                              ; preds = %399
  %404 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %405 unwind label %203

405:                                              ; preds = %403
  %406 = call i32 @memcmp(ptr noundef %404, ptr noundef @.str.159, i64 noundef 5) #5
  %407 = icmp ne i32 0, %406
  br i1 %407, label %408, label %411

408:                                              ; preds = %405
  %409 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %410 unwind label %203

410:                                              ; preds = %408
  store i1 %409, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

411:                                              ; preds = %405
  %412 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %413 unwind label %203

413:                                              ; preds = %411
  %414 = call i32 @memcmp(ptr noundef %412, ptr noundef @.str.160, i64 noundef 6) #5
  %415 = icmp ne i32 0, %414
  br i1 %415, label %416, label %419

416:                                              ; preds = %413
  %417 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %418 unwind label %203

418:                                              ; preds = %416
  store i1 %417, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

419:                                              ; preds = %413
  %420 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %421 unwind label %203

421:                                              ; preds = %419
  %422 = call i32 @memcmp(ptr noundef %420, ptr noundef @.str.158, i64 noundef 12) #5
  %423 = icmp ne i32 0, %422
  br i1 %423, label %424, label %427

424:                                              ; preds = %421
  %425 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.152)
          to label %426 unwind label %203

426:                                              ; preds = %424
  store i1 %425, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

427:                                              ; preds = %421
  %428 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %429 unwind label %203

429:                                              ; preds = %427
  %430 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.161)
          to label %431 unwind label %203

431:                                              ; preds = %429
  %432 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKc(ptr noundef nonnull align 8 dereferenceable(60) %12, ptr noundef @.str.158)
          to label %433 unwind label %203

433:                                              ; preds = %431
  br i1 %432, label %437, label %434

434:                                              ; preds = %433
  %435 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %436 unwind label %203

436:                                              ; preds = %434
  store i1 %435, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

437:                                              ; preds = %433
  %438 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %439 unwind label %203

439:                                              ; preds = %437
  %440 = call i32 @memcmp(ptr noundef %438, ptr noundef @.str.159, i64 noundef 5) #5
  %441 = icmp ne i32 0, %440
  br i1 %441, label %442, label %445

442:                                              ; preds = %439
  %443 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %444 unwind label %203

444:                                              ; preds = %442
  store i1 %443, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

445:                                              ; preds = %439
  %446 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %447 unwind label %203

447:                                              ; preds = %445
  %448 = call i32 @memcmp(ptr noundef %446, ptr noundef @.str.160, i64 noundef 6) #5
  %449 = icmp ne i32 0, %448
  br i1 %449, label %450, label %453

450:                                              ; preds = %447
  %451 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %452 unwind label %203

452:                                              ; preds = %450
  store i1 %451, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

453:                                              ; preds = %447
  %454 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %12)
          to label %455 unwind label %203

455:                                              ; preds = %453
  %456 = call i32 @memcmp(ptr noundef %454, ptr noundef @.str.158, i64 noundef 12) #5
  %457 = icmp ne i32 0, %456
  br i1 %457, label %458, label %461

458:                                              ; preds = %455
  %459 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.152)
          to label %460 unwind label %203

460:                                              ; preds = %458
  store i1 %459, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1496

461:                                              ; preds = %455
  %462 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %463 unwind label %203

463:                                              ; preds = %461
  %464 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.47)
          to label %465 unwind label %203

465:                                              ; preds = %463
  %466 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.162)
          to label %467 unwind label %203

467:                                              ; preds = %465
  %468 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.163)
          to label %469 unwind label %203

469:                                              ; preds = %467
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %470 unwind label %476

470:                                              ; preds = %469
  %471 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %472 unwind label %480

472:                                              ; preds = %470
  br i1 %471, label %484, label %473

473:                                              ; preds = %472
  %474 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.2)
          to label %475 unwind label %480

475:                                              ; preds = %473
  store i1 %474, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

476:                                              ; preds = %469
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %4, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %5, align 4
  br label %1495

480:                                              ; preds = %1437, %1435, %1423, %1396, %1375, %1348, %1336, %1333, %1331, %1329, %1327, %1315, %1288, %1276, %1273, %1271, %1269, %1267, %1255, %1228, %1216, %1213, %1211, %1209, %1207, %1195, %1168, %1156, %1153, %1151, %1149, %1147, %1135, %1108, %1096, %1093, %1091, %1089, %1087, %1084, %1080, %1077, %1074, %1072, %1070, %1068, %1056, %1029, %1017, %1014, %1012, %1010, %1008, %996, %969, %957, %954, %952, %950, %948, %936, %909, %897, %894, %892, %890, %888, %885, %877, %874, %867, %863, %861, %858, %855, %853, %851, %847, %843, %841, %812, %810, %781, %779, %749, %747, %709, %707, %675, %673, %637, %635, %606, %604, %575, %573, %544, %542, %540, %510, %508, %506, %503, %500, %484, %473, %470
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %4, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %5, align 4
  br label %1494

484:                                              ; preds = %472
  %485 = load i32, ptr @FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, align 4, !tbaa !12
  %486 = udiv i32 %485, 8
  %487 = zext i32 %486 to i64
  %488 = load ptr, ptr @FLAC__VENDOR_STRING, align 8, !tbaa !13
  %489 = call i64 @strlen(ptr noundef %488) #5
  %490 = add i64 %487, %489
  %491 = load i32, ptr @FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN, align 4, !tbaa !12
  %492 = udiv i32 %491, 8
  %493 = zext i32 %492 to i64
  %494 = add i64 %490, %493
  %495 = trunc i64 %494 to i32
  store i32 %495, ptr %2, align 4, !tbaa !12
  %496 = invoke noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %497 unwind label %480

497:                                              ; preds = %484
  %498 = load i32, ptr %2, align 4, !tbaa !12
  %499 = icmp ne i32 %496, %498
  br i1 %499, label %500, label %506

500:                                              ; preds = %497
  %501 = load i32, ptr %2, align 4, !tbaa !12
  %502 = invoke noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %503 unwind label %480

503:                                              ; preds = %500
  %504 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.3, i32 noundef %501, i32 noundef %502)
          to label %505 unwind label %480

505:                                              ; preds = %503
  store i1 false, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

506:                                              ; preds = %497
  %507 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %508 unwind label %480

508:                                              ; preds = %506
  %509 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.164)
          to label %510 unwind label %480

510:                                              ; preds = %508
  %511 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.165)
          to label %512 unwind label %480

512:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %15, ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %513 unwind label %519

513:                                              ; preds = %512
  %514 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %15)
          to label %515 unwind label %523

515:                                              ; preds = %513
  br i1 %514, label %527, label %516

516:                                              ; preds = %515
  %517 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %518 unwind label %523

518:                                              ; preds = %516
  store i1 %517, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %538

519:                                              ; preds = %512
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %4, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %5, align 4
  br label %553

523:                                              ; preds = %535, %533, %530, %527, %516, %513
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %4, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #8
  br label %553

527:                                              ; preds = %515
  %528 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %15, ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %529 unwind label %523

529:                                              ; preds = %527
  br i1 %528, label %530, label %533

530:                                              ; preds = %529
  %531 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %532 unwind label %523

532:                                              ; preds = %530
  store i1 %531, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %538

533:                                              ; preds = %529
  %534 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %535 unwind label %523

535:                                              ; preds = %533
  %536 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.166)
          to label %537 unwind label %523

537:                                              ; preds = %535
  store i32 0, ptr %6, align 4
  br label %538

538:                                              ; preds = %537, %532, %518
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  %539 = load i32, ptr %6, align 4
  switch i32 %539, label %1493 [
    i32 0, label %540
  ]

540:                                              ; preds = %538
  %541 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %542 unwind label %480

542:                                              ; preds = %540
  %543 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.167)
          to label %544 unwind label %480

544:                                              ; preds = %542
  %545 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.168)
          to label %546 unwind label %480

546:                                              ; preds = %544
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %16, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %547 unwind label %554

547:                                              ; preds = %546
  %548 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %16)
          to label %549 unwind label %558

549:                                              ; preds = %547
  br i1 %548, label %562, label %550

550:                                              ; preds = %549
  %551 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %552 unwind label %558

552:                                              ; preds = %550
  store i1 %551, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %571

553:                                              ; preds = %523, %519
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  br label %1494

554:                                              ; preds = %546
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %4, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %5, align 4
  br label %584

558:                                              ; preds = %568, %565, %562, %550, %547
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %4, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %16) #8
  br label %584

562:                                              ; preds = %549
  %563 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %16, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %564 unwind label %558

564:                                              ; preds = %562
  br i1 %563, label %565, label %568

565:                                              ; preds = %564
  %566 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %567 unwind label %558

567:                                              ; preds = %565
  store i1 %566, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %571

568:                                              ; preds = %564
  %569 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %570 unwind label %558

570:                                              ; preds = %568
  store i32 0, ptr %6, align 4
  br label %571

571:                                              ; preds = %570, %567, %552
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  %572 = load i32, ptr %6, align 4
  switch i32 %572, label %1493 [
    i32 0, label %573
  ]

573:                                              ; preds = %571
  %574 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.169)
          to label %575 unwind label %480

575:                                              ; preds = %573
  %576 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.170)
          to label %577 unwind label %480

577:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %17, ptr noundef @_ZL14vorbiscomment_)
          to label %578 unwind label %585

578:                                              ; preds = %577
  %579 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %17)
          to label %580 unwind label %589

580:                                              ; preds = %578
  br i1 %579, label %593, label %581

581:                                              ; preds = %580
  %582 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %583 unwind label %589

583:                                              ; preds = %581
  store i1 %582, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %602

584:                                              ; preds = %558, %554
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  br label %1494

585:                                              ; preds = %577
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %4, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %5, align 4
  br label %615

589:                                              ; preds = %599, %596, %593, %581, %578
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %4, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %17) #8
  br label %615

593:                                              ; preds = %580
  %594 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %17, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %595 unwind label %589

595:                                              ; preds = %593
  br i1 %594, label %596, label %599

596:                                              ; preds = %595
  %597 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %598 unwind label %589

598:                                              ; preds = %596
  store i1 %597, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %602

599:                                              ; preds = %595
  %600 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %601 unwind label %589

601:                                              ; preds = %599
  store i32 0, ptr %6, align 4
  br label %602

602:                                              ; preds = %601, %598, %583
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  %603 = load i32, ptr %6, align 4
  switch i32 %603, label %1493 [
    i32 0, label %604
  ]

604:                                              ; preds = %602
  %605 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.171)
          to label %606 unwind label %480

606:                                              ; preds = %604
  %607 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.170)
          to label %608 unwind label %480

608:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %18, ptr noundef @_ZL14vorbiscomment_, i1 noundef zeroext true)
          to label %609 unwind label %616

609:                                              ; preds = %608
  %610 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %18)
          to label %611 unwind label %620

611:                                              ; preds = %609
  br i1 %610, label %624, label %612

612:                                              ; preds = %611
  %613 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %614 unwind label %620

614:                                              ; preds = %612
  store i1 %613, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %633

615:                                              ; preds = %589, %585
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %1494

616:                                              ; preds = %608
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %4, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %5, align 4
  br label %649

620:                                              ; preds = %630, %627, %624, %612, %609
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %4, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %18) #8
  br label %649

624:                                              ; preds = %611
  %625 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %18, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %626 unwind label %620

626:                                              ; preds = %624
  br i1 %625, label %627, label %630

627:                                              ; preds = %626
  %628 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %629 unwind label %620

629:                                              ; preds = %627
  store i1 %628, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %633

630:                                              ; preds = %626
  %631 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %632 unwind label %620

632:                                              ; preds = %630
  store i32 0, ptr %6, align 4
  br label %633

633:                                              ; preds = %632, %629, %614
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  %634 = load i32, ptr %6, align 4
  switch i32 %634, label %1493 [
    i32 0, label %635
  ]

635:                                              ; preds = %633
  %636 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.172)
          to label %637 unwind label %480

637:                                              ; preds = %635
  %638 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.170)
          to label %639 unwind label %480

639:                                              ; preds = %637
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %640 = invoke ptr @FLAC__metadata_object_clone(ptr noundef @_ZL14vorbiscomment_)
          to label %641 unwind label %650

641:                                              ; preds = %639
  store ptr %640, ptr %19, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #8
  %642 = load ptr, ptr %19, align 8, !tbaa !13
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %20, ptr noundef %642, i1 noundef zeroext false)
          to label %643 unwind label %654

643:                                              ; preds = %641
  %644 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %20)
          to label %645 unwind label %658

645:                                              ; preds = %643
  br i1 %644, label %662, label %646

646:                                              ; preds = %645
  %647 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %648 unwind label %658

648:                                              ; preds = %646
  store i1 %647, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %671

649:                                              ; preds = %620, %616
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  br label %1494

650:                                              ; preds = %639
  %651 = landingpad { ptr, i32 }
          cleanup
  %652 = extractvalue { ptr, i32 } %651, 0
  store ptr %652, ptr %4, align 8
  %653 = extractvalue { ptr, i32 } %651, 1
  store i32 %653, ptr %5, align 4
  br label %687

654:                                              ; preds = %641
  %655 = landingpad { ptr, i32 }
          cleanup
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %4, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %5, align 4
  br label %686

658:                                              ; preds = %668, %665, %662, %646, %643
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %4, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %20) #8
  br label %686

662:                                              ; preds = %645
  %663 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %20, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %664 unwind label %658

664:                                              ; preds = %662
  br i1 %663, label %665, label %668

665:                                              ; preds = %664
  %666 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %667 unwind label %658

667:                                              ; preds = %665
  store i1 %666, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %671

668:                                              ; preds = %664
  %669 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %670 unwind label %658

670:                                              ; preds = %668
  store i32 0, ptr %6, align 4
  br label %671

671:                                              ; preds = %670, %667, %648
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  %672 = load i32, ptr %6, align 4
  switch i32 %672, label %1493 [
    i32 0, label %673
  ]

673:                                              ; preds = %671
  %674 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.173)
          to label %675 unwind label %480

675:                                              ; preds = %673
  %676 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.170)
          to label %677 unwind label %480

677:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %21)
          to label %678 unwind label %688

678:                                              ; preds = %677
  %679 = invoke noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %21, ptr noundef @_ZL14vorbiscomment_, i1 noundef zeroext true)
          to label %680 unwind label %692

680:                                              ; preds = %678
  %681 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %21)
          to label %682 unwind label %692

682:                                              ; preds = %680
  br i1 %681, label %696, label %683

683:                                              ; preds = %682
  %684 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %685 unwind label %692

685:                                              ; preds = %683
  store i1 %684, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %705

686:                                              ; preds = %658, %654
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #8
  br label %687

687:                                              ; preds = %686, %650
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  br label %1494

688:                                              ; preds = %677
  %689 = landingpad { ptr, i32 }
          cleanup
  %690 = extractvalue { ptr, i32 } %689, 0
  store ptr %690, ptr %4, align 8
  %691 = extractvalue { ptr, i32 } %689, 1
  store i32 %691, ptr %5, align 4
  br label %723

692:                                              ; preds = %702, %699, %696, %683, %680, %678
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %4, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %21) #8
  br label %723

696:                                              ; preds = %682
  %697 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %21, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %698 unwind label %692

698:                                              ; preds = %696
  br i1 %697, label %699, label %702

699:                                              ; preds = %698
  %700 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %701 unwind label %692

701:                                              ; preds = %699
  store i1 %700, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %705

702:                                              ; preds = %698
  %703 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %704 unwind label %692

704:                                              ; preds = %702
  store i32 0, ptr %6, align 4
  br label %705

705:                                              ; preds = %704, %701, %685
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  %706 = load i32, ptr %6, align 4
  switch i32 %706, label %1493 [
    i32 0, label %707
  ]

707:                                              ; preds = %705
  %708 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.174)
          to label %709 unwind label %480

709:                                              ; preds = %707
  %710 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.170)
          to label %711 unwind label %480

711:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %712 = invoke ptr @FLAC__metadata_object_clone(ptr noundef @_ZL14vorbiscomment_)
          to label %713 unwind label %724

713:                                              ; preds = %711
  store ptr %712, ptr %22, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %23)
          to label %714 unwind label %728

714:                                              ; preds = %713
  %715 = load ptr, ptr %22, align 8, !tbaa !13
  %716 = invoke noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %23, ptr noundef %715, i1 noundef zeroext false)
          to label %717 unwind label %732

717:                                              ; preds = %714
  %718 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %23)
          to label %719 unwind label %732

719:                                              ; preds = %717
  br i1 %718, label %736, label %720

720:                                              ; preds = %719
  %721 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %722 unwind label %732

722:                                              ; preds = %720
  store i1 %721, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %745

723:                                              ; preds = %692, %688
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  br label %1494

724:                                              ; preds = %711
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %4, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %5, align 4
  br label %759

728:                                              ; preds = %713
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %4, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %5, align 4
  br label %758

732:                                              ; preds = %742, %739, %736, %720, %717, %714
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %4, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %23) #8
  br label %758

736:                                              ; preds = %719
  %737 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %23, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %738 unwind label %732

738:                                              ; preds = %736
  br i1 %737, label %739, label %742

739:                                              ; preds = %738
  %740 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %741 unwind label %732

741:                                              ; preds = %739
  store i1 %740, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %745

742:                                              ; preds = %738
  %743 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %744 unwind label %732

744:                                              ; preds = %742
  store i32 0, ptr %6, align 4
  br label %745

745:                                              ; preds = %744, %741, %722
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  %746 = load i32, ptr %6, align 4
  switch i32 %746, label %1493 [
    i32 0, label %747
  ]

747:                                              ; preds = %745
  %748 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.175)
          to label %749 unwind label %480

749:                                              ; preds = %747
  %750 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.176)
          to label %751 unwind label %480

751:                                              ; preds = %749
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %24, ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %752 unwind label %760

752:                                              ; preds = %751
  %753 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %24)
          to label %754 unwind label %764

754:                                              ; preds = %752
  br i1 %753, label %768, label %755

755:                                              ; preds = %754
  %756 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %757 unwind label %764

757:                                              ; preds = %755
  store i1 %756, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %777

758:                                              ; preds = %732, %728
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %759

759:                                              ; preds = %758, %724
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %1494

760:                                              ; preds = %751
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %4, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %5, align 4
  br label %790

764:                                              ; preds = %774, %771, %768, %755, %752
  %765 = landingpad { ptr, i32 }
          cleanup
  %766 = extractvalue { ptr, i32 } %765, 0
  store ptr %766, ptr %4, align 8
  %767 = extractvalue { ptr, i32 } %765, 1
  store i32 %767, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %24) #8
  br label %790

768:                                              ; preds = %754
  %769 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %24, ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %770 unwind label %764

770:                                              ; preds = %768
  br i1 %769, label %774, label %771

771:                                              ; preds = %770
  %772 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %773 unwind label %764

773:                                              ; preds = %771
  store i1 %772, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %777

774:                                              ; preds = %770
  %775 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %776 unwind label %764

776:                                              ; preds = %774
  store i32 0, ptr %6, align 4
  br label %777

777:                                              ; preds = %776, %773, %757
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #8
  %778 = load i32, ptr %6, align 4
  switch i32 %778, label %1493 [
    i32 0, label %779
  ]

779:                                              ; preds = %777
  %780 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.177)
          to label %781 unwind label %480

781:                                              ; preds = %779
  %782 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.178)
          to label %783 unwind label %480

783:                                              ; preds = %781
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %25, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %784 unwind label %791

784:                                              ; preds = %783
  %785 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %25)
          to label %786 unwind label %795

786:                                              ; preds = %784
  br i1 %785, label %799, label %787

787:                                              ; preds = %786
  %788 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %789 unwind label %795

789:                                              ; preds = %787
  store i1 %788, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %808

790:                                              ; preds = %764, %760
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #8
  br label %1494

791:                                              ; preds = %783
  %792 = landingpad { ptr, i32 }
          cleanup
  %793 = extractvalue { ptr, i32 } %792, 0
  store ptr %793, ptr %4, align 8
  %794 = extractvalue { ptr, i32 } %792, 1
  store i32 %794, ptr %5, align 4
  br label %821

795:                                              ; preds = %805, %802, %799, %787, %784
  %796 = landingpad { ptr, i32 }
          cleanup
  %797 = extractvalue { ptr, i32 } %796, 0
  store ptr %797, ptr %4, align 8
  %798 = extractvalue { ptr, i32 } %796, 1
  store i32 %798, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %25) #8
  br label %821

799:                                              ; preds = %786
  %800 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %25, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %801 unwind label %795

801:                                              ; preds = %799
  br i1 %800, label %805, label %802

802:                                              ; preds = %801
  %803 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %804 unwind label %795

804:                                              ; preds = %802
  store i1 %803, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %808

805:                                              ; preds = %801
  %806 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %807 unwind label %795

807:                                              ; preds = %805
  store i32 0, ptr %6, align 4
  br label %808

808:                                              ; preds = %807, %804, %789
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %25) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  %809 = load i32, ptr %6, align 4
  switch i32 %809, label %1493 [
    i32 0, label %810
  ]

810:                                              ; preds = %808
  %811 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.179)
          to label %812 unwind label %480

812:                                              ; preds = %810
  %813 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.180)
          to label %814 unwind label %480

814:                                              ; preds = %812
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #8
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %26, ptr noundef @_ZL14vorbiscomment_)
          to label %815 unwind label %822

815:                                              ; preds = %814
  %816 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %26)
          to label %817 unwind label %826

817:                                              ; preds = %815
  br i1 %816, label %830, label %818

818:                                              ; preds = %817
  %819 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.7)
          to label %820 unwind label %826

820:                                              ; preds = %818
  store i1 %819, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %839

821:                                              ; preds = %795, %791
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #8
  br label %1494

822:                                              ; preds = %814
  %823 = landingpad { ptr, i32 }
          cleanup
  %824 = extractvalue { ptr, i32 } %823, 0
  store ptr %824, ptr %4, align 8
  %825 = extractvalue { ptr, i32 } %823, 1
  store i32 %825, ptr %5, align 4
  br label %850

826:                                              ; preds = %836, %833, %830, %818, %815
  %827 = landingpad { ptr, i32 }
          cleanup
  %828 = extractvalue { ptr, i32 } %827, 0
  store ptr %828, ptr %4, align 8
  %829 = extractvalue { ptr, i32 } %827, 1
  store i32 %829, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %26) #8
  br label %850

830:                                              ; preds = %817
  %831 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %26, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %832 unwind label %826

832:                                              ; preds = %830
  br i1 %831, label %836, label %833

833:                                              ; preds = %832
  %834 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.8)
          to label %835 unwind label %826

835:                                              ; preds = %833
  store i1 %834, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %839

836:                                              ; preds = %832
  %837 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %838 unwind label %826

838:                                              ; preds = %836
  store i32 0, ptr %6, align 4
  br label %839

839:                                              ; preds = %838, %835, %820
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  %840 = load i32, ptr %6, align 4
  switch i32 %840, label %1493 [
    i32 0, label %841
  ]

841:                                              ; preds = %839
  %842 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.181)
          to label %843 unwind label %480

843:                                              ; preds = %841
  %844 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %845 unwind label %480

845:                                              ; preds = %843
  %846 = icmp ne i32 %844, 0
  br i1 %846, label %847, label %851

847:                                              ; preds = %845
  %848 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.182)
          to label %849 unwind label %480

849:                                              ; preds = %847
  store i1 %848, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

850:                                              ; preds = %826, %822
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #8
  br label %1494

851:                                              ; preds = %845
  %852 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %853 unwind label %480

853:                                              ; preds = %851
  %854 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.183)
          to label %855 unwind label %480

855:                                              ; preds = %853
  %856 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment17set_vendor_stringEPKh(ptr noundef nonnull align 8 dereferenceable(17) %14, ptr noundef @.str.184)
          to label %857 unwind label %480

857:                                              ; preds = %855
  br i1 %856, label %861, label %858

858:                                              ; preds = %857
  %859 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %860 unwind label %480

860:                                              ; preds = %858
  store i1 %859, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

861:                                              ; preds = %857
  %862 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %863 unwind label %480

863:                                              ; preds = %861
  %864 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 1), align 8, !tbaa !14
  %865 = getelementptr inbounds i8, ptr %864, i64 0
  store i8 109, ptr %865, align 1, !tbaa !14
  %866 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.185)
          to label %867 unwind label %480

867:                                              ; preds = %863
  %868 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %869 unwind label %480

869:                                              ; preds = %867
  %870 = call i64 @strlen(ptr noundef %868) #5
  %871 = load i32, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), align 8, !tbaa !14
  %872 = zext i32 %871 to i64
  %873 = icmp ne i64 %870, %872
  br i1 %873, label %874, label %877

874:                                              ; preds = %869
  %875 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %876 unwind label %480

876:                                              ; preds = %874
  store i1 %875, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

877:                                              ; preds = %869
  %878 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %879 unwind label %480

879:                                              ; preds = %877
  %880 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 1), align 8, !tbaa !14
  %881 = load i32, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), align 8, !tbaa !14
  %882 = zext i32 %881 to i64
  %883 = call i32 @memcmp(ptr noundef %878, ptr noundef %880, i64 noundef %882) #5
  %884 = icmp ne i32 0, %883
  br i1 %884, label %885, label %888

885:                                              ; preds = %879
  %886 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %887 unwind label %480

887:                                              ; preds = %885
  store i1 %886, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

888:                                              ; preds = %879
  %889 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %890 unwind label %480

890:                                              ; preds = %888
  %891 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.187)
          to label %892 unwind label %480

892:                                              ; preds = %890
  %893 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %894 unwind label %480

894:                                              ; preds = %892
  %895 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, ptr noundef nonnull align 8 dereferenceable(60) %9)
          to label %896 unwind label %480

896:                                              ; preds = %894
  br i1 %895, label %900, label %897

897:                                              ; preds = %896
  %898 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %899 unwind label %480

899:                                              ; preds = %897
  store i1 %898, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

900:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 64, ptr %27) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %27, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %901 unwind label %912

901:                                              ; preds = %900
  %902 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %27)
          to label %903 unwind label %916

903:                                              ; preds = %901
  %904 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %905 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %904, i64 1
  %906 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %905, i32 0, i32 0
  %907 = load i32, ptr %906, align 8, !tbaa !5
  %908 = icmp ne i32 %902, %907
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %27) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %27) #8
  br i1 %908, label %909, label %921

909:                                              ; preds = %903
  %910 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %911 unwind label %480

911:                                              ; preds = %909
  store i1 %910, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

912:                                              ; preds = %900
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %4, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %5, align 4
  br label %920

916:                                              ; preds = %901
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %4, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %27) #8
  br label %920

920:                                              ; preds = %916, %912
  call void @llvm.lifetime.end.p0(i64 64, ptr %27) #8
  br label %1494

921:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 64, ptr %28) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %28, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %922 unwind label %939

922:                                              ; preds = %921
  %923 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %28)
          to label %924 unwind label %943

924:                                              ; preds = %922
  %925 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %926 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %925, i64 1
  %927 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %926, i32 0, i32 1
  %928 = load ptr, ptr %927, align 8, !tbaa !11
  %929 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %930 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %929, i64 1
  %931 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %930, i32 0, i32 0
  %932 = load i32, ptr %931, align 8, !tbaa !5
  %933 = zext i32 %932 to i64
  %934 = call i32 @memcmp(ptr noundef %923, ptr noundef %928, i64 noundef %933) #5
  %935 = icmp ne i32 0, %934
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %28) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %28) #8
  br i1 %935, label %936, label %948

936:                                              ; preds = %924
  %937 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %938 unwind label %480

938:                                              ; preds = %936
  store i1 %937, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

939:                                              ; preds = %921
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %4, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %5, align 4
  br label %947

943:                                              ; preds = %922
  %944 = landingpad { ptr, i32 }
          cleanup
  %945 = extractvalue { ptr, i32 } %944, 0
  store ptr %945, ptr %4, align 8
  %946 = extractvalue { ptr, i32 } %944, 1
  store i32 %946, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %28) #8
  br label %947

947:                                              ; preds = %943, %939
  call void @llvm.lifetime.end.p0(i64 64, ptr %28) #8
  br label %1494

948:                                              ; preds = %924
  %949 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %950 unwind label %480

950:                                              ; preds = %948
  %951 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.187)
          to label %952 unwind label %480

952:                                              ; preds = %950
  %953 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %954 unwind label %480

954:                                              ; preds = %952
  %955 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %956 unwind label %480

956:                                              ; preds = %954
  br i1 %955, label %960, label %957

957:                                              ; preds = %956
  %958 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %959 unwind label %480

959:                                              ; preds = %957
  store i1 %958, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

960:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 64, ptr %29) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %29, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %961 unwind label %972

961:                                              ; preds = %960
  %962 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %29)
          to label %963 unwind label %976

963:                                              ; preds = %961
  %964 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %965 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %964, i64 0
  %966 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %965, i32 0, i32 0
  %967 = load i32, ptr %966, align 8, !tbaa !5
  %968 = icmp ne i32 %962, %967
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %29) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %29) #8
  br i1 %968, label %969, label %981

969:                                              ; preds = %963
  %970 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %971 unwind label %480

971:                                              ; preds = %969
  store i1 %970, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

972:                                              ; preds = %960
  %973 = landingpad { ptr, i32 }
          cleanup
  %974 = extractvalue { ptr, i32 } %973, 0
  store ptr %974, ptr %4, align 8
  %975 = extractvalue { ptr, i32 } %973, 1
  store i32 %975, ptr %5, align 4
  br label %980

976:                                              ; preds = %961
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %4, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %29) #8
  br label %980

980:                                              ; preds = %976, %972
  call void @llvm.lifetime.end.p0(i64 64, ptr %29) #8
  br label %1494

981:                                              ; preds = %963
  call void @llvm.lifetime.start.p0(i64 64, ptr %30) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %30, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %982 unwind label %999

982:                                              ; preds = %981
  %983 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %30)
          to label %984 unwind label %1003

984:                                              ; preds = %982
  %985 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %986 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %985, i64 0
  %987 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %986, i32 0, i32 1
  %988 = load ptr, ptr %987, align 8, !tbaa !11
  %989 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %990 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %989, i64 0
  %991 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %990, i32 0, i32 0
  %992 = load i32, ptr %991, align 8, !tbaa !5
  %993 = zext i32 %992 to i64
  %994 = call i32 @memcmp(ptr noundef %983, ptr noundef %988, i64 noundef %993) #5
  %995 = icmp ne i32 0, %994
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %30) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %30) #8
  br i1 %995, label %996, label %1008

996:                                              ; preds = %984
  %997 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %998 unwind label %480

998:                                              ; preds = %996
  store i1 %997, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

999:                                              ; preds = %981
  %1000 = landingpad { ptr, i32 }
          cleanup
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %4, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %5, align 4
  br label %1007

1003:                                             ; preds = %982
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %4, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %30) #8
  br label %1007

1007:                                             ; preds = %1003, %999
  call void @llvm.lifetime.end.p0(i64 64, ptr %30) #8
  br label %1494

1008:                                             ; preds = %984
  %1009 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1010 unwind label %480

1010:                                             ; preds = %1008
  %1011 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.189)
          to label %1012 unwind label %480

1012:                                             ; preds = %1010
  %1013 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1014 unwind label %480

1014:                                             ; preds = %1012
  %1015 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1016 unwind label %480

1016:                                             ; preds = %1014
  br i1 %1015, label %1020, label %1017

1017:                                             ; preds = %1016
  %1018 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1019 unwind label %480

1019:                                             ; preds = %1017
  store i1 %1018, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1020:                                             ; preds = %1016
  call void @llvm.lifetime.start.p0(i64 64, ptr %31) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %31, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1021 unwind label %1032

1021:                                             ; preds = %1020
  %1022 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %31)
          to label %1023 unwind label %1036

1023:                                             ; preds = %1021
  %1024 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1025 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1024, i64 0
  %1026 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1025, i32 0, i32 0
  %1027 = load i32, ptr %1026, align 8, !tbaa !5
  %1028 = icmp ne i32 %1022, %1027
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %31) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %31) #8
  br i1 %1028, label %1029, label %1041

1029:                                             ; preds = %1023
  %1030 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.190)
          to label %1031 unwind label %480

1031:                                             ; preds = %1029
  store i1 %1030, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1032:                                             ; preds = %1020
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %4, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %5, align 4
  br label %1040

1036:                                             ; preds = %1021
  %1037 = landingpad { ptr, i32 }
          cleanup
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %4, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %31) #8
  br label %1040

1040:                                             ; preds = %1036, %1032
  call void @llvm.lifetime.end.p0(i64 64, ptr %31) #8
  br label %1494

1041:                                             ; preds = %1023
  call void @llvm.lifetime.start.p0(i64 64, ptr %32) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %32, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1042 unwind label %1059

1042:                                             ; preds = %1041
  %1043 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %32)
          to label %1044 unwind label %1063

1044:                                             ; preds = %1042
  %1045 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1046 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1045, i64 0
  %1047 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1046, i32 0, i32 1
  %1048 = load ptr, ptr %1047, align 8, !tbaa !11
  %1049 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1050 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1049, i64 0
  %1051 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1050, i32 0, i32 0
  %1052 = load i32, ptr %1051, align 8, !tbaa !5
  %1053 = zext i32 %1052 to i64
  %1054 = call i32 @memcmp(ptr noundef %1043, ptr noundef %1048, i64 noundef %1053) #5
  %1055 = icmp ne i32 0, %1054
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %32) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %32) #8
  br i1 %1055, label %1056, label %1068

1056:                                             ; preds = %1044
  %1057 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.191)
          to label %1058 unwind label %480

1058:                                             ; preds = %1056
  store i1 %1057, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1059:                                             ; preds = %1041
  %1060 = landingpad { ptr, i32 }
          cleanup
  %1061 = extractvalue { ptr, i32 } %1060, 0
  store ptr %1061, ptr %4, align 8
  %1062 = extractvalue { ptr, i32 } %1060, 1
  store i32 %1062, ptr %5, align 4
  br label %1067

1063:                                             ; preds = %1042
  %1064 = landingpad { ptr, i32 }
          cleanup
  %1065 = extractvalue { ptr, i32 } %1064, 0
  store ptr %1065, ptr %4, align 8
  %1066 = extractvalue { ptr, i32 } %1064, 1
  store i32 %1066, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %32) #8
  br label %1067

1067:                                             ; preds = %1063, %1059
  call void @llvm.lifetime.end.p0(i64 64, ptr %32) #8
  br label %1494

1068:                                             ; preds = %1044
  %1069 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1070 unwind label %480

1070:                                             ; preds = %1068
  %1071 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.189)
          to label %1072 unwind label %480

1072:                                             ; preds = %1070
  %1073 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1074 unwind label %480

1074:                                             ; preds = %1072
  %1075 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1076 unwind label %480

1076:                                             ; preds = %1074
  br i1 %1075, label %1080, label %1077

1077:                                             ; preds = %1076
  %1078 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1079 unwind label %480

1079:                                             ; preds = %1077
  store i1 %1078, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1080:                                             ; preds = %1076
  %1081 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %1082 unwind label %480

1082:                                             ; preds = %1080
  %1083 = icmp ne i32 %1081, 0
  br i1 %1083, label %1084, label %1087

1084:                                             ; preds = %1082
  %1085 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.192)
          to label %1086 unwind label %480

1086:                                             ; preds = %1084
  store i1 %1085, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1087:                                             ; preds = %1082
  %1088 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1089 unwind label %480

1089:                                             ; preds = %1087
  %1090 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.193)
          to label %1091 unwind label %480

1091:                                             ; preds = %1089
  %1092 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1093 unwind label %480

1093:                                             ; preds = %1091
  %1094 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %9)
          to label %1095 unwind label %480

1095:                                             ; preds = %1093
  br i1 %1094, label %1099, label %1096

1096:                                             ; preds = %1095
  %1097 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1098 unwind label %480

1098:                                             ; preds = %1096
  store i1 %1097, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1099:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 64, ptr %33) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %33, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1100 unwind label %1111

1100:                                             ; preds = %1099
  %1101 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %33)
          to label %1102 unwind label %1115

1102:                                             ; preds = %1100
  %1103 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1104 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1103, i64 1
  %1105 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1104, i32 0, i32 0
  %1106 = load i32, ptr %1105, align 8, !tbaa !5
  %1107 = icmp ne i32 %1101, %1106
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %33) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %33) #8
  br i1 %1107, label %1108, label %1120

1108:                                             ; preds = %1102
  %1109 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %1110 unwind label %480

1110:                                             ; preds = %1108
  store i1 %1109, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1111:                                             ; preds = %1099
  %1112 = landingpad { ptr, i32 }
          cleanup
  %1113 = extractvalue { ptr, i32 } %1112, 0
  store ptr %1113, ptr %4, align 8
  %1114 = extractvalue { ptr, i32 } %1112, 1
  store i32 %1114, ptr %5, align 4
  br label %1119

1115:                                             ; preds = %1100
  %1116 = landingpad { ptr, i32 }
          cleanup
  %1117 = extractvalue { ptr, i32 } %1116, 0
  store ptr %1117, ptr %4, align 8
  %1118 = extractvalue { ptr, i32 } %1116, 1
  store i32 %1118, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %33) #8
  br label %1119

1119:                                             ; preds = %1115, %1111
  call void @llvm.lifetime.end.p0(i64 64, ptr %33) #8
  br label %1494

1120:                                             ; preds = %1102
  call void @llvm.lifetime.start.p0(i64 64, ptr %34) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %34, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1121 unwind label %1138

1121:                                             ; preds = %1120
  %1122 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %34)
          to label %1123 unwind label %1142

1123:                                             ; preds = %1121
  %1124 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1125 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1124, i64 1
  %1126 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1125, i32 0, i32 1
  %1127 = load ptr, ptr %1126, align 8, !tbaa !11
  %1128 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1129 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1128, i64 1
  %1130 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1129, i32 0, i32 0
  %1131 = load i32, ptr %1130, align 8, !tbaa !5
  %1132 = zext i32 %1131 to i64
  %1133 = call i32 @memcmp(ptr noundef %1122, ptr noundef %1127, i64 noundef %1132) #5
  %1134 = icmp ne i32 0, %1133
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %34) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %34) #8
  br i1 %1134, label %1135, label %1147

1135:                                             ; preds = %1123
  %1136 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %1137 unwind label %480

1137:                                             ; preds = %1135
  store i1 %1136, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1138:                                             ; preds = %1120
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %4, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %5, align 4
  br label %1146

1142:                                             ; preds = %1121
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %4, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %34) #8
  br label %1146

1146:                                             ; preds = %1142, %1138
  call void @llvm.lifetime.end.p0(i64 64, ptr %34) #8
  br label %1494

1147:                                             ; preds = %1123
  %1148 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1149 unwind label %480

1149:                                             ; preds = %1147
  %1150 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.193)
          to label %1151 unwind label %480

1151:                                             ; preds = %1149
  %1152 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1153 unwind label %480

1153:                                             ; preds = %1151
  %1154 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %9)
          to label %1155 unwind label %480

1155:                                             ; preds = %1153
  br i1 %1154, label %1159, label %1156

1156:                                             ; preds = %1155
  %1157 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1158 unwind label %480

1158:                                             ; preds = %1156
  store i1 %1157, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1159:                                             ; preds = %1155
  call void @llvm.lifetime.start.p0(i64 64, ptr %35) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %35, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1160 unwind label %1171

1160:                                             ; preds = %1159
  %1161 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %35)
          to label %1162 unwind label %1175

1162:                                             ; preds = %1160
  %1163 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1164 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1163, i64 1
  %1165 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1164, i32 0, i32 0
  %1166 = load i32, ptr %1165, align 8, !tbaa !5
  %1167 = icmp ne i32 %1161, %1166
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %35) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %35) #8
  br i1 %1167, label %1168, label %1180

1168:                                             ; preds = %1162
  %1169 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %1170 unwind label %480

1170:                                             ; preds = %1168
  store i1 %1169, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1171:                                             ; preds = %1159
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %4, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %5, align 4
  br label %1179

1175:                                             ; preds = %1160
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %4, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %35) #8
  br label %1179

1179:                                             ; preds = %1175, %1171
  call void @llvm.lifetime.end.p0(i64 64, ptr %35) #8
  br label %1494

1180:                                             ; preds = %1162
  call void @llvm.lifetime.start.p0(i64 64, ptr %36) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %36, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1181 unwind label %1198

1181:                                             ; preds = %1180
  %1182 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %36)
          to label %1183 unwind label %1202

1183:                                             ; preds = %1181
  %1184 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1185 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1184, i64 1
  %1186 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1185, i32 0, i32 1
  %1187 = load ptr, ptr %1186, align 8, !tbaa !11
  %1188 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1189 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1188, i64 1
  %1190 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1189, i32 0, i32 0
  %1191 = load i32, ptr %1190, align 8, !tbaa !5
  %1192 = zext i32 %1191 to i64
  %1193 = call i32 @memcmp(ptr noundef %1182, ptr noundef %1187, i64 noundef %1192) #5
  %1194 = icmp ne i32 0, %1193
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %36) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %36) #8
  br i1 %1194, label %1195, label %1207

1195:                                             ; preds = %1183
  %1196 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %1197 unwind label %480

1197:                                             ; preds = %1195
  store i1 %1196, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1198:                                             ; preds = %1180
  %1199 = landingpad { ptr, i32 }
          cleanup
  %1200 = extractvalue { ptr, i32 } %1199, 0
  store ptr %1200, ptr %4, align 8
  %1201 = extractvalue { ptr, i32 } %1199, 1
  store i32 %1201, ptr %5, align 4
  br label %1206

1202:                                             ; preds = %1181
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %4, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %36) #8
  br label %1206

1206:                                             ; preds = %1202, %1198
  call void @llvm.lifetime.end.p0(i64 64, ptr %36) #8
  br label %1494

1207:                                             ; preds = %1183
  %1208 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1209 unwind label %480

1209:                                             ; preds = %1207
  %1210 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.193)
          to label %1211 unwind label %480

1211:                                             ; preds = %1209
  %1212 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1213 unwind label %480

1213:                                             ; preds = %1211
  %1214 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %1215 unwind label %480

1215:                                             ; preds = %1213
  br i1 %1214, label %1219, label %1216

1216:                                             ; preds = %1215
  %1217 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1218 unwind label %480

1218:                                             ; preds = %1216
  store i1 %1217, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1219:                                             ; preds = %1215
  call void @llvm.lifetime.start.p0(i64 64, ptr %37) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %37, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %1220 unwind label %1231

1220:                                             ; preds = %1219
  %1221 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %37)
          to label %1222 unwind label %1235

1222:                                             ; preds = %1220
  %1223 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1224 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1223, i64 0
  %1225 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1224, i32 0, i32 0
  %1226 = load i32, ptr %1225, align 8, !tbaa !5
  %1227 = icmp ne i32 %1221, %1226
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %37) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %37) #8
  br i1 %1227, label %1228, label %1240

1228:                                             ; preds = %1222
  %1229 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %1230 unwind label %480

1230:                                             ; preds = %1228
  store i1 %1229, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1231:                                             ; preds = %1219
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %4, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %5, align 4
  br label %1239

1235:                                             ; preds = %1220
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %4, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %37) #8
  br label %1239

1239:                                             ; preds = %1235, %1231
  call void @llvm.lifetime.end.p0(i64 64, ptr %37) #8
  br label %1494

1240:                                             ; preds = %1222
  call void @llvm.lifetime.start.p0(i64 64, ptr %38) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %38, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %1241 unwind label %1258

1241:                                             ; preds = %1240
  %1242 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %38)
          to label %1243 unwind label %1262

1243:                                             ; preds = %1241
  %1244 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1245 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1244, i64 0
  %1246 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1245, i32 0, i32 1
  %1247 = load ptr, ptr %1246, align 8, !tbaa !11
  %1248 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1249 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1248, i64 0
  %1250 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1249, i32 0, i32 0
  %1251 = load i32, ptr %1250, align 8, !tbaa !5
  %1252 = zext i32 %1251 to i64
  %1253 = call i32 @memcmp(ptr noundef %1242, ptr noundef %1247, i64 noundef %1252) #5
  %1254 = icmp ne i32 0, %1253
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %38) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %38) #8
  br i1 %1254, label %1255, label %1267

1255:                                             ; preds = %1243
  %1256 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %1257 unwind label %480

1257:                                             ; preds = %1255
  store i1 %1256, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1258:                                             ; preds = %1240
  %1259 = landingpad { ptr, i32 }
          cleanup
  %1260 = extractvalue { ptr, i32 } %1259, 0
  store ptr %1260, ptr %4, align 8
  %1261 = extractvalue { ptr, i32 } %1259, 1
  store i32 %1261, ptr %5, align 4
  br label %1266

1262:                                             ; preds = %1241
  %1263 = landingpad { ptr, i32 }
          cleanup
  %1264 = extractvalue { ptr, i32 } %1263, 0
  store ptr %1264, ptr %4, align 8
  %1265 = extractvalue { ptr, i32 } %1263, 1
  store i32 %1265, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %38) #8
  br label %1266

1266:                                             ; preds = %1262, %1258
  call void @llvm.lifetime.end.p0(i64 64, ptr %38) #8
  br label %1494

1267:                                             ; preds = %1243
  %1268 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1269 unwind label %480

1269:                                             ; preds = %1267
  %1270 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.194)
          to label %1271 unwind label %480

1271:                                             ; preds = %1269
  %1272 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1273 unwind label %480

1273:                                             ; preds = %1271
  %1274 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment11set_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %1275 unwind label %480

1275:                                             ; preds = %1273
  br i1 %1274, label %1279, label %1276

1276:                                             ; preds = %1275
  %1277 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1278 unwind label %480

1278:                                             ; preds = %1276
  store i1 %1277, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1279:                                             ; preds = %1275
  call void @llvm.lifetime.start.p0(i64 64, ptr %39) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %39, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1280 unwind label %1291

1280:                                             ; preds = %1279
  %1281 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %39)
          to label %1282 unwind label %1295

1282:                                             ; preds = %1280
  %1283 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1284 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1283, i64 0
  %1285 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1284, i32 0, i32 0
  %1286 = load i32, ptr %1285, align 8, !tbaa !5
  %1287 = icmp ne i32 %1281, %1286
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %39) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %39) #8
  br i1 %1287, label %1288, label %1300

1288:                                             ; preds = %1282
  %1289 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.186)
          to label %1290 unwind label %480

1290:                                             ; preds = %1288
  store i1 %1289, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1291:                                             ; preds = %1279
  %1292 = landingpad { ptr, i32 }
          cleanup
  %1293 = extractvalue { ptr, i32 } %1292, 0
  store ptr %1293, ptr %4, align 8
  %1294 = extractvalue { ptr, i32 } %1292, 1
  store i32 %1294, ptr %5, align 4
  br label %1299

1295:                                             ; preds = %1280
  %1296 = landingpad { ptr, i32 }
          cleanup
  %1297 = extractvalue { ptr, i32 } %1296, 0
  store ptr %1297, ptr %4, align 8
  %1298 = extractvalue { ptr, i32 } %1296, 1
  store i32 %1298, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %39) #8
  br label %1299

1299:                                             ; preds = %1295, %1291
  call void @llvm.lifetime.end.p0(i64 64, ptr %39) #8
  br label %1494

1300:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 64, ptr %40) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %40, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1301 unwind label %1318

1301:                                             ; preds = %1300
  %1302 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %40)
          to label %1303 unwind label %1322

1303:                                             ; preds = %1301
  %1304 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1305 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1304, i64 0
  %1306 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1305, i32 0, i32 1
  %1307 = load ptr, ptr %1306, align 8, !tbaa !11
  %1308 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1309 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1308, i64 0
  %1310 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1309, i32 0, i32 0
  %1311 = load i32, ptr %1310, align 8, !tbaa !5
  %1312 = zext i32 %1311 to i64
  %1313 = call i32 @memcmp(ptr noundef %1302, ptr noundef %1307, i64 noundef %1312) #5
  %1314 = icmp ne i32 0, %1313
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %40) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %40) #8
  br i1 %1314, label %1315, label %1327

1315:                                             ; preds = %1303
  %1316 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.138)
          to label %1317 unwind label %480

1317:                                             ; preds = %1315
  store i1 %1316, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1318:                                             ; preds = %1300
  %1319 = landingpad { ptr, i32 }
          cleanup
  %1320 = extractvalue { ptr, i32 } %1319, 0
  store ptr %1320, ptr %4, align 8
  %1321 = extractvalue { ptr, i32 } %1319, 1
  store i32 %1321, ptr %5, align 4
  br label %1326

1322:                                             ; preds = %1301
  %1323 = landingpad { ptr, i32 }
          cleanup
  %1324 = extractvalue { ptr, i32 } %1323, 0
  store ptr %1324, ptr %4, align 8
  %1325 = extractvalue { ptr, i32 } %1323, 1
  store i32 %1325, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %40) #8
  br label %1326

1326:                                             ; preds = %1322, %1318
  call void @llvm.lifetime.end.p0(i64 64, ptr %40) #8
  br label %1494

1327:                                             ; preds = %1303
  %1328 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1329 unwind label %480

1329:                                             ; preds = %1327
  %1330 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.189)
          to label %1331 unwind label %480

1331:                                             ; preds = %1329
  %1332 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188)
          to label %1333 unwind label %480

1333:                                             ; preds = %1331
  %1334 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1335 unwind label %480

1335:                                             ; preds = %1333
  br i1 %1334, label %1339, label %1336

1336:                                             ; preds = %1335
  %1337 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.112)
          to label %1338 unwind label %480

1338:                                             ; preds = %1336
  store i1 %1337, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1339:                                             ; preds = %1335
  call void @llvm.lifetime.start.p0(i64 64, ptr %41) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %41, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1340 unwind label %1351

1340:                                             ; preds = %1339
  %1341 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %41)
          to label %1342 unwind label %1355

1342:                                             ; preds = %1340
  %1343 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1344 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1343, i64 0
  %1345 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1344, i32 0, i32 0
  %1346 = load i32, ptr %1345, align 8, !tbaa !5
  %1347 = icmp ne i32 %1341, %1346
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %41) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %41) #8
  br i1 %1347, label %1348, label %1360

1348:                                             ; preds = %1342
  %1349 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.190)
          to label %1350 unwind label %480

1350:                                             ; preds = %1348
  store i1 %1349, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1351:                                             ; preds = %1339
  %1352 = landingpad { ptr, i32 }
          cleanup
  %1353 = extractvalue { ptr, i32 } %1352, 0
  store ptr %1353, ptr %4, align 8
  %1354 = extractvalue { ptr, i32 } %1352, 1
  store i32 %1354, ptr %5, align 4
  br label %1359

1355:                                             ; preds = %1340
  %1356 = landingpad { ptr, i32 }
          cleanup
  %1357 = extractvalue { ptr, i32 } %1356, 0
  store ptr %1357, ptr %4, align 8
  %1358 = extractvalue { ptr, i32 } %1356, 1
  store i32 %1358, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %41) #8
  br label %1359

1359:                                             ; preds = %1355, %1351
  call void @llvm.lifetime.end.p0(i64 64, ptr %41) #8
  br label %1494

1360:                                             ; preds = %1342
  call void @llvm.lifetime.start.p0(i64 64, ptr %42) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %42, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 0)
          to label %1361 unwind label %1378

1361:                                             ; preds = %1360
  %1362 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %42)
          to label %1363 unwind label %1382

1363:                                             ; preds = %1361
  %1364 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1365 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1364, i64 0
  %1366 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1365, i32 0, i32 1
  %1367 = load ptr, ptr %1366, align 8, !tbaa !11
  %1368 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1369 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1368, i64 0
  %1370 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1369, i32 0, i32 0
  %1371 = load i32, ptr %1370, align 8, !tbaa !5
  %1372 = zext i32 %1371 to i64
  %1373 = call i32 @memcmp(ptr noundef %1362, ptr noundef %1367, i64 noundef %1372) #5
  %1374 = icmp ne i32 0, %1373
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %42) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %42) #8
  br i1 %1374, label %1375, label %1387

1375:                                             ; preds = %1363
  %1376 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.191)
          to label %1377 unwind label %480

1377:                                             ; preds = %1375
  store i1 %1376, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1378:                                             ; preds = %1360
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %4, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %5, align 4
  br label %1386

1382:                                             ; preds = %1361
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %4, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %42) #8
  br label %1386

1386:                                             ; preds = %1382, %1378
  call void @llvm.lifetime.end.p0(i64 64, ptr %42) #8
  br label %1494

1387:                                             ; preds = %1363
  call void @llvm.lifetime.start.p0(i64 64, ptr %43) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %43, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %1388 unwind label %1399

1388:                                             ; preds = %1387
  %1389 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %43)
          to label %1390 unwind label %1403

1390:                                             ; preds = %1388
  %1391 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1392 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1391, i64 1
  %1393 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1392, i32 0, i32 0
  %1394 = load i32, ptr %1393, align 8, !tbaa !5
  %1395 = icmp ne i32 %1389, %1394
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %43) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %43) #8
  br i1 %1395, label %1396, label %1408

1396:                                             ; preds = %1390
  %1397 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.195)
          to label %1398 unwind label %480

1398:                                             ; preds = %1396
  store i1 %1397, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1399:                                             ; preds = %1387
  %1400 = landingpad { ptr, i32 }
          cleanup
  %1401 = extractvalue { ptr, i32 } %1400, 0
  store ptr %1401, ptr %4, align 8
  %1402 = extractvalue { ptr, i32 } %1400, 1
  store i32 %1402, ptr %5, align 4
  br label %1407

1403:                                             ; preds = %1388
  %1404 = landingpad { ptr, i32 }
          cleanup
  %1405 = extractvalue { ptr, i32 } %1404, 0
  store ptr %1405, ptr %4, align 8
  %1406 = extractvalue { ptr, i32 } %1404, 1
  store i32 %1406, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %43) #8
  br label %1407

1407:                                             ; preds = %1403, %1399
  call void @llvm.lifetime.end.p0(i64 64, ptr %43) #8
  br label %1494

1408:                                             ; preds = %1390
  call void @llvm.lifetime.start.p0(i64 64, ptr %44) #8
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %44, ptr noundef nonnull align 8 dereferenceable(17) %14, i32 noundef 1)
          to label %1409 unwind label %1426

1409:                                             ; preds = %1408
  %1410 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %44)
          to label %1411 unwind label %1430

1411:                                             ; preds = %1409
  %1412 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1413 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1412, i64 1
  %1414 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1413, i32 0, i32 1
  %1415 = load ptr, ptr %1414, align 8, !tbaa !11
  %1416 = load ptr, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata_VorbisComment, ptr getelementptr inbounds (%struct.FLAC__StreamMetadata, ptr @_ZL14vorbiscomment_, i32 0, i32 3), i32 0, i32 2), align 8, !tbaa !14
  %1417 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1416, i64 1
  %1418 = getelementptr inbounds %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr %1417, i32 0, i32 0
  %1419 = load i32, ptr %1418, align 8, !tbaa !5
  %1420 = zext i32 %1419 to i64
  %1421 = call i32 @memcmp(ptr noundef %1410, ptr noundef %1415, i64 noundef %1420) #5
  %1422 = icmp ne i32 0, %1421
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %44) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %44) #8
  br i1 %1422, label %1423, label %1435

1423:                                             ; preds = %1411
  %1424 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.191)
          to label %1425 unwind label %480

1425:                                             ; preds = %1423
  store i1 %1424, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1493

1426:                                             ; preds = %1408
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %4, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %5, align 4
  br label %1434

1430:                                             ; preds = %1409
  %1431 = landingpad { ptr, i32 }
          cleanup
  %1432 = extractvalue { ptr, i32 } %1431, 0
  store ptr %1432, ptr %4, align 8
  %1433 = extractvalue { ptr, i32 } %1431, 1
  store i32 %1433, ptr %5, align 4
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %44) #8
  br label %1434

1434:                                             ; preds = %1430, %1426
  call void @llvm.lifetime.end.p0(i64 64, ptr %44) #8
  br label %1494

1435:                                             ; preds = %1411
  %1436 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1437 unwind label %480

1437:                                             ; preds = %1435
  %1438 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.43)
          to label %1439 unwind label %480

1439:                                             ; preds = %1437
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %1440 = invoke noundef ptr @_ZN4FLAC8Metadata5cloneEPKNS0_9PrototypeE(ptr noundef %14)
          to label %1441 unwind label %1447

1441:                                             ; preds = %1439
  store ptr %1440, ptr %45, align 8, !tbaa !13
  %1442 = load ptr, ptr %45, align 8, !tbaa !13
  %1443 = icmp eq ptr null, %1442
  br i1 %1443, label %1444, label %1451

1444:                                             ; preds = %1441
  %1445 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.44)
          to label %1446 unwind label %1447

1446:                                             ; preds = %1444
  store i1 %1445, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1492

1447:                                             ; preds = %1489, %1487, %1478, %1476, %1473, %1469, %1460, %1444, %1439
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %4, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  br label %1494

1451:                                             ; preds = %1441
  %1452 = load ptr, ptr %45, align 8, !tbaa !13
  %1453 = icmp eq ptr %1452, null
  br i1 %1453, label %1456, label %1454

1454:                                             ; preds = %1451
  %1455 = call ptr @__dynamic_cast(ptr %1452, ptr @_ZTIN4FLAC8Metadata9PrototypeE, ptr @_ZTIN4FLAC8Metadata13VorbisCommentE, i64 0) #8
  br label %1457

1456:                                             ; preds = %1451
  br label %1457

1457:                                             ; preds = %1456, %1454
  %1458 = phi ptr [ %1455, %1454 ], [ null, %1456 ]
  %1459 = icmp eq ptr null, %1458
  br i1 %1459, label %1460, label %1463

1460:                                             ; preds = %1457
  %1461 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.45)
          to label %1462 unwind label %1447

1462:                                             ; preds = %1460
  store i1 %1461, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1492

1463:                                             ; preds = %1457
  %1464 = load ptr, ptr %45, align 8, !tbaa !13
  %1465 = icmp eq ptr %1464, null
  br i1 %1465, label %1468, label %1466

1466:                                             ; preds = %1463
  %1467 = call ptr @__dynamic_cast(ptr %1464, ptr @_ZTIN4FLAC8Metadata9PrototypeE, ptr @_ZTIN4FLAC8Metadata13VorbisCommentE, i64 0) #8
  br label %1469

1468:                                             ; preds = %1463
  br label %1469

1469:                                             ; preds = %1468, %1466
  %1470 = phi ptr [ %1467, %1466 ], [ null, %1468 ]
  %1471 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %1470, ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %1472 unwind label %1447

1472:                                             ; preds = %1469
  br i1 %1471, label %1473, label %1476

1473:                                             ; preds = %1472
  %1474 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef @.str.46)
          to label %1475 unwind label %1447

1475:                                             ; preds = %1473
  store i1 %1474, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1492

1476:                                             ; preds = %1472
  %1477 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1478 unwind label %1447

1478:                                             ; preds = %1476
  %1479 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.166)
          to label %1480 unwind label %1447

1480:                                             ; preds = %1478
  %1481 = load ptr, ptr %45, align 8, !tbaa !13
  %1482 = icmp eq ptr %1481, null
  br i1 %1482, label %1487, label %1483

1483:                                             ; preds = %1480
  %1484 = load ptr, ptr %1481, align 8, !tbaa !15
  %1485 = getelementptr inbounds ptr, ptr %1484, i64 2
  %1486 = load ptr, ptr %1485, align 8
  call void %1486(ptr noundef nonnull align 8 dereferenceable(17) %1481) #8
  br label %1487

1487:                                             ; preds = %1483, %1480
  %1488 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4)
          to label %1489 unwind label %1447

1489:                                             ; preds = %1487
  %1490 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.47)
          to label %1491 unwind label %1447

1491:                                             ; preds = %1489
  store i1 true, ptr %1, align 1
  store i32 1, ptr %6, align 4
  br label %1492

1492:                                             ; preds = %1491, %1475, %1462, %1446
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  br label %1493

1493:                                             ; preds = %1492, %1425, %1398, %1377, %1350, %1338, %1317, %1290, %1278, %1257, %1230, %1218, %1197, %1170, %1158, %1137, %1110, %1098, %1086, %1079, %1058, %1031, %1019, %998, %971, %959, %938, %911, %899, %887, %876, %860, %849, %839, %808, %777, %745, %705, %671, %633, %602, %571, %538, %505, %475
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  br label %1496

1494:                                             ; preds = %1447, %1434, %1407, %1386, %1359, %1326, %1299, %1266, %1239, %1206, %1179, %1146, %1119, %1067, %1040, %1007, %980, %947, %920, %850, %821, %790, %759, %723, %687, %649, %615, %584, %553, %480
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14) #8
  br label %1495

1495:                                             ; preds = %1494, %476
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #8
  br label %1497

1496:                                             ; preds = %1493, %460, %452, %444, %436, %426, %418, %410, %402, %392, %384, %376, %366, %358, %350, %340, %332, %324, %314, %302, %290, %277, %242, %230, %218, %197
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %12) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %12) #8
  br label %1499

1497:                                             ; preds = %1495, %261, %203
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %12) #8
  br label %1498

1498:                                             ; preds = %1497, %199
  call void @llvm.lifetime.end.p0(i64 64, ptr %12) #8
  br label %1500

1499:                                             ; preds = %1496, %185, %160, %118
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %9) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %9) #8
  br label %1502

1500:                                             ; preds = %1498, %198, %171, %124
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %9) #8
  br label %1501

1501:                                             ; preds = %1500, %120
  call void @llvm.lifetime.end.p0(i64 64, ptr %9) #8
  br label %1503

1502:                                             ; preds = %1499, %108, %71
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %7) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %7) #8
  br label %1504

1503:                                             ; preds = %1501, %119, %72
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %7) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %7) #8
  br label %1506

1504:                                             ; preds = %1502, %62
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #8
  %1505 = load i1, ptr %1, align 1
  ret i1 %1505

1506:                                             ; preds = %1503, %53
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #8
  br label %1507

1507:                                             ; preds = %1506
  %1508 = load ptr, ptr %4, align 8
  %1509 = load i32, ptr %5, align 4
  %1510 = insertvalue { ptr, i32 } poison, ptr %1508, 0
  %1511 = insertvalue { ptr, i32 } %1510, i32 %1509, 1
  resume { ptr, i32 } %1511
}

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1Ev(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #1

declare noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #1

; Function Attrs: nounwind
declare void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #6

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) unnamed_addr #1

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) unnamed_addr #1

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #4

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_j(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, ptr noundef, i32 noundef) unnamed_addr #1

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, ptr noundef) unnamed_addr #1

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #1

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry21get_field_name_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry22get_field_value_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare { i32, ptr } @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_entryEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry14set_field_nameEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) #1

declare void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #1

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) #7 align 2

; Function Attrs: nounwind
declare void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef, i1 noundef zeroext) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef, i1 noundef zeroext) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) #7 align 2

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17)) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment17set_vendor_stringEPKh(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef) #1

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17)) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(60)) #1

declare void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8, ptr noundef nonnull align 8 dereferenceable(17), i32 noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, ptr noundef nonnull align 8 dereferenceable(60)) #1

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment11set_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, ptr noundef nonnull align 8 dereferenceable(60)) #1

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind willreturn memory(read) }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTS40FLAC__StreamMetadata_VorbisComment_Entry", !7, i64 0, !10, i64 8}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!6, !10, i64 8}
!12 = !{!7, !7, i64 0}
!13 = !{!10, !10, i64 0}
!14 = !{!8, !8, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !9, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.FLAC__StreamMetadata = type { i32, i32, i32, %union.anon }
%union.anon = type { %struct.FLAC__StreamMetadata_CueSheet }
%struct.FLAC__StreamMetadata_CueSheet = type { [129 x i8], i64, i32, i32, ptr }
%"class.FLAC::Metadata::VorbisComment::Entry" = type <{ ptr, i8, [7 x i8], %struct.FLAC__StreamMetadata_VorbisComment_Entry, ptr, i32, [4 x i8], ptr, i32, [4 x i8] }>
%struct.FLAC__StreamMetadata_VorbisComment_Entry = type { i32, ptr }
%"class.FLAC::Metadata::VorbisComment" = type { %"class.FLAC::Metadata::Prototype.base", [7 x i8] }
%"class.FLAC::Metadata::Prototype.base" = type <{ ptr, ptr, i8 }>

@.str.2 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZTIN4FLAC8Metadata9PrototypeE = external constant ptr
@.str.45 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [43 x i8], align 1
@FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN = external local_unnamed_addr constant i32, align 4
@FLAC__VENDOR_STRING = external local_unnamed_addr global ptr, align 8
@FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN = external local_unnamed_addr constant i32, align 4
@.str.164 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZL14vorbiscomment_ = external hidden global %struct.FLAC__StreamMetadata, align 8
@.str.169 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZTIN4FLAC8Metadata13VorbisCommentE = external constant ptr

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare hidden noundef zeroext i1 @_ZL4die_PKc(ptr noundef) local_unnamed_addr #3

declare noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #4

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare ptr @FLAC__metadata_object_clone(ptr noundef) local_unnamed_addr #4

declare noundef ptr @_ZN4FLAC8Metadata5cloneEPKNS0_9PrototypeE(ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(read)
declare ptr @__dynamic_cast(ptr, ptr, ptr, i64) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z34test_metadata_object_vorbiscommentv() local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %2 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %3 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %4 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %5 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %6 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %7 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %8 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %9 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %10 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %11 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %12 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %13 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %14 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %15 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %16 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %17 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %18 = alloca %"class.FLAC::Metadata::VorbisComment", align 8
  %19 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %20 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %21 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %22 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %23 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %24 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %25 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %26 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %27 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %28 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %29 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %30 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %31 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %32 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %33 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %34 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %35 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %36 = alloca %"class.FLAC::Metadata::VorbisComment::Entry", align 8
  %37 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.123)
  %38 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.124)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1) #10
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryC1Ev(ptr noundef nonnull align 8 dereferenceable(60) %1)
  %39 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %1)
          to label %40 unwind label %43

40:                                               ; preds = %0
  br i1 %39, label %46, label %41

41:                                               ; preds = %40
  %42 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull @.str.125)
          to label %45 unwind label %43

43:                                               ; preds = %41, %0
  %44 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %1) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1) #10
  br label %791

45:                                               ; preds = %41
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %1) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1) #10
  br label %790

46:                                               ; preds = %40
  %47 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %48 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.126)
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %1) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1) #10
  %49 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %50 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.127)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %2) #10
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcj(ptr noundef nonnull align 8 dereferenceable(60) %2, ptr noundef nonnull @.str.128, i32 noundef 12)
  %51 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %52 unwind label %55

52:                                               ; preds = %46
  br i1 %51, label %57, label %53

53:                                               ; preds = %52
  %54 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull @.str.125)
          to label %788 unwind label %55

55:                                               ; preds = %53, %46
  %56 = landingpad { ptr, i32 }
          cleanup
  br label %789

57:                                               ; preds = %52
  %58 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %59 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.129)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3) #10
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKc(ptr noundef nonnull align 8 dereferenceable(60) %3, ptr noundef nonnull @.str.128)
          to label %60 unwind label %63

60:                                               ; preds = %57
  %61 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %3)
          to label %62 unwind label %65

62:                                               ; preds = %60
  br i1 %61, label %67, label %.invoke

63:                                               ; preds = %57
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %83

65:                                               ; preds = %.invoke, %69, %67, %60
  %66 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3) #10
  br label %83

67:                                               ; preds = %62
  %68 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %69 unwind label %65

69:                                               ; preds = %67
  %70 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %3)
          to label %71 unwind label %65

71:                                               ; preds = %69
  %72 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %68, ptr noundef nonnull dereferenceable(1) %70) #11
  %.not = icmp eq i32 %72, 0
  br i1 %.not, label %75, label %.invoke

.invoke:                                          ; preds = %62, %71
  %73 = phi ptr [ @.str.130, %71 ], [ @.str.125, %62 ]
  %74 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %73)
          to label %.thread240 unwind label %65

.thread240:                                       ; preds = %.invoke
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #10
  br label %788

75:                                               ; preds = %71
  %76 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %3) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #10
  %77 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.131)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %4) #10
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_j(ptr noundef nonnull align 8 dereferenceable(60) %4, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.133, i32 noundef 6)
          to label %78 unwind label %84

78:                                               ; preds = %75
  %79 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %4)
          to label %80 unwind label %86

80:                                               ; preds = %78
  br i1 %79, label %88, label %81

81:                                               ; preds = %80
  %82 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull @.str.125)
          to label %785 unwind label %86

83:                                               ; preds = %65, %63
  %.pn = phi { ptr, i32 } [ %66, %65 ], [ %64, %63 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #10
  br label %789

84:                                               ; preds = %75
  %85 = landingpad { ptr, i32 }
          cleanup
  br label %787

86:                                               ; preds = %81, %78
  %87 = landingpad { ptr, i32 }
          cleanup
  br label %786

88:                                               ; preds = %80
  %89 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %90 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.134)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %5) #10
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_(ptr noundef nonnull align 8 dereferenceable(60) %5, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.133)
          to label %91 unwind label %94

91:                                               ; preds = %88
  %92 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %5)
          to label %93 unwind label %96

93:                                               ; preds = %91
  br i1 %92, label %98, label %.invoke319

94:                                               ; preds = %88
  %95 = landingpad { ptr, i32 }
          cleanup
  br label %114

96:                                               ; preds = %.invoke319, %100, %98, %91
  %97 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %5) #10
  br label %114

98:                                               ; preds = %93
  %99 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %4)
          to label %100 unwind label %96

100:                                              ; preds = %98
  %101 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %5)
          to label %102 unwind label %96

102:                                              ; preds = %100
  %103 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %99, ptr noundef nonnull dereferenceable(1) %101) #11
  %.not122 = icmp eq i32 %103, 0
  br i1 %.not122, label %106, label %.invoke319

.invoke319:                                       ; preds = %93, %102
  %104 = phi ptr [ @.str.130, %102 ], [ @.str.125, %93 ]
  %105 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %104)
          to label %.thread244 unwind label %96

.thread244:                                       ; preds = %.invoke319
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %5) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #10
  br label %785

106:                                              ; preds = %102
  %107 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %5) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #10
  %108 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.135)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %6) #10
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60) %6, ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %109 unwind label %115

109:                                              ; preds = %106
  %110 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %6)
          to label %111 unwind label %117

111:                                              ; preds = %109
  br i1 %110, label %120, label %112

112:                                              ; preds = %111
  %113 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull @.str.125)
          to label %119 unwind label %117

114:                                              ; preds = %96, %94
  %.pn123 = phi { ptr, i32 } [ %97, %96 ], [ %95, %94 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #10
  br label %786

115:                                              ; preds = %106
  %116 = landingpad { ptr, i32 }
          cleanup
  br label %128

117:                                              ; preds = %112, %109
  %118 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %6) #10
  br label %128

119:                                              ; preds = %112
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %6) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6) #10
  br label %785

120:                                              ; preds = %111
  %121 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %122 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.126)
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %6) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6) #10
  %123 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %124 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.136)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %7) #10
  invoke void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %125 unwind label %129

125:                                              ; preds = %120
  %126 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %127 unwind label %131

127:                                              ; preds = %125
  br i1 %126, label %133, label %.invoke320

128:                                              ; preds = %117, %115
  %.pn125 = phi { ptr, i32 } [ %118, %117 ], [ %116, %115 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %6) #10
  br label %786

129:                                              ; preds = %120
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %784

131:                                              ; preds = %.invoke320, %233, %230, %227, %222, %219, %216, %213, %208, %205, %202, %197, %194, %191, %186, %183, %180, %175, %170, %165, %160, %143, %138, %133, %125
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %783

133:                                              ; preds = %127
  %134 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %135 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.137)
  %136 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %137 unwind label %131

137:                                              ; preds = %133
  %.not127 = icmp eq i32 %136, 12
  br i1 %.not127, label %138, label %.invoke320

138:                                              ; preds = %137
  %139 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %140 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.139)
  %141 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry21get_field_name_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %142 unwind label %131

142:                                              ; preds = %138
  %.not128 = icmp eq i32 %141, 5
  br i1 %.not128, label %143, label %.invoke320

143:                                              ; preds = %142
  %144 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %145 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.140)
  %146 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry22get_field_value_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %147 unwind label %131

147:                                              ; preds = %143
  %.not129 = icmp eq i32 %146, 6
  br i1 %.not129, label %148, label %.invoke320

148:                                              ; preds = %147
  %149 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %150 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.141)
  %151 = invoke { i32, ptr } @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_entryEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %152 unwind label %154

152:                                              ; preds = %148
  %153 = extractvalue { i32, ptr } %151, 0
  %.not130 = icmp eq i32 %153, 12
  br i1 %.not130, label %156, label %.invoke321

154:                                              ; preds = %.invoke321, %148
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %783

156:                                              ; preds = %152
  %157 = extractvalue { i32, ptr } %151, 1
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %157, ptr noundef nonnull dereferenceable(12) @.str.128, i64 12)
  %.not131 = icmp eq i32 %bcmp, 0
  br i1 %.not131, label %160, label %.invoke321

.invoke321:                                       ; preds = %152, %156
  %158 = phi ptr [ @.str.143, %156 ], [ @.str.142, %152 ]
  %159 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %158)
          to label %.thread251 unwind label %154

160:                                              ; preds = %156
  %161 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %162 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.144)
  %163 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %164 unwind label %131

164:                                              ; preds = %160
  %bcmp294 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %163, ptr noundef nonnull dereferenceable(12) @.str.128, i64 12)
  %.not132 = icmp eq i32 %bcmp294, 0
  br i1 %.not132, label %165, label %.invoke320

165:                                              ; preds = %164
  %166 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %167 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.145)
  %168 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %169 unwind label %131

169:                                              ; preds = %165
  %bcmp295 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %168, ptr noundef nonnull dereferenceable(5) @.str.146, i64 5)
  %.not133 = icmp eq i32 %bcmp295, 0
  br i1 %.not133, label %170, label %.invoke320

170:                                              ; preds = %169
  %171 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %172 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.147)
  %173 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %174 unwind label %131

174:                                              ; preds = %170
  %bcmp296 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %173, ptr noundef nonnull dereferenceable(6) @.str.148, i64 6)
  %.not134 = icmp eq i32 %bcmp296, 0
  br i1 %.not134, label %175, label %.invoke320

175:                                              ; preds = %174
  %176 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %177 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.149)
  %178 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry14set_field_nameEPKc(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull @.str.150)
          to label %179 unwind label %131

179:                                              ; preds = %175
  br i1 %178, label %180, label %.invoke320

180:                                              ; preds = %179
  %181 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %182 unwind label %131

182:                                              ; preds = %180
  %bcmp297 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %181, ptr noundef nonnull dereferenceable(5) @.str.150, i64 5)
  %.not135 = icmp eq i32 %bcmp297, 0
  br i1 %.not135, label %183, label %.invoke320

183:                                              ; preds = %182
  %184 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %185 unwind label %131

185:                                              ; preds = %183
  %bcmp298 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %184, ptr noundef nonnull dereferenceable(12) @.str.151, i64 12)
  %.not136 = icmp eq i32 %bcmp298, 0
  br i1 %.not136, label %186, label %.invoke320

186:                                              ; preds = %185
  %187 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %188 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.153)
  %189 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKcj(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull @.str.154, i32 noundef 6)
          to label %190 unwind label %131

190:                                              ; preds = %186
  br i1 %189, label %191, label %.invoke320

191:                                              ; preds = %190
  %192 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %193 unwind label %131

193:                                              ; preds = %191
  %bcmp299 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %192, ptr noundef nonnull dereferenceable(6) @.str.154, i64 6)
  %.not137 = icmp eq i32 %bcmp299, 0
  br i1 %.not137, label %194, label %.invoke320

194:                                              ; preds = %193
  %195 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %196 unwind label %131

196:                                              ; preds = %194
  %bcmp300 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %195, ptr noundef nonnull dereferenceable(12) @.str.155, i64 12)
  %.not138 = icmp eq i32 %bcmp300, 0
  br i1 %.not138, label %197, label %.invoke320

197:                                              ; preds = %196
  %198 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %199 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.156)
  %200 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKc(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull @.str.154)
          to label %201 unwind label %131

201:                                              ; preds = %197
  br i1 %200, label %202, label %.invoke320

202:                                              ; preds = %201
  %203 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %204 unwind label %131

204:                                              ; preds = %202
  %bcmp301 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %203, ptr noundef nonnull dereferenceable(6) @.str.154, i64 6)
  %.not139 = icmp eq i32 %bcmp301, 0
  br i1 %.not139, label %205, label %.invoke320

205:                                              ; preds = %204
  %206 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %207 unwind label %131

207:                                              ; preds = %205
  %bcmp302 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %206, ptr noundef nonnull dereferenceable(12) @.str.155, i64 12)
  %.not140 = icmp eq i32 %bcmp302, 0
  br i1 %.not140, label %208, label %.invoke320

208:                                              ; preds = %207
  %209 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %210 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.157)
  %211 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKcj(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull @.str.158, i32 noundef 12)
          to label %212 unwind label %131

212:                                              ; preds = %208
  br i1 %211, label %213, label %.invoke320

213:                                              ; preds = %212
  %214 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %215 unwind label %131

215:                                              ; preds = %213
  %bcmp303 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %214, ptr noundef nonnull dereferenceable(5) @.str.159, i64 5)
  %.not141 = icmp eq i32 %bcmp303, 0
  br i1 %.not141, label %216, label %.invoke320

216:                                              ; preds = %215
  %217 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %218 unwind label %131

218:                                              ; preds = %216
  %bcmp304 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %217, ptr noundef nonnull dereferenceable(6) @.str.160, i64 6)
  %.not142 = icmp eq i32 %bcmp304, 0
  br i1 %.not142, label %219, label %.invoke320

219:                                              ; preds = %218
  %220 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %221 unwind label %131

221:                                              ; preds = %219
  %bcmp305 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %220, ptr noundef nonnull dereferenceable(12) @.str.158, i64 12)
  %.not143 = icmp eq i32 %bcmp305, 0
  br i1 %.not143, label %222, label %.invoke320

222:                                              ; preds = %221
  %223 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %224 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.161)
  %225 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKc(ptr noundef nonnull align 8 dereferenceable(60) %7, ptr noundef nonnull @.str.158)
          to label %226 unwind label %131

226:                                              ; preds = %222
  br i1 %225, label %227, label %.invoke320

227:                                              ; preds = %226
  %228 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %229 unwind label %131

229:                                              ; preds = %227
  %bcmp306 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %228, ptr noundef nonnull dereferenceable(5) @.str.159, i64 5)
  %.not144 = icmp eq i32 %bcmp306, 0
  br i1 %.not144, label %230, label %.invoke320

230:                                              ; preds = %229
  %231 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %232 unwind label %131

232:                                              ; preds = %230
  %bcmp307 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %231, ptr noundef nonnull dereferenceable(6) @.str.160, i64 6)
  %.not145 = icmp eq i32 %bcmp307, 0
  br i1 %.not145, label %233, label %.invoke320

233:                                              ; preds = %232
  %234 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %7)
          to label %235 unwind label %131

235:                                              ; preds = %233
  %bcmp308 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %234, ptr noundef nonnull dereferenceable(12) @.str.158, i64 12)
  %.not146 = icmp eq i32 %bcmp308, 0
  br i1 %.not146, label %238, label %.invoke320

.invoke320:                                       ; preds = %127, %235, %232, %229, %226, %221, %218, %215, %212, %207, %204, %201, %196, %193, %190, %185, %182, %179, %174, %169, %164, %147, %142, %137
  %236 = phi ptr [ @.str.138, %137 ], [ @.str.138, %142 ], [ @.str.138, %147 ], [ @.str.138, %164 ], [ @.str.138, %169 ], [ @.str.138, %174 ], [ @.str.112, %179 ], [ @.str.138, %182 ], [ @.str.152, %185 ], [ @.str.112, %190 ], [ @.str.138, %193 ], [ @.str.152, %196 ], [ @.str.112, %201 ], [ @.str.138, %204 ], [ @.str.152, %207 ], [ @.str.112, %212 ], [ @.str.138, %215 ], [ @.str.138, %218 ], [ @.str.152, %221 ], [ @.str.112, %226 ], [ @.str.138, %229 ], [ @.str.138, %232 ], [ @.str.152, %235 ], [ @.str.125, %127 ]
  %237 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %236)
          to label %.thread251 unwind label %131

238:                                              ; preds = %235
  %239 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %240 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.47)
  %241 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.162)
  %242 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.163)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %243 unwind label %245

243:                                              ; preds = %238
  %244 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
  br i1 %244, label %249, label %.invoke322

245:                                              ; preds = %238
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %782

247:                                              ; preds = %.invoke322, %696, %665, %634, %601, %568, %565, %559, %528, %497, %464, %458, %449, %444, %438, %261, %249
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %781

249:                                              ; preds = %243
  %250 = load i32, ptr @FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN, align 4, !tbaa !5
  %251 = lshr i32 %250, 3
  %252 = load ptr, ptr @FLAC__VENDOR_STRING, align 8, !tbaa !9
  %253 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %252) #11
  %254 = load i32, ptr @FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN, align 4, !tbaa !5
  %255 = lshr i32 %254, 3
  %256 = trunc i64 %253 to i32
  %257 = add i32 %251, %256
  %258 = add i32 %257, %255
  %259 = invoke noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %260 unwind label %247

260:                                              ; preds = %249
  %.not147 = icmp eq i32 %259, %258
  br i1 %.not147, label %265, label %261

261:                                              ; preds = %260
  %262 = invoke noundef i32 @_ZNK4FLAC8Metadata9Prototype10get_lengthEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %263 unwind label %247

263:                                              ; preds = %261
  %264 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, i32 noundef %258, i32 noundef %262)
  br label %780

265:                                              ; preds = %260
  %266 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %267 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.164)
  %268 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.165)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %9, ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %269 unwind label %271

269:                                              ; preds = %265
  %270 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %9)
  br i1 %270, label %275, label %.invoke323

271:                                              ; preds = %265
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %288

273:                                              ; preds = %.invoke323, %275
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %9) #10
  br label %288

275:                                              ; preds = %269
  %276 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %9, ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %277 unwind label %273

277:                                              ; preds = %275
  br i1 %276, label %.invoke323, label %280

.invoke323:                                       ; preds = %269, %277
  %278 = phi ptr [ @.str.8, %277 ], [ @.str.7, %269 ]
  %279 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %278)
          to label %.thread255 unwind label %273

.thread255:                                       ; preds = %.invoke323
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %9) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  br label %780

280:                                              ; preds = %277
  %281 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %282 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.166)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %9) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  %283 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %284 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.167)
  %285 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.168)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %10, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %286 unwind label %289

286:                                              ; preds = %280
  %287 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %10)
  br i1 %287, label %293, label %.invoke324

288:                                              ; preds = %273, %271
  %.pn148 = phi { ptr, i32 } [ %274, %273 ], [ %272, %271 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  br label %781

289:                                              ; preds = %280
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %304

291:                                              ; preds = %.invoke324, %293
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %10) #10
  br label %304

293:                                              ; preds = %286
  %294 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %10, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %295 unwind label %291

295:                                              ; preds = %293
  br i1 %294, label %.invoke324, label %298

.invoke324:                                       ; preds = %286, %295
  %296 = phi ptr [ @.str.8, %295 ], [ @.str.7, %286 ]
  %297 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %296)
          to label %.thread259 unwind label %291

.thread259:                                       ; preds = %.invoke324
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %10) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #10
  br label %780

298:                                              ; preds = %295
  %299 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %10) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #10
  %300 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.169)
  %301 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %11, ptr noundef nonnull @_ZL14vorbiscomment_)
          to label %302 unwind label %305

302:                                              ; preds = %298
  %303 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %11)
  br i1 %303, label %309, label %.invoke325

304:                                              ; preds = %291, %289
  %.pn150 = phi { ptr, i32 } [ %292, %291 ], [ %290, %289 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #10
  br label %781

305:                                              ; preds = %298
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %320

307:                                              ; preds = %.invoke325, %309
  %308 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %11) #10
  br label %320

309:                                              ; preds = %302
  %310 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %11, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %311 unwind label %307

311:                                              ; preds = %309
  br i1 %310, label %.invoke325, label %314

.invoke325:                                       ; preds = %302, %311
  %312 = phi ptr [ @.str.8, %311 ], [ @.str.7, %302 ]
  %313 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %312)
          to label %.thread263 unwind label %307

.thread263:                                       ; preds = %.invoke325
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %11) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #10
  br label %780

314:                                              ; preds = %311
  %315 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %11) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #10
  %316 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.171)
  %317 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %12, ptr noundef nonnull @_ZL14vorbiscomment_, i1 noundef zeroext true)
          to label %318 unwind label %321

318:                                              ; preds = %314
  %319 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %12)
  br i1 %319, label %325, label %.invoke326

320:                                              ; preds = %307, %305
  %.pn152 = phi { ptr, i32 } [ %308, %307 ], [ %306, %305 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #10
  br label %781

321:                                              ; preds = %314
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %338

323:                                              ; preds = %.invoke326, %325
  %324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %12) #10
  br label %338

325:                                              ; preds = %318
  %326 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %12, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %327 unwind label %323

327:                                              ; preds = %325
  br i1 %326, label %.invoke326, label %330

.invoke326:                                       ; preds = %318, %327
  %328 = phi ptr [ @.str.8, %327 ], [ @.str.7, %318 ]
  %329 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %328)
          to label %.thread267 unwind label %323

.thread267:                                       ; preds = %.invoke326
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %12) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #10
  br label %780

330:                                              ; preds = %327
  %331 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %12) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #10
  %332 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.172)
  %333 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  %334 = invoke ptr @FLAC__metadata_object_clone(ptr noundef nonnull @_ZL14vorbiscomment_)
          to label %335 unwind label %339

335:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %13, ptr noundef %334, i1 noundef zeroext false)
          to label %336 unwind label %341

336:                                              ; preds = %335
  %337 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %13)
  br i1 %337, label %345, label %.invoke327

338:                                              ; preds = %323, %321
  %.pn154 = phi { ptr, i32 } [ %324, %323 ], [ %322, %321 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #10
  br label %781

339:                                              ; preds = %330
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %781

341:                                              ; preds = %335
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %358

343:                                              ; preds = %.invoke327, %345
  %344 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %13) #10
  br label %358

345:                                              ; preds = %336
  %346 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %13, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %347 unwind label %343

347:                                              ; preds = %345
  br i1 %346, label %.invoke327, label %350

.invoke327:                                       ; preds = %336, %347
  %348 = phi ptr [ @.str.8, %347 ], [ @.str.7, %336 ]
  %349 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %348)
          to label %.thread271 unwind label %343

.thread271:                                       ; preds = %.invoke327
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %13) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #10
  br label %780

350:                                              ; preds = %347
  %351 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %13) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #10
  %352 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.173)
  %353 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14)
          to label %354 unwind label %359

354:                                              ; preds = %350
  %355 = invoke noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %14, ptr noundef nonnull @_ZL14vorbiscomment_, i1 noundef zeroext true)
          to label %356 unwind label %361

356:                                              ; preds = %354
  %357 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %14)
  br i1 %357, label %363, label %.invoke328

358:                                              ; preds = %343, %341
  %.pn156 = phi { ptr, i32 } [ %344, %343 ], [ %342, %341 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #10
  br label %781

359:                                              ; preds = %350
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %378

361:                                              ; preds = %.invoke328, %363, %354
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14) #10
  br label %378

363:                                              ; preds = %356
  %364 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %14, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %365 unwind label %361

365:                                              ; preds = %363
  br i1 %364, label %.invoke328, label %368

.invoke328:                                       ; preds = %356, %365
  %366 = phi ptr [ @.str.8, %365 ], [ @.str.7, %356 ]
  %367 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %366)
          to label %.thread275 unwind label %361

.thread275:                                       ; preds = %.invoke328
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #10
  br label %780

368:                                              ; preds = %365
  %369 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %14) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #10
  %370 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.174)
  %371 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  %372 = invoke ptr @FLAC__metadata_object_clone(ptr noundef nonnull @_ZL14vorbiscomment_)
          to label %373 unwind label %379

373:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15)
          to label %374 unwind label %381

374:                                              ; preds = %373
  %375 = invoke noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17) %15, ptr noundef %372, i1 noundef zeroext false)
          to label %376 unwind label %383

376:                                              ; preds = %374
  %377 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %15)
  br i1 %377, label %385, label %.invoke329

378:                                              ; preds = %361, %359
  %.pn159 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #10
  br label %781

379:                                              ; preds = %368
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %781

381:                                              ; preds = %373
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %396

383:                                              ; preds = %.invoke329, %385, %374
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #10
  br label %396

385:                                              ; preds = %376
  %386 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %15, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %387 unwind label %383

387:                                              ; preds = %385
  br i1 %386, label %.invoke329, label %390

.invoke329:                                       ; preds = %376, %387
  %388 = phi ptr [ @.str.8, %387 ], [ @.str.7, %376 ]
  %389 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %388)
          to label %.thread279 unwind label %383

.thread279:                                       ; preds = %.invoke329
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #10
  br label %780

390:                                              ; preds = %387
  %391 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #10
  %392 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.175)
  %393 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.176)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %16, ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %394 unwind label %397

394:                                              ; preds = %390
  %395 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %16)
  br i1 %395, label %401, label %.invoke330

396:                                              ; preds = %383, %381
  %.pn161 = phi { ptr, i32 } [ %384, %383 ], [ %382, %381 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #10
  br label %781

397:                                              ; preds = %390
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %412

399:                                              ; preds = %.invoke330, %401
  %400 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %16) #10
  br label %412

401:                                              ; preds = %394
  %402 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %16, ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %403 unwind label %399

403:                                              ; preds = %401
  br i1 %402, label %406, label %.invoke330

.invoke330:                                       ; preds = %394, %403
  %404 = phi ptr [ @.str.8, %403 ], [ @.str.7, %394 ]
  %405 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %404)
          to label %.thread283 unwind label %399

.thread283:                                       ; preds = %.invoke330
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %16) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #10
  br label %780

406:                                              ; preds = %403
  %407 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %16) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #10
  %408 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.177)
  %409 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.178)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %17, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %410 unwind label %413

410:                                              ; preds = %406
  %411 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %17)
  br i1 %411, label %417, label %.invoke331

412:                                              ; preds = %399, %397
  %.pn164 = phi { ptr, i32 } [ %400, %399 ], [ %398, %397 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #10
  br label %781

413:                                              ; preds = %406
  %414 = landingpad { ptr, i32 }
          cleanup
  br label %428

415:                                              ; preds = %.invoke331, %417
  %416 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %17) #10
  br label %428

417:                                              ; preds = %410
  %418 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %17, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %419 unwind label %415

419:                                              ; preds = %417
  br i1 %418, label %422, label %.invoke331

.invoke331:                                       ; preds = %410, %419
  %420 = phi ptr [ @.str.8, %419 ], [ @.str.7, %410 ]
  %421 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %420)
          to label %.thread287 unwind label %415

.thread287:                                       ; preds = %.invoke331
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %17) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #10
  br label %780

422:                                              ; preds = %419
  %423 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %17) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #10
  %424 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.179)
  %425 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.180)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #10
  invoke void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %18, ptr noundef nonnull @_ZL14vorbiscomment_)
          to label %426 unwind label %429

426:                                              ; preds = %422
  %427 = call noundef zeroext i1 @_ZNK4FLAC8Metadata9Prototype8is_validEv(ptr noundef nonnull align 8 dereferenceable(17) %18)
  br i1 %427, label %433, label %.invoke332

428:                                              ; preds = %415, %413
  %.pn166 = phi { ptr, i32 } [ %416, %415 ], [ %414, %413 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #10
  br label %781

429:                                              ; preds = %422
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %443

431:                                              ; preds = %.invoke332, %433
  %432 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %18) #10
  br label %443

433:                                              ; preds = %426
  %434 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17) %18, ptr noundef nonnull align 8 dereferenceable(176) @_ZL14vorbiscomment_)
          to label %435 unwind label %431

435:                                              ; preds = %433
  br i1 %434, label %438, label %.invoke332

.invoke332:                                       ; preds = %426, %435
  %436 = phi ptr [ @.str.8, %435 ], [ @.str.7, %426 ]
  %437 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %436)
          to label %.thread291 unwind label %431

.thread291:                                       ; preds = %.invoke332
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %18) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #10
  br label %780

438:                                              ; preds = %435
  %439 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %18) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #10
  %440 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.181)
  %441 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %442 unwind label %247

442:                                              ; preds = %438
  %.not170 = icmp eq i32 %441, 0
  br i1 %.not170, label %444, label %.invoke322

443:                                              ; preds = %431, %429
  %.pn168 = phi { ptr, i32 } [ %432, %431 ], [ %430, %429 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #10
  br label %781

444:                                              ; preds = %442
  %445 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %446 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.183)
  %447 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment17set_vendor_stringEPKh(ptr noundef nonnull align 8 dereferenceable(17) %8, ptr noundef nonnull @.str.184)
          to label %448 unwind label %247

448:                                              ; preds = %444
  br i1 %447, label %449, label %.invoke322

449:                                              ; preds = %448
  %450 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %451 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 24), align 8, !tbaa !11
  store i8 109, ptr %451, align 1, !tbaa !11
  %452 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.185)
  %453 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %454 unwind label %247

454:                                              ; preds = %449
  %455 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %453) #11
  %456 = load i32, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 16), align 8, !tbaa !11
  %457 = zext i32 %456 to i64
  %.not171 = icmp eq i64 %455, %457
  br i1 %.not171, label %458, label %.invoke322

458:                                              ; preds = %454
  %459 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %460 unwind label %247

460:                                              ; preds = %458
  %461 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 24), align 8, !tbaa !11
  %462 = load i32, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 16), align 8, !tbaa !11
  %463 = zext i32 %462 to i64
  %bcmp309 = call i32 @bcmp(ptr %459, ptr %461, i64 %463)
  %.not172 = icmp eq i32 %bcmp309, 0
  br i1 %.not172, label %464, label %.invoke322

464:                                              ; preds = %460
  %465 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %466 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.187)
  %467 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %468 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, ptr noundef nonnull align 8 dereferenceable(60) %4)
          to label %469 unwind label %247

469:                                              ; preds = %464
  br i1 %468, label %470, label %.invoke322

470:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %19) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %19, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %471 unwind label %477

471:                                              ; preds = %470
  %472 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %19)
          to label %473 unwind label %479

473:                                              ; preds = %471
  %474 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %475 = getelementptr inbounds i8, ptr %474, i64 16
  %476 = load i32, ptr %475, align 8, !tbaa !12
  %.not175 = icmp eq i32 %472, %476
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %19) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %19) #10
  br i1 %.not175, label %482, label %.invoke322

477:                                              ; preds = %470
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %481

479:                                              ; preds = %471
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %19) #10
  br label %481

481:                                              ; preds = %479, %477
  %.pn173 = phi { ptr, i32 } [ %480, %479 ], [ %478, %477 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %19) #10
  br label %781

482:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %20) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %20, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %483 unwind label %492

483:                                              ; preds = %482
  %484 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %20)
          to label %485 unwind label %494

485:                                              ; preds = %483
  %486 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %487 = getelementptr inbounds i8, ptr %486, i64 16
  %488 = getelementptr inbounds i8, ptr %486, i64 24
  %489 = load ptr, ptr %488, align 8, !tbaa !14
  %490 = load i32, ptr %487, align 8, !tbaa !12
  %491 = zext i32 %490 to i64
  %bcmp310 = call i32 @bcmp(ptr %484, ptr %489, i64 %491)
  %.not178 = icmp eq i32 %bcmp310, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %20) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %20) #10
  br i1 %.not178, label %497, label %.invoke322

492:                                              ; preds = %482
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %483
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %20) #10
  br label %496

496:                                              ; preds = %494, %492
  %.pn176 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %20) #10
  br label %781

497:                                              ; preds = %485
  %498 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %499 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.187)
  %500 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %501 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %502 unwind label %247

502:                                              ; preds = %497
  br i1 %501, label %503, label %.invoke322

503:                                              ; preds = %502
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %21) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %21, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %504 unwind label %509

504:                                              ; preds = %503
  %505 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %21)
          to label %506 unwind label %511

506:                                              ; preds = %504
  %507 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %508 = load i32, ptr %507, align 8, !tbaa !12
  %.not181 = icmp eq i32 %505, %508
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %21) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %21) #10
  br i1 %.not181, label %514, label %.invoke322

509:                                              ; preds = %503
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %513

511:                                              ; preds = %504
  %512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %21) #10
  br label %513

513:                                              ; preds = %511, %509
  %.pn179 = phi { ptr, i32 } [ %512, %511 ], [ %510, %509 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %21) #10
  br label %781

514:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %22) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %22, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %515 unwind label %523

515:                                              ; preds = %514
  %516 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %22)
          to label %517 unwind label %525

517:                                              ; preds = %515
  %518 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %519 = getelementptr inbounds i8, ptr %518, i64 8
  %520 = load ptr, ptr %519, align 8, !tbaa !14
  %521 = load i32, ptr %518, align 8, !tbaa !12
  %522 = zext i32 %521 to i64
  %bcmp311 = call i32 @bcmp(ptr %516, ptr %520, i64 %522)
  %.not184 = icmp eq i32 %bcmp311, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %22) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %22) #10
  br i1 %.not184, label %528, label %.invoke322

523:                                              ; preds = %514
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %527

525:                                              ; preds = %515
  %526 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %22) #10
  br label %527

527:                                              ; preds = %525, %523
  %.pn182 = phi { ptr, i32 } [ %526, %525 ], [ %524, %523 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %22) #10
  br label %781

528:                                              ; preds = %517
  %529 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %530 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.189)
  %531 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %532 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %533 unwind label %247

533:                                              ; preds = %528
  br i1 %532, label %534, label %.invoke322

534:                                              ; preds = %533
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %23) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %23, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %535 unwind label %540

535:                                              ; preds = %534
  %536 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %23)
          to label %537 unwind label %542

537:                                              ; preds = %535
  %538 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %539 = load i32, ptr %538, align 8, !tbaa !12
  %.not187 = icmp eq i32 %536, %539
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %23) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) #10
  br i1 %.not187, label %545, label %.invoke322

540:                                              ; preds = %534
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %544

542:                                              ; preds = %535
  %543 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %23) #10
  br label %544

544:                                              ; preds = %542, %540
  %.pn185 = phi { ptr, i32 } [ %543, %542 ], [ %541, %540 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) #10
  br label %781

545:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %24) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %24, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %546 unwind label %554

546:                                              ; preds = %545
  %547 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %24)
          to label %548 unwind label %556

548:                                              ; preds = %546
  %549 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %550 = getelementptr inbounds i8, ptr %549, i64 8
  %551 = load ptr, ptr %550, align 8, !tbaa !14
  %552 = load i32, ptr %549, align 8, !tbaa !12
  %553 = zext i32 %552 to i64
  %bcmp312 = call i32 @bcmp(ptr %547, ptr %551, i64 %553)
  %.not190 = icmp eq i32 %bcmp312, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %24) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #10
  br i1 %.not190, label %559, label %.invoke322

554:                                              ; preds = %545
  %555 = landingpad { ptr, i32 }
          cleanup
  br label %558

556:                                              ; preds = %546
  %557 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %24) #10
  br label %558

558:                                              ; preds = %556, %554
  %.pn188 = phi { ptr, i32 } [ %557, %556 ], [ %555, %554 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #10
  br label %781

559:                                              ; preds = %548
  %560 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %561 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.189)
  %562 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %563 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %564 unwind label %247

564:                                              ; preds = %559
  br i1 %563, label %565, label %.invoke322

565:                                              ; preds = %564
  %566 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %567 unwind label %247

567:                                              ; preds = %565
  %.not191 = icmp eq i32 %566, 0
  br i1 %.not191, label %568, label %.invoke322

568:                                              ; preds = %567
  %569 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %570 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.193)
  %571 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %572 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %4)
          to label %573 unwind label %247

573:                                              ; preds = %568
  br i1 %572, label %574, label %.invoke322

574:                                              ; preds = %573
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %25) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %25, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %575 unwind label %581

575:                                              ; preds = %574
  %576 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %25)
          to label %577 unwind label %583

577:                                              ; preds = %575
  %578 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %579 = getelementptr inbounds i8, ptr %578, i64 16
  %580 = load i32, ptr %579, align 8, !tbaa !12
  %.not194 = icmp eq i32 %576, %580
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %25) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) #10
  br i1 %.not194, label %586, label %.invoke322

581:                                              ; preds = %574
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %585

583:                                              ; preds = %575
  %584 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %25) #10
  br label %585

585:                                              ; preds = %583, %581
  %.pn192 = phi { ptr, i32 } [ %584, %583 ], [ %582, %581 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) #10
  br label %781

586:                                              ; preds = %577
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %26) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %26, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %587 unwind label %596

587:                                              ; preds = %586
  %588 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %26)
          to label %589 unwind label %598

589:                                              ; preds = %587
  %590 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %591 = getelementptr inbounds i8, ptr %590, i64 16
  %592 = getelementptr inbounds i8, ptr %590, i64 24
  %593 = load ptr, ptr %592, align 8, !tbaa !14
  %594 = load i32, ptr %591, align 8, !tbaa !12
  %595 = zext i32 %594 to i64
  %bcmp313 = call i32 @bcmp(ptr %588, ptr %593, i64 %595)
  %.not197 = icmp eq i32 %bcmp313, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %26) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %26) #10
  br i1 %.not197, label %601, label %.invoke322

596:                                              ; preds = %586
  %597 = landingpad { ptr, i32 }
          cleanup
  br label %600

598:                                              ; preds = %587
  %599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %26) #10
  br label %600

600:                                              ; preds = %598, %596
  %.pn195 = phi { ptr, i32 } [ %599, %598 ], [ %597, %596 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %26) #10
  br label %781

601:                                              ; preds = %589
  %602 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %603 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.193)
  %604 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %605 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %4)
          to label %606 unwind label %247

606:                                              ; preds = %601
  br i1 %605, label %607, label %.invoke322

607:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %27) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %27, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %608 unwind label %614

608:                                              ; preds = %607
  %609 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %27)
          to label %610 unwind label %616

610:                                              ; preds = %608
  %611 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %612 = getelementptr inbounds i8, ptr %611, i64 16
  %613 = load i32, ptr %612, align 8, !tbaa !12
  %.not200 = icmp eq i32 %609, %613
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %27) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) #10
  br i1 %.not200, label %619, label %.invoke322

614:                                              ; preds = %607
  %615 = landingpad { ptr, i32 }
          cleanup
  br label %618

616:                                              ; preds = %608
  %617 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %27) #10
  br label %618

618:                                              ; preds = %616, %614
  %.pn198 = phi { ptr, i32 } [ %617, %616 ], [ %615, %614 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) #10
  br label %781

619:                                              ; preds = %610
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %28) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %28, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %620 unwind label %629

620:                                              ; preds = %619
  %621 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %28)
          to label %622 unwind label %631

622:                                              ; preds = %620
  %623 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %624 = getelementptr inbounds i8, ptr %623, i64 16
  %625 = getelementptr inbounds i8, ptr %623, i64 24
  %626 = load ptr, ptr %625, align 8, !tbaa !14
  %627 = load i32, ptr %624, align 8, !tbaa !12
  %628 = zext i32 %627 to i64
  %bcmp314 = call i32 @bcmp(ptr %621, ptr %626, i64 %628)
  %.not203 = icmp eq i32 %bcmp314, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %28) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) #10
  br i1 %.not203, label %634, label %.invoke322

629:                                              ; preds = %619
  %630 = landingpad { ptr, i32 }
          cleanup
  br label %633

631:                                              ; preds = %620
  %632 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %28) #10
  br label %633

633:                                              ; preds = %631, %629
  %.pn201 = phi { ptr, i32 } [ %632, %631 ], [ %630, %629 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) #10
  br label %781

634:                                              ; preds = %622
  %635 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %636 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.193)
  %637 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %638 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %639 unwind label %247

639:                                              ; preds = %634
  br i1 %638, label %640, label %.invoke322

640:                                              ; preds = %639
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %29) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %29, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %641 unwind label %646

641:                                              ; preds = %640
  %642 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %29)
          to label %643 unwind label %648

643:                                              ; preds = %641
  %644 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %645 = load i32, ptr %644, align 8, !tbaa !12
  %.not206 = icmp eq i32 %642, %645
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %29) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) #10
  br i1 %.not206, label %651, label %.invoke322

646:                                              ; preds = %640
  %647 = landingpad { ptr, i32 }
          cleanup
  br label %650

648:                                              ; preds = %641
  %649 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %29) #10
  br label %650

650:                                              ; preds = %648, %646
  %.pn204 = phi { ptr, i32 } [ %649, %648 ], [ %647, %646 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) #10
  br label %781

651:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %30) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %30, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %652 unwind label %660

652:                                              ; preds = %651
  %653 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %30)
          to label %654 unwind label %662

654:                                              ; preds = %652
  %655 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %656 = getelementptr inbounds i8, ptr %655, i64 8
  %657 = load ptr, ptr %656, align 8, !tbaa !14
  %658 = load i32, ptr %655, align 8, !tbaa !12
  %659 = zext i32 %658 to i64
  %bcmp315 = call i32 @bcmp(ptr %653, ptr %657, i64 %659)
  %.not209 = icmp eq i32 %bcmp315, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %30) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %30) #10
  br i1 %.not209, label %665, label %.invoke322

660:                                              ; preds = %651
  %661 = landingpad { ptr, i32 }
          cleanup
  br label %664

662:                                              ; preds = %652
  %663 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %30) #10
  br label %664

664:                                              ; preds = %662, %660
  %.pn207 = phi { ptr, i32 } [ %663, %662 ], [ %661, %660 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %30) #10
  br label %781

665:                                              ; preds = %654
  %666 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %667 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.194)
  %668 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %669 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment11set_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(60) %2)
          to label %670 unwind label %247

670:                                              ; preds = %665
  br i1 %669, label %671, label %.invoke322

671:                                              ; preds = %670
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %31) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %31, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %672 unwind label %677

672:                                              ; preds = %671
  %673 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %31)
          to label %674 unwind label %679

674:                                              ; preds = %672
  %675 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %676 = load i32, ptr %675, align 8, !tbaa !12
  %.not212 = icmp eq i32 %673, %676
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %31) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %31) #10
  br i1 %.not212, label %682, label %.invoke322

677:                                              ; preds = %671
  %678 = landingpad { ptr, i32 }
          cleanup
  br label %681

679:                                              ; preds = %672
  %680 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %31) #10
  br label %681

681:                                              ; preds = %679, %677
  %.pn210 = phi { ptr, i32 } [ %680, %679 ], [ %678, %677 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %31) #10
  br label %781

682:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %32) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %32, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %683 unwind label %691

683:                                              ; preds = %682
  %684 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %32)
          to label %685 unwind label %693

685:                                              ; preds = %683
  %686 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %687 = getelementptr inbounds i8, ptr %686, i64 8
  %688 = load ptr, ptr %687, align 8, !tbaa !14
  %689 = load i32, ptr %686, align 8, !tbaa !12
  %690 = zext i32 %689 to i64
  %bcmp316 = call i32 @bcmp(ptr %684, ptr %688, i64 %690)
  %.not215 = icmp eq i32 %bcmp316, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %32) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) #10
  br i1 %.not215, label %696, label %.invoke322

691:                                              ; preds = %682
  %692 = landingpad { ptr, i32 }
          cleanup
  br label %695

693:                                              ; preds = %683
  %694 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %32) #10
  br label %695

695:                                              ; preds = %693, %691
  %.pn213 = phi { ptr, i32 } [ %694, %693 ], [ %692, %691 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %32) #10
  br label %781

696:                                              ; preds = %685
  %697 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %698 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.189)
  %699 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  %700 = invoke noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %701 unwind label %247

701:                                              ; preds = %696
  br i1 %700, label %702, label %.invoke322

702:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %33) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %33, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %703 unwind label %708

703:                                              ; preds = %702
  %704 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %33)
          to label %705 unwind label %710

705:                                              ; preds = %703
  %706 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %707 = load i32, ptr %706, align 8, !tbaa !12
  %.not218 = icmp eq i32 %704, %707
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %33) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #10
  br i1 %.not218, label %713, label %.invoke322

708:                                              ; preds = %702
  %709 = landingpad { ptr, i32 }
          cleanup
  br label %712

710:                                              ; preds = %703
  %711 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %33) #10
  br label %712

712:                                              ; preds = %710, %708
  %.pn216 = phi { ptr, i32 } [ %711, %710 ], [ %709, %708 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #10
  br label %781

713:                                              ; preds = %705
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %34) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %34, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 0)
          to label %714 unwind label %722

714:                                              ; preds = %713
  %715 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %34)
          to label %716 unwind label %724

716:                                              ; preds = %714
  %717 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %718 = getelementptr inbounds i8, ptr %717, i64 8
  %719 = load ptr, ptr %718, align 8, !tbaa !14
  %720 = load i32, ptr %717, align 8, !tbaa !12
  %721 = zext i32 %720 to i64
  %bcmp317 = call i32 @bcmp(ptr %715, ptr %719, i64 %721)
  %.not221 = icmp eq i32 %bcmp317, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %34) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %34) #10
  br i1 %.not221, label %727, label %.invoke322

722:                                              ; preds = %713
  %723 = landingpad { ptr, i32 }
          cleanup
  br label %726

724:                                              ; preds = %714
  %725 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %34) #10
  br label %726

726:                                              ; preds = %724, %722
  %.pn219 = phi { ptr, i32 } [ %725, %724 ], [ %723, %722 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %34) #10
  br label %781

727:                                              ; preds = %716
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %35) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %35, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %728 unwind label %734

728:                                              ; preds = %727
  %729 = invoke noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60) %35)
          to label %730 unwind label %736

730:                                              ; preds = %728
  %731 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %732 = getelementptr inbounds i8, ptr %731, i64 16
  %733 = load i32, ptr %732, align 8, !tbaa !12
  %.not224 = icmp eq i32 %729, %733
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %35) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %35) #10
  br i1 %.not224, label %739, label %.invoke322

734:                                              ; preds = %727
  %735 = landingpad { ptr, i32 }
          cleanup
  br label %738

736:                                              ; preds = %728
  %737 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %35) #10
  br label %738

738:                                              ; preds = %736, %734
  %.pn222 = phi { ptr, i32 } [ %737, %736 ], [ %735, %734 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %35) #10
  br label %781

739:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %36) #10
  invoke void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind nonnull writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8 %36, ptr noundef nonnull align 8 dereferenceable(17) %8, i32 noundef 1)
          to label %740 unwind label %751

740:                                              ; preds = %739
  %741 = invoke noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60) %36)
          to label %742 unwind label %753

742:                                              ; preds = %740
  %743 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZL14vorbiscomment_, i64 40), align 8, !tbaa !11
  %744 = getelementptr inbounds i8, ptr %743, i64 16
  %745 = getelementptr inbounds i8, ptr %743, i64 24
  %746 = load ptr, ptr %745, align 8, !tbaa !14
  %747 = load i32, ptr %744, align 8, !tbaa !12
  %748 = zext i32 %747 to i64
  %bcmp318 = call i32 @bcmp(ptr %741, ptr %746, i64 %748)
  %.not227 = icmp eq i32 %bcmp318, 0
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %36) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %36) #10
  br i1 %.not227, label %756, label %.invoke322

.invoke322:                                       ; preds = %243, %742, %730, %716, %705, %701, %685, %674, %670, %654, %643, %639, %622, %610, %606, %589, %577, %573, %567, %564, %548, %537, %533, %517, %506, %502, %485, %473, %469, %460, %454, %448, %442
  %749 = phi ptr [ @.str.182, %442 ], [ @.str.112, %448 ], [ @.str.186, %454 ], [ @.str.138, %460 ], [ @.str.112, %469 ], [ @.str.186, %473 ], [ @.str.138, %485 ], [ @.str.112, %502 ], [ @.str.186, %506 ], [ @.str.138, %517 ], [ @.str.112, %533 ], [ @.str.190, %537 ], [ @.str.191, %548 ], [ @.str.112, %564 ], [ @.str.192, %567 ], [ @.str.112, %573 ], [ @.str.186, %577 ], [ @.str.138, %589 ], [ @.str.112, %606 ], [ @.str.186, %610 ], [ @.str.138, %622 ], [ @.str.112, %639 ], [ @.str.186, %643 ], [ @.str.138, %654 ], [ @.str.112, %670 ], [ @.str.186, %674 ], [ @.str.138, %685 ], [ @.str.112, %701 ], [ @.str.190, %705 ], [ @.str.191, %716 ], [ @.str.195, %730 ], [ @.str.191, %742 ], [ @.str.2, %243 ]
  %750 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %749)
          to label %780 unwind label %247

751:                                              ; preds = %739
  %752 = landingpad { ptr, i32 }
          cleanup
  br label %755

753:                                              ; preds = %740
  %754 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %36) #10
  br label %755

755:                                              ; preds = %753, %751
  %.pn225 = phi { ptr, i32 } [ %754, %753 ], [ %752, %751 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %36) #10
  br label %781

756:                                              ; preds = %742
  %757 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %758 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.43)
  %759 = invoke noundef ptr @_ZN4FLAC8Metadata5cloneEPKNS0_9PrototypeE(ptr noundef nonnull %8)
          to label %760 unwind label %762

760:                                              ; preds = %756
  %761 = icmp eq ptr %759, null
  br i1 %761, label %.invoke333, label %764

762:                                              ; preds = %.invoke333, %767, %756
  %763 = landingpad { ptr, i32 }
          cleanup
  br label %781

764:                                              ; preds = %760
  %765 = call ptr @__dynamic_cast(ptr nonnull %759, ptr nonnull @_ZTIN4FLAC8Metadata9PrototypeE, ptr nonnull @_ZTIN4FLAC8Metadata13VorbisCommentE, i64 0) #10
  %766 = icmp eq ptr %765, null
  br i1 %766, label %.invoke333, label %767

767:                                              ; preds = %764
  %768 = invoke noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17) %765, ptr noundef nonnull align 8 dereferenceable(17) %8)
          to label %769 unwind label %762

769:                                              ; preds = %767
  br i1 %768, label %.invoke333, label %772

.invoke333:                                       ; preds = %760, %769, %764
  %770 = phi ptr [ @.str.45, %764 ], [ @.str.46, %769 ], [ @.str.44, %760 ]
  %771 = invoke noundef zeroext i1 @_ZL4die_PKc(ptr noundef nonnull %770)
          to label %780 unwind label %762

772:                                              ; preds = %769
  %773 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %774 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.166)
  %775 = load ptr, ptr %759, align 8, !tbaa !15
  %776 = getelementptr inbounds i8, ptr %775, i64 16
  %777 = load ptr, ptr %776, align 8
  call void %777(ptr noundef nonnull align 8 dereferenceable(17) %759) #10
  %778 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  %779 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.47)
  br label %780

780:                                              ; preds = %.invoke333, %.invoke322, %.thread291, %.thread287, %.thread283, %.thread279, %.thread275, %.thread271, %.thread267, %.thread263, %.thread259, %.thread255, %772, %263
  %.16 = phi i1 [ false, %263 ], [ true, %772 ], [ %279, %.thread255 ], [ %297, %.thread259 ], [ %313, %.thread263 ], [ %329, %.thread267 ], [ %349, %.thread271 ], [ %367, %.thread275 ], [ %389, %.thread279 ], [ %405, %.thread283 ], [ %421, %.thread287 ], [ %437, %.thread291 ], [ %750, %.invoke322 ], [ %771, %.invoke333 ]
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %8) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #10
  br label %.thread251

781:                                              ; preds = %379, %396, %339, %358, %762, %755, %738, %726, %712, %695, %681, %664, %650, %633, %618, %600, %585, %558, %544, %527, %513, %496, %481, %443, %428, %412, %378, %338, %320, %304, %288, %247
  %.pn228 = phi { ptr, i32 } [ %248, %247 ], [ %763, %762 ], [ %.pn225, %755 ], [ %.pn222, %738 ], [ %.pn219, %726 ], [ %.pn216, %712 ], [ %.pn213, %695 ], [ %.pn210, %681 ], [ %.pn207, %664 ], [ %.pn204, %650 ], [ %.pn201, %633 ], [ %.pn198, %618 ], [ %.pn195, %600 ], [ %.pn192, %585 ], [ %.pn188, %558 ], [ %.pn185, %544 ], [ %.pn182, %527 ], [ %.pn179, %513 ], [ %.pn176, %496 ], [ %.pn173, %481 ], [ %.pn168, %443 ], [ %.pn166, %428 ], [ %.pn164, %412 ], [ %.pn159, %378 ], [ %.pn154, %338 ], [ %.pn152, %320 ], [ %.pn150, %304 ], [ %.pn148, %288 ], [ %.pn156, %358 ], [ %340, %339 ], [ %.pn161, %396 ], [ %380, %379 ]
  call void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17) %8) #10
  br label %782

782:                                              ; preds = %781, %245
  %.pn228.pn = phi { ptr, i32 } [ %.pn228, %781 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #10
  br label %783

.thread251:                                       ; preds = %.invoke321, %.invoke320, %780
  %.17 = phi i1 [ %.16, %780 ], [ %237, %.invoke320 ], [ %159, %.invoke321 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %7) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %7) #10
  br label %785

783:                                              ; preds = %782, %154, %131
  %.pn231 = phi { ptr, i32 } [ %132, %131 ], [ %.pn228.pn, %782 ], [ %155, %154 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %7) #10
  br label %784

784:                                              ; preds = %783, %129
  %.pn231.pn = phi { ptr, i32 } [ %.pn231, %783 ], [ %130, %129 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %7) #10
  br label %786

785:                                              ; preds = %119, %.thread244, %81, %.thread251
  %.18 = phi i1 [ %.17, %.thread251 ], [ %113, %119 ], [ %82, %81 ], [ %105, %.thread244 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %4) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) #10
  br label %788

786:                                              ; preds = %784, %128, %114, %86
  %.pn231.pn.pn = phi { ptr, i32 } [ %.pn231.pn, %784 ], [ %.pn125, %128 ], [ %.pn123, %114 ], [ %87, %86 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %4) #10
  br label %787

787:                                              ; preds = %786, %84
  %.pn231.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn, %786 ], [ %85, %84 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %4) #10
  br label %789

788:                                              ; preds = %.thread240, %53, %785
  %.19 = phi i1 [ %.18, %785 ], [ %54, %53 ], [ %74, %.thread240 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %2) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2) #10
  br label %790

789:                                              ; preds = %787, %83, %55
  %.pn231.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn.pn, %787 ], [ %.pn, %83 ], [ %56, %55 ]
  call void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60) %2) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %2) #10
  br label %791

790:                                              ; preds = %45, %788
  %.20 = phi i1 [ %.19, %788 ], [ %42, %45 ]
  ret i1 %.20

791:                                              ; preds = %789, %43
  %.pn231.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn231.pn.pn.pn.pn, %789 ], [ %44, %43 ]
  resume { ptr, i32 } %.pn231.pn.pn.pn.pn.pn
}

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1Ev(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #4

declare noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisComment5Entry8is_validEv(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN4FLAC8Metadata13VorbisComment5EntryD1Ev(ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #6

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) unnamed_addr #4

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #7

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_fieldEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_j(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, ptr noundef, i32 noundef) unnamed_addr #4

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1EPKcS4_(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, ptr noundef) unnamed_addr #4

declare void @_ZN4FLAC8Metadata13VorbisComment5EntryC1ERKS2_(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef nonnull align 8 dereferenceable(60)) unnamed_addr #4

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry16get_field_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry21get_field_name_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment5Entry22get_field_value_lengthEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare { i32, ptr } @_ZNK4FLAC8Metadata13VorbisComment5Entry9get_entryEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry14get_field_nameEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment5Entry15get_field_valueEv(ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry14set_field_nameEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry15set_field_valueEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKcj(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef, i32 noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment5Entry9set_fieldEPKc(ptr noundef nonnull align 8 dereferenceable(60), ptr noundef) local_unnamed_addr #4

declare void @_ZN4FLAC8Metadata13VorbisCommentC1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #8 align 2

; Function Attrs: nounwind
declare void @_ZN4FLAC8Metadata13VorbisCommentD1Ev(ptr noundef nonnull align 8 dereferenceable(17)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2ERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommentneERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2EPK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef) unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN4FLAC8Metadata13VorbisCommentC2EP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef, i1 noundef zeroext) unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(17) ptr @_ZN4FLAC8Metadata13VorbisComment6assignEP20FLAC__StreamMetadatab(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef, i1 noundef zeroext) local_unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERKS1_(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #8 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4FLAC8Metadata13VorbisCommenteqERK20FLAC__StreamMetadata(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #8 align 2

declare noundef i32 @_ZNK4FLAC8Metadata13VorbisComment16get_num_commentsEv(ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment17set_vendor_stringEPKh(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef) local_unnamed_addr #4

declare noundef ptr @_ZNK4FLAC8Metadata13VorbisComment17get_vendor_stringEv(ptr noundef nonnull align 8 dereferenceable(17)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14append_commentERKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare void @_ZNK4FLAC8Metadata13VorbisComment11get_commentEj(ptr dead_on_unwind writable sret(%"class.FLAC::Metadata::VorbisComment::Entry") align 8, ptr noundef nonnull align 8 dereferenceable(17), i32 noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14delete_commentEj(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment14insert_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4FLAC8Metadata13VorbisComment11set_commentEjRKNS1_5EntryE(ptr noundef nonnull align 8 dereferenceable(17), i32 noundef, ptr noundef nonnull align 8 dereferenceable(60)) local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #9

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nofree nounwind willreturn memory(read) }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nofree nounwind willreturn memory(argmem: read) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!13, !6, i64 0}
!13 = !{!"_ZTS40FLAC__StreamMetadata_VorbisComment_Entry", !6, i64 0, !10, i64 8}
!14 = !{!13, !10, i64 8}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass