; LLVM IR from facebook/hermes :: API/hermes_sandbox/external (hermes_sandbox_impl_compiled_1)

; 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.w2c_hermes = type { ptr, ptr, ptr, i32, i32, i32, %struct.wasm_rt_memory_t, %struct.wasm_rt_funcref_table_t }
%struct.wasm_rt_memory_t = type { ptr, i64, i64, i64, i8 }
%struct.wasm_rt_funcref_table_t = type { ptr, i32, i32 }

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load(ptr noundef, i64 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store16(ptr noundef, i64 noundef, i32 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store(ptr noundef, i64 noundef, i32 noundef) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare i64 @llvm.expect.i64(i64, i64) #2

; Function Attrs: noreturn
declare void @wasm_rt_trap(i32 noundef) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_u(ptr noundef, i64 noundef) #1

declare void @w2c_hermes_0x5F_assert_fail(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_load(ptr noundef, i64 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i64_store(ptr noundef, i64 noundef, i64 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store8(ptr noundef, i64 noundef, i32 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_s(ptr noundef, i64 noundef) #1

declare void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef, i32 noundef) #4

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

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3AencodeUTF80x28char0x2A0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) #5

declare i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef, i32 noundef) #4

declare i32 @w2c_hermes_memmove(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare void @w2c_hermes_abort(ptr noundef) #4

declare i32 @w2c_hermes_0x5F_memset(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #5 {
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store i32 %1, ptr %6, align 4, !tbaa !9
  store i32 %2, ptr %7, align 4, !tbaa !9
  store i32 %3, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  store i32 0, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  store i32 0, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  %31 = load ptr, ptr %5, align 8, !tbaa !5
  %32 = getelementptr inbounds %struct.w2c_hermes, ptr %31, i32 0, i32 3
  %33 = load i32, ptr %32, align 8, !tbaa !11
  store i32 %33, ptr %23, align 4, !tbaa !9
  store i32 -64, ptr %24, align 4, !tbaa !9
  %34 = load i32, ptr %24, align 4, !tbaa !9
  %35 = load i32, ptr %23, align 4, !tbaa !9
  %36 = add i32 %35, %34
  store i32 %36, ptr %23, align 4, !tbaa !9
  %37 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %37, ptr %9, align 4, !tbaa !9
  %38 = load i32, ptr %23, align 4, !tbaa !9
  %39 = load ptr, ptr %5, align 8, !tbaa !5
  %40 = getelementptr inbounds %struct.w2c_hermes, ptr %39, i32 0, i32 3
  store i32 %38, ptr %40, align 8, !tbaa !11
  %41 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %41, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %42 = load ptr, ptr %5, align 8, !tbaa !5
  %43 = getelementptr inbounds %struct.w2c_hermes, ptr %42, i32 0, i32 6
  %44 = load i32, ptr %23, align 4, !tbaa !9
  %45 = zext i32 %44 to i64
  %46 = add i64 %45, 56
  %47 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %43, i64 noundef %46, i32 noundef %47)
  %48 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %48, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %30, align 8, !tbaa !17
  %49 = load ptr, ptr %5, align 8, !tbaa !5
  %50 = getelementptr inbounds %struct.w2c_hermes, ptr %49, i32 0, i32 6
  %51 = load i32, ptr %23, align 4, !tbaa !9
  %52 = zext i32 %51 to i64
  %53 = add i64 %52, 48
  %54 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %50, i64 noundef %53, i64 noundef %54)
  %55 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %55, ptr %23, align 4, !tbaa !9
  %56 = load ptr, ptr %5, align 8, !tbaa !5
  %57 = getelementptr inbounds %struct.w2c_hermes, ptr %56, i32 0, i32 6
  %58 = load i32, ptr %23, align 4, !tbaa !9
  %59 = zext i32 %58 to i64
  %60 = add i64 %59, 44
  %61 = call i32 @i32_load(ptr noundef %57, i64 noundef %60)
  store i32 %61, ptr %23, align 4, !tbaa !9
  %62 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %62, ptr %24, align 4, !tbaa !9
  store i32 44, ptr %25, align 4, !tbaa !9
  %63 = load i32, ptr %25, align 4, !tbaa !9
  %64 = load i32, ptr %24, align 4, !tbaa !9
  %65 = add i32 %64, %63
  store i32 %65, ptr %24, align 4, !tbaa !9
  %66 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %66, ptr %25, align 4, !tbaa !9
  %67 = load ptr, ptr %5, align 8, !tbaa !5
  %68 = getelementptr inbounds %struct.w2c_hermes, ptr %67, i32 0, i32 6
  %69 = load i32, ptr %25, align 4, !tbaa !9
  %70 = zext i32 %69 to i64
  %71 = add i64 %70, 55
  %72 = call i32 @i32_load8_u(ptr noundef %68, i64 noundef %71)
  store i32 %72, ptr %25, align 4, !tbaa !9
  %73 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %73, ptr %18, align 4, !tbaa !9
  %74 = load i32, ptr %25, align 4, !tbaa !9
  %75 = trunc i32 %74 to i8
  %76 = sext i8 %75 to i32
  store i32 %76, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %77 = load i32, ptr %25, align 4, !tbaa !9
  %78 = load i32, ptr %26, align 4, !tbaa !9
  %79 = icmp slt i32 %77, %78
  %80 = zext i1 %79 to i32
  store i32 %80, ptr %25, align 4, !tbaa !9
  %81 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %81, ptr %10, align 4, !tbaa !9
  %82 = load i32, ptr %25, align 4, !tbaa !9
  %83 = icmp ne i32 %82, 0
  br i1 %83, label %84, label %86

84:                                               ; preds = %4
  %85 = load i32, ptr %23, align 4, !tbaa !9
  br label %88

86:                                               ; preds = %4
  %87 = load i32, ptr %24, align 4, !tbaa !9
  br label %88

88:                                               ; preds = %86, %84
  %89 = phi i32 [ %85, %84 ], [ %87, %86 ]
  store i32 %89, ptr %23, align 4, !tbaa !9
  %90 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %90, ptr %16, align 4, !tbaa !9
  %91 = load i32, ptr %23, align 4, !tbaa !9
  %92 = icmp ne i32 %91, 0
  %93 = xor i1 %92, true
  %94 = zext i1 %93 to i32
  store i32 %94, ptr %23, align 4, !tbaa !9
  %95 = load i32, ptr %23, align 4, !tbaa !9
  %96 = icmp ne i32 %95, 0
  br i1 %96, label %97, label %124

97:                                               ; preds = %88
  %98 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %98, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %99 = load ptr, ptr %5, align 8, !tbaa !5
  %100 = getelementptr inbounds %struct.w2c_hermes, ptr %99, i32 0, i32 6
  %101 = load i32, ptr %23, align 4, !tbaa !9
  %102 = zext i32 %101 to i64
  %103 = add i64 %102, 40
  %104 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %100, i64 noundef %103, i32 noundef %104)
  %105 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %105, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %30, align 8, !tbaa !17
  %106 = load ptr, ptr %5, align 8, !tbaa !5
  %107 = getelementptr inbounds %struct.w2c_hermes, ptr %106, i32 0, i32 6
  %108 = load i32, ptr %23, align 4, !tbaa !9
  %109 = zext i32 %108 to i64
  %110 = add i64 %109, 32
  %111 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %107, i64 noundef %110, i64 noundef %111)
  %112 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %112, ptr %23, align 4, !tbaa !9
  %113 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %113, ptr %24, align 4, !tbaa !9
  store i32 32, ptr %25, align 4, !tbaa !9
  %114 = load i32, ptr %25, align 4, !tbaa !9
  %115 = load i32, ptr %24, align 4, !tbaa !9
  %116 = add i32 %115, %114
  store i32 %116, ptr %24, align 4, !tbaa !9
  %117 = load ptr, ptr %5, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.w2c_hermes, ptr %117, i32 0, i32 6
  %119 = load i32, ptr %23, align 4, !tbaa !9
  %120 = zext i32 %119 to i64
  %121 = add i64 %120, 28
  %122 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %118, i64 noundef %121, i32 noundef %122)
  store i32 0, ptr %23, align 4, !tbaa !9
  %123 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %123, ptr %18, align 4, !tbaa !9
  br label %723

124:                                              ; preds = %88
  %125 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %125, ptr %23, align 4, !tbaa !9
  %126 = load ptr, ptr %5, align 8, !tbaa !5
  %127 = getelementptr inbounds %struct.w2c_hermes, ptr %126, i32 0, i32 6
  %128 = load i32, ptr %23, align 4, !tbaa !9
  %129 = zext i32 %128 to i64
  %130 = add i64 %129, 48
  %131 = call i32 @i32_load(ptr noundef %127, i64 noundef %130)
  store i32 %131, ptr %23, align 4, !tbaa !9
  %132 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %132, ptr %24, align 4, !tbaa !9
  %133 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %133, ptr %25, align 4, !tbaa !9
  %134 = load i32, ptr %25, align 4, !tbaa !9
  %135 = icmp ne i32 %134, 0
  br i1 %135, label %136, label %138

136:                                              ; preds = %124
  %137 = load i32, ptr %23, align 4, !tbaa !9
  br label %140

138:                                              ; preds = %124
  %139 = load i32, ptr %24, align 4, !tbaa !9
  br label %140

140:                                              ; preds = %138, %136
  %141 = phi i32 [ %137, %136 ], [ %139, %138 ]
  store i32 %141, ptr %23, align 4, !tbaa !9
  %142 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %142, ptr %11, align 4, !tbaa !9
  store i32 2147483632, ptr %24, align 4, !tbaa !9
  %143 = load i32, ptr %23, align 4, !tbaa !9
  %144 = load i32, ptr %24, align 4, !tbaa !9
  %145 = icmp uge i32 %143, %144
  %146 = zext i1 %145 to i32
  store i32 %146, ptr %23, align 4, !tbaa !9
  %147 = load i32, ptr %23, align 4, !tbaa !9
  %148 = icmp ne i32 %147, 0
  br i1 %148, label %149, label %150

149:                                              ; preds = %140
  br label %3010

150:                                              ; preds = %140
  %151 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %151, ptr %23, align 4, !tbaa !9
  store i32 11, ptr %24, align 4, !tbaa !9
  %152 = load i32, ptr %23, align 4, !tbaa !9
  %153 = load i32, ptr %24, align 4, !tbaa !9
  %154 = icmp uge i32 %152, %153
  %155 = zext i1 %154 to i32
  store i32 %155, ptr %23, align 4, !tbaa !9
  %156 = load i32, ptr %23, align 4, !tbaa !9
  %157 = icmp ne i32 %156, 0
  br i1 %157, label %158, label %204

158:                                              ; preds = %150
  %159 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %159, ptr %23, align 4, !tbaa !9
  store i32 15, ptr %24, align 4, !tbaa !9
  %160 = load i32, ptr %24, align 4, !tbaa !9
  %161 = load i32, ptr %23, align 4, !tbaa !9
  %162 = or i32 %161, %160
  store i32 %162, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %163 = load i32, ptr %24, align 4, !tbaa !9
  %164 = load i32, ptr %23, align 4, !tbaa !9
  %165 = add i32 %164, %163
  store i32 %165, ptr %23, align 4, !tbaa !9
  %166 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %166, ptr %10, align 4, !tbaa !9
  %167 = load ptr, ptr %5, align 8, !tbaa !5
  %168 = load i32, ptr %23, align 4, !tbaa !9
  %169 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %167, i32 noundef %168)
  store i32 %169, ptr %23, align 4, !tbaa !9
  %170 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %170, ptr %18, align 4, !tbaa !9
  %171 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %171, ptr %23, align 4, !tbaa !9
  %172 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %172, ptr %24, align 4, !tbaa !9
  store i32 -2147483648, ptr %25, align 4, !tbaa !9
  %173 = load i32, ptr %25, align 4, !tbaa !9
  %174 = load i32, ptr %24, align 4, !tbaa !9
  %175 = or i32 %174, %173
  store i32 %175, ptr %24, align 4, !tbaa !9
  %176 = load ptr, ptr %5, align 8, !tbaa !5
  %177 = getelementptr inbounds %struct.w2c_hermes, ptr %176, i32 0, i32 6
  %178 = load i32, ptr %23, align 4, !tbaa !9
  %179 = zext i32 %178 to i64
  %180 = add i64 %179, 40
  %181 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %177, i64 noundef %180, i32 noundef %181)
  %182 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %182, ptr %23, align 4, !tbaa !9
  %183 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %183, ptr %24, align 4, !tbaa !9
  %184 = load ptr, ptr %5, align 8, !tbaa !5
  %185 = getelementptr inbounds %struct.w2c_hermes, ptr %184, i32 0, i32 6
  %186 = load i32, ptr %23, align 4, !tbaa !9
  %187 = zext i32 %186 to i64
  %188 = add i64 %187, 32
  %189 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %185, i64 noundef %188, i32 noundef %189)
  %190 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %190, ptr %23, align 4, !tbaa !9
  %191 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %191, ptr %24, align 4, !tbaa !9
  %192 = load ptr, ptr %5, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.w2c_hermes, ptr %192, i32 0, i32 6
  %194 = load i32, ptr %23, align 4, !tbaa !9
  %195 = zext i32 %194 to i64
  %196 = add i64 %195, 36
  %197 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %193, i64 noundef %196, i32 noundef %197)
  %198 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %198, ptr %23, align 4, !tbaa !9
  %199 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %199, ptr %24, align 4, !tbaa !9
  %200 = load i32, ptr %24, align 4, !tbaa !9
  %201 = load i32, ptr %23, align 4, !tbaa !9
  %202 = add i32 %201, %200
  store i32 %202, ptr %23, align 4, !tbaa !9
  %203 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %203, ptr %10, align 4, !tbaa !9
  br label %236

204:                                              ; preds = %150
  %205 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %205, ptr %23, align 4, !tbaa !9
  %206 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %206, ptr %24, align 4, !tbaa !9
  %207 = load ptr, ptr %5, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.w2c_hermes, ptr %207, i32 0, i32 6
  %209 = load i32, ptr %23, align 4, !tbaa !9
  %210 = zext i32 %209 to i64
  %211 = add i64 %210, 43
  %212 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %208, i64 noundef %211, i32 noundef %212)
  %213 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %213, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %214 = load i32, ptr %24, align 4, !tbaa !9
  %215 = load i32, ptr %23, align 4, !tbaa !9
  %216 = add i32 %215, %214
  store i32 %216, ptr %23, align 4, !tbaa !9
  %217 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %217, ptr %24, align 4, !tbaa !9
  %218 = load i32, ptr %24, align 4, !tbaa !9
  %219 = load i32, ptr %23, align 4, !tbaa !9
  %220 = add i32 %219, %218
  store i32 %220, ptr %23, align 4, !tbaa !9
  %221 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %221, ptr %10, align 4, !tbaa !9
  %222 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %222, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %223 = load i32, ptr %24, align 4, !tbaa !9
  %224 = load i32, ptr %23, align 4, !tbaa !9
  %225 = add i32 %224, %223
  store i32 %225, ptr %23, align 4, !tbaa !9
  %226 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %226, ptr %18, align 4, !tbaa !9
  %227 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %227, ptr %23, align 4, !tbaa !9
  %228 = load i32, ptr %23, align 4, !tbaa !9
  %229 = icmp ne i32 %228, 0
  %230 = xor i1 %229, true
  %231 = zext i1 %230 to i32
  store i32 %231, ptr %23, align 4, !tbaa !9
  %232 = load i32, ptr %23, align 4, !tbaa !9
  %233 = icmp ne i32 %232, 0
  br i1 %233, label %234, label %235

234:                                              ; preds = %204
  br label %245

235:                                              ; preds = %204
  br label %236

236:                                              ; preds = %235, %158
  %237 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %237, ptr %23, align 4, !tbaa !9
  %238 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %238, ptr %24, align 4, !tbaa !9
  %239 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %239, ptr %25, align 4, !tbaa !9
  %240 = load ptr, ptr %5, align 8, !tbaa !5
  %241 = load i32, ptr %23, align 4, !tbaa !9
  %242 = load i32, ptr %24, align 4, !tbaa !9
  %243 = load i32, ptr %25, align 4, !tbaa !9
  %244 = call i32 @w2c_hermes_memmove(ptr noundef %240, i32 noundef %241, i32 noundef %242, i32 noundef %243)
  store i32 %244, ptr %23, align 4, !tbaa !9
  br label %245

245:                                              ; preds = %236, %234
  store i32 0, ptr %23, align 4, !tbaa !9
  %246 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %246, ptr %11, align 4, !tbaa !9
  %247 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %247, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %248 = load ptr, ptr %5, align 8, !tbaa !5
  %249 = getelementptr inbounds %struct.w2c_hermes, ptr %248, i32 0, i32 6
  %250 = load i32, ptr %23, align 4, !tbaa !9
  %251 = zext i32 %250 to i64
  %252 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %249, i64 noundef %251, i32 noundef %252)
  %253 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %253, ptr %23, align 4, !tbaa !9
  %254 = load ptr, ptr %5, align 8, !tbaa !5
  %255 = getelementptr inbounds %struct.w2c_hermes, ptr %254, i32 0, i32 6
  %256 = load i32, ptr %23, align 4, !tbaa !9
  %257 = zext i32 %256 to i64
  %258 = add i64 %257, 32
  %259 = call i32 @i32_load(ptr noundef %255, i64 noundef %258)
  store i32 %259, ptr %23, align 4, !tbaa !9
  %260 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %260, ptr %24, align 4, !tbaa !9
  store i32 32, ptr %25, align 4, !tbaa !9
  %261 = load i32, ptr %25, align 4, !tbaa !9
  %262 = load i32, ptr %24, align 4, !tbaa !9
  %263 = add i32 %262, %261
  store i32 %263, ptr %24, align 4, !tbaa !9
  %264 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %264, ptr %25, align 4, !tbaa !9
  %265 = load ptr, ptr %5, align 8, !tbaa !5
  %266 = getelementptr inbounds %struct.w2c_hermes, ptr %265, i32 0, i32 6
  %267 = load i32, ptr %25, align 4, !tbaa !9
  %268 = zext i32 %267 to i64
  %269 = add i64 %268, 43
  %270 = call i32 @i32_load8_u(ptr noundef %266, i64 noundef %269)
  store i32 %270, ptr %25, align 4, !tbaa !9
  %271 = load i32, ptr %25, align 4, !tbaa !9
  %272 = trunc i32 %271 to i8
  %273 = sext i8 %272 to i32
  store i32 %273, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %274 = load i32, ptr %25, align 4, !tbaa !9
  %275 = load i32, ptr %26, align 4, !tbaa !9
  %276 = icmp slt i32 %274, %275
  %277 = zext i1 %276 to i32
  store i32 %277, ptr %25, align 4, !tbaa !9
  %278 = load i32, ptr %25, align 4, !tbaa !9
  %279 = icmp ne i32 %278, 0
  br i1 %279, label %280, label %282

280:                                              ; preds = %245
  %281 = load i32, ptr %23, align 4, !tbaa !9
  br label %284

282:                                              ; preds = %245
  %283 = load i32, ptr %24, align 4, !tbaa !9
  br label %284

284:                                              ; preds = %282, %280
  %285 = phi i32 [ %281, %280 ], [ %283, %282 ]
  store i32 %285, ptr %23, align 4, !tbaa !9
  %286 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %286, ptr %13, align 4, !tbaa !9
  %287 = load ptr, ptr %5, align 8, !tbaa !5
  %288 = getelementptr inbounds %struct.w2c_hermes, ptr %287, i32 0, i32 6
  %289 = load i32, ptr %23, align 4, !tbaa !9
  %290 = zext i32 %289 to i64
  %291 = call i32 @i32_load8_u(ptr noundef %288, i64 noundef %290)
  store i32 %291, ptr %23, align 4, !tbaa !9
  %292 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %292, ptr %12, align 4, !tbaa !9
  %293 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %293, ptr %23, align 4, !tbaa !9
  %294 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %294, ptr %24, align 4, !tbaa !9
  %295 = load ptr, ptr %5, align 8, !tbaa !5
  %296 = getelementptr inbounds %struct.w2c_hermes, ptr %295, i32 0, i32 6
  %297 = load i32, ptr %23, align 4, !tbaa !9
  %298 = zext i32 %297 to i64
  %299 = add i64 %298, 28
  %300 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %296, i64 noundef %299, i32 noundef %300)
  store i32 0, ptr %23, align 4, !tbaa !9
  %301 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %301, ptr %18, align 4, !tbaa !9
  %302 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %302, ptr %23, align 4, !tbaa !9
  %303 = load i32, ptr %23, align 4, !tbaa !9
  %304 = icmp ne i32 %303, 0
  %305 = xor i1 %304, true
  %306 = zext i1 %305 to i32
  store i32 %306, ptr %23, align 4, !tbaa !9
  %307 = load i32, ptr %23, align 4, !tbaa !9
  %308 = icmp ne i32 %307, 0
  br i1 %308, label %309, label %310

309:                                              ; preds = %284
  br label %723

310:                                              ; preds = %284
  store i32 0, ptr %23, align 4, !tbaa !9
  %311 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %311, ptr %16, align 4, !tbaa !9
  br label %312

312:                                              ; preds = %721, %310
  %313 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %313, ptr %23, align 4, !tbaa !9
  %314 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %314, ptr %10, align 4, !tbaa !9
  %315 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %315, ptr %23, align 4, !tbaa !9
  %316 = load i32, ptr %23, align 4, !tbaa !9
  %317 = trunc i32 %316 to i8
  %318 = sext i8 %317 to i32
  store i32 %318, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %319 = load i32, ptr %23, align 4, !tbaa !9
  %320 = load i32, ptr %24, align 4, !tbaa !9
  %321 = icmp sge i32 %319, %320
  %322 = zext i1 %321 to i32
  store i32 %322, ptr %23, align 4, !tbaa !9
  %323 = load i32, ptr %23, align 4, !tbaa !9
  %324 = icmp ne i32 %323, 0
  br i1 %324, label %325, label %341

325:                                              ; preds = %312
  %326 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %326, ptr %23, align 4, !tbaa !9
  %327 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %327, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %328 = load i32, ptr %25, align 4, !tbaa !9
  %329 = load i32, ptr %24, align 4, !tbaa !9
  %330 = add i32 %329, %328
  store i32 %330, ptr %24, align 4, !tbaa !9
  %331 = load ptr, ptr %5, align 8, !tbaa !5
  %332 = getelementptr inbounds %struct.w2c_hermes, ptr %331, i32 0, i32 6
  %333 = load i32, ptr %23, align 4, !tbaa !9
  %334 = zext i32 %333 to i64
  %335 = add i64 %334, 28
  %336 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %332, i64 noundef %335, i32 noundef %336)
  %337 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %337, ptr %23, align 4, !tbaa !9
  store i32 255, ptr %24, align 4, !tbaa !9
  %338 = load i32, ptr %24, align 4, !tbaa !9
  %339 = load i32, ptr %23, align 4, !tbaa !9
  %340 = and i32 %339, %338
  store i32 %340, ptr %23, align 4, !tbaa !9
  br label %349

341:                                              ; preds = %312
  %342 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %342, ptr %23, align 4, !tbaa !9
  store i32 28, ptr %24, align 4, !tbaa !9
  %343 = load i32, ptr %24, align 4, !tbaa !9
  %344 = load i32, ptr %23, align 4, !tbaa !9
  %345 = add i32 %344, %343
  store i32 %345, ptr %23, align 4, !tbaa !9
  %346 = load ptr, ptr %5, align 8, !tbaa !5
  %347 = load i32, ptr %23, align 4, !tbaa !9
  %348 = call i32 @w2c_hermes_unsigned0x20int0x20hermes0x3A0x3A_decodeUTF8SlowPath0x3Ctrue0x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x3E0x28char0x20const0x2A0x260x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x29(ptr noundef %346, i32 noundef %347)
  store i32 %348, ptr %23, align 4, !tbaa !9
  br label %349

349:                                              ; preds = %341, %325
  %350 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %350, ptr %14, align 4, !tbaa !9
  %351 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %351, ptr %23, align 4, !tbaa !9
  %352 = load ptr, ptr %5, align 8, !tbaa !5
  %353 = getelementptr inbounds %struct.w2c_hermes, ptr %352, i32 0, i32 6
  %354 = load i32, ptr %23, align 4, !tbaa !9
  %355 = zext i32 %354 to i64
  %356 = add i64 %355, 59
  %357 = call i32 @i32_load8_u(ptr noundef %353, i64 noundef %356)
  store i32 %357, ptr %23, align 4, !tbaa !9
  %358 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %358, ptr %12, align 4, !tbaa !9
  %359 = load i32, ptr %23, align 4, !tbaa !9
  %360 = trunc i32 %359 to i8
  %361 = sext i8 %360 to i32
  store i32 %361, ptr %23, align 4, !tbaa !9
  %362 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %362, ptr %15, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %363 = load i32, ptr %23, align 4, !tbaa !9
  %364 = load i32, ptr %24, align 4, !tbaa !9
  %365 = icmp sge i32 %363, %364
  %366 = zext i1 %365 to i32
  store i32 %366, ptr %23, align 4, !tbaa !9
  %367 = load i32, ptr %23, align 4, !tbaa !9
  %368 = icmp ne i32 %367, 0
  br i1 %368, label %369, label %395

369:                                              ; preds = %349
  store i32 1, ptr %23, align 4, !tbaa !9
  %370 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %370, ptr %13, align 4, !tbaa !9
  %371 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %371, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %372 = load i32, ptr %23, align 4, !tbaa !9
  %373 = load i32, ptr %24, align 4, !tbaa !9
  %374 = icmp eq i32 %372, %373
  %375 = zext i1 %374 to i32
  store i32 %375, ptr %23, align 4, !tbaa !9
  %376 = load i32, ptr %23, align 4, !tbaa !9
  %377 = icmp ne i32 %376, 0
  br i1 %377, label %378, label %379

378:                                              ; preds = %369
  br label %426

379:                                              ; preds = %369
  %380 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %380, ptr %23, align 4, !tbaa !9
  %381 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %381, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %382 = load i32, ptr %25, align 4, !tbaa !9
  %383 = load i32, ptr %24, align 4, !tbaa !9
  %384 = add i32 %383, %382
  store i32 %384, ptr %24, align 4, !tbaa !9
  %385 = load ptr, ptr %5, align 8, !tbaa !5
  %386 = getelementptr inbounds %struct.w2c_hermes, ptr %385, i32 0, i32 6
  %387 = load i32, ptr %23, align 4, !tbaa !9
  %388 = zext i32 %387 to i64
  %389 = add i64 %388, 59
  %390 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %386, i64 noundef %389, i32 noundef %390)
  %391 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %391, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %392 = load i32, ptr %24, align 4, !tbaa !9
  %393 = load i32, ptr %23, align 4, !tbaa !9
  %394 = add i32 %393, %392
  store i32 %394, ptr %23, align 4, !tbaa !9
  br label %463

395:                                              ; preds = %349
  %396 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %396, ptr %23, align 4, !tbaa !9
  %397 = load ptr, ptr %5, align 8, !tbaa !5
  %398 = getelementptr inbounds %struct.w2c_hermes, ptr %397, i32 0, i32 6
  %399 = load i32, ptr %23, align 4, !tbaa !9
  %400 = zext i32 %399 to i64
  %401 = add i64 %400, 52
  %402 = call i32 @i32_load(ptr noundef %398, i64 noundef %401)
  store i32 %402, ptr %23, align 4, !tbaa !9
  %403 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %403, ptr %12, align 4, !tbaa !9
  %404 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %404, ptr %24, align 4, !tbaa !9
  %405 = load ptr, ptr %5, align 8, !tbaa !5
  %406 = getelementptr inbounds %struct.w2c_hermes, ptr %405, i32 0, i32 6
  %407 = load i32, ptr %24, align 4, !tbaa !9
  %408 = zext i32 %407 to i64
  %409 = add i64 %408, 56
  %410 = call i32 @i32_load(ptr noundef %406, i64 noundef %409)
  store i32 %410, ptr %24, align 4, !tbaa !9
  store i32 2147483647, ptr %25, align 4, !tbaa !9
  %411 = load i32, ptr %25, align 4, !tbaa !9
  %412 = load i32, ptr %24, align 4, !tbaa !9
  %413 = and i32 %412, %411
  store i32 %413, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %414 = load i32, ptr %25, align 4, !tbaa !9
  %415 = load i32, ptr %24, align 4, !tbaa !9
  %416 = sub i32 %415, %414
  store i32 %416, ptr %24, align 4, !tbaa !9
  %417 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %417, ptr %13, align 4, !tbaa !9
  %418 = load i32, ptr %23, align 4, !tbaa !9
  %419 = load i32, ptr %24, align 4, !tbaa !9
  %420 = icmp ne i32 %418, %419
  %421 = zext i1 %420 to i32
  store i32 %421, ptr %23, align 4, !tbaa !9
  %422 = load i32, ptr %23, align 4, !tbaa !9
  %423 = icmp ne i32 %422, 0
  br i1 %423, label %424, label %425

424:                                              ; preds = %395
  br label %444

425:                                              ; preds = %395
  br label %426

426:                                              ; preds = %425, %378
  %427 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %427, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %428 = load i32, ptr %24, align 4, !tbaa !9
  %429 = load i32, ptr %23, align 4, !tbaa !9
  %430 = add i32 %429, %428
  store i32 %430, ptr %23, align 4, !tbaa !9
  %431 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %431, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %432 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %432, ptr %26, align 4, !tbaa !9
  %433 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %433, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %434 = load ptr, ptr %5, align 8, !tbaa !5
  %435 = load i32, ptr %23, align 4, !tbaa !9
  %436 = load i32, ptr %24, align 4, !tbaa !9
  %437 = load i32, ptr %25, align 4, !tbaa !9
  %438 = load i32, ptr %26, align 4, !tbaa !9
  %439 = load i32, ptr %27, align 4, !tbaa !9
  %440 = load i32, ptr %28, align 4, !tbaa !9
  %441 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3A_0x5Fgrow_by0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %434, i32 noundef %435, i32 noundef %436, i32 noundef %437, i32 noundef %438, i32 noundef %439, i32 noundef %440, i32 noundef %441)
  %442 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %442, ptr %23, align 4, !tbaa !9
  %443 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %443, ptr %12, align 4, !tbaa !9
  br label %444

444:                                              ; preds = %426, %424
  %445 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %445, ptr %23, align 4, !tbaa !9
  %446 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %446, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %447 = load i32, ptr %25, align 4, !tbaa !9
  %448 = load i32, ptr %24, align 4, !tbaa !9
  %449 = add i32 %448, %447
  store i32 %449, ptr %24, align 4, !tbaa !9
  %450 = load ptr, ptr %5, align 8, !tbaa !5
  %451 = getelementptr inbounds %struct.w2c_hermes, ptr %450, i32 0, i32 6
  %452 = load i32, ptr %23, align 4, !tbaa !9
  %453 = zext i32 %452 to i64
  %454 = add i64 %453, 52
  %455 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %451, i64 noundef %454, i32 noundef %455)
  %456 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %456, ptr %23, align 4, !tbaa !9
  %457 = load ptr, ptr %5, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.w2c_hermes, ptr %457, i32 0, i32 6
  %459 = load i32, ptr %23, align 4, !tbaa !9
  %460 = zext i32 %459 to i64
  %461 = add i64 %460, 48
  %462 = call i32 @i32_load(ptr noundef %458, i64 noundef %461)
  store i32 %462, ptr %23, align 4, !tbaa !9
  br label %463

463:                                              ; preds = %444, %379
  %464 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %464, ptr %13, align 4, !tbaa !9
  %465 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %465, ptr %23, align 4, !tbaa !9
  %466 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %466, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %467 = load i32, ptr %25, align 4, !tbaa !9
  %468 = and i32 %467, 31
  %469 = load i32, ptr %24, align 4, !tbaa !9
  %470 = shl i32 %469, %468
  store i32 %470, ptr %24, align 4, !tbaa !9
  %471 = load i32, ptr %24, align 4, !tbaa !9
  %472 = load i32, ptr %23, align 4, !tbaa !9
  %473 = add i32 %472, %471
  store i32 %473, ptr %23, align 4, !tbaa !9
  %474 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %474, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %475 = load ptr, ptr %5, align 8, !tbaa !5
  %476 = getelementptr inbounds %struct.w2c_hermes, ptr %475, i32 0, i32 6
  %477 = load i32, ptr %23, align 4, !tbaa !9
  %478 = zext i32 %477 to i64
  %479 = add i64 %478, 4
  %480 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %476, i64 noundef %479, i32 noundef %480)
  %481 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %481, ptr %23, align 4, !tbaa !9
  %482 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %482, ptr %24, align 4, !tbaa !9
  %483 = load ptr, ptr %5, align 8, !tbaa !5
  %484 = getelementptr inbounds %struct.w2c_hermes, ptr %483, i32 0, i32 6
  %485 = load i32, ptr %23, align 4, !tbaa !9
  %486 = zext i32 %485 to i64
  %487 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %484, i64 noundef %486, i32 noundef %487)
  %488 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %488, ptr %23, align 4, !tbaa !9
  %489 = load ptr, ptr %5, align 8, !tbaa !5
  %490 = getelementptr inbounds %struct.w2c_hermes, ptr %489, i32 0, i32 6
  %491 = load i32, ptr %23, align 4, !tbaa !9
  %492 = zext i32 %491 to i64
  %493 = add i64 %492, 28
  %494 = call i32 @i32_load(ptr noundef %490, i64 noundef %493)
  store i32 %494, ptr %23, align 4, !tbaa !9
  %495 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %495, ptr %13, align 4, !tbaa !9
  %496 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %496, ptr %24, align 4, !tbaa !9
  %497 = load i32, ptr %23, align 4, !tbaa !9
  %498 = load i32, ptr %24, align 4, !tbaa !9
  %499 = icmp ugt i32 %497, %498
  %500 = zext i1 %499 to i32
  store i32 %500, ptr %23, align 4, !tbaa !9
  %501 = load i32, ptr %23, align 4, !tbaa !9
  %502 = icmp ne i32 %501, 0
  br i1 %502, label %503, label %711

503:                                              ; preds = %463
  br label %504

504:                                              ; preds = %709, %503
  %505 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %505, ptr %23, align 4, !tbaa !9
  %506 = load ptr, ptr %5, align 8, !tbaa !5
  %507 = getelementptr inbounds %struct.w2c_hermes, ptr %506, i32 0, i32 6
  %508 = load i32, ptr %23, align 4, !tbaa !9
  %509 = zext i32 %508 to i64
  %510 = add i64 %509, 52
  %511 = call i32 @i32_load(ptr noundef %507, i64 noundef %510)
  store i32 %511, ptr %23, align 4, !tbaa !9
  %512 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %512, ptr %24, align 4, !tbaa !9
  %513 = load ptr, ptr %5, align 8, !tbaa !5
  %514 = getelementptr inbounds %struct.w2c_hermes, ptr %513, i32 0, i32 6
  %515 = load i32, ptr %24, align 4, !tbaa !9
  %516 = zext i32 %515 to i64
  %517 = add i64 %516, 59
  %518 = call i32 @i32_load8_u(ptr noundef %514, i64 noundef %517)
  store i32 %518, ptr %24, align 4, !tbaa !9
  %519 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %519, ptr %12, align 4, !tbaa !9
  %520 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %520, ptr %25, align 4, !tbaa !9
  %521 = load i32, ptr %25, align 4, !tbaa !9
  %522 = trunc i32 %521 to i8
  %523 = sext i8 %522 to i32
  store i32 %523, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %524 = load i32, ptr %25, align 4, !tbaa !9
  %525 = load i32, ptr %26, align 4, !tbaa !9
  %526 = icmp slt i32 %524, %525
  %527 = zext i1 %526 to i32
  store i32 %527, ptr %25, align 4, !tbaa !9
  %528 = load i32, ptr %25, align 4, !tbaa !9
  %529 = icmp ne i32 %528, 0
  br i1 %529, label %530, label %532

530:                                              ; preds = %504
  %531 = load i32, ptr %23, align 4, !tbaa !9
  br label %534

532:                                              ; preds = %504
  %533 = load i32, ptr %24, align 4, !tbaa !9
  br label %534

534:                                              ; preds = %532, %530
  %535 = phi i32 [ %531, %530 ], [ %533, %532 ]
  store i32 %535, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %536 = load i32, ptr %24, align 4, !tbaa !9
  %537 = load i32, ptr %23, align 4, !tbaa !9
  %538 = sub i32 %537, %536
  store i32 %538, ptr %23, align 4, !tbaa !9
  %539 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %539, ptr %12, align 4, !tbaa !9
  %540 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %540, ptr %23, align 4, !tbaa !9
  %541 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %541, ptr %24, align 4, !tbaa !9
  %542 = load i32, ptr %23, align 4, !tbaa !9
  %543 = load i32, ptr %24, align 4, !tbaa !9
  %544 = icmp ult i32 %542, %543
  %545 = zext i1 %544 to i32
  store i32 %545, ptr %23, align 4, !tbaa !9
  %546 = load i32, ptr %23, align 4, !tbaa !9
  %547 = icmp ne i32 %546, 0
  br i1 %547, label %548, label %561

548:                                              ; preds = %534
  %549 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %549, ptr %23, align 4, !tbaa !9
  %550 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %550, ptr %24, align 4, !tbaa !9
  %551 = load ptr, ptr %5, align 8, !tbaa !5
  %552 = getelementptr inbounds %struct.w2c_hermes, ptr %551, i32 0, i32 6
  %553 = load i32, ptr %23, align 4, !tbaa !9
  %554 = zext i32 %553 to i64
  %555 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %552, i64 noundef %554, i32 noundef %555)
  %556 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %556, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %557 = load i32, ptr %24, align 4, !tbaa !9
  %558 = load i32, ptr %23, align 4, !tbaa !9
  %559 = add i32 %558, %557
  store i32 %559, ptr %23, align 4, !tbaa !9
  %560 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %560, ptr %11, align 4, !tbaa !9
  br label %696

561:                                              ; preds = %534
  %562 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %562, ptr %23, align 4, !tbaa !9
  %563 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %563, ptr %24, align 4, !tbaa !9
  %564 = load i32, ptr %24, align 4, !tbaa !9
  %565 = load i32, ptr %23, align 4, !tbaa !9
  %566 = sub i32 %565, %564
  store i32 %566, ptr %23, align 4, !tbaa !9
  %567 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %567, ptr %14, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %568 = load i32, ptr %23, align 4, !tbaa !9
  %569 = load i32, ptr %24, align 4, !tbaa !9
  %570 = and i32 %569, 31
  %571 = ashr i32 %568, %570
  store i32 %571, ptr %23, align 4, !tbaa !9
  %572 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %572, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %573 = load i32, ptr %24, align 4, !tbaa !9
  %574 = load i32, ptr %23, align 4, !tbaa !9
  %575 = add i32 %574, %573
  store i32 %575, ptr %23, align 4, !tbaa !9
  %576 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %576, ptr %11, align 4, !tbaa !9
  store i32 1073741824, ptr %24, align 4, !tbaa !9
  %577 = load i32, ptr %23, align 4, !tbaa !9
  %578 = load i32, ptr %24, align 4, !tbaa !9
  %579 = icmp uge i32 %577, %578
  %580 = zext i1 %579 to i32
  store i32 %580, ptr %23, align 4, !tbaa !9
  %581 = load i32, ptr %23, align 4, !tbaa !9
  %582 = icmp ne i32 %581, 0
  br i1 %582, label %583, label %584

583:                                              ; preds = %561
  br label %3010

584:                                              ; preds = %561
  store i32 1073741823, ptr %23, align 4, !tbaa !9
  %585 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %585, ptr %24, align 4, !tbaa !9
  %586 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %586, ptr %25, align 4, !tbaa !9
  %587 = load i32, ptr %25, align 4, !tbaa !9
  %588 = load i32, ptr %24, align 4, !tbaa !9
  %589 = sub i32 %588, %587
  store i32 %589, ptr %24, align 4, !tbaa !9
  %590 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %590, ptr %16, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %591 = load i32, ptr %24, align 4, !tbaa !9
  %592 = load i32, ptr %25, align 4, !tbaa !9
  %593 = and i32 %592, 31
  %594 = ashr i32 %591, %593
  store i32 %594, ptr %24, align 4, !tbaa !9
  %595 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %595, ptr %17, align 4, !tbaa !9
  %596 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %596, ptr %25, align 4, !tbaa !9
  %597 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %597, ptr %26, align 4, !tbaa !9
  %598 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %598, ptr %27, align 4, !tbaa !9
  %599 = load i32, ptr %26, align 4, !tbaa !9
  %600 = load i32, ptr %27, align 4, !tbaa !9
  %601 = icmp ult i32 %599, %600
  %602 = zext i1 %601 to i32
  store i32 %602, ptr %26, align 4, !tbaa !9
  %603 = load i32, ptr %26, align 4, !tbaa !9
  %604 = icmp ne i32 %603, 0
  br i1 %604, label %605, label %607

605:                                              ; preds = %584
  %606 = load i32, ptr %24, align 4, !tbaa !9
  br label %609

607:                                              ; preds = %584
  %608 = load i32, ptr %25, align 4, !tbaa !9
  br label %609

609:                                              ; preds = %607, %605
  %610 = phi i32 [ %606, %605 ], [ %608, %607 ]
  store i32 %610, ptr %24, align 4, !tbaa !9
  %611 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %611, ptr %25, align 4, !tbaa !9
  store i32 2147483644, ptr %26, align 4, !tbaa !9
  %612 = load i32, ptr %25, align 4, !tbaa !9
  %613 = load i32, ptr %26, align 4, !tbaa !9
  %614 = icmp uge i32 %612, %613
  %615 = zext i1 %614 to i32
  store i32 %615, ptr %25, align 4, !tbaa !9
  %616 = load i32, ptr %25, align 4, !tbaa !9
  %617 = icmp ne i32 %616, 0
  br i1 %617, label %618, label %620

618:                                              ; preds = %609
  %619 = load i32, ptr %23, align 4, !tbaa !9
  br label %622

620:                                              ; preds = %609
  %621 = load i32, ptr %24, align 4, !tbaa !9
  br label %622

622:                                              ; preds = %620, %618
  %623 = phi i32 [ %619, %618 ], [ %621, %620 ]
  store i32 %623, ptr %23, align 4, !tbaa !9
  %624 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %624, ptr %11, align 4, !tbaa !9
  %625 = load i32, ptr %23, align 4, !tbaa !9
  %626 = icmp ne i32 %625, 0
  br i1 %626, label %627, label %645

627:                                              ; preds = %622
  %628 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %628, ptr %23, align 4, !tbaa !9
  store i32 1073741824, ptr %24, align 4, !tbaa !9
  %629 = load i32, ptr %23, align 4, !tbaa !9
  %630 = load i32, ptr %24, align 4, !tbaa !9
  %631 = icmp uge i32 %629, %630
  %632 = zext i1 %631 to i32
  store i32 %632, ptr %23, align 4, !tbaa !9
  %633 = load i32, ptr %23, align 4, !tbaa !9
  %634 = icmp ne i32 %633, 0
  br i1 %634, label %635, label %636

635:                                              ; preds = %627
  br label %1116

636:                                              ; preds = %627
  %637 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %637, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %638 = load i32, ptr %24, align 4, !tbaa !9
  %639 = and i32 %638, 31
  %640 = load i32, ptr %23, align 4, !tbaa !9
  %641 = shl i32 %640, %639
  store i32 %641, ptr %23, align 4, !tbaa !9
  %642 = load ptr, ptr %5, align 8, !tbaa !5
  %643 = load i32, ptr %23, align 4, !tbaa !9
  %644 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %642, i32 noundef %643)
  store i32 %644, ptr %23, align 4, !tbaa !9
  br label %646

645:                                              ; preds = %622
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %646

646:                                              ; preds = %645, %636
  %647 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %647, ptr %16, align 4, !tbaa !9
  %648 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %648, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %649 = load i32, ptr %25, align 4, !tbaa !9
  %650 = and i32 %649, 31
  %651 = load i32, ptr %24, align 4, !tbaa !9
  %652 = shl i32 %651, %650
  store i32 %652, ptr %24, align 4, !tbaa !9
  %653 = load i32, ptr %24, align 4, !tbaa !9
  %654 = load i32, ptr %23, align 4, !tbaa !9
  %655 = add i32 %654, %653
  store i32 %655, ptr %23, align 4, !tbaa !9
  %656 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %656, ptr %15, align 4, !tbaa !9
  %657 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %657, ptr %24, align 4, !tbaa !9
  %658 = load ptr, ptr %5, align 8, !tbaa !5
  %659 = getelementptr inbounds %struct.w2c_hermes, ptr %658, i32 0, i32 6
  %660 = load i32, ptr %23, align 4, !tbaa !9
  %661 = zext i32 %660 to i64
  %662 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %659, i64 noundef %661, i32 noundef %662)
  %663 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %663, ptr %23, align 4, !tbaa !9
  %664 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %664, ptr %24, align 4, !tbaa !9
  %665 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %665, ptr %25, align 4, !tbaa !9
  %666 = load ptr, ptr %5, align 8, !tbaa !5
  %667 = load i32, ptr %23, align 4, !tbaa !9
  %668 = load i32, ptr %24, align 4, !tbaa !9
  %669 = load i32, ptr %25, align 4, !tbaa !9
  %670 = call i32 @w2c_hermes_memmove(ptr noundef %666, i32 noundef %667, i32 noundef %668, i32 noundef %669)
  store i32 %670, ptr %23, align 4, !tbaa !9
  %671 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %671, ptr %12, align 4, !tbaa !9
  %672 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %672, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %673 = load i32, ptr %25, align 4, !tbaa !9
  %674 = and i32 %673, 31
  %675 = load i32, ptr %24, align 4, !tbaa !9
  %676 = shl i32 %675, %674
  store i32 %676, ptr %24, align 4, !tbaa !9
  %677 = load i32, ptr %24, align 4, !tbaa !9
  %678 = load i32, ptr %23, align 4, !tbaa !9
  %679 = add i32 %678, %677
  store i32 %679, ptr %23, align 4, !tbaa !9
  %680 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %680, ptr %16, align 4, !tbaa !9
  %681 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %681, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %682 = load i32, ptr %24, align 4, !tbaa !9
  %683 = load i32, ptr %23, align 4, !tbaa !9
  %684 = add i32 %683, %682
  store i32 %684, ptr %23, align 4, !tbaa !9
  %685 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %685, ptr %11, align 4, !tbaa !9
  %686 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %686, ptr %23, align 4, !tbaa !9
  %687 = load i32, ptr %23, align 4, !tbaa !9
  %688 = icmp ne i32 %687, 0
  br i1 %688, label %689, label %693

689:                                              ; preds = %646
  %690 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %690, ptr %23, align 4, !tbaa !9
  %691 = load ptr, ptr %5, align 8, !tbaa !5
  %692 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %691, i32 noundef %692)
  br label %693

693:                                              ; preds = %689, %646
  %694 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %694, ptr %23, align 4, !tbaa !9
  %695 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %695, ptr %18, align 4, !tbaa !9
  br label %696

696:                                              ; preds = %693, %548
  %697 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %697, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %698 = load i32, ptr %24, align 4, !tbaa !9
  %699 = load i32, ptr %23, align 4, !tbaa !9
  %700 = add i32 %699, %698
  store i32 %700, ptr %23, align 4, !tbaa !9
  %701 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %701, ptr %10, align 4, !tbaa !9
  %702 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %702, ptr %24, align 4, !tbaa !9
  %703 = load i32, ptr %23, align 4, !tbaa !9
  %704 = load i32, ptr %24, align 4, !tbaa !9
  %705 = icmp ult i32 %703, %704
  %706 = zext i1 %705 to i32
  store i32 %706, ptr %23, align 4, !tbaa !9
  %707 = load i32, ptr %23, align 4, !tbaa !9
  %708 = icmp ne i32 %707, 0
  br i1 %708, label %709, label %710

709:                                              ; preds = %696
  br label %504

710:                                              ; preds = %696
  br label %711

711:                                              ; preds = %710, %463
  %712 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %712, ptr %23, align 4, !tbaa !9
  %713 = load ptr, ptr %5, align 8, !tbaa !5
  %714 = getelementptr inbounds %struct.w2c_hermes, ptr %713, i32 0, i32 6
  %715 = load i32, ptr %23, align 4, !tbaa !9
  %716 = zext i32 %715 to i64
  %717 = call i32 @i32_load8_u(ptr noundef %714, i64 noundef %716)
  store i32 %717, ptr %23, align 4, !tbaa !9
  %718 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %718, ptr %12, align 4, !tbaa !9
  %719 = load i32, ptr %23, align 4, !tbaa !9
  %720 = icmp ne i32 %719, 0
  br i1 %720, label %721, label %722

721:                                              ; preds = %711
  br label %312

722:                                              ; preds = %711
  br label %723

723:                                              ; preds = %722, %309, %97
  %724 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %724, ptr %23, align 4, !tbaa !9
  %725 = load ptr, ptr %5, align 8, !tbaa !5
  %726 = getelementptr inbounds %struct.w2c_hermes, ptr %725, i32 0, i32 6
  %727 = load i32, ptr %23, align 4, !tbaa !9
  %728 = zext i32 %727 to i64
  %729 = add i64 %728, 24
  %730 = call i32 @i32_load(ptr noundef %726, i64 noundef %729)
  store i32 %730, ptr %23, align 4, !tbaa !9
  %731 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %731, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %732 = load i32, ptr %23, align 4, !tbaa !9
  %733 = load i32, ptr %24, align 4, !tbaa !9
  %734 = icmp slt i32 %732, %733
  %735 = zext i1 %734 to i32
  store i32 %735, ptr %23, align 4, !tbaa !9
  %736 = load i32, ptr %23, align 4, !tbaa !9
  %737 = icmp ne i32 %736, 0
  br i1 %737, label %738, label %739

738:                                              ; preds = %723
  br label %1118

739:                                              ; preds = %723
  %740 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %740, ptr %23, align 4, !tbaa !9
  %741 = load ptr, ptr %5, align 8, !tbaa !5
  %742 = getelementptr inbounds %struct.w2c_hermes, ptr %741, i32 0, i32 6
  %743 = load i32, ptr %23, align 4, !tbaa !9
  %744 = zext i32 %743 to i64
  %745 = add i64 %744, 52
  %746 = call i32 @i32_load(ptr noundef %742, i64 noundef %745)
  store i32 %746, ptr %23, align 4, !tbaa !9
  %747 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %747, ptr %24, align 4, !tbaa !9
  %748 = load ptr, ptr %5, align 8, !tbaa !5
  %749 = getelementptr inbounds %struct.w2c_hermes, ptr %748, i32 0, i32 6
  %750 = load i32, ptr %24, align 4, !tbaa !9
  %751 = zext i32 %750 to i64
  %752 = add i64 %751, 59
  %753 = call i32 @i32_load8_u(ptr noundef %749, i64 noundef %752)
  store i32 %753, ptr %24, align 4, !tbaa !9
  %754 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %754, ptr %16, align 4, !tbaa !9
  %755 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %755, ptr %25, align 4, !tbaa !9
  %756 = load i32, ptr %25, align 4, !tbaa !9
  %757 = trunc i32 %756 to i8
  %758 = sext i8 %757 to i32
  store i32 %758, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %759 = load i32, ptr %25, align 4, !tbaa !9
  %760 = load i32, ptr %26, align 4, !tbaa !9
  %761 = icmp slt i32 %759, %760
  %762 = zext i1 %761 to i32
  store i32 %762, ptr %25, align 4, !tbaa !9
  %763 = load i32, ptr %25, align 4, !tbaa !9
  %764 = icmp ne i32 %763, 0
  br i1 %764, label %765, label %767

765:                                              ; preds = %739
  %766 = load i32, ptr %23, align 4, !tbaa !9
  br label %769

767:                                              ; preds = %739
  %768 = load i32, ptr %24, align 4, !tbaa !9
  br label %769

769:                                              ; preds = %767, %765
  %770 = phi i32 [ %766, %765 ], [ %768, %767 ]
  store i32 %770, ptr %23, align 4, !tbaa !9
  %771 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %771, ptr %14, align 4, !tbaa !9
  %772 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %772, ptr %19, align 4, !tbaa !9
  %773 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %773, ptr %23, align 4, !tbaa !9
  %774 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %774, ptr %24, align 4, !tbaa !9
  %775 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %775, ptr %25, align 4, !tbaa !9
  %776 = load i32, ptr %25, align 4, !tbaa !9
  %777 = load i32, ptr %24, align 4, !tbaa !9
  %778 = sub i32 %777, %776
  store i32 %778, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %779 = load i32, ptr %24, align 4, !tbaa !9
  %780 = load i32, ptr %25, align 4, !tbaa !9
  %781 = and i32 %780, 31
  %782 = ashr i32 %779, %781
  store i32 %782, ptr %24, align 4, !tbaa !9
  %783 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %783, ptr %15, align 4, !tbaa !9
  %784 = load i32, ptr %23, align 4, !tbaa !9
  %785 = load i32, ptr %24, align 4, !tbaa !9
  %786 = icmp ult i32 %784, %785
  %787 = zext i1 %786 to i32
  store i32 %787, ptr %23, align 4, !tbaa !9
  %788 = load i32, ptr %23, align 4, !tbaa !9
  %789 = icmp ne i32 %788, 0
  br i1 %789, label %790, label %806

790:                                              ; preds = %769
  %791 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %791, ptr %23, align 4, !tbaa !9
  %792 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %792, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %793 = load i32, ptr %25, align 4, !tbaa !9
  %794 = and i32 %793, 31
  %795 = load i32, ptr %24, align 4, !tbaa !9
  %796 = shl i32 %795, %794
  store i32 %796, ptr %24, align 4, !tbaa !9
  %797 = load i32, ptr %24, align 4, !tbaa !9
  %798 = load i32, ptr %23, align 4, !tbaa !9
  %799 = add i32 %798, %797
  store i32 %799, ptr %23, align 4, !tbaa !9
  %800 = load ptr, ptr %5, align 8, !tbaa !5
  %801 = getelementptr inbounds %struct.w2c_hermes, ptr %800, i32 0, i32 6
  %802 = load i32, ptr %23, align 4, !tbaa !9
  %803 = zext i32 %802 to i64
  %804 = call i32 @i32_load(ptr noundef %801, i64 noundef %803)
  store i32 %804, ptr %23, align 4, !tbaa !9
  %805 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %805, ptr %19, align 4, !tbaa !9
  br label %806

806:                                              ; preds = %790, %769
  store i32 0, ptr %23, align 4, !tbaa !9
  %807 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %807, ptr %17, align 4, !tbaa !9
  %808 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %808, ptr %23, align 4, !tbaa !9
  %809 = load ptr, ptr %5, align 8, !tbaa !5
  %810 = getelementptr inbounds %struct.w2c_hermes, ptr %809, i32 0, i32 6
  %811 = load i32, ptr %23, align 4, !tbaa !9
  %812 = zext i32 %811 to i64
  %813 = add i64 %812, 60
  %814 = call i32 @i32_load(ptr noundef %810, i64 noundef %813)
  store i32 %814, ptr %23, align 4, !tbaa !9
  %815 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %815, ptr %20, align 4, !tbaa !9
  %816 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %816, ptr %24, align 4, !tbaa !9
  %817 = load ptr, ptr %5, align 8, !tbaa !5
  %818 = getelementptr inbounds %struct.w2c_hermes, ptr %817, i32 0, i32 6
  %819 = load i32, ptr %24, align 4, !tbaa !9
  %820 = zext i32 %819 to i64
  %821 = add i64 %820, 56
  %822 = call i32 @i32_load(ptr noundef %818, i64 noundef %821)
  store i32 %822, ptr %24, align 4, !tbaa !9
  %823 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %823, ptr %12, align 4, !tbaa !9
  %824 = load i32, ptr %23, align 4, !tbaa !9
  %825 = load i32, ptr %24, align 4, !tbaa !9
  %826 = icmp eq i32 %824, %825
  %827 = zext i1 %826 to i32
  store i32 %827, ptr %23, align 4, !tbaa !9
  %828 = load i32, ptr %23, align 4, !tbaa !9
  %829 = icmp ne i32 %828, 0
  br i1 %829, label %830, label %833

830:                                              ; preds = %806
  store i32 0, ptr %23, align 4, !tbaa !9
  %831 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %831, ptr %16, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %832 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %832, ptr %11, align 4, !tbaa !9
  br label %1136

833:                                              ; preds = %806
  store i32 0, ptr %23, align 4, !tbaa !9
  %834 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %834, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %835 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %835, ptr %16, align 4, !tbaa !9
  br label %836

836:                                              ; preds = %1114, %833
  %837 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %837, ptr %23, align 4, !tbaa !9
  %838 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %838, ptr %10, align 4, !tbaa !9
  %839 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %839, ptr %23, align 4, !tbaa !9
  %840 = load ptr, ptr %5, align 8, !tbaa !5
  %841 = getelementptr inbounds %struct.w2c_hermes, ptr %840, i32 0, i32 6
  %842 = load i32, ptr %23, align 4, !tbaa !9
  %843 = zext i32 %842 to i64
  %844 = call i32 @i32_load(ptr noundef %841, i64 noundef %843)
  store i32 %844, ptr %23, align 4, !tbaa !9
  %845 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %845, ptr %13, align 4, !tbaa !9
  %846 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %846, ptr %24, align 4, !tbaa !9
  %847 = load i32, ptr %23, align 4, !tbaa !9
  %848 = load i32, ptr %24, align 4, !tbaa !9
  %849 = icmp ult i32 %847, %848
  %850 = zext i1 %849 to i32
  store i32 %850, ptr %23, align 4, !tbaa !9
  %851 = load i32, ptr %23, align 4, !tbaa !9
  %852 = icmp ne i32 %851, 0
  br i1 %852, label %853, label %869

853:                                              ; preds = %836
  %854 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %854, ptr %23, align 4, !tbaa !9
  %855 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %855, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %856 = load i32, ptr %25, align 4, !tbaa !9
  %857 = and i32 %856, 31
  %858 = load i32, ptr %24, align 4, !tbaa !9
  %859 = shl i32 %858, %857
  store i32 %859, ptr %24, align 4, !tbaa !9
  %860 = load i32, ptr %24, align 4, !tbaa !9
  %861 = load i32, ptr %23, align 4, !tbaa !9
  %862 = add i32 %861, %860
  store i32 %862, ptr %23, align 4, !tbaa !9
  %863 = load ptr, ptr %5, align 8, !tbaa !5
  %864 = getelementptr inbounds %struct.w2c_hermes, ptr %863, i32 0, i32 6
  %865 = load i32, ptr %23, align 4, !tbaa !9
  %866 = zext i32 %865 to i64
  %867 = call i32 @i32_load(ptr noundef %864, i64 noundef %866)
  store i32 %867, ptr %23, align 4, !tbaa !9
  %868 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %868, ptr %10, align 4, !tbaa !9
  br label %869

869:                                              ; preds = %853, %836
  %870 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %870, ptr %23, align 4, !tbaa !9
  %871 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %871, ptr %13, align 4, !tbaa !9
  %872 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %872, ptr %23, align 4, !tbaa !9
  %873 = load ptr, ptr %5, align 8, !tbaa !5
  %874 = getelementptr inbounds %struct.w2c_hermes, ptr %873, i32 0, i32 6
  %875 = load i32, ptr %23, align 4, !tbaa !9
  %876 = zext i32 %875 to i64
  %877 = add i64 %876, 4
  %878 = call i32 @i32_load(ptr noundef %874, i64 noundef %877)
  store i32 %878, ptr %23, align 4, !tbaa !9
  %879 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %879, ptr %7, align 4, !tbaa !9
  %880 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %880, ptr %24, align 4, !tbaa !9
  %881 = load i32, ptr %23, align 4, !tbaa !9
  %882 = load i32, ptr %24, align 4, !tbaa !9
  %883 = icmp ult i32 %881, %882
  %884 = zext i1 %883 to i32
  store i32 %884, ptr %23, align 4, !tbaa !9
  %885 = load i32, ptr %23, align 4, !tbaa !9
  %886 = icmp ne i32 %885, 0
  br i1 %886, label %887, label %903

887:                                              ; preds = %869
  %888 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %888, ptr %23, align 4, !tbaa !9
  %889 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %889, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %890 = load i32, ptr %25, align 4, !tbaa !9
  %891 = and i32 %890, 31
  %892 = load i32, ptr %24, align 4, !tbaa !9
  %893 = shl i32 %892, %891
  store i32 %893, ptr %24, align 4, !tbaa !9
  %894 = load i32, ptr %24, align 4, !tbaa !9
  %895 = load i32, ptr %23, align 4, !tbaa !9
  %896 = add i32 %895, %894
  store i32 %896, ptr %23, align 4, !tbaa !9
  %897 = load ptr, ptr %5, align 8, !tbaa !5
  %898 = getelementptr inbounds %struct.w2c_hermes, ptr %897, i32 0, i32 6
  %899 = load i32, ptr %23, align 4, !tbaa !9
  %900 = zext i32 %899 to i64
  %901 = call i32 @i32_load(ptr noundef %898, i64 noundef %900)
  store i32 %901, ptr %23, align 4, !tbaa !9
  %902 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %902, ptr %13, align 4, !tbaa !9
  br label %903

903:                                              ; preds = %887, %869
  %904 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %904, ptr %23, align 4, !tbaa !9
  %905 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %905, ptr %24, align 4, !tbaa !9
  %906 = load i32, ptr %23, align 4, !tbaa !9
  %907 = load i32, ptr %24, align 4, !tbaa !9
  %908 = icmp ult i32 %906, %907
  %909 = zext i1 %908 to i32
  store i32 %909, ptr %23, align 4, !tbaa !9
  %910 = load i32, ptr %23, align 4, !tbaa !9
  %911 = icmp ne i32 %910, 0
  br i1 %911, label %912, label %933

912:                                              ; preds = %903
  %913 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %913, ptr %23, align 4, !tbaa !9
  %914 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %914, ptr %24, align 4, !tbaa !9
  %915 = load ptr, ptr %5, align 8, !tbaa !5
  %916 = getelementptr inbounds %struct.w2c_hermes, ptr %915, i32 0, i32 6
  %917 = load i32, ptr %23, align 4, !tbaa !9
  %918 = zext i32 %917 to i64
  %919 = add i64 %918, 4
  %920 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %916, i64 noundef %919, i32 noundef %920)
  %921 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %921, ptr %23, align 4, !tbaa !9
  %922 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %922, ptr %24, align 4, !tbaa !9
  %923 = load ptr, ptr %5, align 8, !tbaa !5
  %924 = getelementptr inbounds %struct.w2c_hermes, ptr %923, i32 0, i32 6
  %925 = load i32, ptr %23, align 4, !tbaa !9
  %926 = zext i32 %925 to i64
  %927 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %924, i64 noundef %926, i32 noundef %927)
  %928 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %928, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %929 = load i32, ptr %24, align 4, !tbaa !9
  %930 = load i32, ptr %23, align 4, !tbaa !9
  %931 = add i32 %930, %929
  store i32 %931, ptr %23, align 4, !tbaa !9
  %932 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %932, ptr %11, align 4, !tbaa !9
  br label %1101

933:                                              ; preds = %903
  %934 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %934, ptr %23, align 4, !tbaa !9
  %935 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %935, ptr %24, align 4, !tbaa !9
  %936 = load i32, ptr %24, align 4, !tbaa !9
  %937 = load i32, ptr %23, align 4, !tbaa !9
  %938 = sub i32 %937, %936
  store i32 %938, ptr %23, align 4, !tbaa !9
  store i32 3, ptr %24, align 4, !tbaa !9
  %939 = load i32, ptr %23, align 4, !tbaa !9
  %940 = load i32, ptr %24, align 4, !tbaa !9
  %941 = and i32 %940, 31
  %942 = ashr i32 %939, %941
  store i32 %942, ptr %23, align 4, !tbaa !9
  %943 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %943, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %944 = load i32, ptr %24, align 4, !tbaa !9
  %945 = load i32, ptr %23, align 4, !tbaa !9
  %946 = add i32 %945, %944
  store i32 %946, ptr %23, align 4, !tbaa !9
  %947 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %947, ptr %7, align 4, !tbaa !9
  store i32 536870912, ptr %24, align 4, !tbaa !9
  %948 = load i32, ptr %23, align 4, !tbaa !9
  %949 = load i32, ptr %24, align 4, !tbaa !9
  %950 = icmp uge i32 %948, %949
  %951 = zext i1 %950 to i32
  store i32 %951, ptr %23, align 4, !tbaa !9
  %952 = load i32, ptr %23, align 4, !tbaa !9
  %953 = icmp ne i32 %952, 0
  br i1 %953, label %954, label %955

954:                                              ; preds = %933
  br label %3010

955:                                              ; preds = %933
  store i32 536870911, ptr %23, align 4, !tbaa !9
  %956 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %956, ptr %24, align 4, !tbaa !9
  %957 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %957, ptr %25, align 4, !tbaa !9
  %958 = load i32, ptr %25, align 4, !tbaa !9
  %959 = load i32, ptr %24, align 4, !tbaa !9
  %960 = sub i32 %959, %958
  store i32 %960, ptr %24, align 4, !tbaa !9
  %961 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %961, ptr %17, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %962 = load i32, ptr %24, align 4, !tbaa !9
  %963 = load i32, ptr %25, align 4, !tbaa !9
  %964 = and i32 %963, 31
  %965 = ashr i32 %962, %964
  store i32 %965, ptr %24, align 4, !tbaa !9
  %966 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %966, ptr %21, align 4, !tbaa !9
  %967 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %967, ptr %25, align 4, !tbaa !9
  %968 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %968, ptr %26, align 4, !tbaa !9
  %969 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %969, ptr %27, align 4, !tbaa !9
  %970 = load i32, ptr %26, align 4, !tbaa !9
  %971 = load i32, ptr %27, align 4, !tbaa !9
  %972 = icmp ult i32 %970, %971
  %973 = zext i1 %972 to i32
  store i32 %973, ptr %26, align 4, !tbaa !9
  %974 = load i32, ptr %26, align 4, !tbaa !9
  %975 = icmp ne i32 %974, 0
  br i1 %975, label %976, label %978

976:                                              ; preds = %955
  %977 = load i32, ptr %24, align 4, !tbaa !9
  br label %980

978:                                              ; preds = %955
  %979 = load i32, ptr %25, align 4, !tbaa !9
  br label %980

980:                                              ; preds = %978, %976
  %981 = phi i32 [ %977, %976 ], [ %979, %978 ]
  store i32 %981, ptr %24, align 4, !tbaa !9
  %982 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %982, ptr %25, align 4, !tbaa !9
  store i32 2147483640, ptr %26, align 4, !tbaa !9
  %983 = load i32, ptr %25, align 4, !tbaa !9
  %984 = load i32, ptr %26, align 4, !tbaa !9
  %985 = icmp uge i32 %983, %984
  %986 = zext i1 %985 to i32
  store i32 %986, ptr %25, align 4, !tbaa !9
  %987 = load i32, ptr %25, align 4, !tbaa !9
  %988 = icmp ne i32 %987, 0
  br i1 %988, label %989, label %991

989:                                              ; preds = %980
  %990 = load i32, ptr %23, align 4, !tbaa !9
  br label %993

991:                                              ; preds = %980
  %992 = load i32, ptr %24, align 4, !tbaa !9
  br label %993

993:                                              ; preds = %991, %989
  %994 = phi i32 [ %990, %989 ], [ %992, %991 ]
  store i32 %994, ptr %23, align 4, !tbaa !9
  %995 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %995, ptr %17, align 4, !tbaa !9
  store i32 536870912, ptr %24, align 4, !tbaa !9
  %996 = load i32, ptr %23, align 4, !tbaa !9
  %997 = load i32, ptr %24, align 4, !tbaa !9
  %998 = icmp uge i32 %996, %997
  %999 = zext i1 %998 to i32
  store i32 %999, ptr %23, align 4, !tbaa !9
  %1000 = load i32, ptr %23, align 4, !tbaa !9
  %1001 = icmp ne i32 %1000, 0
  br i1 %1001, label %1002, label %1003

1002:                                             ; preds = %993
  br label %1116

1003:                                             ; preds = %993
  %1004 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1004, ptr %23, align 4, !tbaa !9
  store i32 3, ptr %24, align 4, !tbaa !9
  %1005 = load i32, ptr %24, align 4, !tbaa !9
  %1006 = and i32 %1005, 31
  %1007 = load i32, ptr %23, align 4, !tbaa !9
  %1008 = shl i32 %1007, %1006
  store i32 %1008, ptr %23, align 4, !tbaa !9
  %1009 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1009, ptr %17, align 4, !tbaa !9
  %1010 = load ptr, ptr %5, align 8, !tbaa !5
  %1011 = load i32, ptr %23, align 4, !tbaa !9
  %1012 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1010, i32 noundef %1011)
  store i32 %1012, ptr %23, align 4, !tbaa !9
  %1013 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1013, ptr %21, align 4, !tbaa !9
  %1014 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1014, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %1015 = load i32, ptr %25, align 4, !tbaa !9
  %1016 = and i32 %1015, 31
  %1017 = load i32, ptr %24, align 4, !tbaa !9
  %1018 = shl i32 %1017, %1016
  store i32 %1018, ptr %24, align 4, !tbaa !9
  %1019 = load i32, ptr %24, align 4, !tbaa !9
  %1020 = load i32, ptr %23, align 4, !tbaa !9
  %1021 = add i32 %1020, %1019
  store i32 %1021, ptr %23, align 4, !tbaa !9
  %1022 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1022, ptr %7, align 4, !tbaa !9
  %1023 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1023, ptr %24, align 4, !tbaa !9
  %1024 = load ptr, ptr %5, align 8, !tbaa !5
  %1025 = getelementptr inbounds %struct.w2c_hermes, ptr %1024, i32 0, i32 6
  %1026 = load i32, ptr %23, align 4, !tbaa !9
  %1027 = zext i32 %1026 to i64
  %1028 = add i64 %1027, 4
  %1029 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1025, i64 noundef %1028, i32 noundef %1029)
  %1030 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1030, ptr %23, align 4, !tbaa !9
  %1031 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1031, ptr %24, align 4, !tbaa !9
  %1032 = load ptr, ptr %5, align 8, !tbaa !5
  %1033 = getelementptr inbounds %struct.w2c_hermes, ptr %1032, i32 0, i32 6
  %1034 = load i32, ptr %23, align 4, !tbaa !9
  %1035 = zext i32 %1034 to i64
  %1036 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1033, i64 noundef %1035, i32 noundef %1036)
  %1037 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1037, ptr %23, align 4, !tbaa !9
  %1038 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1038, ptr %10, align 4, !tbaa !9
  %1039 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1039, ptr %23, align 4, !tbaa !9
  %1040 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1040, ptr %24, align 4, !tbaa !9
  %1041 = load i32, ptr %23, align 4, !tbaa !9
  %1042 = load i32, ptr %24, align 4, !tbaa !9
  %1043 = icmp ne i32 %1041, %1042
  %1044 = zext i1 %1043 to i32
  store i32 %1044, ptr %23, align 4, !tbaa !9
  %1045 = load i32, ptr %23, align 4, !tbaa !9
  %1046 = icmp ne i32 %1045, 0
  br i1 %1046, label %1047, label %1079

1047:                                             ; preds = %1003
  br label %1048

1048:                                             ; preds = %1077, %1047
  %1049 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1049, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1050 = load i32, ptr %24, align 4, !tbaa !9
  %1051 = load i32, ptr %23, align 4, !tbaa !9
  %1052 = sub i32 %1051, %1050
  store i32 %1052, ptr %23, align 4, !tbaa !9
  %1053 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1053, ptr %10, align 4, !tbaa !9
  %1054 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1054, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %1055 = load i32, ptr %25, align 4, !tbaa !9
  %1056 = load i32, ptr %24, align 4, !tbaa !9
  %1057 = sub i32 %1056, %1055
  store i32 %1057, ptr %24, align 4, !tbaa !9
  %1058 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1058, ptr %11, align 4, !tbaa !9
  %1059 = load ptr, ptr %5, align 8, !tbaa !5
  %1060 = getelementptr inbounds %struct.w2c_hermes, ptr %1059, i32 0, i32 6
  %1061 = load i32, ptr %24, align 4, !tbaa !9
  %1062 = zext i32 %1061 to i64
  %1063 = call i64 @i64_load(ptr noundef %1060, i64 noundef %1062)
  store i64 %1063, ptr %30, align 8, !tbaa !17
  %1064 = load ptr, ptr %5, align 8, !tbaa !5
  %1065 = getelementptr inbounds %struct.w2c_hermes, ptr %1064, i32 0, i32 6
  %1066 = load i32, ptr %23, align 4, !tbaa !9
  %1067 = zext i32 %1066 to i64
  %1068 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %1065, i64 noundef %1067, i64 noundef %1068)
  %1069 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1069, ptr %23, align 4, !tbaa !9
  %1070 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1070, ptr %24, align 4, !tbaa !9
  %1071 = load i32, ptr %23, align 4, !tbaa !9
  %1072 = load i32, ptr %24, align 4, !tbaa !9
  %1073 = icmp ne i32 %1071, %1072
  %1074 = zext i1 %1073 to i32
  store i32 %1074, ptr %23, align 4, !tbaa !9
  %1075 = load i32, ptr %23, align 4, !tbaa !9
  %1076 = icmp ne i32 %1075, 0
  br i1 %1076, label %1077, label %1078

1077:                                             ; preds = %1048
  br label %1048

1078:                                             ; preds = %1048
  br label %1079

1079:                                             ; preds = %1078, %1003
  %1080 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1080, ptr %23, align 4, !tbaa !9
  %1081 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1081, ptr %24, align 4, !tbaa !9
  %1082 = load i32, ptr %24, align 4, !tbaa !9
  %1083 = load i32, ptr %23, align 4, !tbaa !9
  %1084 = add i32 %1083, %1082
  store i32 %1084, ptr %23, align 4, !tbaa !9
  %1085 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1085, ptr %17, align 4, !tbaa !9
  %1086 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1086, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1087 = load i32, ptr %24, align 4, !tbaa !9
  %1088 = load i32, ptr %23, align 4, !tbaa !9
  %1089 = add i32 %1088, %1087
  store i32 %1089, ptr %23, align 4, !tbaa !9
  %1090 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1090, ptr %11, align 4, !tbaa !9
  %1091 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1091, ptr %23, align 4, !tbaa !9
  %1092 = load i32, ptr %23, align 4, !tbaa !9
  %1093 = icmp ne i32 %1092, 0
  br i1 %1093, label %1094, label %1098

1094:                                             ; preds = %1079
  %1095 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1095, ptr %23, align 4, !tbaa !9
  %1096 = load ptr, ptr %5, align 8, !tbaa !5
  %1097 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %1096, i32 noundef %1097)
  br label %1098

1098:                                             ; preds = %1094, %1079
  %1099 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1099, ptr %23, align 4, !tbaa !9
  %1100 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1100, ptr %16, align 4, !tbaa !9
  br label %1101

1101:                                             ; preds = %1098, %912
  %1102 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1102, ptr %23, align 4, !tbaa !9
  %1103 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1103, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %1104 = load i32, ptr %25, align 4, !tbaa !9
  %1105 = load i32, ptr %24, align 4, !tbaa !9
  %1106 = add i32 %1105, %1104
  store i32 %1106, ptr %24, align 4, !tbaa !9
  %1107 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1107, ptr %12, align 4, !tbaa !9
  %1108 = load i32, ptr %23, align 4, !tbaa !9
  %1109 = load i32, ptr %24, align 4, !tbaa !9
  %1110 = icmp ne i32 %1108, %1109
  %1111 = zext i1 %1110 to i32
  store i32 %1111, ptr %23, align 4, !tbaa !9
  %1112 = load i32, ptr %23, align 4, !tbaa !9
  %1113 = icmp ne i32 %1112, 0
  br i1 %1113, label %1114, label %1115

1114:                                             ; preds = %1101
  br label %836

1115:                                             ; preds = %1101
  br label %1136

1116:                                             ; preds = %1002, %635
  %1117 = load ptr, ptr %5, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef %1117)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1118:                                             ; preds = %738
  store i32 0, ptr %23, align 4, !tbaa !9
  %1119 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1119, ptr %9, align 4, !tbaa !9
  store i32 111746, ptr %24, align 4, !tbaa !9
  %1120 = load i32, ptr %24, align 4, !tbaa !9
  %1121 = load i32, ptr %23, align 4, !tbaa !9
  %1122 = add i32 %1121, %1120
  store i32 %1122, ptr %23, align 4, !tbaa !9
  %1123 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1123, ptr %24, align 4, !tbaa !9
  store i32 57706, ptr %25, align 4, !tbaa !9
  %1124 = load i32, ptr %25, align 4, !tbaa !9
  %1125 = load i32, ptr %24, align 4, !tbaa !9
  %1126 = add i32 %1125, %1124
  store i32 %1126, ptr %24, align 4, !tbaa !9
  store i32 461, ptr %25, align 4, !tbaa !9
  %1127 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1127, ptr %26, align 4, !tbaa !9
  store i32 95648, ptr %27, align 4, !tbaa !9
  %1128 = load i32, ptr %27, align 4, !tbaa !9
  %1129 = load i32, ptr %26, align 4, !tbaa !9
  %1130 = add i32 %1129, %1128
  store i32 %1130, ptr %26, align 4, !tbaa !9
  %1131 = load ptr, ptr %5, align 8, !tbaa !5
  %1132 = load i32, ptr %23, align 4, !tbaa !9
  %1133 = load i32, ptr %24, align 4, !tbaa !9
  %1134 = load i32, ptr %25, align 4, !tbaa !9
  %1135 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %1131, i32 noundef %1132, i32 noundef %1133, i32 noundef %1134, i32 noundef %1135)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1136:                                             ; preds = %1115, %830
  %1137 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1137, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1138 = load i32, ptr %24, align 4, !tbaa !9
  %1139 = load i32, ptr %23, align 4, !tbaa !9
  %1140 = add i32 %1139, %1138
  store i32 %1140, ptr %23, align 4, !tbaa !9
  %1141 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1141, ptr %10, align 4, !tbaa !9
  store i32 2147483632, ptr %24, align 4, !tbaa !9
  %1142 = load i32, ptr %23, align 4, !tbaa !9
  %1143 = load i32, ptr %24, align 4, !tbaa !9
  %1144 = icmp uge i32 %1142, %1143
  %1145 = zext i1 %1144 to i32
  store i32 %1145, ptr %23, align 4, !tbaa !9
  %1146 = load i32, ptr %23, align 4, !tbaa !9
  %1147 = icmp ne i32 %1146, 0
  br i1 %1147, label %1148, label %1149

1148:                                             ; preds = %1136
  br label %3010

1149:                                             ; preds = %1136
  %1150 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1150, ptr %23, align 4, !tbaa !9
  store i32 11, ptr %24, align 4, !tbaa !9
  %1151 = load i32, ptr %23, align 4, !tbaa !9
  %1152 = load i32, ptr %24, align 4, !tbaa !9
  %1153 = icmp uge i32 %1151, %1152
  %1154 = zext i1 %1153 to i32
  store i32 %1154, ptr %23, align 4, !tbaa !9
  %1155 = load i32, ptr %23, align 4, !tbaa !9
  %1156 = icmp ne i32 %1155, 0
  br i1 %1156, label %1157, label %1197

1157:                                             ; preds = %1149
  %1158 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1158, ptr %23, align 4, !tbaa !9
  store i32 15, ptr %24, align 4, !tbaa !9
  %1159 = load i32, ptr %24, align 4, !tbaa !9
  %1160 = load i32, ptr %23, align 4, !tbaa !9
  %1161 = or i32 %1160, %1159
  store i32 %1161, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1162 = load i32, ptr %24, align 4, !tbaa !9
  %1163 = load i32, ptr %23, align 4, !tbaa !9
  %1164 = add i32 %1163, %1162
  store i32 %1164, ptr %23, align 4, !tbaa !9
  %1165 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1165, ptr %13, align 4, !tbaa !9
  %1166 = load ptr, ptr %5, align 8, !tbaa !5
  %1167 = load i32, ptr %23, align 4, !tbaa !9
  %1168 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1166, i32 noundef %1167)
  store i32 %1168, ptr %23, align 4, !tbaa !9
  %1169 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1169, ptr %12, align 4, !tbaa !9
  %1170 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1170, ptr %23, align 4, !tbaa !9
  %1171 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1171, ptr %24, align 4, !tbaa !9
  store i32 -2147483648, ptr %25, align 4, !tbaa !9
  %1172 = load i32, ptr %25, align 4, !tbaa !9
  %1173 = load i32, ptr %24, align 4, !tbaa !9
  %1174 = or i32 %1173, %1172
  store i32 %1174, ptr %24, align 4, !tbaa !9
  %1175 = load ptr, ptr %5, align 8, !tbaa !5
  %1176 = getelementptr inbounds %struct.w2c_hermes, ptr %1175, i32 0, i32 6
  %1177 = load i32, ptr %23, align 4, !tbaa !9
  %1178 = zext i32 %1177 to i64
  %1179 = add i64 %1178, 24
  %1180 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1176, i64 noundef %1179, i32 noundef %1180)
  %1181 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1181, ptr %23, align 4, !tbaa !9
  %1182 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1182, ptr %24, align 4, !tbaa !9
  %1183 = load ptr, ptr %5, align 8, !tbaa !5
  %1184 = getelementptr inbounds %struct.w2c_hermes, ptr %1183, i32 0, i32 6
  %1185 = load i32, ptr %23, align 4, !tbaa !9
  %1186 = zext i32 %1185 to i64
  %1187 = add i64 %1186, 16
  %1188 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1184, i64 noundef %1187, i32 noundef %1188)
  %1189 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1189, ptr %23, align 4, !tbaa !9
  %1190 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1190, ptr %24, align 4, !tbaa !9
  %1191 = load ptr, ptr %5, align 8, !tbaa !5
  %1192 = getelementptr inbounds %struct.w2c_hermes, ptr %1191, i32 0, i32 6
  %1193 = load i32, ptr %23, align 4, !tbaa !9
  %1194 = zext i32 %1193 to i64
  %1195 = add i64 %1194, 20
  %1196 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1192, i64 noundef %1195, i32 noundef %1196)
  br label %1220

1197:                                             ; preds = %1149
  %1198 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1198, ptr %23, align 4, !tbaa !9
  %1199 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1199, ptr %24, align 4, !tbaa !9
  %1200 = load ptr, ptr %5, align 8, !tbaa !5
  %1201 = getelementptr inbounds %struct.w2c_hermes, ptr %1200, i32 0, i32 6
  %1202 = load i32, ptr %23, align 4, !tbaa !9
  %1203 = zext i32 %1202 to i64
  %1204 = add i64 %1203, 27
  %1205 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1201, i64 noundef %1204, i32 noundef %1205)
  %1206 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1206, ptr %23, align 4, !tbaa !9
  store i32 16, ptr %24, align 4, !tbaa !9
  %1207 = load i32, ptr %24, align 4, !tbaa !9
  %1208 = load i32, ptr %23, align 4, !tbaa !9
  %1209 = add i32 %1208, %1207
  store i32 %1209, ptr %23, align 4, !tbaa !9
  %1210 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1210, ptr %12, align 4, !tbaa !9
  %1211 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1211, ptr %23, align 4, !tbaa !9
  %1212 = load i32, ptr %23, align 4, !tbaa !9
  %1213 = icmp ne i32 %1212, 0
  %1214 = xor i1 %1213, true
  %1215 = zext i1 %1214 to i32
  store i32 %1215, ptr %23, align 4, !tbaa !9
  %1216 = load i32, ptr %23, align 4, !tbaa !9
  %1217 = icmp ne i32 %1216, 0
  br i1 %1217, label %1218, label %1219

1218:                                             ; preds = %1197
  br label %1228

1219:                                             ; preds = %1197
  br label %1220

1220:                                             ; preds = %1219, %1157
  %1221 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1221, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %1222 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1222, ptr %25, align 4, !tbaa !9
  %1223 = load ptr, ptr %5, align 8, !tbaa !5
  %1224 = load i32, ptr %23, align 4, !tbaa !9
  %1225 = load i32, ptr %24, align 4, !tbaa !9
  %1226 = load i32, ptr %25, align 4, !tbaa !9
  %1227 = call i32 @w2c_hermes_0x5F_memset(ptr noundef %1223, i32 noundef %1224, i32 noundef %1225, i32 noundef %1226)
  store i32 %1227, ptr %23, align 4, !tbaa !9
  br label %1228

1228:                                             ; preds = %1220, %1218
  %1229 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1229, ptr %23, align 4, !tbaa !9
  %1230 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1230, ptr %24, align 4, !tbaa !9
  %1231 = load i32, ptr %24, align 4, !tbaa !9
  %1232 = load i32, ptr %23, align 4, !tbaa !9
  %1233 = add i32 %1232, %1231
  store i32 %1233, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1234 = load ptr, ptr %5, align 8, !tbaa !5
  %1235 = getelementptr inbounds %struct.w2c_hermes, ptr %1234, i32 0, i32 6
  %1236 = load i32, ptr %23, align 4, !tbaa !9
  %1237 = zext i32 %1236 to i64
  %1238 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1235, i64 noundef %1237, i32 noundef %1238)
  %1239 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1239, ptr %23, align 4, !tbaa !9
  %1240 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1240, ptr %24, align 4, !tbaa !9
  %1241 = load i32, ptr %23, align 4, !tbaa !9
  %1242 = load i32, ptr %24, align 4, !tbaa !9
  %1243 = icmp eq i32 %1241, %1242
  %1244 = zext i1 %1243 to i32
  store i32 %1244, ptr %23, align 4, !tbaa !9
  %1245 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1245, ptr %20, align 4, !tbaa !9
  %1246 = load i32, ptr %23, align 4, !tbaa !9
  %1247 = icmp ne i32 %1246, 0
  %1248 = xor i1 %1247, true
  %1249 = zext i1 %1248 to i32
  store i32 %1249, ptr %23, align 4, !tbaa !9
  %1250 = load i32, ptr %23, align 4, !tbaa !9
  %1251 = icmp ne i32 %1250, 0
  br i1 %1251, label %1252, label %1395

1252:                                             ; preds = %1228
  %1253 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1253, ptr %23, align 4, !tbaa !9
  %1254 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1254, ptr %10, align 4, !tbaa !9
  br label %1255

1255:                                             ; preds = %1393, %1252
  %1256 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1256, ptr %23, align 4, !tbaa !9
  %1257 = load ptr, ptr %5, align 8, !tbaa !5
  %1258 = getelementptr inbounds %struct.w2c_hermes, ptr %1257, i32 0, i32 6
  %1259 = load i32, ptr %23, align 4, !tbaa !9
  %1260 = zext i32 %1259 to i64
  %1261 = call i32 @i32_load(ptr noundef %1258, i64 noundef %1260)
  store i32 %1261, ptr %23, align 4, !tbaa !9
  %1262 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1262, ptr %13, align 4, !tbaa !9
  %1263 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1263, ptr %24, align 4, !tbaa !9
  %1264 = load ptr, ptr %5, align 8, !tbaa !5
  %1265 = getelementptr inbounds %struct.w2c_hermes, ptr %1264, i32 0, i32 6
  %1266 = load i32, ptr %24, align 4, !tbaa !9
  %1267 = zext i32 %1266 to i64
  %1268 = add i64 %1267, 20
  %1269 = call i32 @i32_load(ptr noundef %1265, i64 noundef %1268)
  store i32 %1269, ptr %24, align 4, !tbaa !9
  %1270 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1270, ptr %25, align 4, !tbaa !9
  %1271 = load ptr, ptr %5, align 8, !tbaa !5
  %1272 = getelementptr inbounds %struct.w2c_hermes, ptr %1271, i32 0, i32 6
  %1273 = load i32, ptr %25, align 4, !tbaa !9
  %1274 = zext i32 %1273 to i64
  %1275 = add i64 %1274, 27
  %1276 = call i32 @i32_load8_u(ptr noundef %1272, i64 noundef %1275)
  store i32 %1276, ptr %25, align 4, !tbaa !9
  %1277 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1277, ptr %12, align 4, !tbaa !9
  %1278 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1278, ptr %26, align 4, !tbaa !9
  %1279 = load i32, ptr %26, align 4, !tbaa !9
  %1280 = trunc i32 %1279 to i8
  %1281 = sext i8 %1280 to i32
  store i32 %1281, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %1282 = load i32, ptr %26, align 4, !tbaa !9
  %1283 = load i32, ptr %27, align 4, !tbaa !9
  %1284 = icmp slt i32 %1282, %1283
  %1285 = zext i1 %1284 to i32
  store i32 %1285, ptr %26, align 4, !tbaa !9
  %1286 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1286, ptr %15, align 4, !tbaa !9
  %1287 = load i32, ptr %26, align 4, !tbaa !9
  %1288 = icmp ne i32 %1287, 0
  br i1 %1288, label %1289, label %1291

1289:                                             ; preds = %1255
  %1290 = load i32, ptr %24, align 4, !tbaa !9
  br label %1293

1291:                                             ; preds = %1255
  %1292 = load i32, ptr %25, align 4, !tbaa !9
  br label %1293

1293:                                             ; preds = %1291, %1289
  %1294 = phi i32 [ %1290, %1289 ], [ %1292, %1291 ]
  store i32 %1294, ptr %24, align 4, !tbaa !9
  %1295 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1295, ptr %12, align 4, !tbaa !9
  %1296 = load i32, ptr %23, align 4, !tbaa !9
  %1297 = load i32, ptr %24, align 4, !tbaa !9
  %1298 = icmp uge i32 %1296, %1297
  %1299 = zext i1 %1298 to i32
  store i32 %1299, ptr %23, align 4, !tbaa !9
  %1300 = load i32, ptr %23, align 4, !tbaa !9
  %1301 = icmp ne i32 %1300, 0
  br i1 %1301, label %1302, label %1303

1302:                                             ; preds = %1293
  br label %1380

1303:                                             ; preds = %1293
  %1304 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1304, ptr %23, align 4, !tbaa !9
  %1305 = load ptr, ptr %5, align 8, !tbaa !5
  %1306 = getelementptr inbounds %struct.w2c_hermes, ptr %1305, i32 0, i32 6
  %1307 = load i32, ptr %23, align 4, !tbaa !9
  %1308 = zext i32 %1307 to i64
  %1309 = add i64 %1308, 16
  %1310 = call i32 @i32_load(ptr noundef %1306, i64 noundef %1309)
  store i32 %1310, ptr %23, align 4, !tbaa !9
  %1311 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1311, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %1312 = load i32, ptr %25, align 4, !tbaa !9
  %1313 = load i32, ptr %24, align 4, !tbaa !9
  %1314 = add i32 %1313, %1312
  store i32 %1314, ptr %24, align 4, !tbaa !9
  %1315 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1315, ptr %25, align 4, !tbaa !9
  %1316 = load i32, ptr %25, align 4, !tbaa !9
  %1317 = icmp ne i32 %1316, 0
  br i1 %1317, label %1318, label %1320

1318:                                             ; preds = %1303
  %1319 = load i32, ptr %23, align 4, !tbaa !9
  br label %1322

1320:                                             ; preds = %1303
  %1321 = load i32, ptr %24, align 4, !tbaa !9
  br label %1322

1322:                                             ; preds = %1320, %1318
  %1323 = phi i32 [ %1319, %1318 ], [ %1321, %1320 ]
  store i32 %1323, ptr %23, align 4, !tbaa !9
  %1324 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1324, ptr %15, align 4, !tbaa !9
  %1325 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1325, ptr %24, align 4, !tbaa !9
  %1326 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1326, ptr %25, align 4, !tbaa !9
  %1327 = load ptr, ptr %5, align 8, !tbaa !5
  %1328 = getelementptr inbounds %struct.w2c_hermes, ptr %1327, i32 0, i32 6
  %1329 = load i32, ptr %25, align 4, !tbaa !9
  %1330 = zext i32 %1329 to i64
  %1331 = add i64 %1330, 4
  %1332 = call i32 @i32_load(ptr noundef %1328, i64 noundef %1331)
  store i32 %1332, ptr %25, align 4, !tbaa !9
  %1333 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1333, ptr %17, align 4, !tbaa !9
  %1334 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1334, ptr %26, align 4, !tbaa !9
  %1335 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1335, ptr %27, align 4, !tbaa !9
  %1336 = load i32, ptr %26, align 4, !tbaa !9
  %1337 = load i32, ptr %27, align 4, !tbaa !9
  %1338 = icmp ult i32 %1336, %1337
  %1339 = zext i1 %1338 to i32
  store i32 %1339, ptr %26, align 4, !tbaa !9
  %1340 = load i32, ptr %26, align 4, !tbaa !9
  %1341 = icmp ne i32 %1340, 0
  br i1 %1341, label %1342, label %1344

1342:                                             ; preds = %1322
  %1343 = load i32, ptr %24, align 4, !tbaa !9
  br label %1346

1344:                                             ; preds = %1322
  %1345 = load i32, ptr %25, align 4, !tbaa !9
  br label %1346

1346:                                             ; preds = %1344, %1342
  %1347 = phi i32 [ %1343, %1342 ], [ %1345, %1344 ]
  store i32 %1347, ptr %24, align 4, !tbaa !9
  %1348 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1348, ptr %12, align 4, !tbaa !9
  %1349 = load i32, ptr %24, align 4, !tbaa !9
  %1350 = load i32, ptr %23, align 4, !tbaa !9
  %1351 = add i32 %1350, %1349
  store i32 %1351, ptr %23, align 4, !tbaa !9
  %1352 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1352, ptr %24, align 4, !tbaa !9
  %1353 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1353, ptr %25, align 4, !tbaa !9
  %1354 = load i32, ptr %25, align 4, !tbaa !9
  %1355 = load i32, ptr %24, align 4, !tbaa !9
  %1356 = add i32 %1355, %1354
  store i32 %1356, ptr %24, align 4, !tbaa !9
  %1357 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1357, ptr %15, align 4, !tbaa !9
  %1358 = load i32, ptr %24, align 4, !tbaa !9
  %1359 = load i32, ptr %23, align 4, !tbaa !9
  %1360 = sub i32 %1359, %1358
  store i32 %1360, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1361 = load i32, ptr %23, align 4, !tbaa !9
  %1362 = load i32, ptr %24, align 4, !tbaa !9
  %1363 = icmp sle i32 %1361, %1362
  %1364 = zext i1 %1363 to i32
  store i32 %1364, ptr %23, align 4, !tbaa !9
  %1365 = load i32, ptr %23, align 4, !tbaa !9
  %1366 = icmp ne i32 %1365, 0
  br i1 %1366, label %1367, label %1368

1367:                                             ; preds = %1346
  br label %1380

1368:                                             ; preds = %1346
  %1369 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1369, ptr %23, align 4, !tbaa !9
  store i32 126, ptr %24, align 4, !tbaa !9
  %1370 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1370, ptr %25, align 4, !tbaa !9
  %1371 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1371, ptr %26, align 4, !tbaa !9
  %1372 = load i32, ptr %26, align 4, !tbaa !9
  %1373 = load i32, ptr %25, align 4, !tbaa !9
  %1374 = sub i32 %1373, %1372
  store i32 %1374, ptr %25, align 4, !tbaa !9
  %1375 = load ptr, ptr %5, align 8, !tbaa !5
  %1376 = load i32, ptr %23, align 4, !tbaa !9
  %1377 = load i32, ptr %24, align 4, !tbaa !9
  %1378 = load i32, ptr %25, align 4, !tbaa !9
  %1379 = call i32 @w2c_hermes_0x5F_memset(ptr noundef %1375, i32 noundef %1376, i32 noundef %1377, i32 noundef %1378)
  store i32 %1379, ptr %23, align 4, !tbaa !9
  br label %1380

1380:                                             ; preds = %1368, %1367, %1302
  %1381 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1381, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1382 = load i32, ptr %24, align 4, !tbaa !9
  %1383 = load i32, ptr %23, align 4, !tbaa !9
  %1384 = add i32 %1383, %1382
  store i32 %1384, ptr %23, align 4, !tbaa !9
  %1385 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1385, ptr %10, align 4, !tbaa !9
  %1386 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1386, ptr %24, align 4, !tbaa !9
  %1387 = load i32, ptr %23, align 4, !tbaa !9
  %1388 = load i32, ptr %24, align 4, !tbaa !9
  %1389 = icmp ne i32 %1387, %1388
  %1390 = zext i1 %1389 to i32
  store i32 %1390, ptr %23, align 4, !tbaa !9
  %1391 = load i32, ptr %23, align 4, !tbaa !9
  %1392 = icmp ne i32 %1391, 0
  br i1 %1392, label %1393, label %1394

1393:                                             ; preds = %1380
  br label %1255

1394:                                             ; preds = %1380
  br label %1395

1395:                                             ; preds = %1394, %1228
  %1396 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1396, ptr %23, align 4, !tbaa !9
  %1397 = load ptr, ptr %5, align 8, !tbaa !5
  %1398 = getelementptr inbounds %struct.w2c_hermes, ptr %1397, i32 0, i32 6
  %1399 = load i32, ptr %23, align 4, !tbaa !9
  %1400 = zext i32 %1399 to i64
  %1401 = add i64 %1400, 16
  %1402 = call i32 @i32_load(ptr noundef %1398, i64 noundef %1401)
  store i32 %1402, ptr %23, align 4, !tbaa !9
  %1403 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1403, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %1404 = load i32, ptr %25, align 4, !tbaa !9
  %1405 = load i32, ptr %24, align 4, !tbaa !9
  %1406 = add i32 %1405, %1404
  store i32 %1406, ptr %24, align 4, !tbaa !9
  %1407 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1407, ptr %25, align 4, !tbaa !9
  %1408 = load ptr, ptr %5, align 8, !tbaa !5
  %1409 = getelementptr inbounds %struct.w2c_hermes, ptr %1408, i32 0, i32 6
  %1410 = load i32, ptr %25, align 4, !tbaa !9
  %1411 = zext i32 %1410 to i64
  %1412 = add i64 %1411, 27
  %1413 = call i32 @i32_load8_s(ptr noundef %1409, i64 noundef %1412)
  store i32 %1413, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1414 = load i32, ptr %25, align 4, !tbaa !9
  %1415 = load i32, ptr %26, align 4, !tbaa !9
  %1416 = icmp slt i32 %1414, %1415
  %1417 = zext i1 %1416 to i32
  store i32 %1417, ptr %25, align 4, !tbaa !9
  %1418 = load i32, ptr %25, align 4, !tbaa !9
  %1419 = icmp ne i32 %1418, 0
  br i1 %1419, label %1420, label %1422

1420:                                             ; preds = %1395
  %1421 = load i32, ptr %23, align 4, !tbaa !9
  br label %1424

1422:                                             ; preds = %1395
  %1423 = load i32, ptr %24, align 4, !tbaa !9
  br label %1424

1424:                                             ; preds = %1422, %1420
  %1425 = phi i32 [ %1421, %1420 ], [ %1423, %1422 ]
  store i32 %1425, ptr %23, align 4, !tbaa !9
  %1426 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1426, ptr %24, align 4, !tbaa !9
  %1427 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1427, ptr %25, align 4, !tbaa !9
  %1428 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1428, ptr %26, align 4, !tbaa !9
  %1429 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1429, ptr %27, align 4, !tbaa !9
  %1430 = load i32, ptr %26, align 4, !tbaa !9
  %1431 = load i32, ptr %27, align 4, !tbaa !9
  %1432 = icmp ult i32 %1430, %1431
  %1433 = zext i1 %1432 to i32
  store i32 %1433, ptr %26, align 4, !tbaa !9
  %1434 = load i32, ptr %26, align 4, !tbaa !9
  %1435 = icmp ne i32 %1434, 0
  br i1 %1435, label %1436, label %1438

1436:                                             ; preds = %1424
  %1437 = load i32, ptr %24, align 4, !tbaa !9
  br label %1440

1438:                                             ; preds = %1424
  %1439 = load i32, ptr %25, align 4, !tbaa !9
  br label %1440

1440:                                             ; preds = %1438, %1436
  %1441 = phi i32 [ %1437, %1436 ], [ %1439, %1438 ]
  store i32 %1441, ptr %24, align 4, !tbaa !9
  %1442 = load i32, ptr %24, align 4, !tbaa !9
  %1443 = load i32, ptr %23, align 4, !tbaa !9
  %1444 = add i32 %1443, %1442
  store i32 %1444, ptr %23, align 4, !tbaa !9
  store i32 94, ptr %24, align 4, !tbaa !9
  %1445 = load ptr, ptr %5, align 8, !tbaa !5
  %1446 = getelementptr inbounds %struct.w2c_hermes, ptr %1445, i32 0, i32 6
  %1447 = load i32, ptr %23, align 4, !tbaa !9
  %1448 = zext i32 %1447 to i64
  %1449 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1446, i64 noundef %1448, i32 noundef %1449)
  %1450 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1450, ptr %23, align 4, !tbaa !9
  %1451 = load ptr, ptr %5, align 8, !tbaa !5
  %1452 = getelementptr inbounds %struct.w2c_hermes, ptr %1451, i32 0, i32 6
  %1453 = load i32, ptr %23, align 4, !tbaa !9
  %1454 = zext i32 %1453 to i64
  %1455 = add i64 %1454, 16
  %1456 = call i32 @i32_load(ptr noundef %1452, i64 noundef %1455)
  store i32 %1456, ptr %23, align 4, !tbaa !9
  %1457 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1457, ptr %13, align 4, !tbaa !9
  %1458 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1458, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %1459 = load i32, ptr %25, align 4, !tbaa !9
  %1460 = load i32, ptr %24, align 4, !tbaa !9
  %1461 = add i32 %1460, %1459
  store i32 %1461, ptr %24, align 4, !tbaa !9
  %1462 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1462, ptr %25, align 4, !tbaa !9
  %1463 = load ptr, ptr %5, align 8, !tbaa !5
  %1464 = getelementptr inbounds %struct.w2c_hermes, ptr %1463, i32 0, i32 6
  %1465 = load i32, ptr %25, align 4, !tbaa !9
  %1466 = zext i32 %1465 to i64
  %1467 = add i64 %1466, 27
  %1468 = call i32 @i32_load8_u(ptr noundef %1464, i64 noundef %1467)
  store i32 %1468, ptr %25, align 4, !tbaa !9
  %1469 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1469, ptr %10, align 4, !tbaa !9
  %1470 = load i32, ptr %25, align 4, !tbaa !9
  %1471 = trunc i32 %1470 to i8
  %1472 = sext i8 %1471 to i32
  store i32 %1472, ptr %25, align 4, !tbaa !9
  %1473 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1473, ptr %17, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1474 = load i32, ptr %25, align 4, !tbaa !9
  %1475 = load i32, ptr %26, align 4, !tbaa !9
  %1476 = icmp slt i32 %1474, %1475
  %1477 = zext i1 %1476 to i32
  store i32 %1477, ptr %25, align 4, !tbaa !9
  %1478 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1478, ptr %14, align 4, !tbaa !9
  %1479 = load i32, ptr %25, align 4, !tbaa !9
  %1480 = icmp ne i32 %1479, 0
  br i1 %1480, label %1481, label %1483

1481:                                             ; preds = %1440
  %1482 = load i32, ptr %23, align 4, !tbaa !9
  br label %1485

1483:                                             ; preds = %1440
  %1484 = load i32, ptr %24, align 4, !tbaa !9
  br label %1485

1485:                                             ; preds = %1483, %1481
  %1486 = phi i32 [ %1482, %1481 ], [ %1484, %1483 ]
  store i32 %1486, ptr %23, align 4, !tbaa !9
  %1487 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1487, ptr %12, align 4, !tbaa !9
  %1488 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1488, ptr %24, align 4, !tbaa !9
  %1489 = load ptr, ptr %5, align 8, !tbaa !5
  %1490 = getelementptr inbounds %struct.w2c_hermes, ptr %1489, i32 0, i32 6
  %1491 = load i32, ptr %24, align 4, !tbaa !9
  %1492 = zext i32 %1491 to i64
  %1493 = add i64 %1492, 20
  %1494 = call i32 @i32_load(ptr noundef %1490, i64 noundef %1493)
  store i32 %1494, ptr %24, align 4, !tbaa !9
  %1495 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1495, ptr %25, align 4, !tbaa !9
  %1496 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1496, ptr %26, align 4, !tbaa !9
  %1497 = load i32, ptr %26, align 4, !tbaa !9
  %1498 = icmp ne i32 %1497, 0
  br i1 %1498, label %1499, label %1501

1499:                                             ; preds = %1485
  %1500 = load i32, ptr %24, align 4, !tbaa !9
  br label %1503

1501:                                             ; preds = %1485
  %1502 = load i32, ptr %25, align 4, !tbaa !9
  br label %1503

1503:                                             ; preds = %1501, %1499
  %1504 = phi i32 [ %1500, %1499 ], [ %1502, %1501 ]
  store i32 %1504, ptr %24, align 4, !tbaa !9
  %1505 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1505, ptr %15, align 4, !tbaa !9
  %1506 = load i32, ptr %24, align 4, !tbaa !9
  %1507 = load i32, ptr %23, align 4, !tbaa !9
  %1508 = add i32 %1507, %1506
  store i32 %1508, ptr %23, align 4, !tbaa !9
  %1509 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1509, ptr %10, align 4, !tbaa !9
  store i32 -1, ptr %23, align 4, !tbaa !9
  %1510 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1510, ptr %14, align 4, !tbaa !9
  br label %1511

1511:                                             ; preds = %1538, %1503
  %1512 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1512, ptr %23, align 4, !tbaa !9
  %1513 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1513, ptr %24, align 4, !tbaa !9
  %1514 = load i32, ptr %23, align 4, !tbaa !9
  %1515 = load i32, ptr %24, align 4, !tbaa !9
  %1516 = icmp eq i32 %1514, %1515
  %1517 = zext i1 %1516 to i32
  store i32 %1517, ptr %23, align 4, !tbaa !9
  %1518 = load i32, ptr %23, align 4, !tbaa !9
  %1519 = icmp ne i32 %1518, 0
  br i1 %1519, label %1520, label %1521

1520:                                             ; preds = %1511
  br label %1546

1521:                                             ; preds = %1511
  %1522 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1522, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1523 = load i32, ptr %24, align 4, !tbaa !9
  %1524 = load i32, ptr %23, align 4, !tbaa !9
  %1525 = sub i32 %1524, %1523
  store i32 %1525, ptr %23, align 4, !tbaa !9
  %1526 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1526, ptr %10, align 4, !tbaa !9
  %1527 = load ptr, ptr %5, align 8, !tbaa !5
  %1528 = getelementptr inbounds %struct.w2c_hermes, ptr %1527, i32 0, i32 6
  %1529 = load i32, ptr %23, align 4, !tbaa !9
  %1530 = zext i32 %1529 to i64
  %1531 = call i32 @i32_load8_u(ptr noundef %1528, i64 noundef %1530)
  store i32 %1531, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %1532 = load i32, ptr %23, align 4, !tbaa !9
  %1533 = load i32, ptr %24, align 4, !tbaa !9
  %1534 = icmp eq i32 %1532, %1533
  %1535 = zext i1 %1534 to i32
  store i32 %1535, ptr %23, align 4, !tbaa !9
  %1536 = load i32, ptr %23, align 4, !tbaa !9
  %1537 = icmp ne i32 %1536, 0
  br i1 %1537, label %1538, label %1539

1538:                                             ; preds = %1521
  br label %1511

1539:                                             ; preds = %1521
  %1540 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1540, ptr %23, align 4, !tbaa !9
  %1541 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1541, ptr %24, align 4, !tbaa !9
  %1542 = load i32, ptr %24, align 4, !tbaa !9
  %1543 = load i32, ptr %23, align 4, !tbaa !9
  %1544 = sub i32 %1543, %1542
  store i32 %1544, ptr %23, align 4, !tbaa !9
  %1545 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1545, ptr %14, align 4, !tbaa !9
  br label %1546

1546:                                             ; preds = %1539, %1520
  %1547 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1547, ptr %23, align 4, !tbaa !9
  %1548 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1548, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1549 = load i32, ptr %25, align 4, !tbaa !9
  %1550 = load i32, ptr %24, align 4, !tbaa !9
  %1551 = add i32 %1550, %1549
  store i32 %1551, ptr %24, align 4, !tbaa !9
  %1552 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1552, ptr %10, align 4, !tbaa !9
  %1553 = load i32, ptr %23, align 4, !tbaa !9
  %1554 = load i32, ptr %24, align 4, !tbaa !9
  %1555 = icmp ult i32 %1553, %1554
  %1556 = zext i1 %1555 to i32
  store i32 %1556, ptr %23, align 4, !tbaa !9
  %1557 = load i32, ptr %23, align 4, !tbaa !9
  %1558 = icmp ne i32 %1557, 0
  br i1 %1558, label %1559, label %1560

1559:                                             ; preds = %1546
  br label %3010

1560:                                             ; preds = %1546
  %1561 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1561, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1562 = load i32, ptr %23, align 4, !tbaa !9
  %1563 = load i32, ptr %24, align 4, !tbaa !9
  %1564 = icmp slt i32 %1562, %1563
  %1565 = zext i1 %1564 to i32
  store i32 %1565, ptr %23, align 4, !tbaa !9
  %1566 = load i32, ptr %23, align 4, !tbaa !9
  %1567 = icmp ne i32 %1566, 0
  br i1 %1567, label %1568, label %1577

1568:                                             ; preds = %1560
  %1569 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1569, ptr %23, align 4, !tbaa !9
  %1570 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1570, ptr %24, align 4, !tbaa !9
  %1571 = load ptr, ptr %5, align 8, !tbaa !5
  %1572 = getelementptr inbounds %struct.w2c_hermes, ptr %1571, i32 0, i32 6
  %1573 = load i32, ptr %23, align 4, !tbaa !9
  %1574 = zext i32 %1573 to i64
  %1575 = add i64 %1574, 20
  %1576 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1572, i64 noundef %1575, i32 noundef %1576)
  br label %1591

1577:                                             ; preds = %1560
  %1578 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1578, ptr %23, align 4, !tbaa !9
  %1579 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1579, ptr %24, align 4, !tbaa !9
  %1580 = load ptr, ptr %5, align 8, !tbaa !5
  %1581 = getelementptr inbounds %struct.w2c_hermes, ptr %1580, i32 0, i32 6
  %1582 = load i32, ptr %23, align 4, !tbaa !9
  %1583 = zext i32 %1582 to i64
  %1584 = add i64 %1583, 27
  %1585 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1581, i64 noundef %1584, i32 noundef %1585)
  %1586 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1586, ptr %23, align 4, !tbaa !9
  store i32 16, ptr %24, align 4, !tbaa !9
  %1587 = load i32, ptr %24, align 4, !tbaa !9
  %1588 = load i32, ptr %23, align 4, !tbaa !9
  %1589 = add i32 %1588, %1587
  store i32 %1589, ptr %23, align 4, !tbaa !9
  %1590 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1590, ptr %13, align 4, !tbaa !9
  br label %1591

1591:                                             ; preds = %1577, %1568
  %1592 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1592, ptr %23, align 4, !tbaa !9
  %1593 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1593, ptr %24, align 4, !tbaa !9
  %1594 = load i32, ptr %24, align 4, !tbaa !9
  %1595 = load i32, ptr %23, align 4, !tbaa !9
  %1596 = add i32 %1595, %1594
  store i32 %1596, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1597 = load ptr, ptr %5, align 8, !tbaa !5
  %1598 = getelementptr inbounds %struct.w2c_hermes, ptr %1597, i32 0, i32 6
  %1599 = load i32, ptr %23, align 4, !tbaa !9
  %1600 = zext i32 %1599 to i64
  %1601 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1598, i64 noundef %1600, i32 noundef %1601)
  %1602 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1602, ptr %23, align 4, !tbaa !9
  %1603 = load ptr, ptr %5, align 8, !tbaa !5
  %1604 = getelementptr inbounds %struct.w2c_hermes, ptr %1603, i32 0, i32 6
  %1605 = load i32, ptr %23, align 4, !tbaa !9
  %1606 = zext i32 %1605 to i64
  %1607 = add i64 %1606, 52
  %1608 = call i32 @i32_load(ptr noundef %1604, i64 noundef %1607)
  store i32 %1608, ptr %23, align 4, !tbaa !9
  %1609 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1609, ptr %7, align 4, !tbaa !9
  %1610 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1610, ptr %24, align 4, !tbaa !9
  %1611 = load ptr, ptr %5, align 8, !tbaa !5
  %1612 = getelementptr inbounds %struct.w2c_hermes, ptr %1611, i32 0, i32 6
  %1613 = load i32, ptr %24, align 4, !tbaa !9
  %1614 = zext i32 %1613 to i64
  %1615 = add i64 %1614, 59
  %1616 = call i32 @i32_load8_u(ptr noundef %1612, i64 noundef %1615)
  store i32 %1616, ptr %24, align 4, !tbaa !9
  %1617 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1617, ptr %10, align 4, !tbaa !9
  %1618 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1618, ptr %25, align 4, !tbaa !9
  %1619 = load i32, ptr %25, align 4, !tbaa !9
  %1620 = trunc i32 %1619 to i8
  %1621 = sext i8 %1620 to i32
  store i32 %1621, ptr %25, align 4, !tbaa !9
  %1622 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1622, ptr %17, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1623 = load i32, ptr %25, align 4, !tbaa !9
  %1624 = load i32, ptr %26, align 4, !tbaa !9
  %1625 = icmp slt i32 %1623, %1624
  %1626 = zext i1 %1625 to i32
  store i32 %1626, ptr %25, align 4, !tbaa !9
  %1627 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1627, ptr %10, align 4, !tbaa !9
  %1628 = load i32, ptr %25, align 4, !tbaa !9
  %1629 = icmp ne i32 %1628, 0
  br i1 %1629, label %1630, label %1632

1630:                                             ; preds = %1591
  %1631 = load i32, ptr %23, align 4, !tbaa !9
  br label %1634

1632:                                             ; preds = %1591
  %1633 = load i32, ptr %24, align 4, !tbaa !9
  br label %1634

1634:                                             ; preds = %1632, %1630
  %1635 = phi i32 [ %1631, %1630 ], [ %1633, %1632 ]
  store i32 %1635, ptr %23, align 4, !tbaa !9
  %1636 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1636, ptr %13, align 4, !tbaa !9
  %1637 = load i32, ptr %23, align 4, !tbaa !9
  %1638 = icmp ne i32 %1637, 0
  %1639 = xor i1 %1638, true
  %1640 = zext i1 %1639 to i32
  store i32 %1640, ptr %23, align 4, !tbaa !9
  %1641 = load i32, ptr %23, align 4, !tbaa !9
  %1642 = icmp ne i32 %1641, 0
  br i1 %1642, label %1643, label %1645

1643:                                             ; preds = %1634
  store i32 0, ptr %23, align 4, !tbaa !9
  %1644 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1644, ptr %13, align 4, !tbaa !9
  br label %1988

1645:                                             ; preds = %1634
  %1646 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1646, ptr %23, align 4, !tbaa !9
  %1647 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1647, ptr %12, align 4, !tbaa !9
  %1648 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1648, ptr %23, align 4, !tbaa !9
  %1649 = load ptr, ptr %5, align 8, !tbaa !5
  %1650 = getelementptr inbounds %struct.w2c_hermes, ptr %1649, i32 0, i32 6
  %1651 = load i32, ptr %23, align 4, !tbaa !9
  %1652 = zext i32 %1651 to i64
  %1653 = add i64 %1652, 48
  %1654 = call i32 @i32_load(ptr noundef %1650, i64 noundef %1653)
  store i32 %1654, ptr %23, align 4, !tbaa !9
  %1655 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1655, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %1656 = load i32, ptr %25, align 4, !tbaa !9
  %1657 = load i32, ptr %24, align 4, !tbaa !9
  %1658 = add i32 %1657, %1656
  store i32 %1658, ptr %24, align 4, !tbaa !9
  %1659 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1659, ptr %25, align 4, !tbaa !9
  %1660 = load i32, ptr %25, align 4, !tbaa !9
  %1661 = icmp ne i32 %1660, 0
  br i1 %1661, label %1662, label %1664

1662:                                             ; preds = %1645
  %1663 = load i32, ptr %23, align 4, !tbaa !9
  br label %1666

1664:                                             ; preds = %1645
  %1665 = load i32, ptr %24, align 4, !tbaa !9
  br label %1666

1666:                                             ; preds = %1664, %1662
  %1667 = phi i32 [ %1663, %1662 ], [ %1665, %1664 ]
  store i32 %1667, ptr %23, align 4, !tbaa !9
  %1668 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1668, ptr %14, align 4, !tbaa !9
  %1669 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1669, ptr %10, align 4, !tbaa !9
  br label %1670

1670:                                             ; preds = %1697, %1666
  %1671 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1671, ptr %23, align 4, !tbaa !9
  %1672 = load ptr, ptr %5, align 8, !tbaa !5
  %1673 = getelementptr inbounds %struct.w2c_hermes, ptr %1672, i32 0, i32 6
  %1674 = load i32, ptr %23, align 4, !tbaa !9
  %1675 = zext i32 %1674 to i64
  %1676 = call i32 @i32_load(ptr noundef %1673, i64 noundef %1675)
  store i32 %1676, ptr %23, align 4, !tbaa !9
  store i32 9, ptr %24, align 4, !tbaa !9
  %1677 = load i32, ptr %23, align 4, !tbaa !9
  %1678 = load i32, ptr %24, align 4, !tbaa !9
  %1679 = icmp eq i32 %1677, %1678
  %1680 = zext i1 %1679 to i32
  store i32 %1680, ptr %23, align 4, !tbaa !9
  %1681 = load i32, ptr %23, align 4, !tbaa !9
  %1682 = icmp ne i32 %1681, 0
  br i1 %1682, label %1683, label %1684

1683:                                             ; preds = %1670
  br label %1700

1684:                                             ; preds = %1670
  %1685 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1685, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %1686 = load i32, ptr %24, align 4, !tbaa !9
  %1687 = load i32, ptr %23, align 4, !tbaa !9
  %1688 = add i32 %1687, %1686
  store i32 %1688, ptr %23, align 4, !tbaa !9
  %1689 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1689, ptr %10, align 4, !tbaa !9
  %1690 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1690, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1691 = load i32, ptr %24, align 4, !tbaa !9
  %1692 = load i32, ptr %23, align 4, !tbaa !9
  %1693 = sub i32 %1692, %1691
  store i32 %1693, ptr %23, align 4, !tbaa !9
  %1694 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1694, ptr %12, align 4, !tbaa !9
  %1695 = load i32, ptr %23, align 4, !tbaa !9
  %1696 = icmp ne i32 %1695, 0
  br i1 %1696, label %1697, label %1698

1697:                                             ; preds = %1684
  br label %1670

1698:                                             ; preds = %1684
  store i32 0, ptr %23, align 4, !tbaa !9
  %1699 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1699, ptr %10, align 4, !tbaa !9
  br label %1700

1700:                                             ; preds = %1698, %1683
  %1701 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1701, ptr %23, align 4, !tbaa !9
  %1702 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1702, ptr %24, align 4, !tbaa !9
  %1703 = load i32, ptr %24, align 4, !tbaa !9
  %1704 = load i32, ptr %23, align 4, !tbaa !9
  %1705 = sub i32 %1704, %1703
  store i32 %1705, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1706 = load i32, ptr %23, align 4, !tbaa !9
  %1707 = load i32, ptr %24, align 4, !tbaa !9
  %1708 = and i32 %1707, 31
  %1709 = ashr i32 %1706, %1708
  store i32 %1709, ptr %23, align 4, !tbaa !9
  store i32 -1, ptr %24, align 4, !tbaa !9
  %1710 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1710, ptr %25, align 4, !tbaa !9
  %1711 = load i32, ptr %25, align 4, !tbaa !9
  %1712 = icmp ne i32 %1711, 0
  br i1 %1712, label %1713, label %1715

1713:                                             ; preds = %1700
  %1714 = load i32, ptr %23, align 4, !tbaa !9
  br label %1717

1715:                                             ; preds = %1700
  %1716 = load i32, ptr %24, align 4, !tbaa !9
  br label %1717

1717:                                             ; preds = %1715, %1713
  %1718 = phi i32 [ %1714, %1713 ], [ %1716, %1715 ]
  store i32 %1718, ptr %23, align 4, !tbaa !9
  %1719 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1719, ptr %10, align 4, !tbaa !9
  %1720 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1720, ptr %24, align 4, !tbaa !9
  %1721 = load i32, ptr %23, align 4, !tbaa !9
  %1722 = load i32, ptr %24, align 4, !tbaa !9
  %1723 = icmp uge i32 %1721, %1722
  %1724 = zext i1 %1723 to i32
  store i32 %1724, ptr %23, align 4, !tbaa !9
  %1725 = load i32, ptr %23, align 4, !tbaa !9
  %1726 = icmp ne i32 %1725, 0
  br i1 %1726, label %1727, label %1728

1727:                                             ; preds = %1717
  br label %1988

1728:                                             ; preds = %1717
  br label %1729

1729:                                             ; preds = %1986, %1728
  %1730 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1730, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %1731 = load i32, ptr %24, align 4, !tbaa !9
  %1732 = load i32, ptr %23, align 4, !tbaa !9
  %1733 = add i32 %1732, %1731
  store i32 %1733, ptr %23, align 4, !tbaa !9
  %1734 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1734, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  store i32 8, ptr %26, align 4, !tbaa !9
  %1735 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1735, ptr %27, align 4, !tbaa !9
  store i32 7, ptr %28, align 4, !tbaa !9
  %1736 = load i32, ptr %28, align 4, !tbaa !9
  %1737 = load i32, ptr %27, align 4, !tbaa !9
  %1738 = and i32 %1737, %1736
  store i32 %1738, ptr %27, align 4, !tbaa !9
  %1739 = load i32, ptr %27, align 4, !tbaa !9
  %1740 = load i32, ptr %26, align 4, !tbaa !9
  %1741 = sub i32 %1740, %1739
  store i32 %1741, ptr %26, align 4, !tbaa !9
  %1742 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1742, ptr %12, align 4, !tbaa !9
  store i32 32, ptr %27, align 4, !tbaa !9
  %1743 = load ptr, ptr %5, align 8, !tbaa !5
  %1744 = load i32, ptr %23, align 4, !tbaa !9
  %1745 = load i32, ptr %24, align 4, !tbaa !9
  %1746 = load i32, ptr %25, align 4, !tbaa !9
  %1747 = load i32, ptr %26, align 4, !tbaa !9
  %1748 = load i32, ptr %27, align 4, !tbaa !9
  %1749 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char32_t0x29(ptr noundef %1743, i32 noundef %1744, i32 noundef %1745, i32 noundef %1746, i32 noundef %1747, i32 noundef %1748)
  store i32 %1749, ptr %23, align 4, !tbaa !9
  %1750 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1750, ptr %23, align 4, !tbaa !9
  %1751 = load ptr, ptr %5, align 8, !tbaa !5
  %1752 = getelementptr inbounds %struct.w2c_hermes, ptr %1751, i32 0, i32 6
  %1753 = load i32, ptr %23, align 4, !tbaa !9
  %1754 = zext i32 %1753 to i64
  %1755 = add i64 %1754, 20
  %1756 = call i32 @i32_load(ptr noundef %1752, i64 noundef %1755)
  store i32 %1756, ptr %23, align 4, !tbaa !9
  %1757 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1757, ptr %24, align 4, !tbaa !9
  %1758 = load ptr, ptr %5, align 8, !tbaa !5
  %1759 = getelementptr inbounds %struct.w2c_hermes, ptr %1758, i32 0, i32 6
  %1760 = load i32, ptr %24, align 4, !tbaa !9
  %1761 = zext i32 %1760 to i64
  %1762 = add i64 %1761, 27
  %1763 = call i32 @i32_load8_u(ptr noundef %1759, i64 noundef %1762)
  store i32 %1763, ptr %24, align 4, !tbaa !9
  %1764 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1764, ptr %13, align 4, !tbaa !9
  %1765 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1765, ptr %25, align 4, !tbaa !9
  %1766 = load i32, ptr %25, align 4, !tbaa !9
  %1767 = trunc i32 %1766 to i8
  %1768 = sext i8 %1767 to i32
  store i32 %1768, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1769 = load i32, ptr %25, align 4, !tbaa !9
  %1770 = load i32, ptr %26, align 4, !tbaa !9
  %1771 = icmp slt i32 %1769, %1770
  %1772 = zext i1 %1771 to i32
  store i32 %1772, ptr %25, align 4, !tbaa !9
  %1773 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1773, ptr %13, align 4, !tbaa !9
  %1774 = load i32, ptr %25, align 4, !tbaa !9
  %1775 = icmp ne i32 %1774, 0
  br i1 %1775, label %1776, label %1778

1776:                                             ; preds = %1729
  %1777 = load i32, ptr %23, align 4, !tbaa !9
  br label %1780

1778:                                             ; preds = %1729
  %1779 = load i32, ptr %24, align 4, !tbaa !9
  br label %1780

1780:                                             ; preds = %1778, %1776
  %1781 = phi i32 [ %1777, %1776 ], [ %1779, %1778 ]
  store i32 %1781, ptr %23, align 4, !tbaa !9
  %1782 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1782, ptr %24, align 4, !tbaa !9
  %1783 = load i32, ptr %23, align 4, !tbaa !9
  %1784 = load i32, ptr %24, align 4, !tbaa !9
  %1785 = icmp ugt i32 %1783, %1784
  %1786 = zext i1 %1785 to i32
  store i32 %1786, ptr %23, align 4, !tbaa !9
  %1787 = load i32, ptr %23, align 4, !tbaa !9
  %1788 = icmp ne i32 %1787, 0
  br i1 %1788, label %1789, label %1832

1789:                                             ; preds = %1780
  %1790 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1790, ptr %23, align 4, !tbaa !9
  store i32 16, ptr %24, align 4, !tbaa !9
  %1791 = load i32, ptr %24, align 4, !tbaa !9
  %1792 = load i32, ptr %23, align 4, !tbaa !9
  %1793 = add i32 %1792, %1791
  store i32 %1793, ptr %23, align 4, !tbaa !9
  %1794 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1794, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1795 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1795, ptr %26, align 4, !tbaa !9
  %1796 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1796, ptr %27, align 4, !tbaa !9
  %1797 = load ptr, ptr %5, align 8, !tbaa !5
  %1798 = getelementptr inbounds %struct.w2c_hermes, ptr %1797, i32 0, i32 6
  %1799 = load i32, ptr %27, align 4, !tbaa !9
  %1800 = zext i32 %1799 to i64
  %1801 = add i64 %1800, 16
  %1802 = call i32 @i32_load(ptr noundef %1798, i64 noundef %1801)
  store i32 %1802, ptr %27, align 4, !tbaa !9
  %1803 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1803, ptr %28, align 4, !tbaa !9
  store i32 16, ptr %29, align 4, !tbaa !9
  %1804 = load i32, ptr %29, align 4, !tbaa !9
  %1805 = load i32, ptr %28, align 4, !tbaa !9
  %1806 = add i32 %1805, %1804
  store i32 %1806, ptr %28, align 4, !tbaa !9
  %1807 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1807, ptr %29, align 4, !tbaa !9
  %1808 = load i32, ptr %29, align 4, !tbaa !9
  %1809 = icmp ne i32 %1808, 0
  br i1 %1809, label %1810, label %1812

1810:                                             ; preds = %1789
  %1811 = load i32, ptr %27, align 4, !tbaa !9
  br label %1814

1812:                                             ; preds = %1789
  %1813 = load i32, ptr %28, align 4, !tbaa !9
  br label %1814

1814:                                             ; preds = %1812, %1810
  %1815 = phi i32 [ %1811, %1810 ], [ %1813, %1812 ]
  store i32 %1815, ptr %27, align 4, !tbaa !9
  %1816 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1816, ptr %28, align 4, !tbaa !9
  %1817 = load i32, ptr %28, align 4, !tbaa !9
  %1818 = load i32, ptr %27, align 4, !tbaa !9
  %1819 = add i32 %1818, %1817
  store i32 %1819, ptr %27, align 4, !tbaa !9
  %1820 = load ptr, ptr %5, align 8, !tbaa !5
  %1821 = getelementptr inbounds %struct.w2c_hermes, ptr %1820, i32 0, i32 6
  %1822 = load i32, ptr %27, align 4, !tbaa !9
  %1823 = zext i32 %1822 to i64
  %1824 = call i32 @i32_load8_s(ptr noundef %1821, i64 noundef %1823)
  store i32 %1824, ptr %27, align 4, !tbaa !9
  %1825 = load ptr, ptr %5, align 8, !tbaa !5
  %1826 = load i32, ptr %23, align 4, !tbaa !9
  %1827 = load i32, ptr %24, align 4, !tbaa !9
  %1828 = load i32, ptr %25, align 4, !tbaa !9
  %1829 = load i32, ptr %26, align 4, !tbaa !9
  %1830 = load i32, ptr %27, align 4, !tbaa !9
  %1831 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char0x29(ptr noundef %1825, i32 noundef %1826, i32 noundef %1827, i32 noundef %1828, i32 noundef %1829, i32 noundef %1830)
  store i32 %1831, ptr %23, align 4, !tbaa !9
  br label %1832

1832:                                             ; preds = %1814, %1780
  %1833 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1833, ptr %23, align 4, !tbaa !9
  %1834 = load ptr, ptr %5, align 8, !tbaa !5
  %1835 = getelementptr inbounds %struct.w2c_hermes, ptr %1834, i32 0, i32 6
  %1836 = load i32, ptr %23, align 4, !tbaa !9
  %1837 = zext i32 %1836 to i64
  %1838 = add i64 %1837, 52
  %1839 = call i32 @i32_load(ptr noundef %1835, i64 noundef %1838)
  store i32 %1839, ptr %23, align 4, !tbaa !9
  %1840 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1840, ptr %7, align 4, !tbaa !9
  %1841 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1841, ptr %24, align 4, !tbaa !9
  %1842 = load ptr, ptr %5, align 8, !tbaa !5
  %1843 = getelementptr inbounds %struct.w2c_hermes, ptr %1842, i32 0, i32 6
  %1844 = load i32, ptr %24, align 4, !tbaa !9
  %1845 = zext i32 %1844 to i64
  %1846 = add i64 %1845, 59
  %1847 = call i32 @i32_load8_u(ptr noundef %1843, i64 noundef %1846)
  store i32 %1847, ptr %24, align 4, !tbaa !9
  %1848 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1848, ptr %13, align 4, !tbaa !9
  %1849 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1849, ptr %25, align 4, !tbaa !9
  %1850 = load i32, ptr %25, align 4, !tbaa !9
  %1851 = trunc i32 %1850 to i8
  %1852 = sext i8 %1851 to i32
  store i32 %1852, ptr %25, align 4, !tbaa !9
  %1853 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1853, ptr %17, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1854 = load i32, ptr %25, align 4, !tbaa !9
  %1855 = load i32, ptr %26, align 4, !tbaa !9
  %1856 = icmp slt i32 %1854, %1855
  %1857 = zext i1 %1856 to i32
  store i32 %1857, ptr %25, align 4, !tbaa !9
  %1858 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1858, ptr %14, align 4, !tbaa !9
  %1859 = load i32, ptr %25, align 4, !tbaa !9
  %1860 = icmp ne i32 %1859, 0
  br i1 %1860, label %1861, label %1863

1861:                                             ; preds = %1832
  %1862 = load i32, ptr %23, align 4, !tbaa !9
  br label %1865

1863:                                             ; preds = %1832
  %1864 = load i32, ptr %24, align 4, !tbaa !9
  br label %1865

1865:                                             ; preds = %1863, %1861
  %1866 = phi i32 [ %1862, %1861 ], [ %1864, %1863 ]
  store i32 %1866, ptr %23, align 4, !tbaa !9
  %1867 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1867, ptr %13, align 4, !tbaa !9
  %1868 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1868, ptr %24, align 4, !tbaa !9
  %1869 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1869, ptr %25, align 4, !tbaa !9
  %1870 = load i32, ptr %25, align 4, !tbaa !9
  %1871 = load i32, ptr %24, align 4, !tbaa !9
  %1872 = add i32 %1871, %1870
  store i32 %1872, ptr %24, align 4, !tbaa !9
  %1873 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1873, ptr %10, align 4, !tbaa !9
  %1874 = load i32, ptr %23, align 4, !tbaa !9
  %1875 = load i32, ptr %24, align 4, !tbaa !9
  %1876 = icmp ule i32 %1874, %1875
  %1877 = zext i1 %1876 to i32
  store i32 %1877, ptr %23, align 4, !tbaa !9
  %1878 = load i32, ptr %23, align 4, !tbaa !9
  %1879 = icmp ne i32 %1878, 0
  br i1 %1879, label %1880, label %1881

1880:                                             ; preds = %1865
  br label %1988

1881:                                             ; preds = %1865
  %1882 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1882, ptr %23, align 4, !tbaa !9
  %1883 = load ptr, ptr %5, align 8, !tbaa !5
  %1884 = getelementptr inbounds %struct.w2c_hermes, ptr %1883, i32 0, i32 6
  %1885 = load i32, ptr %23, align 4, !tbaa !9
  %1886 = zext i32 %1885 to i64
  %1887 = add i64 %1886, 48
  %1888 = call i32 @i32_load(ptr noundef %1884, i64 noundef %1887)
  store i32 %1888, ptr %23, align 4, !tbaa !9
  %1889 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1889, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %1890 = load i32, ptr %25, align 4, !tbaa !9
  %1891 = load i32, ptr %24, align 4, !tbaa !9
  %1892 = add i32 %1891, %1890
  store i32 %1892, ptr %24, align 4, !tbaa !9
  %1893 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1893, ptr %25, align 4, !tbaa !9
  %1894 = load i32, ptr %25, align 4, !tbaa !9
  %1895 = icmp ne i32 %1894, 0
  br i1 %1895, label %1896, label %1898

1896:                                             ; preds = %1881
  %1897 = load i32, ptr %23, align 4, !tbaa !9
  br label %1900

1898:                                             ; preds = %1881
  %1899 = load i32, ptr %24, align 4, !tbaa !9
  br label %1900

1900:                                             ; preds = %1898, %1896
  %1901 = phi i32 [ %1897, %1896 ], [ %1899, %1898 ]
  store i32 %1901, ptr %23, align 4, !tbaa !9
  %1902 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1902, ptr %15, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1903 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1903, ptr %14, align 4, !tbaa !9
  %1904 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1904, ptr %23, align 4, !tbaa !9
  %1905 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1905, ptr %24, align 4, !tbaa !9
  %1906 = load i32, ptr %24, align 4, !tbaa !9
  %1907 = load i32, ptr %23, align 4, !tbaa !9
  %1908 = sub i32 %1907, %1906
  store i32 %1908, ptr %23, align 4, !tbaa !9
  %1909 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1909, ptr %12, align 4, !tbaa !9
  %1910 = load i32, ptr %23, align 4, !tbaa !9
  %1911 = icmp ne i32 %1910, 0
  %1912 = xor i1 %1911, true
  %1913 = zext i1 %1912 to i32
  store i32 %1913, ptr %23, align 4, !tbaa !9
  %1914 = load i32, ptr %23, align 4, !tbaa !9
  %1915 = icmp ne i32 %1914, 0
  br i1 %1915, label %1916, label %1917

1916:                                             ; preds = %1900
  br label %1959

1917:                                             ; preds = %1900
  %1918 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1918, ptr %23, align 4, !tbaa !9
  %1919 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1919, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1920 = load i32, ptr %25, align 4, !tbaa !9
  %1921 = and i32 %1920, 31
  %1922 = load i32, ptr %24, align 4, !tbaa !9
  %1923 = shl i32 %1922, %1921
  store i32 %1923, ptr %24, align 4, !tbaa !9
  %1924 = load i32, ptr %24, align 4, !tbaa !9
  %1925 = load i32, ptr %23, align 4, !tbaa !9
  %1926 = add i32 %1925, %1924
  store i32 %1926, ptr %23, align 4, !tbaa !9
  %1927 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1927, ptr %10, align 4, !tbaa !9
  br label %1928

1928:                                             ; preds = %1957, %1917
  %1929 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1929, ptr %23, align 4, !tbaa !9
  %1930 = load ptr, ptr %5, align 8, !tbaa !5
  %1931 = getelementptr inbounds %struct.w2c_hermes, ptr %1930, i32 0, i32 6
  %1932 = load i32, ptr %23, align 4, !tbaa !9
  %1933 = zext i32 %1932 to i64
  %1934 = call i32 @i32_load(ptr noundef %1931, i64 noundef %1933)
  store i32 %1934, ptr %23, align 4, !tbaa !9
  store i32 9, ptr %24, align 4, !tbaa !9
  %1935 = load i32, ptr %23, align 4, !tbaa !9
  %1936 = load i32, ptr %24, align 4, !tbaa !9
  %1937 = icmp eq i32 %1935, %1936
  %1938 = zext i1 %1937 to i32
  store i32 %1938, ptr %23, align 4, !tbaa !9
  %1939 = load i32, ptr %23, align 4, !tbaa !9
  %1940 = icmp ne i32 %1939, 0
  br i1 %1940, label %1941, label %1944

1941:                                             ; preds = %1928
  %1942 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1942, ptr %23, align 4, !tbaa !9
  %1943 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1943, ptr %14, align 4, !tbaa !9
  br label %1959

1944:                                             ; preds = %1928
  %1945 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1945, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %1946 = load i32, ptr %24, align 4, !tbaa !9
  %1947 = load i32, ptr %23, align 4, !tbaa !9
  %1948 = add i32 %1947, %1946
  store i32 %1948, ptr %23, align 4, !tbaa !9
  %1949 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1949, ptr %10, align 4, !tbaa !9
  %1950 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1950, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1951 = load i32, ptr %24, align 4, !tbaa !9
  %1952 = load i32, ptr %23, align 4, !tbaa !9
  %1953 = sub i32 %1952, %1951
  store i32 %1953, ptr %23, align 4, !tbaa !9
  %1954 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1954, ptr %12, align 4, !tbaa !9
  %1955 = load i32, ptr %23, align 4, !tbaa !9
  %1956 = icmp ne i32 %1955, 0
  br i1 %1956, label %1957, label %1958

1957:                                             ; preds = %1944
  br label %1928

1958:                                             ; preds = %1944
  br label %1959

1959:                                             ; preds = %1958, %1941, %1916
  %1960 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1960, ptr %23, align 4, !tbaa !9
  %1961 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1961, ptr %24, align 4, !tbaa !9
  %1962 = load i32, ptr %24, align 4, !tbaa !9
  %1963 = load i32, ptr %23, align 4, !tbaa !9
  %1964 = sub i32 %1963, %1962
  store i32 %1964, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1965 = load i32, ptr %23, align 4, !tbaa !9
  %1966 = load i32, ptr %24, align 4, !tbaa !9
  %1967 = and i32 %1966, 31
  %1968 = ashr i32 %1965, %1967
  store i32 %1968, ptr %23, align 4, !tbaa !9
  store i32 -1, ptr %24, align 4, !tbaa !9
  %1969 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1969, ptr %25, align 4, !tbaa !9
  %1970 = load i32, ptr %25, align 4, !tbaa !9
  %1971 = icmp ne i32 %1970, 0
  br i1 %1971, label %1972, label %1974

1972:                                             ; preds = %1959
  %1973 = load i32, ptr %23, align 4, !tbaa !9
  br label %1976

1974:                                             ; preds = %1959
  %1975 = load i32, ptr %24, align 4, !tbaa !9
  br label %1976

1976:                                             ; preds = %1974, %1972
  %1977 = phi i32 [ %1973, %1972 ], [ %1975, %1974 ]
  store i32 %1977, ptr %23, align 4, !tbaa !9
  %1978 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1978, ptr %10, align 4, !tbaa !9
  %1979 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1979, ptr %24, align 4, !tbaa !9
  %1980 = load i32, ptr %23, align 4, !tbaa !9
  %1981 = load i32, ptr %24, align 4, !tbaa !9
  %1982 = icmp ult i32 %1980, %1981
  %1983 = zext i1 %1982 to i32
  store i32 %1983, ptr %23, align 4, !tbaa !9
  %1984 = load i32, ptr %23, align 4, !tbaa !9
  %1985 = icmp ne i32 %1984, 0
  br i1 %1985, label %1986, label %1987

1986:                                             ; preds = %1976
  br label %1729

1987:                                             ; preds = %1976
  br label %1988

1988:                                             ; preds = %1987, %1880, %1727, %1643
  store i32 1, ptr %23, align 4, !tbaa !9
  %1989 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1989, ptr %15, align 4, !tbaa !9
  %1990 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1990, ptr %23, align 4, !tbaa !9
  %1991 = load i32, ptr %23, align 4, !tbaa !9
  %1992 = icmp ne i32 %1991, 0
  %1993 = xor i1 %1992, true
  %1994 = zext i1 %1993 to i32
  store i32 %1994, ptr %23, align 4, !tbaa !9
  %1995 = load i32, ptr %23, align 4, !tbaa !9
  %1996 = icmp ne i32 %1995, 0
  br i1 %1996, label %1997, label %2055

1997:                                             ; preds = %1988
  %1998 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1998, ptr %23, align 4, !tbaa !9
  %1999 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1999, ptr %10, align 4, !tbaa !9
  br label %2000

2000:                                             ; preds = %2053, %1997
  %2001 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2001, ptr %23, align 4, !tbaa !9
  %2002 = load ptr, ptr %5, align 8, !tbaa !5
  %2003 = getelementptr inbounds %struct.w2c_hermes, ptr %2002, i32 0, i32 6
  %2004 = load i32, ptr %23, align 4, !tbaa !9
  %2005 = zext i32 %2004 to i64
  %2006 = call i32 @i32_load(ptr noundef %2003, i64 noundef %2005)
  store i32 %2006, ptr %23, align 4, !tbaa !9
  %2007 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2007, ptr %12, align 4, !tbaa !9
  %2008 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2008, ptr %24, align 4, !tbaa !9
  %2009 = load i32, ptr %23, align 4, !tbaa !9
  %2010 = load i32, ptr %24, align 4, !tbaa !9
  %2011 = icmp ugt i32 %2009, %2010
  %2012 = zext i1 %2011 to i32
  store i32 %2012, ptr %23, align 4, !tbaa !9
  %2013 = load i32, ptr %23, align 4, !tbaa !9
  %2014 = icmp ne i32 %2013, 0
  br i1 %2014, label %2015, label %2016

2015:                                             ; preds = %2000
  br label %2040

2016:                                             ; preds = %2000
  %2017 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2017, ptr %23, align 4, !tbaa !9
  %2018 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2018, ptr %24, align 4, !tbaa !9
  %2019 = load ptr, ptr %5, align 8, !tbaa !5
  %2020 = getelementptr inbounds %struct.w2c_hermes, ptr %2019, i32 0, i32 6
  %2021 = load i32, ptr %24, align 4, !tbaa !9
  %2022 = zext i32 %2021 to i64
  %2023 = add i64 %2022, 4
  %2024 = call i32 @i32_load(ptr noundef %2020, i64 noundef %2023)
  store i32 %2024, ptr %24, align 4, !tbaa !9
  %2025 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2025, ptr %14, align 4, !tbaa !9
  %2026 = load i32, ptr %23, align 4, !tbaa !9
  %2027 = load i32, ptr %24, align 4, !tbaa !9
  %2028 = icmp uge i32 %2026, %2027
  %2029 = zext i1 %2028 to i32
  store i32 %2029, ptr %23, align 4, !tbaa !9
  %2030 = load i32, ptr %23, align 4, !tbaa !9
  %2031 = icmp ne i32 %2030, 0
  br i1 %2031, label %2032, label %2033

2032:                                             ; preds = %2016
  br label %2040

2033:                                             ; preds = %2016
  %2034 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2034, ptr %23, align 4, !tbaa !9
  %2035 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2035, ptr %24, align 4, !tbaa !9
  %2036 = load i32, ptr %24, align 4, !tbaa !9
  %2037 = load i32, ptr %23, align 4, !tbaa !9
  %2038 = sub i32 %2037, %2036
  store i32 %2038, ptr %23, align 4, !tbaa !9
  %2039 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2039, ptr %15, align 4, !tbaa !9
  br label %2058

2040:                                             ; preds = %2032, %2015
  %2041 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2041, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %2042 = load i32, ptr %24, align 4, !tbaa !9
  %2043 = load i32, ptr %23, align 4, !tbaa !9
  %2044 = add i32 %2043, %2042
  store i32 %2044, ptr %23, align 4, !tbaa !9
  %2045 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2045, ptr %10, align 4, !tbaa !9
  %2046 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2046, ptr %24, align 4, !tbaa !9
  %2047 = load i32, ptr %23, align 4, !tbaa !9
  %2048 = load i32, ptr %24, align 4, !tbaa !9
  %2049 = icmp ne i32 %2047, %2048
  %2050 = zext i1 %2049 to i32
  store i32 %2050, ptr %23, align 4, !tbaa !9
  %2051 = load i32, ptr %23, align 4, !tbaa !9
  %2052 = icmp ne i32 %2051, 0
  br i1 %2052, label %2053, label %2054

2053:                                             ; preds = %2040
  br label %2000

2054:                                             ; preds = %2040
  br label %2055

2055:                                             ; preds = %2054, %1988
  %2056 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2056, ptr %23, align 4, !tbaa !9
  %2057 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2057, ptr %12, align 4, !tbaa !9
  br label %2058

2058:                                             ; preds = %2055, %2033
  %2059 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2059, ptr %23, align 4, !tbaa !9
  %2060 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2060, ptr %24, align 4, !tbaa !9
  %2061 = load ptr, ptr %5, align 8, !tbaa !5
  %2062 = getelementptr inbounds %struct.w2c_hermes, ptr %2061, i32 0, i32 6
  %2063 = load i32, ptr %24, align 4, !tbaa !9
  %2064 = zext i32 %2063 to i64
  %2065 = add i64 %2064, 4
  %2066 = call i32 @i32_load(ptr noundef %2062, i64 noundef %2065)
  store i32 %2066, ptr %24, align 4, !tbaa !9
  %2067 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2067, ptr %11, align 4, !tbaa !9
  %2068 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2068, ptr %25, align 4, !tbaa !9
  store i32 16, ptr %26, align 4, !tbaa !9
  %2069 = load i32, ptr %26, align 4, !tbaa !9
  %2070 = load i32, ptr %25, align 4, !tbaa !9
  %2071 = add i32 %2070, %2069
  store i32 %2071, ptr %25, align 4, !tbaa !9
  %2072 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2072, ptr %10, align 4, !tbaa !9
  %2073 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2073, ptr %26, align 4, !tbaa !9
  %2074 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2074, ptr %27, align 4, !tbaa !9
  %2075 = load i32, ptr %26, align 4, !tbaa !9
  %2076 = load i32, ptr %27, align 4, !tbaa !9
  %2077 = icmp ult i32 %2075, %2076
  %2078 = zext i1 %2077 to i32
  store i32 %2078, ptr %26, align 4, !tbaa !9
  %2079 = load i32, ptr %26, align 4, !tbaa !9
  %2080 = icmp ne i32 %2079, 0
  br i1 %2080, label %2081, label %2083

2081:                                             ; preds = %2058
  %2082 = load i32, ptr %24, align 4, !tbaa !9
  br label %2085

2083:                                             ; preds = %2058
  %2084 = load i32, ptr %25, align 4, !tbaa !9
  br label %2085

2085:                                             ; preds = %2083, %2081
  %2086 = phi i32 [ %2082, %2081 ], [ %2084, %2083 ]
  store i32 %2086, ptr %24, align 4, !tbaa !9
  %2087 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2087, ptr %11, align 4, !tbaa !9
  %2088 = load i32, ptr %23, align 4, !tbaa !9
  %2089 = load i32, ptr %24, align 4, !tbaa !9
  %2090 = icmp ule i32 %2088, %2089
  %2091 = zext i1 %2090 to i32
  store i32 %2091, ptr %23, align 4, !tbaa !9
  %2092 = load i32, ptr %23, align 4, !tbaa !9
  %2093 = icmp ne i32 %2092, 0
  br i1 %2093, label %2094, label %2095

2094:                                             ; preds = %2085
  br label %2671

2095:                                             ; preds = %2085
  %2096 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2096, ptr %23, align 4, !tbaa !9
  %2097 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2097, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2098 = load i32, ptr %25, align 4, !tbaa !9
  %2099 = icmp eq i32 %2098, 0
  %2100 = xor i1 %2099, true
  %2101 = xor i1 %2100, true
  %2102 = zext i1 %2101 to i32
  %2103 = sext i32 %2102 to i64
  %2104 = call i64 @llvm.expect.i64(i64 %2103, i64 0)
  %2105 = icmp ne i64 %2104, 0
  br i1 %2105, label %2106, label %2108

2106:                                             ; preds = %2095
  call void @wasm_rt_trap(i32 noundef 3) #7
  unreachable

2107:                                             ; No predecessors!
  br label %2130

2108:                                             ; preds = %2095
  %2109 = load i32, ptr %24, align 4, !tbaa !9
  %2110 = icmp eq i32 %2109, -2147483648
  br i1 %2110, label %2111, label %2114

2111:                                             ; preds = %2108
  %2112 = load i32, ptr %25, align 4, !tbaa !9
  %2113 = icmp eq i32 %2112, -1
  br label %2114

2114:                                             ; preds = %2111, %2108
  %2115 = phi i1 [ false, %2108 ], [ %2113, %2111 ]
  %2116 = xor i1 %2115, true
  %2117 = xor i1 %2116, true
  %2118 = zext i1 %2117 to i32
  %2119 = sext i32 %2118 to i64
  %2120 = call i64 @llvm.expect.i64(i64 %2119, i64 0)
  %2121 = icmp ne i64 %2120, 0
  br i1 %2121, label %2122, label %2124

2122:                                             ; preds = %2114
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

2123:                                             ; No predecessors!
  br label %2128

2124:                                             ; preds = %2114
  %2125 = load i32, ptr %24, align 4, !tbaa !9
  %2126 = load i32, ptr %25, align 4, !tbaa !9
  %2127 = sdiv i32 %2125, %2126
  br label %2128

2128:                                             ; preds = %2124, %2123
  %2129 = phi i32 [ 0, %2123 ], [ %2127, %2124 ]
  br label %2130

2130:                                             ; preds = %2128, %2107
  %2131 = phi i32 [ 0, %2107 ], [ %2129, %2128 ]
  store i32 %2131, ptr %24, align 4, !tbaa !9
  %2132 = load i32, ptr %24, align 4, !tbaa !9
  %2133 = load i32, ptr %23, align 4, !tbaa !9
  %2134 = add i32 %2133, %2132
  store i32 %2134, ptr %23, align 4, !tbaa !9
  %2135 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2135, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2136 = load i32, ptr %25, align 4, !tbaa !9
  %2137 = and i32 %2136, 31
  %2138 = load i32, ptr %24, align 4, !tbaa !9
  %2139 = lshr i32 %2138, %2137
  store i32 %2139, ptr %24, align 4, !tbaa !9
  %2140 = load i32, ptr %24, align 4, !tbaa !9
  %2141 = load i32, ptr %23, align 4, !tbaa !9
  %2142 = sub i32 %2141, %2140
  store i32 %2142, ptr %23, align 4, !tbaa !9
  %2143 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2143, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2144 = load i32, ptr %23, align 4, !tbaa !9
  %2145 = load i32, ptr %24, align 4, !tbaa !9
  %2146 = icmp sgt i32 %2144, %2145
  %2147 = zext i1 %2146 to i32
  store i32 %2147, ptr %23, align 4, !tbaa !9
  %2148 = load i32, ptr %23, align 4, !tbaa !9
  %2149 = icmp ne i32 %2148, 0
  br i1 %2149, label %2150, label %2376

2150:                                             ; preds = %2130
  %2151 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2151, ptr %23, align 4, !tbaa !9
  store i32 16, ptr %24, align 4, !tbaa !9
  %2152 = load i32, ptr %24, align 4, !tbaa !9
  %2153 = load i32, ptr %23, align 4, !tbaa !9
  %2154 = add i32 %2153, %2152
  store i32 %2154, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2155 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2155, ptr %25, align 4, !tbaa !9
  %2156 = load ptr, ptr %5, align 8, !tbaa !5
  %2157 = load i32, ptr %23, align 4, !tbaa !9
  %2158 = load i32, ptr %24, align 4, !tbaa !9
  %2159 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Ferase_external_with_move0x28unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2156, i32 noundef %2157, i32 noundef %2158, i32 noundef %2159)
  %2160 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2160, ptr %23, align 4, !tbaa !9
  %2161 = load ptr, ptr %5, align 8, !tbaa !5
  %2162 = getelementptr inbounds %struct.w2c_hermes, ptr %2161, i32 0, i32 6
  %2163 = load i32, ptr %23, align 4, !tbaa !9
  %2164 = zext i32 %2163 to i64
  %2165 = add i64 %2164, 52
  %2166 = call i32 @i32_load(ptr noundef %2162, i64 noundef %2165)
  store i32 %2166, ptr %23, align 4, !tbaa !9
  %2167 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2167, ptr %24, align 4, !tbaa !9
  %2168 = load ptr, ptr %5, align 8, !tbaa !5
  %2169 = getelementptr inbounds %struct.w2c_hermes, ptr %2168, i32 0, i32 6
  %2170 = load i32, ptr %24, align 4, !tbaa !9
  %2171 = zext i32 %2170 to i64
  %2172 = add i64 %2171, 59
  %2173 = call i32 @i32_load8_u(ptr noundef %2169, i64 noundef %2172)
  store i32 %2173, ptr %24, align 4, !tbaa !9
  %2174 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2174, ptr %12, align 4, !tbaa !9
  %2175 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2175, ptr %25, align 4, !tbaa !9
  %2176 = load i32, ptr %25, align 4, !tbaa !9
  %2177 = trunc i32 %2176 to i8
  %2178 = sext i8 %2177 to i32
  store i32 %2178, ptr %25, align 4, !tbaa !9
  %2179 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2179, ptr %15, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2180 = load i32, ptr %25, align 4, !tbaa !9
  %2181 = load i32, ptr %26, align 4, !tbaa !9
  %2182 = icmp slt i32 %2180, %2181
  %2183 = zext i1 %2182 to i32
  store i32 %2183, ptr %25, align 4, !tbaa !9
  %2184 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2184, ptr %14, align 4, !tbaa !9
  %2185 = load i32, ptr %25, align 4, !tbaa !9
  %2186 = icmp ne i32 %2185, 0
  br i1 %2186, label %2187, label %2189

2187:                                             ; preds = %2150
  %2188 = load i32, ptr %23, align 4, !tbaa !9
  br label %2191

2189:                                             ; preds = %2150
  %2190 = load i32, ptr %24, align 4, !tbaa !9
  br label %2191

2191:                                             ; preds = %2189, %2187
  %2192 = phi i32 [ %2188, %2187 ], [ %2190, %2189 ]
  store i32 %2192, ptr %23, align 4, !tbaa !9
  %2193 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2193, ptr %12, align 4, !tbaa !9
  %2194 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2194, ptr %24, align 4, !tbaa !9
  %2195 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2195, ptr %25, align 4, !tbaa !9
  %2196 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2196, ptr %26, align 4, !tbaa !9
  %2197 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2197, ptr %27, align 4, !tbaa !9
  %2198 = load i32, ptr %26, align 4, !tbaa !9
  %2199 = load i32, ptr %27, align 4, !tbaa !9
  %2200 = icmp ugt i32 %2198, %2199
  %2201 = zext i1 %2200 to i32
  store i32 %2201, ptr %26, align 4, !tbaa !9
  %2202 = load i32, ptr %26, align 4, !tbaa !9
  %2203 = icmp ne i32 %2202, 0
  br i1 %2203, label %2204, label %2206

2204:                                             ; preds = %2191
  %2205 = load i32, ptr %24, align 4, !tbaa !9
  br label %2208

2206:                                             ; preds = %2191
  %2207 = load i32, ptr %25, align 4, !tbaa !9
  br label %2208

2208:                                             ; preds = %2206, %2204
  %2209 = phi i32 [ %2205, %2204 ], [ %2207, %2206 ]
  store i32 %2209, ptr %24, align 4, !tbaa !9
  %2210 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2210, ptr %17, align 4, !tbaa !9
  %2211 = load i32, ptr %24, align 4, !tbaa !9
  %2212 = load i32, ptr %23, align 4, !tbaa !9
  %2213 = sub i32 %2212, %2211
  store i32 %2213, ptr %23, align 4, !tbaa !9
  %2214 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2214, ptr %13, align 4, !tbaa !9
  %2215 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2215, ptr %23, align 4, !tbaa !9
  %2216 = load ptr, ptr %5, align 8, !tbaa !5
  %2217 = getelementptr inbounds %struct.w2c_hermes, ptr %2216, i32 0, i32 6
  %2218 = load i32, ptr %23, align 4, !tbaa !9
  %2219 = zext i32 %2218 to i64
  %2220 = add i64 %2219, 48
  %2221 = call i32 @i32_load(ptr noundef %2217, i64 noundef %2220)
  store i32 %2221, ptr %23, align 4, !tbaa !9
  %2222 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2222, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %2223 = load i32, ptr %25, align 4, !tbaa !9
  %2224 = load i32, ptr %24, align 4, !tbaa !9
  %2225 = add i32 %2224, %2223
  store i32 %2225, ptr %24, align 4, !tbaa !9
  %2226 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2226, ptr %25, align 4, !tbaa !9
  %2227 = load i32, ptr %25, align 4, !tbaa !9
  %2228 = icmp ne i32 %2227, 0
  br i1 %2228, label %2229, label %2231

2229:                                             ; preds = %2208
  %2230 = load i32, ptr %23, align 4, !tbaa !9
  br label %2233

2231:                                             ; preds = %2208
  %2232 = load i32, ptr %24, align 4, !tbaa !9
  br label %2233

2233:                                             ; preds = %2231, %2229
  %2234 = phi i32 [ %2230, %2229 ], [ %2232, %2231 ]
  store i32 %2234, ptr %23, align 4, !tbaa !9
  %2235 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2235, ptr %14, align 4, !tbaa !9
  %2236 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2236, ptr %23, align 4, !tbaa !9
  %2237 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2237, ptr %24, align 4, !tbaa !9
  %2238 = load i32, ptr %23, align 4, !tbaa !9
  %2239 = load i32, ptr %24, align 4, !tbaa !9
  %2240 = icmp ult i32 %2238, %2239
  %2241 = zext i1 %2240 to i32
  store i32 %2241, ptr %23, align 4, !tbaa !9
  %2242 = load i32, ptr %23, align 4, !tbaa !9
  %2243 = icmp ne i32 %2242, 0
  br i1 %2243, label %2244, label %2273

2244:                                             ; preds = %2233
  %2245 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2245, ptr %23, align 4, !tbaa !9
  %2246 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2246, ptr %24, align 4, !tbaa !9
  %2247 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2247, ptr %25, align 4, !tbaa !9
  store i32 2, ptr %26, align 4, !tbaa !9
  %2248 = load i32, ptr %26, align 4, !tbaa !9
  %2249 = and i32 %2248, 31
  %2250 = load i32, ptr %25, align 4, !tbaa !9
  %2251 = shl i32 %2250, %2249
  store i32 %2251, ptr %25, align 4, !tbaa !9
  %2252 = load i32, ptr %25, align 4, !tbaa !9
  %2253 = load i32, ptr %24, align 4, !tbaa !9
  %2254 = add i32 %2253, %2252
  store i32 %2254, ptr %24, align 4, !tbaa !9
  %2255 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2255, ptr %25, align 4, !tbaa !9
  store i32 2, ptr %26, align 4, !tbaa !9
  %2256 = load i32, ptr %26, align 4, !tbaa !9
  %2257 = and i32 %2256, 31
  %2258 = load i32, ptr %25, align 4, !tbaa !9
  %2259 = shl i32 %2258, %2257
  store i32 %2259, ptr %25, align 4, !tbaa !9
  %2260 = load ptr, ptr %5, align 8, !tbaa !5
  %2261 = load i32, ptr %23, align 4, !tbaa !9
  %2262 = load i32, ptr %24, align 4, !tbaa !9
  %2263 = load i32, ptr %25, align 4, !tbaa !9
  %2264 = call i32 @w2c_hermes_memmove(ptr noundef %2260, i32 noundef %2261, i32 noundef %2262, i32 noundef %2263)
  store i32 %2264, ptr %23, align 4, !tbaa !9
  %2265 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2265, ptr %23, align 4, !tbaa !9
  %2266 = load ptr, ptr %5, align 8, !tbaa !5
  %2267 = getelementptr inbounds %struct.w2c_hermes, ptr %2266, i32 0, i32 6
  %2268 = load i32, ptr %23, align 4, !tbaa !9
  %2269 = zext i32 %2268 to i64
  %2270 = add i64 %2269, 59
  %2271 = call i32 @i32_load8_u(ptr noundef %2267, i64 noundef %2270)
  store i32 %2271, ptr %23, align 4, !tbaa !9
  %2272 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2272, ptr %15, align 4, !tbaa !9
  br label %2273

2273:                                             ; preds = %2244, %2233
  %2274 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2274, ptr %23, align 4, !tbaa !9
  %2275 = load i32, ptr %23, align 4, !tbaa !9
  %2276 = trunc i32 %2275 to i8
  %2277 = sext i8 %2276 to i32
  store i32 %2277, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2278 = load i32, ptr %23, align 4, !tbaa !9
  %2279 = load i32, ptr %24, align 4, !tbaa !9
  %2280 = icmp slt i32 %2278, %2279
  %2281 = zext i1 %2280 to i32
  store i32 %2281, ptr %23, align 4, !tbaa !9
  %2282 = load i32, ptr %23, align 4, !tbaa !9
  %2283 = icmp ne i32 %2282, 0
  br i1 %2283, label %2284, label %2293

2284:                                             ; preds = %2273
  %2285 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2285, ptr %23, align 4, !tbaa !9
  %2286 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2286, ptr %24, align 4, !tbaa !9
  %2287 = load ptr, ptr %5, align 8, !tbaa !5
  %2288 = getelementptr inbounds %struct.w2c_hermes, ptr %2287, i32 0, i32 6
  %2289 = load i32, ptr %23, align 4, !tbaa !9
  %2290 = zext i32 %2289 to i64
  %2291 = add i64 %2290, 52
  %2292 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2288, i64 noundef %2291, i32 noundef %2292)
  br label %2302

2293:                                             ; preds = %2273
  %2294 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2294, ptr %23, align 4, !tbaa !9
  %2295 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2295, ptr %24, align 4, !tbaa !9
  %2296 = load ptr, ptr %5, align 8, !tbaa !5
  %2297 = getelementptr inbounds %struct.w2c_hermes, ptr %2296, i32 0, i32 6
  %2298 = load i32, ptr %23, align 4, !tbaa !9
  %2299 = zext i32 %2298 to i64
  %2300 = add i64 %2299, 59
  %2301 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2297, i64 noundef %2300, i32 noundef %2301)
  br label %2302

2302:                                             ; preds = %2293, %2284
  %2303 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2303, ptr %23, align 4, !tbaa !9
  %2304 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2304, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2305 = load i32, ptr %25, align 4, !tbaa !9
  %2306 = and i32 %2305, 31
  %2307 = load i32, ptr %24, align 4, !tbaa !9
  %2308 = shl i32 %2307, %2306
  store i32 %2308, ptr %24, align 4, !tbaa !9
  %2309 = load i32, ptr %24, align 4, !tbaa !9
  %2310 = load i32, ptr %23, align 4, !tbaa !9
  %2311 = add i32 %2310, %2309
  store i32 %2311, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2312 = load ptr, ptr %5, align 8, !tbaa !5
  %2313 = getelementptr inbounds %struct.w2c_hermes, ptr %2312, i32 0, i32 6
  %2314 = load i32, ptr %23, align 4, !tbaa !9
  %2315 = zext i32 %2314 to i64
  %2316 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2313, i64 noundef %2315, i32 noundef %2316)
  %2317 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2317, ptr %23, align 4, !tbaa !9
  %2318 = load ptr, ptr %5, align 8, !tbaa !5
  %2319 = getelementptr inbounds %struct.w2c_hermes, ptr %2318, i32 0, i32 6
  %2320 = load i32, ptr %23, align 4, !tbaa !9
  %2321 = zext i32 %2320 to i64
  %2322 = add i64 %2321, 48
  %2323 = call i32 @i32_load(ptr noundef %2319, i64 noundef %2322)
  store i32 %2323, ptr %23, align 4, !tbaa !9
  %2324 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2324, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %2325 = load i32, ptr %25, align 4, !tbaa !9
  %2326 = load i32, ptr %24, align 4, !tbaa !9
  %2327 = add i32 %2326, %2325
  store i32 %2327, ptr %24, align 4, !tbaa !9
  %2328 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2328, ptr %25, align 4, !tbaa !9
  %2329 = load ptr, ptr %5, align 8, !tbaa !5
  %2330 = getelementptr inbounds %struct.w2c_hermes, ptr %2329, i32 0, i32 6
  %2331 = load i32, ptr %25, align 4, !tbaa !9
  %2332 = zext i32 %2331 to i64
  %2333 = add i64 %2332, 59
  %2334 = call i32 @i32_load8_s(ptr noundef %2330, i64 noundef %2333)
  store i32 %2334, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2335 = load i32, ptr %25, align 4, !tbaa !9
  %2336 = load i32, ptr %26, align 4, !tbaa !9
  %2337 = icmp slt i32 %2335, %2336
  %2338 = zext i1 %2337 to i32
  store i32 %2338, ptr %25, align 4, !tbaa !9
  %2339 = load i32, ptr %25, align 4, !tbaa !9
  %2340 = icmp ne i32 %2339, 0
  br i1 %2340, label %2341, label %2343

2341:                                             ; preds = %2302
  %2342 = load i32, ptr %23, align 4, !tbaa !9
  br label %2345

2343:                                             ; preds = %2302
  %2344 = load i32, ptr %24, align 4, !tbaa !9
  br label %2345

2345:                                             ; preds = %2343, %2341
  %2346 = phi i32 [ %2342, %2341 ], [ %2344, %2343 ]
  store i32 %2346, ptr %23, align 4, !tbaa !9
  %2347 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2347, ptr %10, align 4, !tbaa !9
  store i32 46, ptr %24, align 4, !tbaa !9
  %2348 = load ptr, ptr %5, align 8, !tbaa !5
  %2349 = getelementptr inbounds %struct.w2c_hermes, ptr %2348, i32 0, i32 6
  %2350 = load i32, ptr %23, align 4, !tbaa !9
  %2351 = zext i32 %2350 to i64
  %2352 = add i64 %2351, 8
  %2353 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2349, i64 noundef %2352, i32 noundef %2353)
  %2354 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2354, ptr %23, align 4, !tbaa !9
  store i64 197568495662, ptr %30, align 8, !tbaa !17
  %2355 = load ptr, ptr %5, align 8, !tbaa !5
  %2356 = getelementptr inbounds %struct.w2c_hermes, ptr %2355, i32 0, i32 6
  %2357 = load i32, ptr %23, align 4, !tbaa !9
  %2358 = zext i32 %2357 to i64
  %2359 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %2356, i64 noundef %2358, i64 noundef %2359)
  %2360 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2360, ptr %23, align 4, !tbaa !9
  %2361 = load ptr, ptr %5, align 8, !tbaa !5
  %2362 = getelementptr inbounds %struct.w2c_hermes, ptr %2361, i32 0, i32 6
  %2363 = load i32, ptr %23, align 4, !tbaa !9
  %2364 = zext i32 %2363 to i64
  %2365 = add i64 %2364, 59
  %2366 = call i32 @i32_load8_u(ptr noundef %2362, i64 noundef %2365)
  store i32 %2366, ptr %23, align 4, !tbaa !9
  %2367 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2367, ptr %17, align 4, !tbaa !9
  %2368 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2368, ptr %23, align 4, !tbaa !9
  %2369 = load ptr, ptr %5, align 8, !tbaa !5
  %2370 = getelementptr inbounds %struct.w2c_hermes, ptr %2369, i32 0, i32 6
  %2371 = load i32, ptr %23, align 4, !tbaa !9
  %2372 = zext i32 %2371 to i64
  %2373 = add i64 %2372, 52
  %2374 = call i32 @i32_load(ptr noundef %2370, i64 noundef %2373)
  store i32 %2374, ptr %23, align 4, !tbaa !9
  %2375 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2375, ptr %7, align 4, !tbaa !9
  br label %2376

2376:                                             ; preds = %2345, %2130
  %2377 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2377, ptr %23, align 4, !tbaa !9
  %2378 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2378, ptr %24, align 4, !tbaa !9
  store i32 255, ptr %25, align 4, !tbaa !9
  %2379 = load i32, ptr %25, align 4, !tbaa !9
  %2380 = load i32, ptr %24, align 4, !tbaa !9
  %2381 = and i32 %2380, %2379
  store i32 %2381, ptr %24, align 4, !tbaa !9
  %2382 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2382, ptr %25, align 4, !tbaa !9
  %2383 = load i32, ptr %25, align 4, !tbaa !9
  %2384 = trunc i32 %2383 to i8
  %2385 = sext i8 %2384 to i32
  store i32 %2385, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2386 = load i32, ptr %25, align 4, !tbaa !9
  %2387 = load i32, ptr %26, align 4, !tbaa !9
  %2388 = icmp slt i32 %2386, %2387
  %2389 = zext i1 %2388 to i32
  store i32 %2389, ptr %25, align 4, !tbaa !9
  %2390 = load i32, ptr %25, align 4, !tbaa !9
  %2391 = icmp ne i32 %2390, 0
  br i1 %2391, label %2392, label %2394

2392:                                             ; preds = %2376
  %2393 = load i32, ptr %23, align 4, !tbaa !9
  br label %2396

2394:                                             ; preds = %2376
  %2395 = load i32, ptr %24, align 4, !tbaa !9
  br label %2396

2396:                                             ; preds = %2394, %2392
  %2397 = phi i32 [ %2393, %2392 ], [ %2395, %2394 ]
  store i32 %2397, ptr %23, align 4, !tbaa !9
  %2398 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2398, ptr %24, align 4, !tbaa !9
  %2399 = load i32, ptr %23, align 4, !tbaa !9
  %2400 = load i32, ptr %24, align 4, !tbaa !9
  %2401 = icmp ule i32 %2399, %2400
  %2402 = zext i1 %2401 to i32
  store i32 %2402, ptr %23, align 4, !tbaa !9
  %2403 = load i32, ptr %23, align 4, !tbaa !9
  %2404 = icmp ne i32 %2403, 0
  br i1 %2404, label %2405, label %2406

2405:                                             ; preds = %2396
  br label %2671

2406:                                             ; preds = %2396
  %2407 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2407, ptr %23, align 4, !tbaa !9
  %2408 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2408, ptr %24, align 4, !tbaa !9
  %2409 = load ptr, ptr %5, align 8, !tbaa !5
  %2410 = getelementptr inbounds %struct.w2c_hermes, ptr %2409, i32 0, i32 6
  %2411 = load i32, ptr %24, align 4, !tbaa !9
  %2412 = zext i32 %2411 to i64
  %2413 = add i64 %2412, 20
  %2414 = call i32 @i32_load(ptr noundef %2410, i64 noundef %2413)
  store i32 %2414, ptr %24, align 4, !tbaa !9
  %2415 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2415, ptr %25, align 4, !tbaa !9
  %2416 = load ptr, ptr %5, align 8, !tbaa !5
  %2417 = getelementptr inbounds %struct.w2c_hermes, ptr %2416, i32 0, i32 6
  %2418 = load i32, ptr %25, align 4, !tbaa !9
  %2419 = zext i32 %2418 to i64
  %2420 = add i64 %2419, 27
  %2421 = call i32 @i32_load8_u(ptr noundef %2417, i64 noundef %2420)
  store i32 %2421, ptr %25, align 4, !tbaa !9
  %2422 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2422, ptr %10, align 4, !tbaa !9
  %2423 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2423, ptr %26, align 4, !tbaa !9
  %2424 = load i32, ptr %26, align 4, !tbaa !9
  %2425 = trunc i32 %2424 to i8
  %2426 = sext i8 %2425 to i32
  store i32 %2426, ptr %26, align 4, !tbaa !9
  %2427 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2427, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2428 = load i32, ptr %26, align 4, !tbaa !9
  %2429 = load i32, ptr %27, align 4, !tbaa !9
  %2430 = icmp slt i32 %2428, %2429
  %2431 = zext i1 %2430 to i32
  store i32 %2431, ptr %26, align 4, !tbaa !9
  %2432 = load i32, ptr %26, align 4, !tbaa !9
  %2433 = icmp ne i32 %2432, 0
  br i1 %2433, label %2434, label %2436

2434:                                             ; preds = %2406
  %2435 = load i32, ptr %24, align 4, !tbaa !9
  br label %2438

2436:                                             ; preds = %2406
  %2437 = load i32, ptr %25, align 4, !tbaa !9
  br label %2438

2438:                                             ; preds = %2436, %2434
  %2439 = phi i32 [ %2435, %2434 ], [ %2437, %2436 ]
  store i32 %2439, ptr %24, align 4, !tbaa !9
  %2440 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2440, ptr %10, align 4, !tbaa !9
  %2441 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2441, ptr %25, align 4, !tbaa !9
  %2442 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2442, ptr %26, align 4, !tbaa !9
  %2443 = load i32, ptr %25, align 4, !tbaa !9
  %2444 = load i32, ptr %26, align 4, !tbaa !9
  %2445 = icmp ugt i32 %2443, %2444
  %2446 = zext i1 %2445 to i32
  store i32 %2446, ptr %25, align 4, !tbaa !9
  %2447 = load i32, ptr %25, align 4, !tbaa !9
  %2448 = icmp ne i32 %2447, 0
  br i1 %2448, label %2449, label %2451

2449:                                             ; preds = %2438
  %2450 = load i32, ptr %23, align 4, !tbaa !9
  br label %2453

2451:                                             ; preds = %2438
  %2452 = load i32, ptr %24, align 4, !tbaa !9
  br label %2453

2453:                                             ; preds = %2451, %2449
  %2454 = phi i32 [ %2450, %2449 ], [ %2452, %2451 ]
  store i32 %2454, ptr %23, align 4, !tbaa !9
  %2455 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2455, ptr %10, align 4, !tbaa !9
  %2456 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2456, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %25, align 4, !tbaa !9
  %2457 = load i32, ptr %24, align 4, !tbaa !9
  %2458 = load i32, ptr %25, align 4, !tbaa !9
  %2459 = icmp slt i32 %2457, %2458
  %2460 = zext i1 %2459 to i32
  store i32 %2460, ptr %24, align 4, !tbaa !9
  %2461 = load i32, ptr %24, align 4, !tbaa !9
  %2462 = icmp ne i32 %2461, 0
  br i1 %2462, label %2463, label %2479

2463:                                             ; preds = %2453
  %2464 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2464, ptr %24, align 4, !tbaa !9
  %2465 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2465, ptr %25, align 4, !tbaa !9
  %2466 = load ptr, ptr %5, align 8, !tbaa !5
  %2467 = getelementptr inbounds %struct.w2c_hermes, ptr %2466, i32 0, i32 6
  %2468 = load i32, ptr %24, align 4, !tbaa !9
  %2469 = zext i32 %2468 to i64
  %2470 = add i64 %2469, 20
  %2471 = load i32, ptr %25, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2467, i64 noundef %2470, i32 noundef %2471)
  %2472 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2472, ptr %24, align 4, !tbaa !9
  %2473 = load ptr, ptr %5, align 8, !tbaa !5
  %2474 = getelementptr inbounds %struct.w2c_hermes, ptr %2473, i32 0, i32 6
  %2475 = load i32, ptr %24, align 4, !tbaa !9
  %2476 = zext i32 %2475 to i64
  %2477 = add i64 %2476, 16
  %2478 = call i32 @i32_load(ptr noundef %2474, i64 noundef %2477)
  store i32 %2478, ptr %24, align 4, !tbaa !9
  br label %2492

2479:                                             ; preds = %2453
  %2480 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2480, ptr %24, align 4, !tbaa !9
  %2481 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2481, ptr %25, align 4, !tbaa !9
  %2482 = load ptr, ptr %5, align 8, !tbaa !5
  %2483 = getelementptr inbounds %struct.w2c_hermes, ptr %2482, i32 0, i32 6
  %2484 = load i32, ptr %24, align 4, !tbaa !9
  %2485 = zext i32 %2484 to i64
  %2486 = add i64 %2485, 27
  %2487 = load i32, ptr %25, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2483, i64 noundef %2486, i32 noundef %2487)
  %2488 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2488, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %2489 = load i32, ptr %25, align 4, !tbaa !9
  %2490 = load i32, ptr %24, align 4, !tbaa !9
  %2491 = add i32 %2490, %2489
  store i32 %2491, ptr %24, align 4, !tbaa !9
  br label %2492

2492:                                             ; preds = %2479, %2463
  %2493 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2493, ptr %12, align 4, !tbaa !9
  %2494 = load i32, ptr %24, align 4, !tbaa !9
  %2495 = load i32, ptr %23, align 4, !tbaa !9
  %2496 = add i32 %2495, %2494
  store i32 %2496, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2497 = load ptr, ptr %5, align 8, !tbaa !5
  %2498 = getelementptr inbounds %struct.w2c_hermes, ptr %2497, i32 0, i32 6
  %2499 = load i32, ptr %23, align 4, !tbaa !9
  %2500 = zext i32 %2499 to i64
  %2501 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2498, i64 noundef %2500, i32 noundef %2501)
  %2502 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2502, ptr %23, align 4, !tbaa !9
  %2503 = load ptr, ptr %5, align 8, !tbaa !5
  %2504 = getelementptr inbounds %struct.w2c_hermes, ptr %2503, i32 0, i32 6
  %2505 = load i32, ptr %23, align 4, !tbaa !9
  %2506 = zext i32 %2505 to i64
  %2507 = add i64 %2506, 52
  %2508 = call i32 @i32_load(ptr noundef %2504, i64 noundef %2507)
  store i32 %2508, ptr %23, align 4, !tbaa !9
  %2509 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2509, ptr %24, align 4, !tbaa !9
  %2510 = load ptr, ptr %5, align 8, !tbaa !5
  %2511 = getelementptr inbounds %struct.w2c_hermes, ptr %2510, i32 0, i32 6
  %2512 = load i32, ptr %24, align 4, !tbaa !9
  %2513 = zext i32 %2512 to i64
  %2514 = add i64 %2513, 59
  %2515 = call i32 @i32_load8_u(ptr noundef %2511, i64 noundef %2514)
  store i32 %2515, ptr %24, align 4, !tbaa !9
  %2516 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2516, ptr %10, align 4, !tbaa !9
  %2517 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2517, ptr %25, align 4, !tbaa !9
  %2518 = load i32, ptr %25, align 4, !tbaa !9
  %2519 = trunc i32 %2518 to i8
  %2520 = sext i8 %2519 to i32
  store i32 %2520, ptr %25, align 4, !tbaa !9
  %2521 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2521, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2522 = load i32, ptr %25, align 4, !tbaa !9
  %2523 = load i32, ptr %26, align 4, !tbaa !9
  %2524 = icmp slt i32 %2522, %2523
  %2525 = zext i1 %2524 to i32
  store i32 %2525, ptr %25, align 4, !tbaa !9
  %2526 = load i32, ptr %25, align 4, !tbaa !9
  %2527 = icmp ne i32 %2526, 0
  br i1 %2527, label %2528, label %2530

2528:                                             ; preds = %2492
  %2529 = load i32, ptr %23, align 4, !tbaa !9
  br label %2532

2530:                                             ; preds = %2492
  %2531 = load i32, ptr %24, align 4, !tbaa !9
  br label %2532

2532:                                             ; preds = %2530, %2528
  %2533 = phi i32 [ %2529, %2528 ], [ %2531, %2530 ]
  store i32 %2533, ptr %23, align 4, !tbaa !9
  %2534 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2534, ptr %24, align 4, !tbaa !9
  %2535 = load i32, ptr %23, align 4, !tbaa !9
  %2536 = load i32, ptr %24, align 4, !tbaa !9
  %2537 = icmp ult i32 %2535, %2536
  %2538 = zext i1 %2537 to i32
  store i32 %2538, ptr %23, align 4, !tbaa !9
  %2539 = load i32, ptr %23, align 4, !tbaa !9
  %2540 = icmp ne i32 %2539, 0
  br i1 %2540, label %2541, label %2542

2541:                                             ; preds = %2532
  br label %3010

2542:                                             ; preds = %2532
  %2543 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2543, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2544 = load i32, ptr %23, align 4, !tbaa !9
  %2545 = load i32, ptr %24, align 4, !tbaa !9
  %2546 = icmp slt i32 %2544, %2545
  %2547 = zext i1 %2546 to i32
  store i32 %2547, ptr %23, align 4, !tbaa !9
  %2548 = load i32, ptr %23, align 4, !tbaa !9
  %2549 = icmp ne i32 %2548, 0
  br i1 %2549, label %2550, label %2566

2550:                                             ; preds = %2542
  %2551 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2551, ptr %23, align 4, !tbaa !9
  %2552 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2552, ptr %24, align 4, !tbaa !9
  %2553 = load ptr, ptr %5, align 8, !tbaa !5
  %2554 = getelementptr inbounds %struct.w2c_hermes, ptr %2553, i32 0, i32 6
  %2555 = load i32, ptr %23, align 4, !tbaa !9
  %2556 = zext i32 %2555 to i64
  %2557 = add i64 %2556, 52
  %2558 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2554, i64 noundef %2557, i32 noundef %2558)
  %2559 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2559, ptr %23, align 4, !tbaa !9
  %2560 = load ptr, ptr %5, align 8, !tbaa !5
  %2561 = getelementptr inbounds %struct.w2c_hermes, ptr %2560, i32 0, i32 6
  %2562 = load i32, ptr %23, align 4, !tbaa !9
  %2563 = zext i32 %2562 to i64
  %2564 = add i64 %2563, 48
  %2565 = call i32 @i32_load(ptr noundef %2561, i64 noundef %2564)
  store i32 %2565, ptr %23, align 4, !tbaa !9
  br label %2579

2566:                                             ; preds = %2542
  %2567 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2567, ptr %23, align 4, !tbaa !9
  %2568 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2568, ptr %24, align 4, !tbaa !9
  %2569 = load ptr, ptr %5, align 8, !tbaa !5
  %2570 = getelementptr inbounds %struct.w2c_hermes, ptr %2569, i32 0, i32 6
  %2571 = load i32, ptr %23, align 4, !tbaa !9
  %2572 = zext i32 %2571 to i64
  %2573 = add i64 %2572, 59
  %2574 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2570, i64 noundef %2573, i32 noundef %2574)
  %2575 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2575, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %2576 = load i32, ptr %24, align 4, !tbaa !9
  %2577 = load i32, ptr %23, align 4, !tbaa !9
  %2578 = add i32 %2577, %2576
  store i32 %2578, ptr %23, align 4, !tbaa !9
  br label %2579

2579:                                             ; preds = %2566, %2550
  %2580 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2580, ptr %10, align 4, !tbaa !9
  %2581 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2581, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2582 = load i32, ptr %25, align 4, !tbaa !9
  %2583 = and i32 %2582, 31
  %2584 = load i32, ptr %24, align 4, !tbaa !9
  %2585 = shl i32 %2584, %2583
  store i32 %2585, ptr %24, align 4, !tbaa !9
  %2586 = load i32, ptr %24, align 4, !tbaa !9
  %2587 = load i32, ptr %23, align 4, !tbaa !9
  %2588 = add i32 %2587, %2586
  store i32 %2588, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2589 = load ptr, ptr %5, align 8, !tbaa !5
  %2590 = getelementptr inbounds %struct.w2c_hermes, ptr %2589, i32 0, i32 6
  %2591 = load i32, ptr %23, align 4, !tbaa !9
  %2592 = zext i32 %2591 to i64
  %2593 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2590, i64 noundef %2592, i32 noundef %2593)
  %2594 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2594, ptr %23, align 4, !tbaa !9
  %2595 = load ptr, ptr %5, align 8, !tbaa !5
  %2596 = getelementptr inbounds %struct.w2c_hermes, ptr %2595, i32 0, i32 6
  %2597 = load i32, ptr %23, align 4, !tbaa !9
  %2598 = zext i32 %2597 to i64
  %2599 = add i64 %2598, 48
  %2600 = call i32 @i32_load(ptr noundef %2596, i64 noundef %2599)
  store i32 %2600, ptr %23, align 4, !tbaa !9
  %2601 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2601, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %2602 = load i32, ptr %25, align 4, !tbaa !9
  %2603 = load i32, ptr %24, align 4, !tbaa !9
  %2604 = add i32 %2603, %2602
  store i32 %2604, ptr %24, align 4, !tbaa !9
  %2605 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2605, ptr %25, align 4, !tbaa !9
  %2606 = load ptr, ptr %5, align 8, !tbaa !5
  %2607 = getelementptr inbounds %struct.w2c_hermes, ptr %2606, i32 0, i32 6
  %2608 = load i32, ptr %25, align 4, !tbaa !9
  %2609 = zext i32 %2608 to i64
  %2610 = add i64 %2609, 59
  %2611 = call i32 @i32_load8_u(ptr noundef %2607, i64 noundef %2610)
  store i32 %2611, ptr %25, align 4, !tbaa !9
  %2612 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2612, ptr %11, align 4, !tbaa !9
  %2613 = load i32, ptr %25, align 4, !tbaa !9
  %2614 = trunc i32 %2613 to i8
  %2615 = sext i8 %2614 to i32
  store i32 %2615, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2616 = load i32, ptr %25, align 4, !tbaa !9
  %2617 = load i32, ptr %26, align 4, !tbaa !9
  %2618 = icmp slt i32 %2616, %2617
  %2619 = zext i1 %2618 to i32
  store i32 %2619, ptr %25, align 4, !tbaa !9
  %2620 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2620, ptr %10, align 4, !tbaa !9
  %2621 = load i32, ptr %25, align 4, !tbaa !9
  %2622 = icmp ne i32 %2621, 0
  br i1 %2622, label %2623, label %2625

2623:                                             ; preds = %2579
  %2624 = load i32, ptr %23, align 4, !tbaa !9
  br label %2627

2625:                                             ; preds = %2579
  %2626 = load i32, ptr %24, align 4, !tbaa !9
  br label %2627

2627:                                             ; preds = %2625, %2623
  %2628 = phi i32 [ %2624, %2623 ], [ %2626, %2625 ]
  store i32 %2628, ptr %23, align 4, !tbaa !9
  %2629 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2629, ptr %24, align 4, !tbaa !9
  %2630 = load ptr, ptr %5, align 8, !tbaa !5
  %2631 = getelementptr inbounds %struct.w2c_hermes, ptr %2630, i32 0, i32 6
  %2632 = load i32, ptr %24, align 4, !tbaa !9
  %2633 = zext i32 %2632 to i64
  %2634 = add i64 %2633, 52
  %2635 = call i32 @i32_load(ptr noundef %2631, i64 noundef %2634)
  store i32 %2635, ptr %24, align 4, !tbaa !9
  %2636 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2636, ptr %25, align 4, !tbaa !9
  %2637 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2637, ptr %26, align 4, !tbaa !9
  %2638 = load i32, ptr %26, align 4, !tbaa !9
  %2639 = icmp ne i32 %2638, 0
  br i1 %2639, label %2640, label %2642

2640:                                             ; preds = %2627
  %2641 = load i32, ptr %24, align 4, !tbaa !9
  br label %2644

2642:                                             ; preds = %2627
  %2643 = load i32, ptr %25, align 4, !tbaa !9
  br label %2644

2644:                                             ; preds = %2642, %2640
  %2645 = phi i32 [ %2641, %2640 ], [ %2643, %2642 ]
  store i32 %2645, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2646 = load i32, ptr %25, align 4, !tbaa !9
  %2647 = and i32 %2646, 31
  %2648 = load i32, ptr %24, align 4, !tbaa !9
  %2649 = shl i32 %2648, %2647
  store i32 %2649, ptr %24, align 4, !tbaa !9
  %2650 = load i32, ptr %24, align 4, !tbaa !9
  %2651 = load i32, ptr %23, align 4, !tbaa !9
  %2652 = add i32 %2651, %2650
  store i32 %2652, ptr %23, align 4, !tbaa !9
  %2653 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2653, ptr %11, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %2654 = load i32, ptr %24, align 4, !tbaa !9
  %2655 = load i32, ptr %23, align 4, !tbaa !9
  %2656 = sub i32 %2655, %2654
  store i32 %2656, ptr %23, align 4, !tbaa !9
  store i32 46, ptr %24, align 4, !tbaa !9
  %2657 = load ptr, ptr %5, align 8, !tbaa !5
  %2658 = getelementptr inbounds %struct.w2c_hermes, ptr %2657, i32 0, i32 6
  %2659 = load i32, ptr %23, align 4, !tbaa !9
  %2660 = zext i32 %2659 to i64
  %2661 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2658, i64 noundef %2660, i32 noundef %2661)
  %2662 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2662, ptr %23, align 4, !tbaa !9
  store i32 12, ptr %24, align 4, !tbaa !9
  %2663 = load i32, ptr %24, align 4, !tbaa !9
  %2664 = load i32, ptr %23, align 4, !tbaa !9
  %2665 = sub i32 %2664, %2663
  store i32 %2665, ptr %23, align 4, !tbaa !9
  store i64 197568495662, ptr %30, align 8, !tbaa !17
  %2666 = load ptr, ptr %5, align 8, !tbaa !5
  %2667 = getelementptr inbounds %struct.w2c_hermes, ptr %2666, i32 0, i32 6
  %2668 = load i32, ptr %23, align 4, !tbaa !9
  %2669 = zext i32 %2668 to i64
  %2670 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %2667, i64 noundef %2669, i64 noundef %2670)
  br label %2671

2671:                                             ; preds = %2644, %2405, %2094
  %2672 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2672, ptr %23, align 4, !tbaa !9
  %2673 = load ptr, ptr %5, align 8, !tbaa !5
  %2674 = getelementptr inbounds %struct.w2c_hermes, ptr %2673, i32 0, i32 6
  %2675 = load i32, ptr %23, align 4, !tbaa !9
  %2676 = zext i32 %2675 to i64
  %2677 = add i64 %2676, 43
  %2678 = call i32 @i32_load8_s(ptr noundef %2674, i64 noundef %2677)
  store i32 %2678, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2679 = load i32, ptr %23, align 4, !tbaa !9
  %2680 = load i32, ptr %24, align 4, !tbaa !9
  %2681 = icmp slt i32 %2679, %2680
  %2682 = zext i1 %2681 to i32
  store i32 %2682, ptr %23, align 4, !tbaa !9
  %2683 = load i32, ptr %23, align 4, !tbaa !9
  %2684 = icmp ne i32 %2683, 0
  br i1 %2684, label %2685, label %2705

2685:                                             ; preds = %2671
  %2686 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2686, ptr %23, align 4, !tbaa !9
  %2687 = load ptr, ptr %5, align 8, !tbaa !5
  %2688 = getelementptr inbounds %struct.w2c_hermes, ptr %2687, i32 0, i32 6
  %2689 = load i32, ptr %23, align 4, !tbaa !9
  %2690 = zext i32 %2689 to i64
  %2691 = add i64 %2690, 32
  %2692 = call i32 @i32_load(ptr noundef %2688, i64 noundef %2691)
  store i32 %2692, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2693 = load ptr, ptr %5, align 8, !tbaa !5
  %2694 = getelementptr inbounds %struct.w2c_hermes, ptr %2693, i32 0, i32 6
  %2695 = load i32, ptr %23, align 4, !tbaa !9
  %2696 = zext i32 %2695 to i64
  %2697 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2694, i64 noundef %2696, i32 noundef %2697)
  %2698 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2698, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2699 = load ptr, ptr %5, align 8, !tbaa !5
  %2700 = getelementptr inbounds %struct.w2c_hermes, ptr %2699, i32 0, i32 6
  %2701 = load i32, ptr %23, align 4, !tbaa !9
  %2702 = zext i32 %2701 to i64
  %2703 = add i64 %2702, 36
  %2704 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2700, i64 noundef %2703, i32 noundef %2704)
  br label %2720

2705:                                             ; preds = %2671
  %2706 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2706, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2707 = load ptr, ptr %5, align 8, !tbaa !5
  %2708 = getelementptr inbounds %struct.w2c_hermes, ptr %2707, i32 0, i32 6
  %2709 = load i32, ptr %23, align 4, !tbaa !9
  %2710 = zext i32 %2709 to i64
  %2711 = add i64 %2710, 43
  %2712 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2708, i64 noundef %2711, i32 noundef %2712)
  %2713 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2713, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2714 = load ptr, ptr %5, align 8, !tbaa !5
  %2715 = getelementptr inbounds %struct.w2c_hermes, ptr %2714, i32 0, i32 6
  %2716 = load i32, ptr %23, align 4, !tbaa !9
  %2717 = zext i32 %2716 to i64
  %2718 = add i64 %2717, 32
  %2719 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2715, i64 noundef %2718, i32 noundef %2719)
  br label %2720

2720:                                             ; preds = %2705, %2685
  %2721 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2721, ptr %23, align 4, !tbaa !9
  %2722 = load ptr, ptr %5, align 8, !tbaa !5
  %2723 = getelementptr inbounds %struct.w2c_hermes, ptr %2722, i32 0, i32 6
  %2724 = load i32, ptr %23, align 4, !tbaa !9
  %2725 = zext i32 %2724 to i64
  %2726 = add i64 %2725, 52
  %2727 = call i32 @i32_load(ptr noundef %2723, i64 noundef %2726)
  store i32 %2727, ptr %23, align 4, !tbaa !9
  %2728 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2728, ptr %24, align 4, !tbaa !9
  %2729 = load ptr, ptr %5, align 8, !tbaa !5
  %2730 = getelementptr inbounds %struct.w2c_hermes, ptr %2729, i32 0, i32 6
  %2731 = load i32, ptr %24, align 4, !tbaa !9
  %2732 = zext i32 %2731 to i64
  %2733 = add i64 %2732, 59
  %2734 = call i32 @i32_load8_u(ptr noundef %2730, i64 noundef %2733)
  store i32 %2734, ptr %24, align 4, !tbaa !9
  %2735 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2735, ptr %11, align 4, !tbaa !9
  %2736 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2736, ptr %25, align 4, !tbaa !9
  %2737 = load i32, ptr %25, align 4, !tbaa !9
  %2738 = trunc i32 %2737 to i8
  %2739 = sext i8 %2738 to i32
  store i32 %2739, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2740 = load i32, ptr %25, align 4, !tbaa !9
  %2741 = load i32, ptr %26, align 4, !tbaa !9
  %2742 = icmp slt i32 %2740, %2741
  %2743 = zext i1 %2742 to i32
  store i32 %2743, ptr %25, align 4, !tbaa !9
  %2744 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2744, ptr %11, align 4, !tbaa !9
  %2745 = load i32, ptr %25, align 4, !tbaa !9
  %2746 = icmp ne i32 %2745, 0
  br i1 %2746, label %2747, label %2749

2747:                                             ; preds = %2720
  %2748 = load i32, ptr %23, align 4, !tbaa !9
  br label %2751

2749:                                             ; preds = %2720
  %2750 = load i32, ptr %24, align 4, !tbaa !9
  br label %2751

2751:                                             ; preds = %2749, %2747
  %2752 = phi i32 [ %2748, %2747 ], [ %2750, %2749 ]
  store i32 %2752, ptr %23, align 4, !tbaa !9
  %2753 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2753, ptr %10, align 4, !tbaa !9
  %2754 = load i32, ptr %23, align 4, !tbaa !9
  %2755 = icmp ne i32 %2754, 0
  br i1 %2755, label %2756, label %2862

2756:                                             ; preds = %2751
  %2757 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2757, ptr %23, align 4, !tbaa !9
  %2758 = load ptr, ptr %5, align 8, !tbaa !5
  %2759 = getelementptr inbounds %struct.w2c_hermes, ptr %2758, i32 0, i32 6
  %2760 = load i32, ptr %23, align 4, !tbaa !9
  %2761 = zext i32 %2760 to i64
  %2762 = add i64 %2761, 48
  %2763 = call i32 @i32_load(ptr noundef %2759, i64 noundef %2762)
  store i32 %2763, ptr %23, align 4, !tbaa !9
  %2764 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2764, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %2765 = load i32, ptr %25, align 4, !tbaa !9
  %2766 = load i32, ptr %24, align 4, !tbaa !9
  %2767 = add i32 %2766, %2765
  store i32 %2767, ptr %24, align 4, !tbaa !9
  %2768 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2768, ptr %25, align 4, !tbaa !9
  %2769 = load i32, ptr %25, align 4, !tbaa !9
  %2770 = icmp ne i32 %2769, 0
  br i1 %2770, label %2771, label %2773

2771:                                             ; preds = %2756
  %2772 = load i32, ptr %23, align 4, !tbaa !9
  br label %2775

2773:                                             ; preds = %2756
  %2774 = load i32, ptr %24, align 4, !tbaa !9
  br label %2775

2775:                                             ; preds = %2773, %2771
  %2776 = phi i32 [ %2772, %2771 ], [ %2774, %2773 ]
  store i32 %2776, ptr %23, align 4, !tbaa !9
  %2777 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2777, ptr %11, align 4, !tbaa !9
  %2778 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2778, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2779 = load i32, ptr %25, align 4, !tbaa !9
  %2780 = and i32 %2779, 31
  %2781 = load i32, ptr %24, align 4, !tbaa !9
  %2782 = shl i32 %2781, %2780
  store i32 %2782, ptr %24, align 4, !tbaa !9
  %2783 = load i32, ptr %24, align 4, !tbaa !9
  %2784 = load i32, ptr %23, align 4, !tbaa !9
  %2785 = add i32 %2784, %2783
  store i32 %2785, ptr %23, align 4, !tbaa !9
  %2786 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2786, ptr %12, align 4, !tbaa !9
  br label %2787

2787:                                             ; preds = %2860, %2775
  %2788 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2788, ptr %23, align 4, !tbaa !9
  %2789 = load ptr, ptr %5, align 8, !tbaa !5
  %2790 = getelementptr inbounds %struct.w2c_hermes, ptr %2789, i32 0, i32 6
  %2791 = load i32, ptr %23, align 4, !tbaa !9
  %2792 = zext i32 %2791 to i64
  %2793 = call i32 @i32_load(ptr noundef %2790, i64 noundef %2792)
  store i32 %2793, ptr %23, align 4, !tbaa !9
  %2794 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2794, ptr %10, align 4, !tbaa !9
  %2795 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2795, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2796 = load ptr, ptr %5, align 8, !tbaa !5
  %2797 = getelementptr inbounds %struct.w2c_hermes, ptr %2796, i32 0, i32 6
  %2798 = load i32, ptr %23, align 4, !tbaa !9
  %2799 = zext i32 %2798 to i64
  %2800 = add i64 %2799, 12
  %2801 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2797, i64 noundef %2800, i32 noundef %2801)
  %2802 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2802, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2803 = load ptr, ptr %5, align 8, !tbaa !5
  %2804 = getelementptr inbounds %struct.w2c_hermes, ptr %2803, i32 0, i32 6
  %2805 = load i32, ptr %23, align 4, !tbaa !9
  %2806 = zext i32 %2805 to i64
  %2807 = add i64 %2806, 8
  %2808 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2804, i64 noundef %2807, i32 noundef %2808)
  %2809 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2809, ptr %23, align 4, !tbaa !9
  %2810 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2810, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %2811 = load i32, ptr %25, align 4, !tbaa !9
  %2812 = load i32, ptr %24, align 4, !tbaa !9
  %2813 = add i32 %2812, %2811
  store i32 %2813, ptr %24, align 4, !tbaa !9
  %2814 = load ptr, ptr %5, align 8, !tbaa !5
  %2815 = getelementptr inbounds %struct.w2c_hermes, ptr %2814, i32 0, i32 6
  %2816 = load i32, ptr %23, align 4, !tbaa !9
  %2817 = zext i32 %2816 to i64
  %2818 = add i64 %2817, 4
  %2819 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2815, i64 noundef %2818, i32 noundef %2819)
  %2820 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2820, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %2821 = load i32, ptr %24, align 4, !tbaa !9
  %2822 = load i32, ptr %23, align 4, !tbaa !9
  %2823 = add i32 %2822, %2821
  store i32 %2823, ptr %23, align 4, !tbaa !9
  %2824 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2824, ptr %24, align 4, !tbaa !9
  %2825 = load ptr, ptr %5, align 8, !tbaa !5
  %2826 = load i32, ptr %23, align 4, !tbaa !9
  %2827 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AencodeUTF80x28char0x2A0x260x2C0x20unsigned0x20int0x29(ptr noundef %2825, i32 noundef %2826, i32 noundef %2827)
  %2828 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2828, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %2829 = load i32, ptr %24, align 4, !tbaa !9
  %2830 = load i32, ptr %23, align 4, !tbaa !9
  %2831 = add i32 %2830, %2829
  store i32 %2831, ptr %23, align 4, !tbaa !9
  %2832 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2832, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %2833 = load i32, ptr %25, align 4, !tbaa !9
  %2834 = load i32, ptr %24, align 4, !tbaa !9
  %2835 = add i32 %2834, %2833
  store i32 %2835, ptr %24, align 4, !tbaa !9
  %2836 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2836, ptr %25, align 4, !tbaa !9
  %2837 = load ptr, ptr %5, align 8, !tbaa !5
  %2838 = getelementptr inbounds %struct.w2c_hermes, ptr %2837, i32 0, i32 6
  %2839 = load i32, ptr %25, align 4, !tbaa !9
  %2840 = zext i32 %2839 to i64
  %2841 = add i64 %2840, 4
  %2842 = call i32 @i32_load(ptr noundef %2838, i64 noundef %2841)
  store i32 %2842, ptr %25, align 4, !tbaa !9
  %2843 = load ptr, ptr %5, align 8, !tbaa !5
  %2844 = load i32, ptr %23, align 4, !tbaa !9
  %2845 = load i32, ptr %24, align 4, !tbaa !9
  %2846 = load i32, ptr %25, align 4, !tbaa !9
  %2847 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aenable_if0x3C_0x5Fis_cpp17_forward_iterator0x3Cchar0x2A0x3E0x3A0x3Avalue0x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x260x3E0x3A0x3Atype0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Aappend0x5Babi0x3Av150070x5D0x3Cchar0x2A0x3E0x28char0x2A0x2C0x20char0x2A0x29(ptr noundef %2843, i32 noundef %2844, i32 noundef %2845, i32 noundef %2846)
  store i32 %2847, ptr %23, align 4, !tbaa !9
  %2848 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2848, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %2849 = load i32, ptr %24, align 4, !tbaa !9
  %2850 = load i32, ptr %23, align 4, !tbaa !9
  %2851 = add i32 %2850, %2849
  store i32 %2851, ptr %23, align 4, !tbaa !9
  %2852 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2852, ptr %11, align 4, !tbaa !9
  %2853 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2853, ptr %24, align 4, !tbaa !9
  %2854 = load i32, ptr %23, align 4, !tbaa !9
  %2855 = load i32, ptr %24, align 4, !tbaa !9
  %2856 = icmp ne i32 %2854, %2855
  %2857 = zext i1 %2856 to i32
  store i32 %2857, ptr %23, align 4, !tbaa !9
  %2858 = load i32, ptr %23, align 4, !tbaa !9
  %2859 = icmp ne i32 %2858, 0
  br i1 %2859, label %2860, label %2861

2860:                                             ; preds = %2787
  br label %2787

2861:                                             ; preds = %2787
  br label %2862

2862:                                             ; preds = %2861, %2751
  %2863 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2863, ptr %23, align 4, !tbaa !9
  %2864 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2864, ptr %24, align 4, !tbaa !9
  %2865 = load ptr, ptr %5, align 8, !tbaa !5
  %2866 = getelementptr inbounds %struct.w2c_hermes, ptr %2865, i32 0, i32 6
  %2867 = load i32, ptr %24, align 4, !tbaa !9
  %2868 = zext i32 %2867 to i64
  %2869 = add i64 %2868, 32
  %2870 = call i64 @i64_load(ptr noundef %2866, i64 noundef %2869)
  store i64 %2870, ptr %30, align 8, !tbaa !17
  %2871 = load ptr, ptr %5, align 8, !tbaa !5
  %2872 = getelementptr inbounds %struct.w2c_hermes, ptr %2871, i32 0, i32 6
  %2873 = load i32, ptr %23, align 4, !tbaa !9
  %2874 = zext i32 %2873 to i64
  %2875 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %2872, i64 noundef %2874, i64 noundef %2875)
  %2876 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2876, ptr %23, align 4, !tbaa !9
  %2877 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2877, ptr %24, align 4, !tbaa !9
  store i32 40, ptr %25, align 4, !tbaa !9
  %2878 = load i32, ptr %25, align 4, !tbaa !9
  %2879 = load i32, ptr %24, align 4, !tbaa !9
  %2880 = add i32 %2879, %2878
  store i32 %2880, ptr %24, align 4, !tbaa !9
  %2881 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2881, ptr %11, align 4, !tbaa !9
  %2882 = load ptr, ptr %5, align 8, !tbaa !5
  %2883 = getelementptr inbounds %struct.w2c_hermes, ptr %2882, i32 0, i32 6
  %2884 = load i32, ptr %24, align 4, !tbaa !9
  %2885 = zext i32 %2884 to i64
  %2886 = call i32 @i32_load(ptr noundef %2883, i64 noundef %2885)
  store i32 %2886, ptr %24, align 4, !tbaa !9
  %2887 = load ptr, ptr %5, align 8, !tbaa !5
  %2888 = getelementptr inbounds %struct.w2c_hermes, ptr %2887, i32 0, i32 6
  %2889 = load i32, ptr %23, align 4, !tbaa !9
  %2890 = zext i32 %2889 to i64
  %2891 = add i64 %2890, 8
  %2892 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2888, i64 noundef %2891, i32 noundef %2892)
  %2893 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2893, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2894 = load ptr, ptr %5, align 8, !tbaa !5
  %2895 = getelementptr inbounds %struct.w2c_hermes, ptr %2894, i32 0, i32 6
  %2896 = load i32, ptr %23, align 4, !tbaa !9
  %2897 = zext i32 %2896 to i64
  %2898 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2895, i64 noundef %2897, i32 noundef %2898)
  %2899 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2899, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %30, align 8, !tbaa !17
  %2900 = load ptr, ptr %5, align 8, !tbaa !5
  %2901 = getelementptr inbounds %struct.w2c_hermes, ptr %2900, i32 0, i32 6
  %2902 = load i32, ptr %23, align 4, !tbaa !9
  %2903 = zext i32 %2902 to i64
  %2904 = add i64 %2903, 32
  %2905 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %2901, i64 noundef %2904, i64 noundef %2905)
  %2906 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2906, ptr %23, align 4, !tbaa !9
  %2907 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2907, ptr %24, align 4, !tbaa !9
  %2908 = load ptr, ptr %5, align 8, !tbaa !5
  %2909 = getelementptr inbounds %struct.w2c_hermes, ptr %2908, i32 0, i32 6
  %2910 = load i32, ptr %24, align 4, !tbaa !9
  %2911 = zext i32 %2910 to i64
  %2912 = add i64 %2911, 24
  %2913 = call i32 @i32_load(ptr noundef %2909, i64 noundef %2912)
  store i32 %2913, ptr %24, align 4, !tbaa !9
  %2914 = load ptr, ptr %5, align 8, !tbaa !5
  %2915 = getelementptr inbounds %struct.w2c_hermes, ptr %2914, i32 0, i32 6
  %2916 = load i32, ptr %23, align 4, !tbaa !9
  %2917 = zext i32 %2916 to i64
  %2918 = add i64 %2917, 20
  %2919 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2915, i64 noundef %2918, i32 noundef %2919)
  %2920 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2920, ptr %23, align 4, !tbaa !9
  %2921 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2921, ptr %24, align 4, !tbaa !9
  %2922 = load ptr, ptr %5, align 8, !tbaa !5
  %2923 = getelementptr inbounds %struct.w2c_hermes, ptr %2922, i32 0, i32 6
  %2924 = load i32, ptr %24, align 4, !tbaa !9
  %2925 = zext i32 %2924 to i64
  %2926 = add i64 %2925, 16
  %2927 = call i64 @i64_load(ptr noundef %2923, i64 noundef %2926)
  store i64 %2927, ptr %30, align 8, !tbaa !17
  %2928 = load ptr, ptr %5, align 8, !tbaa !5
  %2929 = getelementptr inbounds %struct.w2c_hermes, ptr %2928, i32 0, i32 6
  %2930 = load i32, ptr %23, align 4, !tbaa !9
  %2931 = zext i32 %2930 to i64
  %2932 = add i64 %2931, 12
  %2933 = load i64, ptr %30, align 8, !tbaa !17
  call void @i64_store(ptr noundef %2929, i64 noundef %2932, i64 noundef %2933)
  %2934 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2934, ptr %23, align 4, !tbaa !9
  %2935 = load i32, ptr %23, align 4, !tbaa !9
  %2936 = icmp ne i32 %2935, 0
  %2937 = xor i1 %2936, true
  %2938 = zext i1 %2937 to i32
  store i32 %2938, ptr %23, align 4, !tbaa !9
  %2939 = load i32, ptr %23, align 4, !tbaa !9
  %2940 = icmp ne i32 %2939, 0
  br i1 %2940, label %2941, label %2942

2941:                                             ; preds = %2862
  br label %2970

2942:                                             ; preds = %2862
  %2943 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2943, ptr %23, align 4, !tbaa !9
  %2944 = load ptr, ptr %5, align 8, !tbaa !5
  %2945 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2944, i32 noundef %2945)
  %2946 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2946, ptr %23, align 4, !tbaa !9
  %2947 = load ptr, ptr %5, align 8, !tbaa !5
  %2948 = getelementptr inbounds %struct.w2c_hermes, ptr %2947, i32 0, i32 6
  %2949 = load i32, ptr %23, align 4, !tbaa !9
  %2950 = zext i32 %2949 to i64
  %2951 = add i64 %2950, 43
  %2952 = call i32 @i32_load8_s(ptr noundef %2948, i64 noundef %2951)
  store i32 %2952, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2953 = load i32, ptr %23, align 4, !tbaa !9
  %2954 = load i32, ptr %24, align 4, !tbaa !9
  %2955 = icmp sge i32 %2953, %2954
  %2956 = zext i1 %2955 to i32
  store i32 %2956, ptr %23, align 4, !tbaa !9
  %2957 = load i32, ptr %23, align 4, !tbaa !9
  %2958 = icmp ne i32 %2957, 0
  br i1 %2958, label %2959, label %2960

2959:                                             ; preds = %2942
  br label %2970

2960:                                             ; preds = %2942
  %2961 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2961, ptr %23, align 4, !tbaa !9
  %2962 = load ptr, ptr %5, align 8, !tbaa !5
  %2963 = getelementptr inbounds %struct.w2c_hermes, ptr %2962, i32 0, i32 6
  %2964 = load i32, ptr %23, align 4, !tbaa !9
  %2965 = zext i32 %2964 to i64
  %2966 = add i64 %2965, 32
  %2967 = call i32 @i32_load(ptr noundef %2963, i64 noundef %2966)
  store i32 %2967, ptr %23, align 4, !tbaa !9
  %2968 = load ptr, ptr %5, align 8, !tbaa !5
  %2969 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2968, i32 noundef %2969)
  br label %2970

2970:                                             ; preds = %2960, %2959, %2941
  %2971 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2971, ptr %23, align 4, !tbaa !9
  %2972 = load ptr, ptr %5, align 8, !tbaa !5
  %2973 = getelementptr inbounds %struct.w2c_hermes, ptr %2972, i32 0, i32 6
  %2974 = load i32, ptr %23, align 4, !tbaa !9
  %2975 = zext i32 %2974 to i64
  %2976 = add i64 %2975, 59
  %2977 = call i32 @i32_load8_s(ptr noundef %2973, i64 noundef %2976)
  store i32 %2977, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2978 = load i32, ptr %23, align 4, !tbaa !9
  %2979 = load i32, ptr %24, align 4, !tbaa !9
  %2980 = icmp slt i32 %2978, %2979
  %2981 = zext i1 %2980 to i32
  store i32 %2981, ptr %23, align 4, !tbaa !9
  %2982 = load i32, ptr %23, align 4, !tbaa !9
  %2983 = icmp ne i32 %2982, 0
  br i1 %2983, label %2984, label %2994

2984:                                             ; preds = %2970
  %2985 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2985, ptr %23, align 4, !tbaa !9
  %2986 = load ptr, ptr %5, align 8, !tbaa !5
  %2987 = getelementptr inbounds %struct.w2c_hermes, ptr %2986, i32 0, i32 6
  %2988 = load i32, ptr %23, align 4, !tbaa !9
  %2989 = zext i32 %2988 to i64
  %2990 = add i64 %2989, 48
  %2991 = call i32 @i32_load(ptr noundef %2987, i64 noundef %2990)
  store i32 %2991, ptr %23, align 4, !tbaa !9
  %2992 = load ptr, ptr %5, align 8, !tbaa !5
  %2993 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2992, i32 noundef %2993)
  br label %2994

2994:                                             ; preds = %2984, %2970
  %2995 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2995, ptr %23, align 4, !tbaa !9
  %2996 = load i32, ptr %23, align 4, !tbaa !9
  %2997 = icmp ne i32 %2996, 0
  br i1 %2997, label %2998, label %3002

2998:                                             ; preds = %2994
  %2999 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2999, ptr %23, align 4, !tbaa !9
  %3000 = load ptr, ptr %5, align 8, !tbaa !5
  %3001 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3000, i32 noundef %3001)
  br label %3002

3002:                                             ; preds = %2998, %2994
  %3003 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3003, ptr %23, align 4, !tbaa !9
  store i32 -64, ptr %24, align 4, !tbaa !9
  %3004 = load i32, ptr %24, align 4, !tbaa !9
  %3005 = load i32, ptr %23, align 4, !tbaa !9
  %3006 = sub i32 %3005, %3004
  store i32 %3006, ptr %23, align 4, !tbaa !9
  %3007 = load i32, ptr %23, align 4, !tbaa !9
  %3008 = load ptr, ptr %5, align 8, !tbaa !5
  %3009 = getelementptr inbounds %struct.w2c_hermes, ptr %3008, i32 0, i32 3
  store i32 %3007, ptr %3009, align 8, !tbaa !11
  br label %3012

3010:                                             ; preds = %2541, %1559, %1148, %954, %583, %149
  %3011 = load ptr, ptr %5, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %3011)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3012:                                             ; preds = %3002
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  ret void
}

declare i32 @w2c_hermes_unsigned0x20int0x20hermes0x3A0x3A_decodeUTF8SlowPath0x3Ctrue0x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x3E0x28char0x20const0x2A0x260x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x29(ptr noundef, i32 noundef) #4

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3A_0x5Fgrow_by0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef) #4

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char32_t0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Ferase_external_with_move0x28unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aenable_if0x3C_0x5Fis_cpp17_forward_iterator0x3Cchar0x2A0x3E0x3A0x3Avalue0x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x260x3E0x3A0x3Atype0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Aappend0x5Babi0x3Av150070x5D0x3Cchar0x2A0x3E0x28char0x2A0x2C0x20char0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint 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 #2 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #3 = { noreturn "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 = { 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 #6 = { nounwind }
attributes #7 = { noreturn }

!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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 24}
!12 = !{!"w2c_hermes", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !13, i64 40, !16, i64 80}
!13 = !{!"", !6, i64 0, !14, i64 8, !14, i64 16, !14, i64 24, !15, i64 32}
!14 = !{!"long", !7, i64 0}
!15 = !{!"_Bool", !7, i64 0}
!16 = !{!"", !6, i64 0, !10, i64 8, !10, i64 12}
!17 = !{!14, !14, 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"

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load(ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store16(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: noreturn
declare void @wasm_rt_trap(i32 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_u(ptr noundef, i64 noundef) local_unnamed_addr #0

declare void @w2c_hermes_0x5F_assert_fail(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_load(ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i64_store(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store8(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_s(ptr noundef, i64 noundef) local_unnamed_addr #0

declare void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3AencodeUTF80x28char0x2A0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

declare i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_memmove(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_0x5F_memset(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #3 {
  %5 = getelementptr inbounds i8, ptr %0, i64 24
  %6 = load i32, ptr %5, align 8, !tbaa !5
  %7 = add i32 %6, -64
  store i32 %7, ptr %5, align 8, !tbaa !5
  %8 = getelementptr inbounds i8, ptr %0, i64 40
  %9 = zext i32 %7 to i64
  %10 = add nuw nsw i64 %9, 56
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %10, i32 noundef 0)
  %11 = add nuw nsw i64 %9, 48
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %11, i64 noundef 0)
  %12 = zext i32 %2 to i64
  %13 = add nuw nsw i64 %12, 44
  %14 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %13)
  %15 = add i32 %2, 44
  %16 = add nuw nsw i64 %12, 55
  %17 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %16)
  %sext.mask = and i32 %17, 128
  %.not = icmp eq i32 %sext.mask, 0
  %18 = select i1 %.not, i32 %15, i32 %14
  %.not1735 = icmp eq i32 %18, 0
  br i1 %.not1735, label %19, label %24

19:                                               ; preds = %4
  %20 = add nuw nsw i64 %9, 40
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %20, i32 noundef 0)
  %21 = add nuw nsw i64 %9, 32
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %21, i64 noundef 0)
  %22 = add i32 %6, -32
  %23 = add nuw nsw i64 %9, 28
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %23, i32 noundef %22)
  br label %.loopexit1825

24:                                               ; preds = %4
  %25 = add nuw nsw i64 %12, 48
  %26 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %25)
  %27 = select i1 %.not, i32 %17, i32 %26
  %28 = icmp ugt i32 %27, 2147483631
  br i1 %28, label %.loopexit1817, label %29

29:                                               ; preds = %24
  %30 = icmp ugt i32 %27, 10
  br i1 %30, label %31, label %40

31:                                               ; preds = %29
  %32 = or i32 %27, 15
  %33 = add nuw i32 %32, 1
  %34 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %33) #5
  %35 = or i32 %33, -2147483648
  %36 = add nuw nsw i64 %9, 40
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %36, i32 noundef %35)
  %37 = add nuw nsw i64 %9, 32
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %37, i32 noundef %34)
  %38 = add nuw nsw i64 %9, 36
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %38, i32 noundef %27)
  %39 = add i32 %34, %27
  %.pre1866 = add i32 %6, -32
  %.pre1867 = add nuw nsw i64 %9, 43
  br label %44

40:                                               ; preds = %29
  %41 = add nuw nsw i64 %9, 43
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %41, i32 noundef %27)
  %42 = add i32 %6, -32
  %43 = add i32 %27, %42
  %.not1736 = icmp eq i32 %27, 0
  br i1 %.not1736, label %46, label %44

44:                                               ; preds = %40, %31
  %.pre1856.pre-phi = phi i64 [ %41, %40 ], [ %.pre1867, %31 ]
  %.pre1854.pre-phi = phi i32 [ %42, %40 ], [ %.pre1866, %31 ]
  %.01687 = phi i32 [ %43, %40 ], [ %39, %31 ]
  %.01648 = phi i32 [ %42, %40 ], [ %34, %31 ]
  %45 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.01648, i32 noundef %18, i32 noundef %27) #5
  br label %46

46:                                               ; preds = %40, %44
  %.pre-phi1857 = phi i64 [ %41, %40 ], [ %.pre1856.pre-phi, %44 ]
  %.pre-phi1855 = phi i32 [ %42, %40 ], [ %.pre1854.pre-phi, %44 ]
  %.11688 = phi i32 [ %43, %40 ], [ %.01687, %44 ]
  %47 = zext i32 %.11688 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %47, i32 noundef 0)
  %48 = add nuw nsw i64 %9, 32
  %49 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %48)
  %50 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %.pre-phi1857)
  %sext.mask1737 = and i32 %50, 128
  %.not1738 = icmp eq i32 %sext.mask1737, 0
  %51 = select i1 %.not1738, i32 %.pre-phi1855, i32 %49
  %52 = zext i32 %51 to i64
  %53 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %52)
  %54 = add nuw nsw i64 %9, 28
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %54, i32 noundef %51)
  %.not1739 = icmp eq i32 %53, 0
  br i1 %.not1739, label %.loopexit1825, label %.preheader1824

.preheader1824:                                   ; preds = %46
  %55 = add i32 %6, -36
  %56 = add nuw nsw i64 %9, 59
  %57 = add nuw nsw i64 %9, 52
  %58 = add i32 %6, -16
  br label %59

59:                                               ; preds = %.preheader1824, %.loopexit1823
  %.01678 = phi i32 [ %.31681, %.loopexit1823 ], [ 0, %.preheader1824 ]
  %.01671 = phi i32 [ %122, %.loopexit1823 ], [ %53, %.preheader1824 ]
  %.01666 = phi i32 [ %88, %.loopexit1823 ], [ %51, %.preheader1824 ]
  %.01656 = phi i32 [ %.31659, %.loopexit1823 ], [ 0, %.preheader1824 ]
  %.11649 = phi i32 [ %.4, %.loopexit1823 ], [ 0, %.preheader1824 ]
  %sext.mask1740 = and i32 %.01671, 128
  %60 = icmp eq i32 %sext.mask1740, 0
  br i1 %60, label %61, label %64

61:                                               ; preds = %59
  %62 = add i32 %.01666, 1
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %54, i32 noundef %62)
  %63 = and i32 %.01671, 127
  br label %66

64:                                               ; preds = %59
  %65 = tail call i32 @w2c_hermes_unsigned0x20int0x20hermes0x3A0x3A_decodeUTF8SlowPath0x3Ctrue0x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x3E0x28char0x20const0x2A0x260x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x29(ptr noundef %0, i32 noundef %55) #5
  br label %66

66:                                               ; preds = %64, %61
  %.01646 = phi i32 [ %63, %61 ], [ %65, %64 ]
  %67 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %56)
  %sext = shl i32 %67, 24
  %68 = ashr exact i32 %sext, 24
  %69 = icmp sgt i32 %68, -1
  br i1 %69, label %70, label %74

70:                                               ; preds = %66
  %71 = icmp eq i32 %sext, 16777216
  br i1 %71, label %79, label %72

72:                                               ; preds = %70
  %73 = add nuw nsw i32 %68, 1
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %56, i32 noundef %73)
  br label %83

74:                                               ; preds = %66
  %75 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %57)
  %76 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %77 = and i32 %76, 2147483647
  %78 = add nsw i32 %77, -1
  %.not1741 = icmp eq i32 %75, %78
  br i1 %.not1741, label %79, label %80

79:                                               ; preds = %74, %70
  %.11667 = phi i32 [ 1, %70 ], [ %75, %74 ]
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3A_0x5Fgrow_by0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %58, i32 noundef %.11667, i32 noundef 1, i32 noundef %.11667, i32 noundef %.11667, i32 noundef 0, i32 noundef 0) #5
  br label %80

80:                                               ; preds = %74, %79
  %.11672 = phi i32 [ %.11667, %79 ], [ %75, %74 ]
  %81 = add i32 %.11672, 1
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %57, i32 noundef %81)
  %82 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  br label %83

83:                                               ; preds = %80, %72
  %.21673 = phi i32 [ %.11672, %80 ], [ %67, %72 ]
  %.1 = phi i32 [ %82, %80 ], [ %58, %72 ]
  %84 = shl i32 %.21673, 2
  %85 = add i32 %.1, %84
  %86 = zext i32 %85 to i64
  %87 = add nuw nsw i64 %86, 4
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %87, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %86, i32 noundef %.01646)
  %88 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %54)
  %89 = icmp ugt i32 %88, %.01666
  br i1 %89, label %.preheader1820, label %.loopexit1823

.preheader1820:                                   ; preds = %83, %119
  %.21689 = phi i32 [ %120, %119 ], [ %.01666, %83 ]
  %.11679 = phi i32 [ %.21680, %119 ], [ %.01678, %83 ]
  %.11657 = phi i32 [ %.21658, %119 ], [ %.01656, %83 ]
  %.21650 = phi i32 [ %.31651, %119 ], [ %.11649, %83 ]
  %90 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %57)
  %91 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %56)
  %sext1742.mask = and i32 %91, 128
  %.not1743 = icmp eq i32 %sext1742.mask, 0
  %92 = select i1 %.not1743, i32 %91, i32 %90
  %93 = add i32 %92, -1
  %94 = icmp ult i32 %.11679, %.11657
  br i1 %94, label %95, label %97

95:                                               ; preds = %.preheader1820
  %96 = zext i32 %.11679 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %96, i32 noundef %93)
  br label %119

97:                                               ; preds = %.preheader1820
  %98 = sub i32 %.11679, %.21650
  %99 = ashr i32 %98, 2
  %100 = add nsw i32 %99, 1
  %101 = icmp ugt i32 %100, 1073741823
  br i1 %101, label %.loopexit1817, label %102

102:                                              ; preds = %97
  %103 = sub i32 %.11657, %.21650
  %104 = ashr i32 %103, 1
  %105 = tail call i32 @llvm.umax.i32(i32 %100, i32 %104)
  %106 = icmp ugt i32 %103, 2147483643
  %107 = select i1 %106, i32 1073741823, i32 %105
  %.not1744 = icmp eq i32 %107, 0
  br i1 %.not1744, label %._crit_edge, label %108

108:                                              ; preds = %102
  %109 = icmp ugt i32 %107, 1073741823
  br i1 %109, label %.loopexit1818, label %110

110:                                              ; preds = %108
  %111 = shl nuw i32 %107, 2
  %112 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %111) #5
  br label %._crit_edge

._crit_edge:                                      ; preds = %102, %110
  %.pre-phi1869 = phi i32 [ %111, %110 ], [ 0, %102 ]
  %.2 = phi i32 [ %112, %110 ], [ 0, %102 ]
  %113 = and i32 %98, -4
  %114 = add i32 %.2, %113
  %115 = zext i32 %114 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %115, i32 noundef %93)
  %116 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.2, i32 noundef %.21650, i32 noundef %98) #5
  %117 = add i32 %116, %.pre-phi1869
  %.not1745 = icmp eq i32 %.21650, 0
  br i1 %.not1745, label %119, label %118

118:                                              ; preds = %._crit_edge
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %.21650) #5
  br label %119

119:                                              ; preds = %._crit_edge, %118, %95
  %.21680.in = phi i32 [ %.11679, %95 ], [ %114, %118 ], [ %114, %._crit_edge ]
  %.21658 = phi i32 [ %.11657, %95 ], [ %117, %118 ], [ %117, %._crit_edge ]
  %.31651 = phi i32 [ %.21650, %95 ], [ %116, %118 ], [ %116, %._crit_edge ]
  %.21680 = add i32 %.21680.in, 4
  %120 = add i32 %.21689, 1
  %exitcond.not = icmp eq i32 %120, %88
  br i1 %exitcond.not, label %.loopexit1823, label %.preheader1820

.loopexit1823:                                    ; preds = %119, %83
  %.31681 = phi i32 [ %.01678, %83 ], [ %.21680, %119 ]
  %.31659 = phi i32 [ %.01656, %83 ], [ %.21658, %119 ]
  %.4 = phi i32 [ %.11649, %83 ], [ %.31651, %119 ]
  %121 = zext i32 %88 to i64
  %122 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %121)
  %.not1746 = icmp eq i32 %122, 0
  br i1 %.not1746, label %.loopexit1825, label %59

.loopexit1825:                                    ; preds = %.loopexit1823, %46, %19
  %.41682 = phi i32 [ 0, %19 ], [ 0, %46 ], [ %.31681, %.loopexit1823 ]
  %.5 = phi i32 [ 0, %19 ], [ 0, %46 ], [ %.4, %.loopexit1823 ]
  %123 = add nuw nsw i64 %12, 24
  %124 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %123)
  %125 = icmp slt i32 %124, 0
  br i1 %125, label %196, label %126

126:                                              ; preds = %.loopexit1825
  %127 = add nuw nsw i64 %9, 52
  %128 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %129 = add nuw nsw i64 %9, 59
  %130 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1747.mask = and i32 %130, 128
  %.not1748 = icmp eq i32 %sext1747.mask, 0
  %131 = select i1 %.not1748, i32 %130, i32 %128
  %132 = sub i32 %.41682, %.5
  %133 = ashr i32 %132, 2
  %134 = icmp ult i32 %124, %133
  br i1 %134, label %135, label %140

135:                                              ; preds = %126
  %136 = shl i32 %124, 2
  %137 = add i32 %136, %.5
  %138 = zext i32 %137 to i64
  %139 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %138)
  br label %140

140:                                              ; preds = %135, %126
  %.01647 = phi i32 [ %139, %135 ], [ %131, %126 ]
  %141 = add nuw nsw i64 %12, 60
  %142 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %141)
  %143 = add nuw nsw i64 %12, 56
  %144 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %143)
  %145 = icmp eq i32 %142, %144
  br i1 %145, label %.loopexit1819, label %.preheader1816

.preheader1816:                                   ; preds = %140, %194
  %.51683 = phi i32 [ %.71685, %194 ], [ 0, %140 ]
  %.31674 = phi i32 [ %195, %194 ], [ %144, %140 ]
  %.41660 = phi i32 [ %.51661, %194 ], [ 0, %140 ]
  %.01652 = phi i32 [ %.11653, %194 ], [ 0, %140 ]
  %146 = zext i32 %.31674 to i64
  %147 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %146)
  %148 = icmp ult i32 %147, %133
  br i1 %148, label %149, label %154

149:                                              ; preds = %.preheader1816
  %150 = shl i32 %147, 2
  %151 = add i32 %150, %.5
  %152 = zext i32 %151 to i64
  %153 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %152)
  br label %154

154:                                              ; preds = %149, %.preheader1816
  %.31690 = phi i32 [ %153, %149 ], [ %131, %.preheader1816 ]
  %155 = add nuw nsw i64 %146, 4
  %156 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %155)
  %157 = icmp ult i32 %156, %133
  br i1 %157, label %158, label %163

158:                                              ; preds = %154
  %159 = shl i32 %156, 2
  %160 = add i32 %159, %.5
  %161 = zext i32 %160 to i64
  %162 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %161)
  br label %163

163:                                              ; preds = %158, %154
  %.21668 = phi i32 [ %162, %158 ], [ %131, %154 ]
  %164 = icmp ult i32 %.51683, %.01652
  br i1 %164, label %165, label %168

165:                                              ; preds = %163
  %166 = zext i32 %.51683 to i64
  %167 = add nuw nsw i64 %166, 4
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %167, i32 noundef %.21668)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %166, i32 noundef %.31690)
  br label %194

168:                                              ; preds = %163
  %169 = sub i32 %.51683, %.41660
  %170 = ashr i32 %169, 3
  %171 = add nsw i32 %170, 1
  %172 = icmp ugt i32 %171, 536870911
  br i1 %172, label %.loopexit1817, label %173

173:                                              ; preds = %168
  %174 = sub i32 %.01652, %.41660
  %175 = ashr i32 %174, 2
  %176 = tail call i32 @llvm.umax.i32(i32 %171, i32 %175)
  %177 = icmp ugt i32 %174, 2147483639
  %178 = select i1 %177, i32 536870911, i32 %176
  %179 = icmp ugt i32 %178, 536870911
  br i1 %179, label %.loopexit1818, label %180

180:                                              ; preds = %173
  %181 = shl nuw i32 %178, 3
  %182 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %181) #5
  %183 = and i32 %169, -8
  %184 = add i32 %182, %183
  %185 = zext i32 %184 to i64
  %186 = add nuw nsw i64 %185, 4
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %186, i32 noundef %.21668)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %185, i32 noundef %.31690)
  %.not1749 = icmp eq i32 %.51683, %.41660
  br i1 %.not1749, label %.loopexit1815, label %.preheader1814

.preheader1814:                                   ; preds = %180, %.preheader1814
  %.41691 = phi i32 [ %187, %.preheader1814 ], [ %184, %180 ]
  %.61684 = phi i32 [ %188, %.preheader1814 ], [ %.51683, %180 ]
  %187 = add i32 %.41691, -8
  %188 = add i32 %.61684, -8
  %189 = zext i32 %188 to i64
  %190 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %189)
  %191 = zext i32 %187 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %191, i64 noundef %190)
  %.not1750 = icmp eq i32 %188, %.41660
  br i1 %.not1750, label %.loopexit1815, label %.preheader1814

.loopexit1815:                                    ; preds = %.preheader1814, %180
  %.51692 = phi i32 [ %184, %180 ], [ %187, %.preheader1814 ]
  %192 = add i32 %182, %181
  %.not1751 = icmp eq i32 %.41660, 0
  br i1 %.not1751, label %194, label %193

193:                                              ; preds = %.loopexit1815
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %.41660) #5
  br label %194

194:                                              ; preds = %.loopexit1815, %193, %165
  %.71685.in = phi i32 [ %.51683, %165 ], [ %184, %193 ], [ %184, %.loopexit1815 ]
  %.51661 = phi i32 [ %.41660, %165 ], [ %.51692, %193 ], [ %.51692, %.loopexit1815 ]
  %.11653 = phi i32 [ %.01652, %165 ], [ %192, %193 ], [ %192, %.loopexit1815 ]
  %.71685 = add i32 %.71685.in, 8
  %195 = add i32 %.31674, 8
  %.not1752 = icmp eq i32 %142, %195
  br i1 %.not1752, label %.loopexit1819, label %.preheader1816

.loopexit1818:                                    ; preds = %108, %173
  tail call void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

196:                                              ; preds = %.loopexit1825
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 111746, i32 noundef 57706, i32 noundef 461, i32 noundef 95648) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

.loopexit1819:                                    ; preds = %194, %140
  %.81686 = phi i32 [ 0, %140 ], [ %.71685, %194 ]
  %.6 = phi i32 [ 0, %140 ], [ %.51661, %194 ]
  %197 = add i32 %131, 1
  %198 = icmp ugt i32 %197, 2147483631
  br i1 %198, label %.loopexit1817, label %199

199:                                              ; preds = %.loopexit1819
  %200 = icmp ugt i32 %197, 10
  br i1 %200, label %201, label %209

201:                                              ; preds = %199
  %202 = or i32 %197, 15
  %203 = add nuw i32 %202, 1
  %204 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %203) #5
  %205 = or i32 %203, -2147483648
  %206 = add nuw nsw i64 %9, 24
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %206, i32 noundef %205)
  %207 = add nuw nsw i64 %9, 16
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %207, i32 noundef %204)
  %208 = add nuw nsw i64 %9, 20
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %208, i32 noundef %197)
  br label %212

209:                                              ; preds = %199
  %210 = add nuw nsw i64 %9, 27
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %210, i32 noundef %197)
  %211 = add i32 %6, -48
  %.not1753 = icmp eq i32 %197, 0
  br i1 %.not1753, label %214, label %212

212:                                              ; preds = %209, %201
  %.41675 = phi i32 [ %204, %201 ], [ %211, %209 ]
  %213 = tail call i32 @w2c_hermes_0x5F_memset(ptr noundef %0, i32 noundef %.41675, i32 noundef 32, i32 noundef %197) #5
  br label %214

214:                                              ; preds = %209, %212
  %.51676 = phi i32 [ %.41675, %212 ], [ %211, %209 ]
  %215 = add i32 %.51676, %197
  %216 = zext i32 %215 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %216, i32 noundef 0)
  %.not1754 = icmp eq i32 %.81686, %.6
  br i1 %.not1754, label %..loopexit1813_crit_edge, label %.preheader1812

..loopexit1813_crit_edge:                         ; preds = %214
  %.pre1858 = add nuw nsw i64 %9, 16
  %.pre1860 = add i32 %6, -48
  %.pre1862 = add nuw nsw i64 %9, 27
  %.pre1864 = add nuw nsw i64 %9, 20
  br label %.loopexit1813

.preheader1812:                                   ; preds = %214
  %217 = add nuw nsw i64 %9, 20
  %218 = add nuw nsw i64 %9, 27
  %219 = add nuw nsw i64 %9, 16
  %220 = add i32 %6, -48
  br label %221

221:                                              ; preds = %.preheader1812, %238
  %.61693 = phi i32 [ %239, %238 ], [ %.6, %.preheader1812 ]
  %222 = zext i32 %.61693 to i64
  %223 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %222)
  %224 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %217)
  %225 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %218)
  %sext1755.mask = and i32 %225, 128
  %.not1756 = icmp eq i32 %sext1755.mask, 0
  %226 = select i1 %.not1756, i32 %225, i32 %224
  %.not1757 = icmp ult i32 %223, %226
  br i1 %.not1757, label %227, label %238

227:                                              ; preds = %221
  %228 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %219)
  %229 = add nuw nsw i64 %222, 4
  %230 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %229)
  %231 = tail call i32 @llvm.umin.i32(i32 %226, i32 %230)
  %232 = sub i32 %231, %223
  %233 = icmp slt i32 %232, 1
  br i1 %233, label %238, label %234

234:                                              ; preds = %227
  %235 = select i1 %.not1756, i32 %220, i32 %228
  %236 = add i32 %235, %223
  %237 = tail call i32 @w2c_hermes_0x5F_memset(ptr noundef %0, i32 noundef %236, i32 noundef 126, i32 noundef %232) #5
  br label %238

238:                                              ; preds = %227, %221, %234
  %239 = add i32 %.61693, 8
  %.not1758 = icmp eq i32 %239, %.81686
  br i1 %.not1758, label %.loopexit1813, label %221

.loopexit1813:                                    ; preds = %238, %..loopexit1813_crit_edge
  %.pre-phi1865 = phi i64 [ %.pre1864, %..loopexit1813_crit_edge ], [ %217, %238 ]
  %.pre-phi1863 = phi i64 [ %.pre1862, %..loopexit1813_crit_edge ], [ %218, %238 ]
  %.pre-phi1861 = phi i32 [ %.pre1860, %..loopexit1813_crit_edge ], [ %220, %238 ]
  %.pre-phi1859 = phi i64 [ %.pre1858, %..loopexit1813_crit_edge ], [ %219, %238 ]
  %240 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1859)
  %241 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %.pre-phi1863)
  %242 = icmp slt i32 %241, 0
  %243 = select i1 %242, i32 %240, i32 %.pre-phi1861
  %244 = tail call i32 @llvm.umin.i32(i32 %131, i32 %.01647)
  %245 = add i32 %243, %244
  %246 = zext i32 %245 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %246, i32 noundef 94)
  %247 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1859)
  %248 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %.pre-phi1863)
  %sext1759.mask = and i32 %248, 128
  %.not1760 = icmp eq i32 %sext1759.mask, 0
  %249 = select i1 %.not1760, i32 %.pre-phi1861, i32 %247
  %250 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1865)
  %251 = select i1 %.not1760, i32 %248, i32 %250
  %252 = add i32 %249, %251
  br label %253

253:                                              ; preds = %255, %.loopexit1813
  %.71694 = phi i32 [ %252, %.loopexit1813 ], [ %256, %255 ]
  %254 = icmp eq i32 %.71694, %249
  br i1 %254, label %.loopexit1811, label %255

255:                                              ; preds = %253
  %256 = add i32 %.71694, -1
  %257 = zext i32 %256 to i64
  %258 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %257)
  %259 = icmp eq i32 %258, 32
  br i1 %259, label %253, label %260

260:                                              ; preds = %255
  %261 = sub i32 %256, %249
  br label %.loopexit1811

.loopexit1811:                                    ; preds = %253, %260
  %.01664 = phi i32 [ %261, %260 ], [ -1, %253 ]
  %262 = add i32 %.01664, 1
  %263 = icmp ult i32 %251, %262
  br i1 %263, label %.loopexit1817, label %264

264:                                              ; preds = %.loopexit1811
  br i1 %.not1760, label %266, label %265

265:                                              ; preds = %264
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %.pre-phi1865, i32 noundef %262)
  br label %267

266:                                              ; preds = %264
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %.pre-phi1863, i32 noundef %262)
  br label %267

267:                                              ; preds = %266, %265
  %.31669 = phi i32 [ %247, %265 ], [ %.pre-phi1861, %266 ]
  %268 = add i32 %.31669, %262
  %269 = zext i32 %268 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %269, i32 noundef 0)
  %270 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %271 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1761 = shl i32 %271, 24
  %272 = ashr exact i32 %sext1761, 24
  %273 = icmp slt i32 %272, 0
  %274 = select i1 %273, i32 %270, i32 %271
  %.not1762 = icmp eq i32 %274, 0
  br i1 %.not1762, label %.thread1796, label %275

275:                                              ; preds = %267
  %276 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %277 = add i32 %6, -16
  %278 = select i1 %273, i32 %276, i32 %277
  %.fr = freeze i32 %278
  br label %279

279:                                              ; preds = %283, %275
  %.81695 = phi i32 [ %.fr, %275 ], [ %284, %283 ]
  %.61677 = phi i32 [ %274, %275 ], [ %285, %283 ]
  %280 = zext i32 %.81695 to i64
  %281 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %280)
  %282 = icmp eq i32 %281, 9
  br i1 %282, label %286, label %283

283:                                              ; preds = %279
  %284 = add i32 %.81695, 4
  %285 = add i32 %.61677, -1
  %.not1763 = icmp eq i32 %285, 0
  br i1 %.not1763, label %.thread1796, label %279

286:                                              ; preds = %279
  %287 = sub i32 %.81695, %.fr
  %288 = ashr i32 %287, 2
  %.not1764 = icmp ne i32 %.81695, 0
  %.not1765 = icmp ult i32 %288, %274
  %or.cond = and i1 %.not1764, %.not1765
  br i1 %or.cond, label %.preheader1808, label %.thread1796

.preheader1808:                                   ; preds = %286, %324
  %.10 = phi i32 [ %326, %324 ], [ %288, %286 ]
  %289 = and i32 %.10, 7
  %290 = sub nuw nsw i32 8, %289
  %291 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char32_t0x29(ptr noundef %0, i32 noundef %277, i32 noundef %.10, i32 noundef 1, i32 noundef %290, i32 noundef 32) #5
  %292 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1865)
  %293 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %.pre-phi1863)
  %sext1766.mask = and i32 %293, 128
  %.not1767 = icmp eq i32 %sext1766.mask, 0
  %294 = select i1 %.not1767, i32 %293, i32 %292
  %295 = icmp ugt i32 %294, %.10
  br i1 %295, label %296, label %303

296:                                              ; preds = %.preheader1808
  %297 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1859)
  %298 = select i1 %.not1767, i32 %.pre-phi1861, i32 %297
  %299 = add i32 %298, %.10
  %300 = zext i32 %299 to i64
  %301 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %300)
  %302 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char0x29(ptr noundef %0, i32 noundef %.pre-phi1861, i32 noundef %.10, i32 noundef 1, i32 noundef %290, i32 noundef %301) #5
  br label %303

303:                                              ; preds = %296, %.preheader1808
  %304 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %305 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1768 = shl i32 %305, 24
  %306 = ashr exact i32 %sext1768, 24
  %307 = icmp slt i32 %306, 0
  %308 = select i1 %307, i32 %304, i32 %305
  %309 = add nsw i32 %290, %.10
  %.not1769 = icmp ugt i32 %308, %309
  br i1 %.not1769, label %310, label %.thread1796

310:                                              ; preds = %303
  %311 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %312 = select i1 %307, i32 %311, i32 %277
  %313 = sub i32 %308, %309
  %.not1770 = icmp eq i32 %313, 0
  br i1 %.not1770, label %.thread1796, label %314

314:                                              ; preds = %310
  %315 = shl i32 %309, 2
  %316 = add i32 %312, %315
  %.fr1805 = freeze i32 %316
  br label %317

317:                                              ; preds = %321, %314
  %.11 = phi i32 [ %.fr1805, %314 ], [ %322, %321 ]
  %.7 = phi i32 [ %313, %314 ], [ %323, %321 ]
  %318 = zext i32 %.11 to i64
  %319 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %318)
  %320 = icmp eq i32 %319, 9
  br i1 %320, label %324, label %321

321:                                              ; preds = %317
  %322 = add i32 %.11, 4
  %323 = add i32 %.7, -1
  %.not1771 = icmp eq i32 %323, 0
  br i1 %.not1771, label %.thread1796, label %317

324:                                              ; preds = %317
  %325 = sub i32 %.11, %312
  %326 = ashr i32 %325, 2
  %.not1772 = icmp ne i32 %.11, 0
  %327 = icmp ult i32 %326, %308
  %or.cond1804 = select i1 %.not1772, i1 %327, i1 false
  br i1 %or.cond1804, label %.preheader1808, label %.thread1796

.thread1796:                                      ; preds = %283, %310, %324, %303, %321, %286, %267
  %.01697 = phi i32 [ %270, %267 ], [ %270, %286 ], [ %304, %321 ], [ %304, %303 ], [ %304, %324 ], [ %304, %310 ], [ %270, %283 ]
  %.41670 = phi i32 [ 0, %267 ], [ %274, %286 ], [ %308, %321 ], [ %308, %303 ], [ %308, %324 ], [ %308, %310 ], [ %274, %283 ]
  %.21654 = phi i32 [ %272, %267 ], [ %272, %286 ], [ %306, %321 ], [ %306, %303 ], [ %306, %324 ], [ %306, %310 ], [ %272, %283 ]
  br i1 %.not1754, label %.loopexit1807, label %.preheader

.preheader:                                       ; preds = %.thread1796, %336
  %.12 = phi i32 [ %337, %336 ], [ %.6, %.thread1796 ]
  %328 = zext i32 %.12 to i64
  %329 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %328)
  %330 = icmp ugt i32 %329, %.01647
  br i1 %330, label %336, label %331

331:                                              ; preds = %.preheader
  %332 = add nuw nsw i64 %328, 4
  %333 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %332)
  %.not1773 = icmp ult i32 %.01647, %333
  br i1 %.not1773, label %334, label %336

334:                                              ; preds = %331
  %335 = sub i32 %333, %329
  br label %.loopexit1807

336:                                              ; preds = %331, %.preheader
  %337 = add i32 %.12, 8
  %.not1774 = icmp eq i32 %337, %.81686
  br i1 %.not1774, label %.loopexit1807, label %.preheader

.loopexit1807:                                    ; preds = %336, %.thread1796, %334
  %.8 = phi i32 [ %329, %334 ], [ %.01647, %.thread1796 ], [ %.01647, %336 ]
  %.01662 = phi i32 [ %335, %334 ], [ 1, %.thread1796 ], [ 1, %336 ]
  %338 = zext i32 %3 to i64
  %339 = add nuw nsw i64 %338, 4
  %340 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %339)
  %341 = add i32 %.01662, 16
  %342 = tail call i32 @llvm.umax.i32(i32 %341, i32 %340)
  %.not1775 = icmp ugt i32 %.41670, %342
  br i1 %.not1775, label %343, label %421

343:                                              ; preds = %.loopexit1807
  %344 = sdiv i32 %.01662, 2
  %345 = add i32 %344, %.8
  %346 = lshr i32 %342, 1
  %347 = sub i32 %345, %346
  %348 = icmp sgt i32 %347, 0
  br i1 %348, label %349, label %383

349:                                              ; preds = %343
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Ferase_external_with_move0x28unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.pre-phi1861, i32 noundef 0, i32 noundef %347) #5
  %350 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %351 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1776 = shl i32 %351, 24
  %352 = icmp slt i32 %sext1776, 0
  %353 = select i1 %352, i32 %350, i32 %351
  %354 = tail call i32 @llvm.umin.i32(i32 %347, i32 %353)
  %355 = sub i32 %353, %354
  %356 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %357 = add i32 %6, -16
  %358 = select i1 %352, i32 %356, i32 %357
  %359 = icmp ult i32 %347, %353
  br i1 %359, label %360, label %367

360:                                              ; preds = %349
  %361 = shl i32 %354, 2
  %362 = add i32 %361, %358
  %363 = shl i32 %355, 2
  %364 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %358, i32 noundef %362, i32 noundef %363) #5
  %365 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %366 = shl i32 %365, 24
  br label %367

367:                                              ; preds = %360, %349
  %.11663 = phi i32 [ %366, %360 ], [ %sext1776, %349 ]
  %368 = icmp slt i32 %.11663, 0
  br i1 %368, label %369, label %370

369:                                              ; preds = %367
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %127, i32 noundef %355)
  br label %371

370:                                              ; preds = %367
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %129, i32 noundef %355)
  br label %371

371:                                              ; preds = %370, %369
  %372 = shl i32 %355, 2
  %373 = add i32 %372, %358
  %374 = zext i32 %373 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %374, i32 noundef 0)
  %375 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %376 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %129)
  %377 = icmp slt i32 %376, 0
  %378 = select i1 %377, i32 %375, i32 %357
  %379 = zext i32 %378 to i64
  %380 = add nuw nsw i64 %379, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %380, i32 noundef 46)
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %379, i64 noundef 197568495662)
  %381 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %382 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  br label %383

383:                                              ; preds = %371, %343
  %.11698 = phi i32 [ %382, %371 ], [ %.01697, %343 ]
  %.31655 = phi i32 [ %381, %371 ], [ %.21654, %343 ]
  %384 = and i32 %.31655, 255
  %sext1778.mask = and i32 %.31655, 128
  %.not1779 = icmp eq i32 %sext1778.mask, 0
  %385 = select i1 %.not1779, i32 %384, i32 %.11698
  %.not1780 = icmp ugt i32 %385, %342
  br i1 %.not1780, label %386, label %421

386:                                              ; preds = %383
  %387 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1865)
  %388 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %.pre-phi1863)
  %sext1781.mask = and i32 %388, 128
  %.not1782 = icmp eq i32 %sext1781.mask, 0
  %389 = select i1 %.not1782, i32 %388, i32 %387
  %390 = tail call i32 @llvm.umin.i32(i32 %389, i32 %342)
  br i1 %.not1782, label %393, label %391

391:                                              ; preds = %386
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %.pre-phi1865, i32 noundef %390)
  %392 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1859)
  br label %394

393:                                              ; preds = %386
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %.pre-phi1863, i32 noundef %390)
  br label %394

394:                                              ; preds = %393, %391
  %.0 = phi i32 [ %392, %391 ], [ %.pre-phi1861, %393 ]
  %395 = add i32 %.0, %390
  %396 = zext i32 %395 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %396, i32 noundef 0)
  %397 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %398 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1783.mask = and i32 %398, 128
  %.not1784 = icmp eq i32 %sext1783.mask, 0
  %399 = select i1 %.not1784, i32 %398, i32 %397
  %400 = icmp ult i32 %399, %342
  br i1 %400, label %.loopexit1817, label %401

401:                                              ; preds = %394
  br i1 %.not1784, label %404, label %402

402:                                              ; preds = %401
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %127, i32 noundef %342)
  %403 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %.pre = add i32 %6, -16
  br label %406

404:                                              ; preds = %401
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %129, i32 noundef %342)
  %405 = add i32 %6, -16
  br label %406

406:                                              ; preds = %404, %402
  %.pre-phi = phi i32 [ %405, %404 ], [ %.pre, %402 ]
  %.3 = phi i32 [ %405, %404 ], [ %403, %402 ]
  %407 = shl i32 %342, 2
  %408 = add i32 %.3, %407
  %409 = zext i32 %408 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %409, i32 noundef 0)
  %410 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %411 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1785.mask = and i32 %411, 128
  %.not1786 = icmp eq i32 %sext1785.mask, 0
  %412 = select i1 %.not1786, i32 %.pre-phi, i32 %410
  %413 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %414 = select i1 %.not1786, i32 %411, i32 %413
  %415 = shl i32 %414, 2
  %416 = add i32 %415, %412
  %417 = add i32 %416, -4
  %418 = zext i32 %417 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %418, i32 noundef 46)
  %419 = add i32 %416, -12
  %420 = zext i32 %419 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %420, i64 noundef 197568495662)
  br label %421

421:                                              ; preds = %383, %.loopexit1807, %406
  %422 = add nuw nsw i64 %9, 43
  %423 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %422)
  %424 = icmp slt i32 %423, 0
  br i1 %424, label %425, label %430

425:                                              ; preds = %421
  %426 = add nuw nsw i64 %9, 32
  %427 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %426)
  %428 = zext i32 %427 to i64
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %428, i32 noundef 0)
  %429 = add nuw nsw i64 %9, 36
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %429, i32 noundef 0)
  br label %432

430:                                              ; preds = %421
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %422, i32 noundef 0)
  %431 = add nuw nsw i64 %9, 32
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %431, i32 noundef 0)
  br label %432

432:                                              ; preds = %430, %425
  %433 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %127)
  %434 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %129)
  %sext1787.mask = and i32 %434, 128
  %.not1788 = icmp eq i32 %sext1787.mask, 0
  %435 = select i1 %.not1788, i32 %434, i32 %433
  %.not1789 = icmp eq i32 %435, 0
  br i1 %.not1789, label %.loopexit, label %436

436:                                              ; preds = %432
  %437 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  %438 = add i32 %6, -16
  %439 = select i1 %.not1788, i32 %438, i32 %437
  %440 = shl i32 %435, 2
  %441 = add i32 %439, %440
  %442 = add nuw nsw i64 %9, 12
  %443 = add nuw nsw i64 %9, 8
  %444 = add i32 %6, -56
  %445 = add nuw nsw i64 %9, 4
  %446 = add i32 %6, -60
  %447 = add i32 %6, -32
  br label %448

448:                                              ; preds = %448, %436
  %.9 = phi i32 [ %439, %436 ], [ %453, %448 ]
  %449 = zext i32 %.9 to i64
  %450 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %449)
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %442, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %443, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %445, i32 noundef %444)
  tail call void @w2c_hermes_hermes0x3A0x3AencodeUTF80x28char0x2A0x260x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %446, i32 noundef %450)
  %451 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %445)
  %452 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aenable_if0x3C_0x5Fis_cpp17_forward_iterator0x3Cchar0x2A0x3E0x3A0x3Avalue0x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x260x3E0x3A0x3Atype0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Aappend0x5Babi0x3Av150070x5D0x3Cchar0x2A0x3E0x28char0x2A0x2C0x20char0x2A0x29(ptr noundef %0, i32 noundef %447, i32 noundef %444, i32 noundef %451) #5
  %453 = add i32 %.9, 4
  %.not1790 = icmp eq i32 %453, %441
  br i1 %.not1790, label %.loopexit, label %448

.loopexit:                                        ; preds = %448, %432
  %454 = add nuw nsw i64 %9, 32
  %455 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %454)
  %456 = zext i32 %1 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %456, i64 noundef %455)
  %457 = add i32 %6, -24
  %458 = zext i32 %457 to i64
  %459 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %458)
  %460 = add nuw nsw i64 %456, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %460, i32 noundef %459)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %458, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %454, i64 noundef 0)
  %461 = add nuw nsw i64 %9, 24
  %462 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %461)
  %463 = add nuw nsw i64 %456, 20
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %463, i32 noundef %462)
  %464 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %.pre-phi1859)
  %465 = add nuw nsw i64 %456, 12
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %465, i64 noundef %464)
  %.not1791 = icmp eq i32 %.6, 0
  br i1 %.not1791, label %471, label %466

466:                                              ; preds = %.loopexit
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %.6) #5
  %467 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %422)
  %468 = icmp sgt i32 %467, -1
  br i1 %468, label %471, label %469

469:                                              ; preds = %466
  %470 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %454)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %470) #5
  br label %471

471:                                              ; preds = %466, %.loopexit, %469
  %472 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %129)
  %473 = icmp slt i32 %472, 0
  br i1 %473, label %474, label %476

474:                                              ; preds = %471
  %475 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %11)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %475) #5
  br label %476

476:                                              ; preds = %474, %471
  %.not1792 = icmp eq i32 %.5, 0
  br i1 %.not1792, label %478, label %477

477:                                              ; preds = %476
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %.5) #5
  br label %478

478:                                              ; preds = %477, %476
  store i32 %6, ptr %5, align 8, !tbaa !5
  ret void

.loopexit1817:                                    ; preds = %97, %168, %394, %.loopexit1811, %.loopexit1819, %24
  tail call void @w2c_hermes_abort(ptr noundef %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable
}

declare i32 @w2c_hermes_unsigned0x20int0x20hermes0x3A0x3A_decodeUTF8SlowPath0x3Ctrue0x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x3E0x28char0x20const0x2A0x260x2C0x20hermes0x3A0x3ASourceErrorManager0x3A0x3AbuildSourceAndCaretLine0x28llvh0x3A0x3ASMDiagnostic0x20const0x260x2C0x20hermes0x3A0x3ASourceErrorOutputOptions0x290x3A0x3A0x24_00x29(ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3A_0x5Fgrow_by0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar32_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar32_t0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar32_t0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char32_t0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Areplace0x28unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x2C0x20char0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Ferase_external_with_move0x28unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aenable_if0x3C_0x5Fis_cpp17_forward_iterator0x3Cchar0x2A0x3E0x3A0x3Avalue0x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x260x3E0x3A0x3Atype0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3Aappend0x5Babi0x3Av150070x5D0x3Cchar0x2A0x3E0x28char0x2A0x2C0x20char0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #4

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umin.i32(i32, i32) #4

attributes #0 = { inlinehint 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 #1 = { noreturn "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 = { "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 = { 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 #4 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nounwind }
attributes #6 = { noreturn 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, !10, i64 24}
!6 = !{!"w2c_hermes", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !11, i64 40, !14, i64 80}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"", !7, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !13, i64 32}
!12 = !{!"long", !8, i64 0}
!13 = !{!"_Bool", !8, i64 0}
!14 = !{!"", !7, i64 0, !10, i64 8, !10, i64 12}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass