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

; 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 }
%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t3 = external constant ptr, align 8
@w2c_hermes_t0 = external constant ptr, align 8
@w2c_hermes_t4 = external constant ptr, align 8
@w2c_hermes_t5 = external constant ptr, align 8

; 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 void @i32_store8(ptr noundef, i64 noundef, i32 noundef) #1

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

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

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

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #2

; 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

declare i32 @w2c_hermes_0x5F_memcpy(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #2

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

declare void @w2c_hermes_dlfree(ptr noundef, i32 noundef) #2

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @func_types_eq(ptr noundef, ptr noundef) #1

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

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

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

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

declare void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

declare void @w2c_hermes_abort(ptr noundef) #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_back0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3Aconstants0x3A0x3AErrorType0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AparseWithBackRefLimit0x3Cchar16_t0x20const0x2A0x3E0x28char16_t0x20const0x2A0x2C0x20char16_t0x20const0x2A0x2C0x20unsigned0x20int0x2C0x20bool0x2C0x20unsigned0x20int0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) #5 {
  %8 = alloca ptr, align 8
  %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 i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i64, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i64, align 8
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  store ptr %0, ptr %8, align 8, !tbaa !5
  store i32 %1, ptr %9, align 4, !tbaa !9
  store i32 %2, ptr %10, align 4, !tbaa !9
  store i32 %3, ptr %11, align 4, !tbaa !9
  store i32 %4, ptr %12, align 4, !tbaa !9
  store i32 %5, ptr %13, align 4, !tbaa !9
  store i32 %6, 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
  store i32 0, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  store i32 0, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  store i32 0, ptr %25, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  store i32 0, ptr %26, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 0, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  store i32 0, ptr %28, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  store i32 0, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  store i32 0, ptr %30, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  store i32 0, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  store i32 0, ptr %32, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  store i32 0, ptr %33, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #6
  store i32 0, ptr %34, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  store i32 0, ptr %35, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  store i64 0, ptr %36, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #6
  %47 = load ptr, ptr %8, align 8, !tbaa !5
  %48 = getelementptr inbounds %struct.w2c_hermes, ptr %47, i32 0, i32 3
  %49 = load i32, ptr %48, align 8, !tbaa !13
  store i32 %49, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %50 = load i32, ptr %38, align 4, !tbaa !9
  %51 = load i32, ptr %37, align 4, !tbaa !9
  %52 = sub i32 %51, %50
  store i32 %52, ptr %37, align 4, !tbaa !9
  %53 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %53, ptr %27, align 4, !tbaa !9
  %54 = load i32, ptr %37, align 4, !tbaa !9
  %55 = load ptr, ptr %8, align 8, !tbaa !5
  %56 = getelementptr inbounds %struct.w2c_hermes, ptr %55, i32 0, i32 3
  store i32 %54, ptr %56, align 8, !tbaa !13
  %57 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %57, ptr %37, align 4, !tbaa !9
  %58 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %58, ptr %38, align 4, !tbaa !9
  %59 = load ptr, ptr %8, align 8, !tbaa !5
  %60 = getelementptr inbounds %struct.w2c_hermes, ptr %59, i32 0, i32 6
  %61 = load i32, ptr %38, align 4, !tbaa !9
  %62 = zext i32 %61 to i64
  %63 = add i64 %62, 144
  %64 = call i32 @i32_load(ptr noundef %60, i64 noundef %63)
  store i32 %64, ptr %38, align 4, !tbaa !9
  %65 = load ptr, ptr %8, align 8, !tbaa !5
  %66 = getelementptr inbounds %struct.w2c_hermes, ptr %65, i32 0, i32 6
  %67 = load i32, ptr %37, align 4, !tbaa !9
  %68 = zext i32 %67 to i64
  %69 = add i64 %68, 148
  %70 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %66, i64 noundef %69, i32 noundef %70)
  %71 = load ptr, ptr %8, align 8, !tbaa !5
  %72 = getelementptr inbounds %struct.w2c_hermes, ptr %71, i32 0, i32 3
  %73 = load i32, ptr %72, align 8, !tbaa !13
  store i32 %73, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %74 = load i32, ptr %38, align 4, !tbaa !9
  %75 = load i32, ptr %37, align 4, !tbaa !9
  %76 = sub i32 %75, %74
  store i32 %76, ptr %37, align 4, !tbaa !9
  %77 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %77, ptr %15, align 4, !tbaa !9
  %78 = load i32, ptr %37, align 4, !tbaa !9
  %79 = load ptr, ptr %8, align 8, !tbaa !5
  %80 = getelementptr inbounds %struct.w2c_hermes, ptr %79, i32 0, i32 3
  store i32 %78, ptr %80, align 8, !tbaa !13
  store i32 4, ptr %37, align 4, !tbaa !9
  %81 = load ptr, ptr %8, align 8, !tbaa !5
  %82 = load i32, ptr %37, align 4, !tbaa !9
  %83 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %81, i32 noundef %82)
  store i32 %83, ptr %37, align 4, !tbaa !9
  %84 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %84, ptr %24, align 4, !tbaa !9
  store i32 112456, ptr %38, align 4, !tbaa !9
  %85 = load ptr, ptr %8, align 8, !tbaa !5
  %86 = getelementptr inbounds %struct.w2c_hermes, ptr %85, i32 0, i32 6
  %87 = load i32, ptr %37, align 4, !tbaa !9
  %88 = zext i32 %87 to i64
  %89 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %86, i64 noundef %88, i32 noundef %89)
  %90 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %90, ptr %37, align 4, !tbaa !9
  %91 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %91, ptr %38, align 4, !tbaa !9
  %92 = load ptr, ptr %8, align 8, !tbaa !5
  %93 = getelementptr inbounds %struct.w2c_hermes, ptr %92, i32 0, i32 6
  %94 = load i32, ptr %37, align 4, !tbaa !9
  %95 = zext i32 %94 to i64
  %96 = add i64 %95, 12
  %97 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %93, i64 noundef %96, i32 noundef %97)
  %98 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %98, ptr %37, align 4, !tbaa !9
  %99 = load ptr, ptr %8, align 8, !tbaa !5
  %100 = getelementptr inbounds %struct.w2c_hermes, ptr %99, i32 0, i32 6
  %101 = load i32, ptr %37, align 4, !tbaa !9
  %102 = zext i32 %101 to i64
  %103 = add i64 %102, 160
  %104 = call i32 @i32_load(ptr noundef %100, i64 noundef %103)
  store i32 %104, ptr %37, align 4, !tbaa !9
  %105 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %105, ptr %26, align 4, !tbaa !9
  %106 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %106, ptr %38, align 4, !tbaa !9
  %107 = load ptr, ptr %8, align 8, !tbaa !5
  %108 = getelementptr inbounds %struct.w2c_hermes, ptr %107, i32 0, i32 6
  %109 = load i32, ptr %38, align 4, !tbaa !9
  %110 = zext i32 %109 to i64
  %111 = add i64 %110, 164
  %112 = call i32 @i32_load(ptr noundef %108, i64 noundef %111)
  store i32 %112, ptr %38, align 4, !tbaa !9
  %113 = load i32, ptr %37, align 4, !tbaa !9
  %114 = load i32, ptr %38, align 4, !tbaa !9
  %115 = icmp ult i32 %113, %114
  %116 = zext i1 %115 to i32
  store i32 %116, ptr %37, align 4, !tbaa !9
  %117 = load i32, ptr %37, align 4, !tbaa !9
  %118 = icmp ne i32 %117, 0
  br i1 %118, label %119, label %145

119:                                              ; preds = %7
  %120 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %120, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %121 = load ptr, ptr %8, align 8, !tbaa !5
  %122 = getelementptr inbounds %struct.w2c_hermes, ptr %121, i32 0, i32 6
  %123 = load i32, ptr %37, align 4, !tbaa !9
  %124 = zext i32 %123 to i64
  %125 = add i64 %124, 12
  %126 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %122, i64 noundef %125, i32 noundef %126)
  %127 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %127, ptr %37, align 4, !tbaa !9
  %128 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %128, ptr %38, align 4, !tbaa !9
  %129 = load ptr, ptr %8, align 8, !tbaa !5
  %130 = getelementptr inbounds %struct.w2c_hermes, ptr %129, i32 0, i32 6
  %131 = load i32, ptr %37, align 4, !tbaa !9
  %132 = zext i32 %131 to i64
  %133 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %130, i64 noundef %132, i32 noundef %133)
  %134 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %134, ptr %37, align 4, !tbaa !9
  %135 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %135, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %136 = load i32, ptr %39, align 4, !tbaa !9
  %137 = load i32, ptr %38, align 4, !tbaa !9
  %138 = add i32 %137, %136
  store i32 %138, ptr %38, align 4, !tbaa !9
  %139 = load ptr, ptr %8, align 8, !tbaa !5
  %140 = getelementptr inbounds %struct.w2c_hermes, ptr %139, i32 0, i32 6
  %141 = load i32, ptr %37, align 4, !tbaa !9
  %142 = zext i32 %141 to i64
  %143 = add i64 %142, 160
  %144 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %140, i64 noundef %143, i32 noundef %144)
  br label %157

145:                                              ; preds = %7
  %146 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %146, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %147 = load i32, ptr %38, align 4, !tbaa !9
  %148 = load i32, ptr %37, align 4, !tbaa !9
  %149 = add i32 %148, %147
  store i32 %149, ptr %37, align 4, !tbaa !9
  %150 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %150, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %151 = load i32, ptr %39, align 4, !tbaa !9
  %152 = load i32, ptr %38, align 4, !tbaa !9
  %153 = add i32 %152, %151
  store i32 %153, ptr %38, align 4, !tbaa !9
  %154 = load ptr, ptr %8, align 8, !tbaa !5
  %155 = load i32, ptr %37, align 4, !tbaa !9
  %156 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %154, i32 noundef %155, i32 noundef %156)
  br label %157

157:                                              ; preds = %145, %119
  %158 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %158, ptr %37, align 4, !tbaa !9
  %159 = load ptr, ptr %8, align 8, !tbaa !5
  %160 = getelementptr inbounds %struct.w2c_hermes, ptr %159, i32 0, i32 6
  %161 = load i32, ptr %37, align 4, !tbaa !9
  %162 = zext i32 %161 to i64
  %163 = add i64 %162, 148
  %164 = call i32 @i32_load(ptr noundef %160, i64 noundef %163)
  store i32 %164, ptr %37, align 4, !tbaa !9
  %165 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %165, ptr %26, align 4, !tbaa !9
  %166 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %166, ptr %38, align 4, !tbaa !9
  %167 = load ptr, ptr %8, align 8, !tbaa !5
  %168 = getelementptr inbounds %struct.w2c_hermes, ptr %167, i32 0, i32 6
  %169 = load i32, ptr %38, align 4, !tbaa !9
  %170 = zext i32 %169 to i64
  %171 = add i64 %170, 152
  %172 = call i32 @i32_load(ptr noundef %168, i64 noundef %171)
  store i32 %172, ptr %38, align 4, !tbaa !9
  %173 = load i32, ptr %37, align 4, !tbaa !9
  %174 = load i32, ptr %38, align 4, !tbaa !9
  %175 = icmp ne i32 %173, %174
  %176 = zext i1 %175 to i32
  store i32 %176, ptr %37, align 4, !tbaa !9
  %177 = load i32, ptr %37, align 4, !tbaa !9
  %178 = icmp ne i32 %177, 0
  br i1 %178, label %179, label %198

179:                                              ; preds = %157
  %180 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %180, ptr %37, align 4, !tbaa !9
  %181 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %181, ptr %38, align 4, !tbaa !9
  %182 = load ptr, ptr %8, align 8, !tbaa !5
  %183 = getelementptr inbounds %struct.w2c_hermes, ptr %182, i32 0, i32 6
  %184 = load i32, ptr %37, align 4, !tbaa !9
  %185 = zext i32 %184 to i64
  %186 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %183, i64 noundef %185, i32 noundef %186)
  %187 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %187, ptr %37, align 4, !tbaa !9
  %188 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %188, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %189 = load i32, ptr %39, align 4, !tbaa !9
  %190 = load i32, ptr %38, align 4, !tbaa !9
  %191 = add i32 %190, %189
  store i32 %191, ptr %38, align 4, !tbaa !9
  %192 = load ptr, ptr %8, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.w2c_hermes, ptr %192, i32 0, i32 6
  %194 = load i32, ptr %37, align 4, !tbaa !9
  %195 = zext i32 %194 to i64
  %196 = add i64 %195, 148
  %197 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %193, i64 noundef %196, i32 noundef %197)
  br label %357

198:                                              ; preds = %157
  %199 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %199, ptr %37, align 4, !tbaa !9
  %200 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %200, ptr %38, align 4, !tbaa !9
  %201 = load ptr, ptr %8, align 8, !tbaa !5
  %202 = getelementptr inbounds %struct.w2c_hermes, ptr %201, i32 0, i32 6
  %203 = load i32, ptr %38, align 4, !tbaa !9
  %204 = zext i32 %203 to i64
  %205 = add i64 %204, 144
  %206 = call i32 @i32_load(ptr noundef %202, i64 noundef %205)
  store i32 %206, ptr %38, align 4, !tbaa !9
  %207 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %207, ptr %26, align 4, !tbaa !9
  %208 = load i32, ptr %38, align 4, !tbaa !9
  %209 = load i32, ptr %37, align 4, !tbaa !9
  %210 = sub i32 %209, %208
  store i32 %210, ptr %37, align 4, !tbaa !9
  %211 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %211, ptr %16, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %212 = load i32, ptr %37, align 4, !tbaa !9
  %213 = load i32, ptr %38, align 4, !tbaa !9
  %214 = and i32 %213, 31
  %215 = ashr i32 %212, %214
  store i32 %215, ptr %37, align 4, !tbaa !9
  %216 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %216, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %217 = load i32, ptr %38, align 4, !tbaa !9
  %218 = load i32, ptr %37, align 4, !tbaa !9
  %219 = add i32 %218, %217
  store i32 %219, ptr %37, align 4, !tbaa !9
  %220 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %220, ptr %18, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %221 = load i32, ptr %37, align 4, !tbaa !9
  %222 = load i32, ptr %38, align 4, !tbaa !9
  %223 = icmp uge i32 %221, %222
  %224 = zext i1 %223 to i32
  store i32 %224, ptr %37, align 4, !tbaa !9
  %225 = load i32, ptr %37, align 4, !tbaa !9
  %226 = icmp ne i32 %225, 0
  br i1 %226, label %227, label %228

227:                                              ; preds = %198
  br label %18024

228:                                              ; preds = %198
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %229 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %229, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %230 = load i32, ptr %38, align 4, !tbaa !9
  %231 = load i32, ptr %39, align 4, !tbaa !9
  %232 = and i32 %231, 31
  %233 = ashr i32 %230, %232
  store i32 %233, ptr %38, align 4, !tbaa !9
  %234 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %234, ptr %19, align 4, !tbaa !9
  %235 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %235, ptr %39, align 4, !tbaa !9
  %236 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %236, ptr %40, align 4, !tbaa !9
  %237 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %237, ptr %41, align 4, !tbaa !9
  %238 = load i32, ptr %40, align 4, !tbaa !9
  %239 = load i32, ptr %41, align 4, !tbaa !9
  %240 = icmp ult i32 %238, %239
  %241 = zext i1 %240 to i32
  store i32 %241, ptr %40, align 4, !tbaa !9
  %242 = load i32, ptr %40, align 4, !tbaa !9
  %243 = icmp ne i32 %242, 0
  br i1 %243, label %244, label %246

244:                                              ; preds = %228
  %245 = load i32, ptr %38, align 4, !tbaa !9
  br label %248

246:                                              ; preds = %228
  %247 = load i32, ptr %39, align 4, !tbaa !9
  br label %248

248:                                              ; preds = %246, %244
  %249 = phi i32 [ %245, %244 ], [ %247, %246 ]
  store i32 %249, ptr %38, align 4, !tbaa !9
  %250 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %250, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %251 = load i32, ptr %39, align 4, !tbaa !9
  %252 = load i32, ptr %40, align 4, !tbaa !9
  %253 = icmp uge i32 %251, %252
  %254 = zext i1 %253 to i32
  store i32 %254, ptr %39, align 4, !tbaa !9
  %255 = load i32, ptr %39, align 4, !tbaa !9
  %256 = icmp ne i32 %255, 0
  br i1 %256, label %257, label %259

257:                                              ; preds = %248
  %258 = load i32, ptr %37, align 4, !tbaa !9
  br label %261

259:                                              ; preds = %248
  %260 = load i32, ptr %38, align 4, !tbaa !9
  br label %261

261:                                              ; preds = %259, %257
  %262 = phi i32 [ %258, %257 ], [ %260, %259 ]
  store i32 %262, ptr %37, align 4, !tbaa !9
  %263 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %263, ptr %18, align 4, !tbaa !9
  %264 = load i32, ptr %37, align 4, !tbaa !9
  %265 = icmp ne i32 %264, 0
  br i1 %265, label %266, label %284

266:                                              ; preds = %261
  %267 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %267, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %268 = load i32, ptr %37, align 4, !tbaa !9
  %269 = load i32, ptr %38, align 4, !tbaa !9
  %270 = icmp uge i32 %268, %269
  %271 = zext i1 %270 to i32
  store i32 %271, ptr %37, align 4, !tbaa !9
  %272 = load i32, ptr %37, align 4, !tbaa !9
  %273 = icmp ne i32 %272, 0
  br i1 %273, label %274, label %275

274:                                              ; preds = %266
  br label %18026

275:                                              ; preds = %266
  %276 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %276, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %277 = load i32, ptr %38, align 4, !tbaa !9
  %278 = and i32 %277, 31
  %279 = load i32, ptr %37, align 4, !tbaa !9
  %280 = shl i32 %279, %278
  store i32 %280, ptr %37, align 4, !tbaa !9
  %281 = load ptr, ptr %8, align 8, !tbaa !5
  %282 = load i32, ptr %37, align 4, !tbaa !9
  %283 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %281, i32 noundef %282)
  store i32 %283, ptr %37, align 4, !tbaa !9
  br label %285

284:                                              ; preds = %261
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %285

285:                                              ; preds = %284, %275
  %286 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %286, ptr %19, align 4, !tbaa !9
  %287 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %287, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %288 = load i32, ptr %39, align 4, !tbaa !9
  %289 = and i32 %288, 31
  %290 = load i32, ptr %38, align 4, !tbaa !9
  %291 = shl i32 %290, %289
  store i32 %291, ptr %38, align 4, !tbaa !9
  %292 = load i32, ptr %38, align 4, !tbaa !9
  %293 = load i32, ptr %37, align 4, !tbaa !9
  %294 = add i32 %293, %292
  store i32 %294, ptr %37, align 4, !tbaa !9
  %295 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %295, ptr %17, align 4, !tbaa !9
  %296 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %296, ptr %38, align 4, !tbaa !9
  %297 = load ptr, ptr %8, align 8, !tbaa !5
  %298 = getelementptr inbounds %struct.w2c_hermes, ptr %297, i32 0, i32 6
  %299 = load i32, ptr %37, align 4, !tbaa !9
  %300 = zext i32 %299 to i64
  %301 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %298, i64 noundef %300, i32 noundef %301)
  %302 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %302, ptr %37, align 4, !tbaa !9
  %303 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %303, ptr %38, align 4, !tbaa !9
  %304 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %304, ptr %39, align 4, !tbaa !9
  %305 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %305, ptr %40, align 4, !tbaa !9
  %306 = load ptr, ptr %8, align 8, !tbaa !5
  %307 = load i32, ptr %38, align 4, !tbaa !9
  %308 = load i32, ptr %39, align 4, !tbaa !9
  %309 = load i32, ptr %40, align 4, !tbaa !9
  %310 = call i32 @w2c_hermes_memmove(ptr noundef %306, i32 noundef %307, i32 noundef %308, i32 noundef %309)
  store i32 %310, ptr %38, align 4, !tbaa !9
  %311 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %311, ptr %24, align 4, !tbaa !9
  %312 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %312, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %313 = load i32, ptr %40, align 4, !tbaa !9
  %314 = and i32 %313, 31
  %315 = load i32, ptr %39, align 4, !tbaa !9
  %316 = shl i32 %315, %314
  store i32 %316, ptr %39, align 4, !tbaa !9
  %317 = load i32, ptr %39, align 4, !tbaa !9
  %318 = load i32, ptr %38, align 4, !tbaa !9
  %319 = add i32 %318, %317
  store i32 %319, ptr %38, align 4, !tbaa !9
  %320 = load ptr, ptr %8, align 8, !tbaa !5
  %321 = getelementptr inbounds %struct.w2c_hermes, ptr %320, i32 0, i32 6
  %322 = load i32, ptr %37, align 4, !tbaa !9
  %323 = zext i32 %322 to i64
  %324 = add i64 %323, 152
  %325 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %321, i64 noundef %324, i32 noundef %325)
  %326 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %326, ptr %37, align 4, !tbaa !9
  %327 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %327, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %328 = load i32, ptr %39, align 4, !tbaa !9
  %329 = load i32, ptr %38, align 4, !tbaa !9
  %330 = add i32 %329, %328
  store i32 %330, ptr %38, align 4, !tbaa !9
  %331 = load ptr, ptr %8, align 8, !tbaa !5
  %332 = getelementptr inbounds %struct.w2c_hermes, ptr %331, i32 0, i32 6
  %333 = load i32, ptr %37, align 4, !tbaa !9
  %334 = zext i32 %333 to i64
  %335 = add i64 %334, 148
  %336 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %332, i64 noundef %335, i32 noundef %336)
  %337 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %337, ptr %37, align 4, !tbaa !9
  %338 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %338, ptr %38, align 4, !tbaa !9
  %339 = load ptr, ptr %8, align 8, !tbaa !5
  %340 = getelementptr inbounds %struct.w2c_hermes, ptr %339, i32 0, i32 6
  %341 = load i32, ptr %37, align 4, !tbaa !9
  %342 = zext i32 %341 to i64
  %343 = add i64 %342, 144
  %344 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %340, i64 noundef %343, i32 noundef %344)
  %345 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %345, ptr %37, align 4, !tbaa !9
  %346 = load i32, ptr %37, align 4, !tbaa !9
  %347 = icmp ne i32 %346, 0
  %348 = xor i1 %347, true
  %349 = zext i1 %348 to i32
  store i32 %349, ptr %37, align 4, !tbaa !9
  %350 = load i32, ptr %37, align 4, !tbaa !9
  %351 = icmp ne i32 %350, 0
  br i1 %351, label %352, label %353

352:                                              ; preds = %285
  br label %357

353:                                              ; preds = %285
  %354 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %354, ptr %37, align 4, !tbaa !9
  %355 = load ptr, ptr %8, align 8, !tbaa !5
  %356 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %355, i32 noundef %356)
  br label %357

357:                                              ; preds = %353, %352, %179
  %358 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %358, ptr %37, align 4, !tbaa !9
  %359 = load ptr, ptr %8, align 8, !tbaa !5
  %360 = getelementptr inbounds %struct.w2c_hermes, ptr %359, i32 0, i32 6
  %361 = load i32, ptr %37, align 4, !tbaa !9
  %362 = zext i32 %361 to i64
  %363 = add i64 %362, 12
  %364 = call i32 @i32_load(ptr noundef %360, i64 noundef %363)
  store i32 %364, ptr %37, align 4, !tbaa !9
  %365 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %365, ptr %24, align 4, !tbaa !9
  %366 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %366, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %367 = load ptr, ptr %8, align 8, !tbaa !5
  %368 = getelementptr inbounds %struct.w2c_hermes, ptr %367, i32 0, i32 6
  %369 = load i32, ptr %37, align 4, !tbaa !9
  %370 = zext i32 %369 to i64
  %371 = add i64 %370, 12
  %372 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %368, i64 noundef %371, i32 noundef %372)
  %373 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %373, ptr %37, align 4, !tbaa !9
  %374 = load i32, ptr %37, align 4, !tbaa !9
  %375 = icmp ne i32 %374, 0
  br i1 %375, label %376, label %451

376:                                              ; preds = %357
  %377 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %377, ptr %37, align 4, !tbaa !9
  %378 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %378, ptr %38, align 4, !tbaa !9
  %379 = load ptr, ptr %8, align 8, !tbaa !5
  %380 = getelementptr inbounds %struct.w2c_hermes, ptr %379, i32 0, i32 6
  %381 = load i32, ptr %38, align 4, !tbaa !9
  %382 = zext i32 %381 to i64
  %383 = call i32 @i32_load(ptr noundef %380, i64 noundef %382)
  store i32 %383, ptr %38, align 4, !tbaa !9
  %384 = load ptr, ptr %8, align 8, !tbaa !5
  %385 = getelementptr inbounds %struct.w2c_hermes, ptr %384, i32 0, i32 6
  %386 = load i32, ptr %38, align 4, !tbaa !9
  %387 = zext i32 %386 to i64
  %388 = add i64 %387, 4
  %389 = call i32 @i32_load(ptr noundef %385, i64 noundef %388)
  store i32 %389, ptr %38, align 4, !tbaa !9
  %390 = load i32, ptr %38, align 4, !tbaa !9
  %391 = load ptr, ptr %8, align 8, !tbaa !5
  %392 = getelementptr inbounds %struct.w2c_hermes, ptr %391, i32 0, i32 7
  %393 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %392, i32 0, i32 2
  %394 = load i32, ptr %393, align 4, !tbaa !18
  %395 = icmp ult i32 %390, %394
  br i1 %395, label %396, label %419

396:                                              ; preds = %376
  %397 = load ptr, ptr %8, align 8, !tbaa !5
  %398 = getelementptr inbounds %struct.w2c_hermes, ptr %397, i32 0, i32 7
  %399 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %398, i32 0, i32 0
  %400 = load ptr, ptr %399, align 8, !tbaa !19
  %401 = load i32, ptr %38, align 4, !tbaa !9
  %402 = zext i32 %401 to i64
  %403 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %400, i64 %402
  %404 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %403, i32 0, i32 1
  %405 = load ptr, ptr %404, align 8, !tbaa !20
  %406 = icmp ne ptr %405, null
  br i1 %406, label %407, label %419

407:                                              ; preds = %396
  %408 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %409 = load ptr, ptr %8, align 8, !tbaa !5
  %410 = getelementptr inbounds %struct.w2c_hermes, ptr %409, i32 0, i32 7
  %411 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %410, i32 0, i32 0
  %412 = load ptr, ptr %411, align 8, !tbaa !19
  %413 = load i32, ptr %38, align 4, !tbaa !9
  %414 = zext i32 %413 to i64
  %415 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %412, i64 %414
  %416 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %415, i32 0, i32 0
  %417 = load ptr, ptr %416, align 8, !tbaa !22
  %418 = call zeroext i1 @func_types_eq(ptr noundef %408, ptr noundef %417)
  br label %419

419:                                              ; preds = %407, %396, %376
  %420 = phi i1 [ false, %396 ], [ false, %376 ], [ %418, %407 ]
  %421 = xor i1 %420, true
  %422 = xor i1 %421, true
  %423 = zext i1 %422 to i32
  %424 = sext i32 %423 to i64
  %425 = call i64 @llvm.expect.i64(i64 %424, i64 1)
  %426 = icmp ne i64 %425, 0
  br i1 %426, label %429, label %427

427:                                              ; preds = %419
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

428:                                              ; No predecessors!
  br label %429

429:                                              ; preds = %428, %419
  %430 = phi i1 [ true, %419 ], [ false, %428 ]
  %431 = zext i1 %430 to i32
  %432 = load ptr, ptr %8, align 8, !tbaa !5
  %433 = getelementptr inbounds %struct.w2c_hermes, ptr %432, i32 0, i32 7
  %434 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %433, i32 0, i32 0
  %435 = load ptr, ptr %434, align 8, !tbaa !19
  %436 = load i32, ptr %38, align 4, !tbaa !9
  %437 = zext i32 %436 to i64
  %438 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %435, i64 %437
  %439 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %438, i32 0, i32 1
  %440 = load ptr, ptr %439, align 8, !tbaa !20
  %441 = load ptr, ptr %8, align 8, !tbaa !5
  %442 = getelementptr inbounds %struct.w2c_hermes, ptr %441, i32 0, i32 7
  %443 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %442, i32 0, i32 0
  %444 = load ptr, ptr %443, align 8, !tbaa !19
  %445 = load i32, ptr %38, align 4, !tbaa !9
  %446 = zext i32 %445 to i64
  %447 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %444, i64 %446
  %448 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %447, i32 0, i32 2
  %449 = load ptr, ptr %448, align 8, !tbaa !23
  %450 = load i32, ptr %37, align 4, !tbaa !9
  call void %440(ptr noundef %449, i32 noundef %450)
  br label %451

451:                                              ; preds = %429, %357
  %452 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %452, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %453 = load i32, ptr %38, align 4, !tbaa !9
  %454 = load i32, ptr %37, align 4, !tbaa !9
  %455 = add i32 %454, %453
  store i32 %455, ptr %37, align 4, !tbaa !9
  %456 = load i32, ptr %37, align 4, !tbaa !9
  %457 = load ptr, ptr %8, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.w2c_hermes, ptr %457, i32 0, i32 3
  store i32 %456, ptr %458, align 8, !tbaa !13
  br label %459

459:                                              ; preds = %451
  %460 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %460, ptr %37, align 4, !tbaa !9
  %461 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %461, ptr %38, align 4, !tbaa !9
  %462 = load ptr, ptr %8, align 8, !tbaa !5
  %463 = getelementptr inbounds %struct.w2c_hermes, ptr %462, i32 0, i32 6
  %464 = load i32, ptr %38, align 4, !tbaa !9
  %465 = zext i32 %464 to i64
  %466 = add i64 %465, 136
  %467 = call i32 @i32_load8_u(ptr noundef %463, i64 noundef %466)
  store i32 %467, ptr %38, align 4, !tbaa !9
  %468 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %468, ptr %15, align 4, !tbaa !9
  %469 = load ptr, ptr %8, align 8, !tbaa !5
  %470 = getelementptr inbounds %struct.w2c_hermes, ptr %469, i32 0, i32 6
  %471 = load i32, ptr %37, align 4, !tbaa !9
  %472 = zext i32 %471 to i64
  %473 = add i64 %472, 1
  %474 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %470, i64 noundef %473, i32 noundef %474)
  %475 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %475, ptr %37, align 4, !tbaa !9
  %476 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %476, ptr %38, align 4, !tbaa !9
  %477 = load ptr, ptr %8, align 8, !tbaa !5
  %478 = getelementptr inbounds %struct.w2c_hermes, ptr %477, i32 0, i32 6
  %479 = load i32, ptr %37, align 4, !tbaa !9
  %480 = zext i32 %479 to i64
  %481 = add i64 %480, 3
  %482 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %478, i64 noundef %481, i32 noundef %482)
  %483 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %483, ptr %37, align 4, !tbaa !9
  %484 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %484, ptr %24, align 4, !tbaa !9
  %485 = load ptr, ptr %8, align 8, !tbaa !5
  %486 = getelementptr inbounds %struct.w2c_hermes, ptr %485, i32 0, i32 3
  %487 = load i32, ptr %486, align 8, !tbaa !13
  store i32 %487, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %488 = load i32, ptr %38, align 4, !tbaa !9
  %489 = load i32, ptr %37, align 4, !tbaa !9
  %490 = sub i32 %489, %488
  store i32 %490, ptr %37, align 4, !tbaa !9
  %491 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %491, ptr %16, align 4, !tbaa !9
  %492 = load i32, ptr %37, align 4, !tbaa !9
  %493 = load ptr, ptr %8, align 8, !tbaa !5
  %494 = getelementptr inbounds %struct.w2c_hermes, ptr %493, i32 0, i32 3
  store i32 %492, ptr %494, align 8, !tbaa !13
  %495 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %495, ptr %37, align 4, !tbaa !9
  %496 = load ptr, ptr %8, align 8, !tbaa !5
  %497 = getelementptr inbounds %struct.w2c_hermes, ptr %496, i32 0, i32 6
  %498 = load i32, ptr %37, align 4, !tbaa !9
  %499 = zext i32 %498 to i64
  %500 = add i64 %499, 1
  %501 = call i32 @i32_load8_u(ptr noundef %497, i64 noundef %500)
  store i32 %501, ptr %37, align 4, !tbaa !9
  %502 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %502, ptr %14, align 4, !tbaa !9
  %503 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %503, ptr %37, align 4, !tbaa !9
  %504 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %504, ptr %38, align 4, !tbaa !9
  %505 = load ptr, ptr %8, align 8, !tbaa !5
  %506 = getelementptr inbounds %struct.w2c_hermes, ptr %505, i32 0, i32 6
  %507 = load i32, ptr %37, align 4, !tbaa !9
  %508 = zext i32 %507 to i64
  %509 = add i64 %508, 28
  %510 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %506, i64 noundef %509, i32 noundef %510)
  %511 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %511, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %512 = load ptr, ptr %8, align 8, !tbaa !5
  %513 = getelementptr inbounds %struct.w2c_hermes, ptr %512, i32 0, i32 6
  %514 = load i32, ptr %37, align 4, !tbaa !9
  %515 = zext i32 %514 to i64
  %516 = add i64 %515, 24
  %517 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %513, i64 noundef %516, i32 noundef %517)
  %518 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %518, ptr %37, align 4, !tbaa !9
  %519 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %519, ptr %38, align 4, !tbaa !9
  %520 = load ptr, ptr %8, align 8, !tbaa !5
  %521 = getelementptr inbounds %struct.w2c_hermes, ptr %520, i32 0, i32 6
  %522 = load i32, ptr %37, align 4, !tbaa !9
  %523 = zext i32 %522 to i64
  %524 = add i64 %523, 20
  %525 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %521, i64 noundef %524, i32 noundef %525)
  %526 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %526, ptr %37, align 4, !tbaa !9
  %527 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %527, ptr %38, align 4, !tbaa !9
  %528 = load ptr, ptr %8, align 8, !tbaa !5
  %529 = getelementptr inbounds %struct.w2c_hermes, ptr %528, i32 0, i32 6
  %530 = load i32, ptr %37, align 4, !tbaa !9
  %531 = zext i32 %530 to i64
  %532 = add i64 %531, 16
  %533 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %529, i64 noundef %532, i32 noundef %533)
  %534 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %534, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %535 = load ptr, ptr %8, align 8, !tbaa !5
  %536 = getelementptr inbounds %struct.w2c_hermes, ptr %535, i32 0, i32 6
  %537 = load i32, ptr %37, align 4, !tbaa !9
  %538 = zext i32 %537 to i64
  %539 = add i64 %538, 12
  %540 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %536, i64 noundef %539, i32 noundef %540)
  %541 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %541, ptr %37, align 4, !tbaa !9
  %542 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %542, ptr %38, align 4, !tbaa !9
  %543 = load ptr, ptr %8, align 8, !tbaa !5
  %544 = getelementptr inbounds %struct.w2c_hermes, ptr %543, i32 0, i32 6
  %545 = load i32, ptr %37, align 4, !tbaa !9
  %546 = zext i32 %545 to i64
  %547 = add i64 %546, 8
  %548 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %544, i64 noundef %547, i32 noundef %548)
  %549 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %549, ptr %37, align 4, !tbaa !9
  %550 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %550, ptr %38, align 4, !tbaa !9
  %551 = load ptr, ptr %8, align 8, !tbaa !5
  %552 = getelementptr inbounds %struct.w2c_hermes, ptr %551, i32 0, i32 6
  %553 = load i32, ptr %37, align 4, !tbaa !9
  %554 = zext i32 %553 to i64
  %555 = add i64 %554, 4
  %556 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %552, i64 noundef %555, i32 noundef %556)
  %557 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %557, ptr %37, align 4, !tbaa !9
  %558 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %558, ptr %38, align 4, !tbaa !9
  %559 = load ptr, ptr %8, align 8, !tbaa !5
  %560 = getelementptr inbounds %struct.w2c_hermes, ptr %559, i32 0, i32 6
  %561 = load i32, ptr %37, align 4, !tbaa !9
  %562 = zext i32 %561 to i64
  %563 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %560, i64 noundef %562, i32 noundef %563)
  %564 = load ptr, ptr %8, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.w2c_hermes, ptr %564, i32 0, i32 3
  %566 = load i32, ptr %565, align 8, !tbaa !13
  store i32 %566, ptr %37, align 4, !tbaa !9
  store i32 208, ptr %38, align 4, !tbaa !9
  %567 = load i32, ptr %38, align 4, !tbaa !9
  %568 = load i32, ptr %37, align 4, !tbaa !9
  %569 = sub i32 %568, %567
  store i32 %569, ptr %37, align 4, !tbaa !9
  %570 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %570, ptr %18, align 4, !tbaa !9
  %571 = load i32, ptr %37, align 4, !tbaa !9
  %572 = load ptr, ptr %8, align 8, !tbaa !5
  %573 = getelementptr inbounds %struct.w2c_hermes, ptr %572, i32 0, i32 3
  store i32 %571, ptr %573, align 8, !tbaa !13
  %574 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %574, ptr %37, align 4, !tbaa !9
  %575 = load ptr, ptr %8, align 8, !tbaa !5
  %576 = getelementptr inbounds %struct.w2c_hermes, ptr %575, i32 0, i32 6
  %577 = load i32, ptr %37, align 4, !tbaa !9
  %578 = zext i32 %577 to i64
  %579 = call i32 @i32_load(ptr noundef %576, i64 noundef %578)
  store i32 %579, ptr %37, align 4, !tbaa !9
  %580 = load ptr, ptr %8, align 8, !tbaa !5
  %581 = getelementptr inbounds %struct.w2c_hermes, ptr %580, i32 0, i32 6
  %582 = load i32, ptr %37, align 4, !tbaa !9
  %583 = zext i32 %582 to i64
  %584 = add i64 %583, 148
  %585 = call i32 @i32_load(ptr noundef %581, i64 noundef %584)
  store i32 %585, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %586 = load i32, ptr %38, align 4, !tbaa !9
  %587 = load i32, ptr %37, align 4, !tbaa !9
  %588 = sub i32 %587, %586
  store i32 %588, ptr %37, align 4, !tbaa !9
  %589 = load ptr, ptr %8, align 8, !tbaa !5
  %590 = getelementptr inbounds %struct.w2c_hermes, ptr %589, i32 0, i32 6
  %591 = load i32, ptr %37, align 4, !tbaa !9
  %592 = zext i32 %591 to i64
  %593 = call i32 @i32_load(ptr noundef %590, i64 noundef %592)
  store i32 %593, ptr %37, align 4, !tbaa !9
  %594 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %594, ptr %26, align 4, !tbaa !9
  %595 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %595, ptr %37, align 4, !tbaa !9
  store i64 17179869184, ptr %44, align 8, !tbaa !11
  %596 = load ptr, ptr %8, align 8, !tbaa !5
  %597 = getelementptr inbounds %struct.w2c_hermes, ptr %596, i32 0, i32 6
  %598 = load i32, ptr %37, align 4, !tbaa !9
  %599 = zext i32 %598 to i64
  %600 = add i64 %599, 16
  %601 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %597, i64 noundef %600, i64 noundef %601)
  %602 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %602, ptr %37, align 4, !tbaa !9
  %603 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %603, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %604 = load i32, ptr %39, align 4, !tbaa !9
  %605 = load i32, ptr %38, align 4, !tbaa !9
  %606 = add i32 %605, %604
  store i32 %606, ptr %38, align 4, !tbaa !9
  %607 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %607, ptr %33, align 4, !tbaa !9
  %608 = load ptr, ptr %8, align 8, !tbaa !5
  %609 = getelementptr inbounds %struct.w2c_hermes, ptr %608, i32 0, i32 6
  %610 = load i32, ptr %37, align 4, !tbaa !9
  %611 = zext i32 %610 to i64
  %612 = add i64 %611, 12
  %613 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %609, i64 noundef %612, i32 noundef %613)
  %614 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %614, ptr %37, align 4, !tbaa !9
  %615 = load ptr, ptr %8, align 8, !tbaa !5
  %616 = getelementptr inbounds %struct.w2c_hermes, ptr %615, i32 0, i32 6
  %617 = load i32, ptr %37, align 4, !tbaa !9
  %618 = zext i32 %617 to i64
  %619 = add i64 %618, 4
  %620 = call i32 @i32_load(ptr noundef %616, i64 noundef %619)
  store i32 %620, ptr %37, align 4, !tbaa !9
  %621 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %621, ptr %14, align 4, !tbaa !9
  %622 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %622, ptr %38, align 4, !tbaa !9
  %623 = load ptr, ptr %8, align 8, !tbaa !5
  %624 = getelementptr inbounds %struct.w2c_hermes, ptr %623, i32 0, i32 6
  %625 = load i32, ptr %38, align 4, !tbaa !9
  %626 = zext i32 %625 to i64
  %627 = add i64 %626, 8
  %628 = call i32 @i32_load(ptr noundef %624, i64 noundef %627)
  store i32 %628, ptr %38, align 4, !tbaa !9
  %629 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %629, ptr %13, align 4, !tbaa !9
  %630 = load i32, ptr %37, align 4, !tbaa !9
  %631 = load i32, ptr %38, align 4, !tbaa !9
  %632 = icmp ne i32 %630, %631
  %633 = zext i1 %632 to i32
  store i32 %633, ptr %37, align 4, !tbaa !9
  %634 = load i32, ptr %37, align 4, !tbaa !9
  %635 = icmp ne i32 %634, 0
  br i1 %635, label %636, label %15225

636:                                              ; preds = %459
  br label %637

637:                                              ; preds = %15223, %636
  %638 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %638, ptr %37, align 4, !tbaa !9
  %639 = load ptr, ptr %8, align 8, !tbaa !5
  %640 = getelementptr inbounds %struct.w2c_hermes, ptr %639, i32 0, i32 6
  %641 = load i32, ptr %37, align 4, !tbaa !9
  %642 = zext i32 %641 to i64
  %643 = call i32 @i32_load16_u(ptr noundef %640, i64 noundef %642)
  store i32 %643, ptr %37, align 4, !tbaa !9
  %644 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %644, ptr %10, align 4, !tbaa !9
  store i32 40, ptr %38, align 4, !tbaa !9
  %645 = load i32, ptr %38, align 4, !tbaa !9
  %646 = load i32, ptr %37, align 4, !tbaa !9
  %647 = sub i32 %646, %645
  store i32 %647, ptr %37, align 4, !tbaa !9
  %648 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %648, label %651 [
    i32 0, label %649
    i32 1, label %650
  ]

649:                                              ; preds = %637
  br label %1436

650:                                              ; preds = %637
  br label %1447

651:                                              ; preds = %637
  br label %652

652:                                              ; preds = %651
  %653 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %653, ptr %37, align 4, !tbaa !9
  store i32 124, ptr %38, align 4, !tbaa !9
  %654 = load i32, ptr %37, align 4, !tbaa !9
  %655 = load i32, ptr %38, align 4, !tbaa !9
  %656 = icmp ne i32 %654, %655
  %657 = zext i1 %656 to i32
  store i32 %657, ptr %37, align 4, !tbaa !9
  %658 = load i32, ptr %37, align 4, !tbaa !9
  %659 = icmp ne i32 %658, 0
  br i1 %659, label %660, label %661

660:                                              ; preds = %652
  br label %8585

661:                                              ; preds = %652
  %662 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %662, ptr %37, align 4, !tbaa !9
  %663 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %663, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %664 = load i32, ptr %39, align 4, !tbaa !9
  %665 = load i32, ptr %38, align 4, !tbaa !9
  %666 = add i32 %665, %664
  store i32 %666, ptr %38, align 4, !tbaa !9
  %667 = load ptr, ptr %8, align 8, !tbaa !5
  %668 = getelementptr inbounds %struct.w2c_hermes, ptr %667, i32 0, i32 6
  %669 = load i32, ptr %37, align 4, !tbaa !9
  %670 = zext i32 %669 to i64
  %671 = add i64 %670, 4
  %672 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %668, i64 noundef %671, i32 noundef %672)
  %673 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %673, ptr %37, align 4, !tbaa !9
  %674 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %674, ptr %10, align 4, !tbaa !9
  %675 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %675, ptr %37, align 4, !tbaa !9
  %676 = load ptr, ptr %8, align 8, !tbaa !5
  %677 = getelementptr inbounds %struct.w2c_hermes, ptr %676, i32 0, i32 6
  %678 = load i32, ptr %37, align 4, !tbaa !9
  %679 = zext i32 %678 to i64
  %680 = add i64 %679, 16
  %681 = call i32 @i32_load(ptr noundef %677, i64 noundef %680)
  store i32 %681, ptr %37, align 4, !tbaa !9
  %682 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %682, ptr %11, align 4, !tbaa !9
  %683 = load i32, ptr %37, align 4, !tbaa !9
  %684 = icmp ne i32 %683, 0
  br i1 %684, label %685, label %709

685:                                              ; preds = %661
  %686 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %686, ptr %37, align 4, !tbaa !9
  %687 = load ptr, ptr %8, align 8, !tbaa !5
  %688 = getelementptr inbounds %struct.w2c_hermes, ptr %687, i32 0, i32 6
  %689 = load i32, ptr %37, align 4, !tbaa !9
  %690 = zext i32 %689 to i64
  %691 = add i64 %690, 12
  %692 = call i32 @i32_load(ptr noundef %688, i64 noundef %691)
  store i32 %692, ptr %37, align 4, !tbaa !9
  %693 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %693, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %694 = load i32, ptr %39, align 4, !tbaa !9
  %695 = load i32, ptr %38, align 4, !tbaa !9
  %696 = mul i32 %695, %694
  store i32 %696, ptr %38, align 4, !tbaa !9
  %697 = load i32, ptr %38, align 4, !tbaa !9
  %698 = load i32, ptr %37, align 4, !tbaa !9
  %699 = add i32 %698, %697
  store i32 %699, ptr %37, align 4, !tbaa !9
  store i32 40, ptr %38, align 4, !tbaa !9
  %700 = load i32, ptr %38, align 4, !tbaa !9
  %701 = load i32, ptr %37, align 4, !tbaa !9
  %702 = sub i32 %701, %700
  store i32 %702, ptr %37, align 4, !tbaa !9
  %703 = load ptr, ptr %8, align 8, !tbaa !5
  %704 = getelementptr inbounds %struct.w2c_hermes, ptr %703, i32 0, i32 6
  %705 = load i32, ptr %37, align 4, !tbaa !9
  %706 = zext i32 %705 to i64
  %707 = call i32 @i32_load(ptr noundef %704, i64 noundef %706)
  store i32 %707, ptr %37, align 4, !tbaa !9
  %708 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %708, ptr %10, align 4, !tbaa !9
  br label %709

709:                                              ; preds = %685, %661
  %710 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %710, ptr %37, align 4, !tbaa !9
  %711 = load ptr, ptr %8, align 8, !tbaa !5
  %712 = getelementptr inbounds %struct.w2c_hermes, ptr %711, i32 0, i32 6
  %713 = load i32, ptr %37, align 4, !tbaa !9
  %714 = zext i32 %713 to i64
  %715 = call i32 @i32_load(ptr noundef %712, i64 noundef %714)
  store i32 %715, ptr %37, align 4, !tbaa !9
  %716 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %716, ptr %11, align 4, !tbaa !9
  %717 = load ptr, ptr %8, align 8, !tbaa !5
  %718 = getelementptr inbounds %struct.w2c_hermes, ptr %717, i32 0, i32 6
  %719 = load i32, ptr %37, align 4, !tbaa !9
  %720 = zext i32 %719 to i64
  %721 = add i64 %720, 148
  %722 = call i32 @i32_load(ptr noundef %718, i64 noundef %721)
  store i32 %722, ptr %37, align 4, !tbaa !9
  %723 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %723, ptr %13, align 4, !tbaa !9
  %724 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %724, ptr %38, align 4, !tbaa !9
  %725 = load ptr, ptr %8, align 8, !tbaa !5
  %726 = getelementptr inbounds %struct.w2c_hermes, ptr %725, i32 0, i32 6
  %727 = load i32, ptr %38, align 4, !tbaa !9
  %728 = zext i32 %727 to i64
  %729 = add i64 %728, 144
  %730 = call i32 @i32_load(ptr noundef %726, i64 noundef %729)
  store i32 %730, ptr %38, align 4, !tbaa !9
  %731 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %731, ptr %12, align 4, !tbaa !9
  %732 = load i32, ptr %38, align 4, !tbaa !9
  %733 = load i32, ptr %37, align 4, !tbaa !9
  %734 = sub i32 %733, %732
  store i32 %734, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %735 = load i32, ptr %37, align 4, !tbaa !9
  %736 = load i32, ptr %38, align 4, !tbaa !9
  %737 = and i32 %736, 31
  %738 = ashr i32 %735, %737
  store i32 %738, ptr %37, align 4, !tbaa !9
  %739 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %739, ptr %14, align 4, !tbaa !9
  br label %740

740:                                              ; preds = %776, %709
  %741 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %741, ptr %37, align 4, !tbaa !9
  %742 = load i32, ptr %37, align 4, !tbaa !9
  %743 = icmp ne i32 %742, 0
  %744 = xor i1 %743, true
  %745 = zext i1 %744 to i32
  store i32 %745, ptr %37, align 4, !tbaa !9
  %746 = load i32, ptr %37, align 4, !tbaa !9
  %747 = icmp ne i32 %746, 0
  br i1 %747, label %748, label %750

748:                                              ; preds = %740
  store i32 -1, ptr %37, align 4, !tbaa !9
  %749 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %749, ptr %14, align 4, !tbaa !9
  br label %778

750:                                              ; preds = %740
  %751 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %751, ptr %37, align 4, !tbaa !9
  %752 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %752, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %753 = load i32, ptr %39, align 4, !tbaa !9
  %754 = load i32, ptr %38, align 4, !tbaa !9
  %755 = sub i32 %754, %753
  store i32 %755, ptr %38, align 4, !tbaa !9
  %756 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %756, ptr %14, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %757 = load i32, ptr %39, align 4, !tbaa !9
  %758 = and i32 %757, 31
  %759 = load i32, ptr %38, align 4, !tbaa !9
  %760 = shl i32 %759, %758
  store i32 %760, ptr %38, align 4, !tbaa !9
  %761 = load i32, ptr %38, align 4, !tbaa !9
  %762 = load i32, ptr %37, align 4, !tbaa !9
  %763 = add i32 %762, %761
  store i32 %763, ptr %37, align 4, !tbaa !9
  %764 = load ptr, ptr %8, align 8, !tbaa !5
  %765 = getelementptr inbounds %struct.w2c_hermes, ptr %764, i32 0, i32 6
  %766 = load i32, ptr %37, align 4, !tbaa !9
  %767 = zext i32 %766 to i64
  %768 = call i32 @i32_load(ptr noundef %765, i64 noundef %767)
  store i32 %768, ptr %37, align 4, !tbaa !9
  %769 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %769, ptr %38, align 4, !tbaa !9
  %770 = load i32, ptr %37, align 4, !tbaa !9
  %771 = load i32, ptr %38, align 4, !tbaa !9
  %772 = icmp ne i32 %770, %771
  %773 = zext i1 %772 to i32
  store i32 %773, ptr %37, align 4, !tbaa !9
  %774 = load i32, ptr %37, align 4, !tbaa !9
  %775 = icmp ne i32 %774, 0
  br i1 %775, label %776, label %777

776:                                              ; preds = %750
  br label %740

777:                                              ; preds = %750
  br label %778

778:                                              ; preds = %777, %748
  %779 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %779, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %780 = load ptr, ptr %8, align 8, !tbaa !5
  %781 = getelementptr inbounds %struct.w2c_hermes, ptr %780, i32 0, i32 6
  %782 = load i32, ptr %37, align 4, !tbaa !9
  %783 = zext i32 %782 to i64
  %784 = add i64 %783, 8
  %785 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %781, i64 noundef %784, i32 noundef %785)
  %786 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %786, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %787 = load ptr, ptr %8, align 8, !tbaa !5
  %788 = getelementptr inbounds %struct.w2c_hermes, ptr %787, i32 0, i32 6
  %789 = load i32, ptr %37, align 4, !tbaa !9
  %790 = zext i32 %789 to i64
  %791 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %788, i64 noundef %790, i64 noundef %791)
  %792 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %792, ptr %37, align 4, !tbaa !9
  %793 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %793, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %794 = load i32, ptr %39, align 4, !tbaa !9
  %795 = and i32 %794, 31
  %796 = load i32, ptr %38, align 4, !tbaa !9
  %797 = shl i32 %796, %795
  store i32 %797, ptr %38, align 4, !tbaa !9
  %798 = load i32, ptr %38, align 4, !tbaa !9
  %799 = load i32, ptr %37, align 4, !tbaa !9
  %800 = add i32 %799, %798
  store i32 %800, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %801 = load i32, ptr %38, align 4, !tbaa !9
  %802 = load i32, ptr %37, align 4, !tbaa !9
  %803 = add i32 %802, %801
  store i32 %803, ptr %37, align 4, !tbaa !9
  %804 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %804, ptr %12, align 4, !tbaa !9
  %805 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %805, ptr %14, align 4, !tbaa !9
  %806 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %806, ptr %37, align 4, !tbaa !9
  %807 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %807, ptr %38, align 4, !tbaa !9
  %808 = load i32, ptr %37, align 4, !tbaa !9
  %809 = load i32, ptr %38, align 4, !tbaa !9
  %810 = icmp ne i32 %808, %809
  %811 = zext i1 %810 to i32
  store i32 %811, ptr %37, align 4, !tbaa !9
  %812 = load i32, ptr %37, align 4, !tbaa !9
  %813 = icmp ne i32 %812, 0
  br i1 %813, label %814, label %1052

814:                                              ; preds = %778
  br label %815

815:                                              ; preds = %1042, %814
  %816 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %816, ptr %37, align 4, !tbaa !9
  %817 = load ptr, ptr %8, align 8, !tbaa !5
  %818 = getelementptr inbounds %struct.w2c_hermes, ptr %817, i32 0, i32 6
  %819 = load i32, ptr %37, align 4, !tbaa !9
  %820 = zext i32 %819 to i64
  %821 = add i64 %820, 4
  %822 = call i32 @i32_load(ptr noundef %818, i64 noundef %821)
  store i32 %822, ptr %37, align 4, !tbaa !9
  %823 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %823, ptr %10, align 4, !tbaa !9
  %824 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %824, ptr %38, align 4, !tbaa !9
  %825 = load ptr, ptr %8, align 8, !tbaa !5
  %826 = getelementptr inbounds %struct.w2c_hermes, ptr %825, i32 0, i32 6
  %827 = load i32, ptr %38, align 4, !tbaa !9
  %828 = zext i32 %827 to i64
  %829 = add i64 %828, 8
  %830 = call i32 @i32_load(ptr noundef %826, i64 noundef %829)
  store i32 %830, ptr %38, align 4, !tbaa !9
  %831 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %831, ptr %17, align 4, !tbaa !9
  %832 = load i32, ptr %37, align 4, !tbaa !9
  %833 = load i32, ptr %38, align 4, !tbaa !9
  %834 = icmp ult i32 %832, %833
  %835 = zext i1 %834 to i32
  store i32 %835, ptr %37, align 4, !tbaa !9
  %836 = load i32, ptr %37, align 4, !tbaa !9
  %837 = icmp ne i32 %836, 0
  br i1 %837, label %838, label %862

838:                                              ; preds = %815
  %839 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %839, ptr %37, align 4, !tbaa !9
  %840 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %840, ptr %38, align 4, !tbaa !9
  %841 = load ptr, ptr %8, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.w2c_hermes, ptr %841, i32 0, i32 6
  %843 = load i32, ptr %38, align 4, !tbaa !9
  %844 = zext i32 %843 to i64
  %845 = call i32 @i32_load(ptr noundef %842, i64 noundef %844)
  store i32 %845, ptr %38, align 4, !tbaa !9
  %846 = load ptr, ptr %8, align 8, !tbaa !5
  %847 = getelementptr inbounds %struct.w2c_hermes, ptr %846, i32 0, i32 6
  %848 = load i32, ptr %37, align 4, !tbaa !9
  %849 = zext i32 %848 to i64
  %850 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %847, i64 noundef %849, i32 noundef %850)
  %851 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %851, ptr %37, align 4, !tbaa !9
  %852 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %852, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %853 = load i32, ptr %39, align 4, !tbaa !9
  %854 = load i32, ptr %38, align 4, !tbaa !9
  %855 = add i32 %854, %853
  store i32 %855, ptr %38, align 4, !tbaa !9
  %856 = load ptr, ptr %8, align 8, !tbaa !5
  %857 = getelementptr inbounds %struct.w2c_hermes, ptr %856, i32 0, i32 6
  %858 = load i32, ptr %37, align 4, !tbaa !9
  %859 = zext i32 %858 to i64
  %860 = add i64 %859, 4
  %861 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %857, i64 noundef %860, i32 noundef %861)
  br label %1029

862:                                              ; preds = %815
  %863 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %863, ptr %37, align 4, !tbaa !9
  %864 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %864, ptr %38, align 4, !tbaa !9
  %865 = load ptr, ptr %8, align 8, !tbaa !5
  %866 = getelementptr inbounds %struct.w2c_hermes, ptr %865, i32 0, i32 6
  %867 = load i32, ptr %38, align 4, !tbaa !9
  %868 = zext i32 %867 to i64
  %869 = call i32 @i32_load(ptr noundef %866, i64 noundef %868)
  store i32 %869, ptr %38, align 4, !tbaa !9
  %870 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %870, ptr %10, align 4, !tbaa !9
  %871 = load i32, ptr %38, align 4, !tbaa !9
  %872 = load i32, ptr %37, align 4, !tbaa !9
  %873 = sub i32 %872, %871
  store i32 %873, ptr %37, align 4, !tbaa !9
  %874 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %874, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %875 = load i32, ptr %37, align 4, !tbaa !9
  %876 = load i32, ptr %38, align 4, !tbaa !9
  %877 = and i32 %876, 31
  %878 = ashr i32 %875, %877
  store i32 %878, ptr %37, align 4, !tbaa !9
  %879 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %879, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %880 = load i32, ptr %38, align 4, !tbaa !9
  %881 = load i32, ptr %37, align 4, !tbaa !9
  %882 = add i32 %881, %880
  store i32 %882, ptr %37, align 4, !tbaa !9
  %883 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %883, ptr %15, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %884 = load i32, ptr %37, align 4, !tbaa !9
  %885 = load i32, ptr %38, align 4, !tbaa !9
  %886 = icmp uge i32 %884, %885
  %887 = zext i1 %886 to i32
  store i32 %887, ptr %37, align 4, !tbaa !9
  %888 = load i32, ptr %37, align 4, !tbaa !9
  %889 = icmp ne i32 %888, 0
  br i1 %889, label %890, label %891

890:                                              ; preds = %862
  br label %18024

891:                                              ; preds = %862
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %892 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %892, ptr %38, align 4, !tbaa !9
  %893 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %893, ptr %39, align 4, !tbaa !9
  %894 = load i32, ptr %39, align 4, !tbaa !9
  %895 = load i32, ptr %38, align 4, !tbaa !9
  %896 = sub i32 %895, %894
  store i32 %896, ptr %38, align 4, !tbaa !9
  %897 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %897, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %898 = load i32, ptr %38, align 4, !tbaa !9
  %899 = load i32, ptr %39, align 4, !tbaa !9
  %900 = and i32 %899, 31
  %901 = ashr i32 %898, %900
  store i32 %901, ptr %38, align 4, !tbaa !9
  %902 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %902, ptr %20, align 4, !tbaa !9
  %903 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %903, ptr %39, align 4, !tbaa !9
  %904 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %904, ptr %40, align 4, !tbaa !9
  %905 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %905, ptr %41, align 4, !tbaa !9
  %906 = load i32, ptr %40, align 4, !tbaa !9
  %907 = load i32, ptr %41, align 4, !tbaa !9
  %908 = icmp ult i32 %906, %907
  %909 = zext i1 %908 to i32
  store i32 %909, ptr %40, align 4, !tbaa !9
  %910 = load i32, ptr %40, align 4, !tbaa !9
  %911 = icmp ne i32 %910, 0
  br i1 %911, label %912, label %914

912:                                              ; preds = %891
  %913 = load i32, ptr %38, align 4, !tbaa !9
  br label %916

914:                                              ; preds = %891
  %915 = load i32, ptr %39, align 4, !tbaa !9
  br label %916

916:                                              ; preds = %914, %912
  %917 = phi i32 [ %913, %912 ], [ %915, %914 ]
  store i32 %917, ptr %38, align 4, !tbaa !9
  %918 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %918, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %919 = load i32, ptr %39, align 4, !tbaa !9
  %920 = load i32, ptr %40, align 4, !tbaa !9
  %921 = icmp uge i32 %919, %920
  %922 = zext i1 %921 to i32
  store i32 %922, ptr %39, align 4, !tbaa !9
  %923 = load i32, ptr %39, align 4, !tbaa !9
  %924 = icmp ne i32 %923, 0
  br i1 %924, label %925, label %927

925:                                              ; preds = %916
  %926 = load i32, ptr %37, align 4, !tbaa !9
  br label %929

927:                                              ; preds = %916
  %928 = load i32, ptr %38, align 4, !tbaa !9
  br label %929

929:                                              ; preds = %927, %925
  %930 = phi i32 [ %926, %925 ], [ %928, %927 ]
  store i32 %930, ptr %37, align 4, !tbaa !9
  %931 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %931, ptr %15, align 4, !tbaa !9
  %932 = load i32, ptr %37, align 4, !tbaa !9
  %933 = icmp ne i32 %932, 0
  br i1 %933, label %934, label %952

934:                                              ; preds = %929
  %935 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %935, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %936 = load i32, ptr %37, align 4, !tbaa !9
  %937 = load i32, ptr %38, align 4, !tbaa !9
  %938 = icmp uge i32 %936, %937
  %939 = zext i1 %938 to i32
  store i32 %939, ptr %37, align 4, !tbaa !9
  %940 = load i32, ptr %37, align 4, !tbaa !9
  %941 = icmp ne i32 %940, 0
  br i1 %941, label %942, label %943

942:                                              ; preds = %934
  br label %15466

943:                                              ; preds = %934
  %944 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %944, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %945 = load i32, ptr %38, align 4, !tbaa !9
  %946 = and i32 %945, 31
  %947 = load i32, ptr %37, align 4, !tbaa !9
  %948 = shl i32 %947, %946
  store i32 %948, ptr %37, align 4, !tbaa !9
  %949 = load ptr, ptr %8, align 8, !tbaa !5
  %950 = load i32, ptr %37, align 4, !tbaa !9
  %951 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %949, i32 noundef %950)
  store i32 %951, ptr %37, align 4, !tbaa !9
  br label %953

952:                                              ; preds = %929
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %953

953:                                              ; preds = %952, %943
  %954 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %954, ptr %17, align 4, !tbaa !9
  %955 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %955, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %956 = load i32, ptr %39, align 4, !tbaa !9
  %957 = and i32 %956, 31
  %958 = load i32, ptr %38, align 4, !tbaa !9
  %959 = shl i32 %958, %957
  store i32 %959, ptr %38, align 4, !tbaa !9
  %960 = load i32, ptr %38, align 4, !tbaa !9
  %961 = load i32, ptr %37, align 4, !tbaa !9
  %962 = add i32 %961, %960
  store i32 %962, ptr %37, align 4, !tbaa !9
  %963 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %963, ptr %22, align 4, !tbaa !9
  %964 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %964, ptr %38, align 4, !tbaa !9
  %965 = load ptr, ptr %8, align 8, !tbaa !5
  %966 = getelementptr inbounds %struct.w2c_hermes, ptr %965, i32 0, i32 6
  %967 = load i32, ptr %38, align 4, !tbaa !9
  %968 = zext i32 %967 to i64
  %969 = call i32 @i32_load(ptr noundef %966, i64 noundef %968)
  store i32 %969, ptr %38, align 4, !tbaa !9
  %970 = load ptr, ptr %8, align 8, !tbaa !5
  %971 = getelementptr inbounds %struct.w2c_hermes, ptr %970, i32 0, i32 6
  %972 = load i32, ptr %37, align 4, !tbaa !9
  %973 = zext i32 %972 to i64
  %974 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %971, i64 noundef %973, i32 noundef %974)
  %975 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %975, ptr %37, align 4, !tbaa !9
  %976 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %976, ptr %38, align 4, !tbaa !9
  %977 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %977, ptr %39, align 4, !tbaa !9
  %978 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %978, ptr %40, align 4, !tbaa !9
  %979 = load ptr, ptr %8, align 8, !tbaa !5
  %980 = load i32, ptr %38, align 4, !tbaa !9
  %981 = load i32, ptr %39, align 4, !tbaa !9
  %982 = load i32, ptr %40, align 4, !tbaa !9
  %983 = call i32 @w2c_hermes_memmove(ptr noundef %979, i32 noundef %980, i32 noundef %981, i32 noundef %982)
  store i32 %983, ptr %38, align 4, !tbaa !9
  %984 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %984, ptr %17, align 4, !tbaa !9
  %985 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %985, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %986 = load i32, ptr %40, align 4, !tbaa !9
  %987 = and i32 %986, 31
  %988 = load i32, ptr %39, align 4, !tbaa !9
  %989 = shl i32 %988, %987
  store i32 %989, ptr %39, align 4, !tbaa !9
  %990 = load i32, ptr %39, align 4, !tbaa !9
  %991 = load i32, ptr %38, align 4, !tbaa !9
  %992 = add i32 %991, %990
  store i32 %992, ptr %38, align 4, !tbaa !9
  %993 = load ptr, ptr %8, align 8, !tbaa !5
  %994 = getelementptr inbounds %struct.w2c_hermes, ptr %993, i32 0, i32 6
  %995 = load i32, ptr %37, align 4, !tbaa !9
  %996 = zext i32 %995 to i64
  %997 = add i64 %996, 8
  %998 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %994, i64 noundef %997, i32 noundef %998)
  %999 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %999, ptr %37, align 4, !tbaa !9
  %1000 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1000, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %1001 = load i32, ptr %39, align 4, !tbaa !9
  %1002 = load i32, ptr %38, align 4, !tbaa !9
  %1003 = add i32 %1002, %1001
  store i32 %1003, ptr %38, align 4, !tbaa !9
  %1004 = load ptr, ptr %8, align 8, !tbaa !5
  %1005 = getelementptr inbounds %struct.w2c_hermes, ptr %1004, i32 0, i32 6
  %1006 = load i32, ptr %37, align 4, !tbaa !9
  %1007 = zext i32 %1006 to i64
  %1008 = add i64 %1007, 4
  %1009 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1005, i64 noundef %1008, i32 noundef %1009)
  %1010 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1010, ptr %37, align 4, !tbaa !9
  %1011 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1011, ptr %38, align 4, !tbaa !9
  %1012 = load ptr, ptr %8, align 8, !tbaa !5
  %1013 = getelementptr inbounds %struct.w2c_hermes, ptr %1012, i32 0, i32 6
  %1014 = load i32, ptr %37, align 4, !tbaa !9
  %1015 = zext i32 %1014 to i64
  %1016 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1013, i64 noundef %1015, i32 noundef %1016)
  %1017 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1017, ptr %37, align 4, !tbaa !9
  %1018 = load i32, ptr %37, align 4, !tbaa !9
  %1019 = icmp ne i32 %1018, 0
  %1020 = xor i1 %1019, true
  %1021 = zext i1 %1020 to i32
  store i32 %1021, ptr %37, align 4, !tbaa !9
  %1022 = load i32, ptr %37, align 4, !tbaa !9
  %1023 = icmp ne i32 %1022, 0
  br i1 %1023, label %1024, label %1025

1024:                                             ; preds = %953
  br label %1029

1025:                                             ; preds = %953
  %1026 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1026, ptr %37, align 4, !tbaa !9
  %1027 = load ptr, ptr %8, align 8, !tbaa !5
  %1028 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1027, i32 noundef %1028)
  br label %1029

1029:                                             ; preds = %1025, %1024, %838
  %1030 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1030, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %1031 = load i32, ptr %38, align 4, !tbaa !9
  %1032 = load i32, ptr %37, align 4, !tbaa !9
  %1033 = add i32 %1032, %1031
  store i32 %1033, ptr %37, align 4, !tbaa !9
  %1034 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1034, ptr %14, align 4, !tbaa !9
  %1035 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1035, ptr %38, align 4, !tbaa !9
  %1036 = load i32, ptr %37, align 4, !tbaa !9
  %1037 = load i32, ptr %38, align 4, !tbaa !9
  %1038 = icmp ne i32 %1036, %1037
  %1039 = zext i1 %1038 to i32
  store i32 %1039, ptr %37, align 4, !tbaa !9
  %1040 = load i32, ptr %37, align 4, !tbaa !9
  %1041 = icmp ne i32 %1040, 0
  br i1 %1041, label %1042, label %1043

1042:                                             ; preds = %1029
  br label %815

1043:                                             ; preds = %1029
  %1044 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1044, ptr %37, align 4, !tbaa !9
  %1045 = load ptr, ptr %8, align 8, !tbaa !5
  %1046 = getelementptr inbounds %struct.w2c_hermes, ptr %1045, i32 0, i32 6
  %1047 = load i32, ptr %37, align 4, !tbaa !9
  %1048 = zext i32 %1047 to i64
  %1049 = add i64 %1048, 148
  %1050 = call i32 @i32_load(ptr noundef %1046, i64 noundef %1049)
  store i32 %1050, ptr %37, align 4, !tbaa !9
  %1051 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1051, ptr %13, align 4, !tbaa !9
  br label %1052

1052:                                             ; preds = %1043, %778
  %1053 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1053, ptr %37, align 4, !tbaa !9
  %1054 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1054, ptr %38, align 4, !tbaa !9
  %1055 = load i32, ptr %37, align 4, !tbaa !9
  %1056 = load i32, ptr %38, align 4, !tbaa !9
  %1057 = icmp ne i32 %1055, %1056
  %1058 = zext i1 %1057 to i32
  store i32 %1058, ptr %37, align 4, !tbaa !9
  %1059 = load i32, ptr %37, align 4, !tbaa !9
  %1060 = icmp ne i32 %1059, 0
  br i1 %1060, label %1061, label %1076

1061:                                             ; preds = %1052
  %1062 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1062, ptr %37, align 4, !tbaa !9
  %1063 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1063, ptr %38, align 4, !tbaa !9
  %1064 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1064, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %1065 = load ptr, ptr %8, align 8, !tbaa !5
  %1066 = load i32, ptr %38, align 4, !tbaa !9
  %1067 = load i32, ptr %39, align 4, !tbaa !9
  %1068 = load i32, ptr %40, align 4, !tbaa !9
  %1069 = call i32 @w2c_hermes_memmove(ptr noundef %1065, i32 noundef %1066, i32 noundef %1067, i32 noundef %1068)
  store i32 %1069, ptr %38, align 4, !tbaa !9
  %1070 = load ptr, ptr %8, align 8, !tbaa !5
  %1071 = getelementptr inbounds %struct.w2c_hermes, ptr %1070, i32 0, i32 6
  %1072 = load i32, ptr %37, align 4, !tbaa !9
  %1073 = zext i32 %1072 to i64
  %1074 = add i64 %1073, 148
  %1075 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1071, i64 noundef %1074, i32 noundef %1075)
  br label %1076

1076:                                             ; preds = %1061, %1052
  %1077 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1077, ptr %37, align 4, !tbaa !9
  %1078 = load ptr, ptr %8, align 8, !tbaa !5
  %1079 = getelementptr inbounds %struct.w2c_hermes, ptr %1078, i32 0, i32 6
  %1080 = load i32, ptr %37, align 4, !tbaa !9
  %1081 = zext i32 %1080 to i64
  %1082 = add i64 %1081, 16
  %1083 = call i32 @i32_load(ptr noundef %1079, i64 noundef %1082)
  store i32 %1083, ptr %37, align 4, !tbaa !9
  %1084 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1084, ptr %14, align 4, !tbaa !9
  %1085 = load i32, ptr %37, align 4, !tbaa !9
  %1086 = icmp ne i32 %1085, 0
  br i1 %1086, label %1087, label %1119

1087:                                             ; preds = %1076
  %1088 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1088, ptr %37, align 4, !tbaa !9
  %1089 = load ptr, ptr %8, align 8, !tbaa !5
  %1090 = getelementptr inbounds %struct.w2c_hermes, ptr %1089, i32 0, i32 6
  %1091 = load i32, ptr %37, align 4, !tbaa !9
  %1092 = zext i32 %1091 to i64
  %1093 = add i64 %1092, 12
  %1094 = call i32 @i32_load(ptr noundef %1090, i64 noundef %1093)
  store i32 %1094, ptr %37, align 4, !tbaa !9
  %1095 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1095, ptr %13, align 4, !tbaa !9
  %1096 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1096, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1097 = load i32, ptr %39, align 4, !tbaa !9
  %1098 = load i32, ptr %38, align 4, !tbaa !9
  %1099 = mul i32 %1098, %1097
  store i32 %1099, ptr %38, align 4, !tbaa !9
  %1100 = load i32, ptr %38, align 4, !tbaa !9
  %1101 = load i32, ptr %37, align 4, !tbaa !9
  %1102 = add i32 %1101, %1100
  store i32 %1102, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %1103 = load i32, ptr %38, align 4, !tbaa !9
  %1104 = load i32, ptr %37, align 4, !tbaa !9
  %1105 = sub i32 %1104, %1103
  store i32 %1105, ptr %37, align 4, !tbaa !9
  %1106 = load ptr, ptr %8, align 8, !tbaa !5
  %1107 = getelementptr inbounds %struct.w2c_hermes, ptr %1106, i32 0, i32 6
  %1108 = load i32, ptr %37, align 4, !tbaa !9
  %1109 = zext i32 %1108 to i64
  %1110 = call i32 @i32_load(ptr noundef %1107, i64 noundef %1109)
  store i32 %1110, ptr %37, align 4, !tbaa !9
  %1111 = load i32, ptr %37, align 4, !tbaa !9
  %1112 = icmp ne i32 %1111, 0
  %1113 = xor i1 %1112, true
  %1114 = zext i1 %1113 to i32
  store i32 %1114, ptr %37, align 4, !tbaa !9
  %1115 = load i32, ptr %37, align 4, !tbaa !9
  %1116 = icmp ne i32 %1115, 0
  br i1 %1116, label %1117, label %1118

1117:                                             ; preds = %1087
  br label %1302

1118:                                             ; preds = %1087
  br label %1119

1119:                                             ; preds = %1118, %1076
  %1120 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1120, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1121 = load ptr, ptr %8, align 8, !tbaa !5
  %1122 = getelementptr inbounds %struct.w2c_hermes, ptr %1121, i32 0, i32 6
  %1123 = load i32, ptr %37, align 4, !tbaa !9
  %1124 = zext i32 %1123 to i64
  %1125 = add i64 %1124, 202
  %1126 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1122, i64 noundef %1125, i32 noundef %1126)
  %1127 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1127, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1128 = load ptr, ptr %8, align 8, !tbaa !5
  %1129 = getelementptr inbounds %struct.w2c_hermes, ptr %1128, i32 0, i32 6
  %1130 = load i32, ptr %37, align 4, !tbaa !9
  %1131 = zext i32 %1130 to i64
  %1132 = add i64 %1131, 206
  %1133 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1129, i64 noundef %1132, i32 noundef %1133)
  %1134 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1134, ptr %37, align 4, !tbaa !9
  %1135 = load ptr, ptr %8, align 8, !tbaa !5
  %1136 = getelementptr inbounds %struct.w2c_hermes, ptr %1135, i32 0, i32 6
  %1137 = load i32, ptr %37, align 4, !tbaa !9
  %1138 = zext i32 %1137 to i64
  %1139 = call i32 @i32_load(ptr noundef %1136, i64 noundef %1138)
  store i32 %1139, ptr %37, align 4, !tbaa !9
  %1140 = load ptr, ptr %8, align 8, !tbaa !5
  %1141 = getelementptr inbounds %struct.w2c_hermes, ptr %1140, i32 0, i32 6
  %1142 = load i32, ptr %37, align 4, !tbaa !9
  %1143 = zext i32 %1142 to i64
  %1144 = add i64 %1143, 148
  %1145 = call i32 @i32_load(ptr noundef %1141, i64 noundef %1144)
  store i32 %1145, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %1146 = load i32, ptr %38, align 4, !tbaa !9
  %1147 = load i32, ptr %37, align 4, !tbaa !9
  %1148 = sub i32 %1147, %1146
  store i32 %1148, ptr %37, align 4, !tbaa !9
  %1149 = load ptr, ptr %8, align 8, !tbaa !5
  %1150 = getelementptr inbounds %struct.w2c_hermes, ptr %1149, i32 0, i32 6
  %1151 = load i32, ptr %37, align 4, !tbaa !9
  %1152 = zext i32 %1151 to i64
  %1153 = call i32 @i32_load(ptr noundef %1150, i64 noundef %1152)
  store i32 %1153, ptr %37, align 4, !tbaa !9
  %1154 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1154, ptr %11, align 4, !tbaa !9
  %1155 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1155, ptr %37, align 4, !tbaa !9
  %1156 = load ptr, ptr %8, align 8, !tbaa !5
  %1157 = getelementptr inbounds %struct.w2c_hermes, ptr %1156, i32 0, i32 6
  %1158 = load i32, ptr %37, align 4, !tbaa !9
  %1159 = zext i32 %1158 to i64
  %1160 = add i64 %1159, 20
  %1161 = call i32 @i32_load(ptr noundef %1157, i64 noundef %1160)
  store i32 %1161, ptr %37, align 4, !tbaa !9
  %1162 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1162, ptr %38, align 4, !tbaa !9
  %1163 = load i32, ptr %37, align 4, !tbaa !9
  %1164 = load i32, ptr %38, align 4, !tbaa !9
  %1165 = icmp ule i32 %1163, %1164
  %1166 = zext i1 %1165 to i32
  store i32 %1166, ptr %37, align 4, !tbaa !9
  %1167 = load i32, ptr %37, align 4, !tbaa !9
  %1168 = icmp ne i32 %1167, 0
  br i1 %1168, label %1169, label %1184

1169:                                             ; preds = %1119
  %1170 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1170, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %1171 = load i32, ptr %38, align 4, !tbaa !9
  %1172 = load i32, ptr %37, align 4, !tbaa !9
  %1173 = add i32 %1172, %1171
  store i32 %1173, ptr %37, align 4, !tbaa !9
  %1174 = load ptr, ptr %8, align 8, !tbaa !5
  %1175 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %1174, i32 noundef %1175)
  %1176 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1176, ptr %37, align 4, !tbaa !9
  %1177 = load ptr, ptr %8, align 8, !tbaa !5
  %1178 = getelementptr inbounds %struct.w2c_hermes, ptr %1177, i32 0, i32 6
  %1179 = load i32, ptr %37, align 4, !tbaa !9
  %1180 = zext i32 %1179 to i64
  %1181 = add i64 %1180, 16
  %1182 = call i32 @i32_load(ptr noundef %1178, i64 noundef %1181)
  store i32 %1182, ptr %37, align 4, !tbaa !9
  %1183 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1183, ptr %14, align 4, !tbaa !9
  br label %1184

1184:                                             ; preds = %1169, %1119
  %1185 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1185, ptr %37, align 4, !tbaa !9
  %1186 = load ptr, ptr %8, align 8, !tbaa !5
  %1187 = getelementptr inbounds %struct.w2c_hermes, ptr %1186, i32 0, i32 6
  %1188 = load i32, ptr %37, align 4, !tbaa !9
  %1189 = zext i32 %1188 to i64
  %1190 = add i64 %1189, 12
  %1191 = call i32 @i32_load(ptr noundef %1187, i64 noundef %1190)
  store i32 %1191, ptr %37, align 4, !tbaa !9
  %1192 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1192, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1193 = load i32, ptr %39, align 4, !tbaa !9
  %1194 = load i32, ptr %38, align 4, !tbaa !9
  %1195 = mul i32 %1194, %1193
  store i32 %1195, ptr %38, align 4, !tbaa !9
  %1196 = load i32, ptr %38, align 4, !tbaa !9
  %1197 = load i32, ptr %37, align 4, !tbaa !9
  %1198 = add i32 %1197, %1196
  store i32 %1198, ptr %37, align 4, !tbaa !9
  %1199 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1199, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1200 = load ptr, ptr %8, align 8, !tbaa !5
  %1201 = getelementptr inbounds %struct.w2c_hermes, ptr %1200, i32 0, i32 6
  %1202 = load i32, ptr %37, align 4, !tbaa !9
  %1203 = zext i32 %1202 to i64
  %1204 = add i64 %1203, 20
  %1205 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1201, i64 noundef %1204, i32 noundef %1205)
  %1206 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1206, ptr %37, align 4, !tbaa !9
  store i32 -1, ptr %38, align 4, !tbaa !9
  %1207 = load ptr, ptr %8, align 8, !tbaa !5
  %1208 = getelementptr inbounds %struct.w2c_hermes, ptr %1207, i32 0, i32 6
  %1209 = load i32, ptr %37, align 4, !tbaa !9
  %1210 = zext i32 %1209 to i64
  %1211 = add i64 %1210, 16
  %1212 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1208, i64 noundef %1211, i32 noundef %1212)
  %1213 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1213, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %1214 = load ptr, ptr %8, align 8, !tbaa !5
  %1215 = getelementptr inbounds %struct.w2c_hermes, ptr %1214, i32 0, i32 6
  %1216 = load i32, ptr %37, align 4, !tbaa !9
  %1217 = zext i32 %1216 to i64
  %1218 = add i64 %1217, 8
  %1219 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1215, i64 noundef %1218, i64 noundef %1219)
  %1220 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1220, ptr %37, align 4, !tbaa !9
  %1221 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1221, ptr %38, align 4, !tbaa !9
  %1222 = load ptr, ptr %8, align 8, !tbaa !5
  %1223 = getelementptr inbounds %struct.w2c_hermes, ptr %1222, i32 0, i32 6
  %1224 = load i32, ptr %37, align 4, !tbaa !9
  %1225 = zext i32 %1224 to i64
  %1226 = add i64 %1225, 4
  %1227 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1223, i64 noundef %1226, i32 noundef %1227)
  %1228 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1228, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1229 = load ptr, ptr %8, align 8, !tbaa !5
  %1230 = getelementptr inbounds %struct.w2c_hermes, ptr %1229, i32 0, i32 6
  %1231 = load i32, ptr %37, align 4, !tbaa !9
  %1232 = zext i32 %1231 to i64
  %1233 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1230, i64 noundef %1232, i32 noundef %1233)
  %1234 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1234, ptr %37, align 4, !tbaa !9
  %1235 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1235, ptr %38, align 4, !tbaa !9
  %1236 = load ptr, ptr %8, align 8, !tbaa !5
  %1237 = getelementptr inbounds %struct.w2c_hermes, ptr %1236, i32 0, i32 6
  %1238 = load i32, ptr %38, align 4, !tbaa !9
  %1239 = zext i32 %1238 to i64
  %1240 = add i64 %1239, 201
  %1241 = call i32 @i32_load(ptr noundef %1237, i64 noundef %1240)
  store i32 %1241, ptr %38, align 4, !tbaa !9
  %1242 = load ptr, ptr %8, align 8, !tbaa !5
  %1243 = getelementptr inbounds %struct.w2c_hermes, ptr %1242, i32 0, i32 6
  %1244 = load i32, ptr %37, align 4, !tbaa !9
  %1245 = zext i32 %1244 to i64
  %1246 = add i64 %1245, 21
  %1247 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1243, i64 noundef %1246, i32 noundef %1247)
  %1248 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1248, ptr %37, align 4, !tbaa !9
  %1249 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1249, ptr %38, align 4, !tbaa !9
  %1250 = load ptr, ptr %8, align 8, !tbaa !5
  %1251 = getelementptr inbounds %struct.w2c_hermes, ptr %1250, i32 0, i32 6
  %1252 = load i32, ptr %38, align 4, !tbaa !9
  %1253 = zext i32 %1252 to i64
  %1254 = add i64 %1253, 204
  %1255 = call i32 @i32_load(ptr noundef %1251, i64 noundef %1254)
  store i32 %1255, ptr %38, align 4, !tbaa !9
  %1256 = load ptr, ptr %8, align 8, !tbaa !5
  %1257 = getelementptr inbounds %struct.w2c_hermes, ptr %1256, i32 0, i32 6
  %1258 = load i32, ptr %37, align 4, !tbaa !9
  %1259 = zext i32 %1258 to i64
  %1260 = add i64 %1259, 24
  %1261 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1257, i64 noundef %1260, i32 noundef %1261)
  %1262 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1262, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %1263 = load ptr, ptr %8, align 8, !tbaa !5
  %1264 = getelementptr inbounds %struct.w2c_hermes, ptr %1263, i32 0, i32 6
  %1265 = load i32, ptr %37, align 4, !tbaa !9
  %1266 = zext i32 %1265 to i64
  %1267 = add i64 %1266, 28
  %1268 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1264, i64 noundef %1267, i64 noundef %1268)
  %1269 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1269, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1270 = load ptr, ptr %8, align 8, !tbaa !5
  %1271 = getelementptr inbounds %struct.w2c_hermes, ptr %1270, i32 0, i32 6
  %1272 = load i32, ptr %37, align 4, !tbaa !9
  %1273 = zext i32 %1272 to i64
  %1274 = add i64 %1273, 36
  %1275 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1271, i64 noundef %1274, i32 noundef %1275)
  %1276 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1276, ptr %37, align 4, !tbaa !9
  %1277 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1277, ptr %38, align 4, !tbaa !9
  %1278 = load ptr, ptr %8, align 8, !tbaa !5
  %1279 = getelementptr inbounds %struct.w2c_hermes, ptr %1278, i32 0, i32 6
  %1280 = load i32, ptr %38, align 4, !tbaa !9
  %1281 = zext i32 %1280 to i64
  %1282 = add i64 %1281, 16
  %1283 = call i32 @i32_load(ptr noundef %1279, i64 noundef %1282)
  store i32 %1283, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1284 = load i32, ptr %39, align 4, !tbaa !9
  %1285 = load i32, ptr %38, align 4, !tbaa !9
  %1286 = add i32 %1285, %1284
  store i32 %1286, ptr %38, align 4, !tbaa !9
  %1287 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1287, ptr %14, align 4, !tbaa !9
  %1288 = load ptr, ptr %8, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.w2c_hermes, ptr %1288, i32 0, i32 6
  %1290 = load i32, ptr %37, align 4, !tbaa !9
  %1291 = zext i32 %1290 to i64
  %1292 = add i64 %1291, 16
  %1293 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1289, i64 noundef %1292, i32 noundef %1293)
  %1294 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1294, ptr %37, align 4, !tbaa !9
  %1295 = load ptr, ptr %8, align 8, !tbaa !5
  %1296 = getelementptr inbounds %struct.w2c_hermes, ptr %1295, i32 0, i32 6
  %1297 = load i32, ptr %37, align 4, !tbaa !9
  %1298 = zext i32 %1297 to i64
  %1299 = add i64 %1298, 12
  %1300 = call i32 @i32_load(ptr noundef %1296, i64 noundef %1299)
  store i32 %1300, ptr %37, align 4, !tbaa !9
  %1301 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1301, ptr %13, align 4, !tbaa !9
  br label %1302

1302:                                             ; preds = %1184, %1117
  %1303 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1303, ptr %37, align 4, !tbaa !9
  %1304 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1304, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1305 = load i32, ptr %39, align 4, !tbaa !9
  %1306 = load i32, ptr %38, align 4, !tbaa !9
  %1307 = mul i32 %1306, %1305
  store i32 %1307, ptr %38, align 4, !tbaa !9
  %1308 = load i32, ptr %38, align 4, !tbaa !9
  %1309 = load i32, ptr %37, align 4, !tbaa !9
  %1310 = add i32 %1309, %1308
  store i32 %1310, ptr %37, align 4, !tbaa !9
  %1311 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1311, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %1312 = load i32, ptr %38, align 4, !tbaa !9
  %1313 = load i32, ptr %37, align 4, !tbaa !9
  %1314 = sub i32 %1313, %1312
  store i32 %1314, ptr %37, align 4, !tbaa !9
  %1315 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1315, ptr %11, align 4, !tbaa !9
  %1316 = load ptr, ptr %8, align 8, !tbaa !5
  %1317 = getelementptr inbounds %struct.w2c_hermes, ptr %1316, i32 0, i32 6
  %1318 = load i32, ptr %37, align 4, !tbaa !9
  %1319 = zext i32 %1318 to i64
  %1320 = add i64 %1319, 32
  %1321 = call i32 @i32_load(ptr noundef %1317, i64 noundef %1320)
  store i32 %1321, ptr %37, align 4, !tbaa !9
  %1322 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1322, ptr %10, align 4, !tbaa !9
  %1323 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1323, ptr %38, align 4, !tbaa !9
  %1324 = load ptr, ptr %8, align 8, !tbaa !5
  %1325 = getelementptr inbounds %struct.w2c_hermes, ptr %1324, i32 0, i32 6
  %1326 = load i32, ptr %38, align 4, !tbaa !9
  %1327 = zext i32 %1326 to i64
  %1328 = add i64 %1327, 36
  %1329 = call i32 @i32_load(ptr noundef %1325, i64 noundef %1328)
  store i32 %1329, ptr %38, align 4, !tbaa !9
  %1330 = load i32, ptr %37, align 4, !tbaa !9
  %1331 = load i32, ptr %38, align 4, !tbaa !9
  %1332 = icmp ult i32 %1330, %1331
  %1333 = zext i1 %1332 to i32
  store i32 %1333, ptr %37, align 4, !tbaa !9
  %1334 = load i32, ptr %37, align 4, !tbaa !9
  %1335 = icmp ne i32 %1334, 0
  br i1 %1335, label %1336, label %1401

1336:                                             ; preds = %1302
  %1337 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1337, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1338 = load ptr, ptr %8, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.w2c_hermes, ptr %1338, i32 0, i32 6
  %1340 = load i32, ptr %37, align 4, !tbaa !9
  %1341 = zext i32 %1340 to i64
  %1342 = add i64 %1341, 8
  %1343 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1339, i64 noundef %1342, i32 noundef %1343)
  %1344 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1344, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %1345 = load ptr, ptr %8, align 8, !tbaa !5
  %1346 = getelementptr inbounds %struct.w2c_hermes, ptr %1345, i32 0, i32 6
  %1347 = load i32, ptr %37, align 4, !tbaa !9
  %1348 = zext i32 %1347 to i64
  %1349 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1346, i64 noundef %1348, i64 noundef %1349)
  %1350 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1350, ptr %37, align 4, !tbaa !9
  %1351 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1351, ptr %38, align 4, !tbaa !9
  %1352 = load ptr, ptr %8, align 8, !tbaa !5
  %1353 = getelementptr inbounds %struct.w2c_hermes, ptr %1352, i32 0, i32 6
  %1354 = load i32, ptr %38, align 4, !tbaa !9
  %1355 = zext i32 %1354 to i64
  %1356 = call i32 @i32_load(ptr noundef %1353, i64 noundef %1355)
  store i32 %1356, ptr %38, align 4, !tbaa !9
  %1357 = load ptr, ptr %8, align 8, !tbaa !5
  %1358 = getelementptr inbounds %struct.w2c_hermes, ptr %1357, i32 0, i32 6
  %1359 = load i32, ptr %37, align 4, !tbaa !9
  %1360 = zext i32 %1359 to i64
  %1361 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1358, i64 noundef %1360, i32 noundef %1361)
  %1362 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1362, ptr %37, align 4, !tbaa !9
  %1363 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1363, ptr %38, align 4, !tbaa !9
  %1364 = load ptr, ptr %8, align 8, !tbaa !5
  %1365 = getelementptr inbounds %struct.w2c_hermes, ptr %1364, i32 0, i32 6
  %1366 = load i32, ptr %38, align 4, !tbaa !9
  %1367 = zext i32 %1366 to i64
  %1368 = add i64 %1367, 4
  %1369 = call i32 @i32_load(ptr noundef %1365, i64 noundef %1368)
  store i32 %1369, ptr %38, align 4, !tbaa !9
  %1370 = load ptr, ptr %8, align 8, !tbaa !5
  %1371 = getelementptr inbounds %struct.w2c_hermes, ptr %1370, i32 0, i32 6
  %1372 = load i32, ptr %37, align 4, !tbaa !9
  %1373 = zext i32 %1372 to i64
  %1374 = add i64 %1373, 4
  %1375 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1371, i64 noundef %1374, i32 noundef %1375)
  %1376 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1376, ptr %37, align 4, !tbaa !9
  %1377 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1377, ptr %38, align 4, !tbaa !9
  %1378 = load ptr, ptr %8, align 8, !tbaa !5
  %1379 = getelementptr inbounds %struct.w2c_hermes, ptr %1378, i32 0, i32 6
  %1380 = load i32, ptr %38, align 4, !tbaa !9
  %1381 = zext i32 %1380 to i64
  %1382 = add i64 %1381, 8
  %1383 = call i32 @i32_load(ptr noundef %1379, i64 noundef %1382)
  store i32 %1383, ptr %38, align 4, !tbaa !9
  %1384 = load ptr, ptr %8, align 8, !tbaa !5
  %1385 = getelementptr inbounds %struct.w2c_hermes, ptr %1384, i32 0, i32 6
  %1386 = load i32, ptr %37, align 4, !tbaa !9
  %1387 = zext i32 %1386 to i64
  %1388 = add i64 %1387, 8
  %1389 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1385, i64 noundef %1388, i32 noundef %1389)
  %1390 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1390, ptr %37, align 4, !tbaa !9
  %1391 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1391, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %1392 = load i32, ptr %39, align 4, !tbaa !9
  %1393 = load i32, ptr %38, align 4, !tbaa !9
  %1394 = add i32 %1393, %1392
  store i32 %1394, ptr %38, align 4, !tbaa !9
  %1395 = load ptr, ptr %8, align 8, !tbaa !5
  %1396 = getelementptr inbounds %struct.w2c_hermes, ptr %1395, i32 0, i32 6
  %1397 = load i32, ptr %37, align 4, !tbaa !9
  %1398 = zext i32 %1397 to i64
  %1399 = add i64 %1398, 32
  %1400 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1396, i64 noundef %1399, i32 noundef %1400)
  br label %8585

1401:                                             ; preds = %1302
  %1402 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1402, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %1403 = load i32, ptr %38, align 4, !tbaa !9
  %1404 = load i32, ptr %37, align 4, !tbaa !9
  %1405 = sub i32 %1404, %1403
  store i32 %1405, ptr %37, align 4, !tbaa !9
  %1406 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1406, ptr %38, align 4, !tbaa !9
  %1407 = load ptr, ptr %8, align 8, !tbaa !5
  %1408 = load i32, ptr %37, align 4, !tbaa !9
  %1409 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x260x260x29(ptr noundef %1407, i32 noundef %1408, i32 noundef %1409)
  %1410 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1410, ptr %37, align 4, !tbaa !9
  %1411 = load ptr, ptr %8, align 8, !tbaa !5
  %1412 = getelementptr inbounds %struct.w2c_hermes, ptr %1411, i32 0, i32 6
  %1413 = load i32, ptr %37, align 4, !tbaa !9
  %1414 = zext i32 %1413 to i64
  %1415 = call i32 @i32_load(ptr noundef %1412, i64 noundef %1414)
  store i32 %1415, ptr %37, align 4, !tbaa !9
  %1416 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1416, ptr %10, align 4, !tbaa !9
  %1417 = load i32, ptr %37, align 4, !tbaa !9
  %1418 = icmp ne i32 %1417, 0
  %1419 = xor i1 %1418, true
  %1420 = zext i1 %1419 to i32
  store i32 %1420, ptr %37, align 4, !tbaa !9
  %1421 = load i32, ptr %37, align 4, !tbaa !9
  %1422 = icmp ne i32 %1421, 0
  br i1 %1422, label %1423, label %1424

1423:                                             ; preds = %1401
  br label %8585

1424:                                             ; preds = %1401
  %1425 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1425, ptr %37, align 4, !tbaa !9
  %1426 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1426, ptr %38, align 4, !tbaa !9
  %1427 = load ptr, ptr %8, align 8, !tbaa !5
  %1428 = getelementptr inbounds %struct.w2c_hermes, ptr %1427, i32 0, i32 6
  %1429 = load i32, ptr %37, align 4, !tbaa !9
  %1430 = zext i32 %1429 to i64
  %1431 = add i64 %1430, 4
  %1432 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1428, i64 noundef %1431, i32 noundef %1432)
  %1433 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1433, ptr %37, align 4, !tbaa !9
  %1434 = load ptr, ptr %8, align 8, !tbaa !5
  %1435 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1434, i32 noundef %1435)
  br label %8585

1436:                                             ; preds = %649
  %1437 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1437, ptr %37, align 4, !tbaa !9
  %1438 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1438, ptr %38, align 4, !tbaa !9
  %1439 = load i32, ptr %37, align 4, !tbaa !9
  %1440 = load i32, ptr %38, align 4, !tbaa !9
  %1441 = icmp ne i32 %1439, %1440
  %1442 = zext i1 %1441 to i32
  store i32 %1442, ptr %37, align 4, !tbaa !9
  %1443 = load i32, ptr %37, align 4, !tbaa !9
  %1444 = icmp ne i32 %1443, 0
  br i1 %1444, label %1445, label %1446

1445:                                             ; preds = %1436
  br label %4628

1446:                                             ; preds = %1436
  br label %8364

1447:                                             ; preds = %650
  %1448 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1448, ptr %37, align 4, !tbaa !9
  %1449 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1449, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1450 = load i32, ptr %39, align 4, !tbaa !9
  %1451 = load i32, ptr %38, align 4, !tbaa !9
  %1452 = add i32 %1451, %1450
  store i32 %1452, ptr %38, align 4, !tbaa !9
  %1453 = load ptr, ptr %8, align 8, !tbaa !5
  %1454 = getelementptr inbounds %struct.w2c_hermes, ptr %1453, i32 0, i32 6
  %1455 = load i32, ptr %37, align 4, !tbaa !9
  %1456 = zext i32 %1455 to i64
  %1457 = add i64 %1456, 4
  %1458 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1454, i64 noundef %1457, i32 noundef %1458)
  %1459 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1459, ptr %37, align 4, !tbaa !9
  %1460 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1460, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %1461 = load i32, ptr %39, align 4, !tbaa !9
  %1462 = load i32, ptr %38, align 4, !tbaa !9
  %1463 = add i32 %1462, %1461
  store i32 %1463, ptr %38, align 4, !tbaa !9
  %1464 = load ptr, ptr %8, align 8, !tbaa !5
  %1465 = load i32, ptr %37, align 4, !tbaa !9
  %1466 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AcloseAlternation0x28llvh0x3A0x3ASmallVector0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x204u0x3E0x260x29(ptr noundef %1464, i32 noundef %1465, i32 noundef %1466)
  %1467 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1467, ptr %37, align 4, !tbaa !9
  %1468 = load ptr, ptr %8, align 8, !tbaa !5
  %1469 = getelementptr inbounds %struct.w2c_hermes, ptr %1468, i32 0, i32 6
  %1470 = load i32, ptr %37, align 4, !tbaa !9
  %1471 = zext i32 %1470 to i64
  %1472 = add i64 %1471, 16
  %1473 = call i32 @i32_load(ptr noundef %1469, i64 noundef %1472)
  store i32 %1473, ptr %37, align 4, !tbaa !9
  %1474 = load i32, ptr %37, align 4, !tbaa !9
  %1475 = icmp ne i32 %1474, 0
  %1476 = xor i1 %1475, true
  %1477 = zext i1 %1476 to i32
  store i32 %1477, ptr %37, align 4, !tbaa !9
  %1478 = load i32, ptr %37, align 4, !tbaa !9
  %1479 = icmp ne i32 %1478, 0
  br i1 %1479, label %1480, label %1513

1480:                                             ; preds = %1447
  %1481 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1481, ptr %37, align 4, !tbaa !9
  %1482 = load ptr, ptr %8, align 8, !tbaa !5
  %1483 = getelementptr inbounds %struct.w2c_hermes, ptr %1482, i32 0, i32 6
  %1484 = load i32, ptr %37, align 4, !tbaa !9
  %1485 = zext i32 %1484 to i64
  %1486 = add i64 %1485, 12
  %1487 = call i32 @i32_load(ptr noundef %1483, i64 noundef %1486)
  store i32 %1487, ptr %37, align 4, !tbaa !9
  %1488 = load i32, ptr %37, align 4, !tbaa !9
  %1489 = icmp ne i32 %1488, 0
  br i1 %1489, label %1490, label %1491

1490:                                             ; preds = %1480
  br label %15409

1491:                                             ; preds = %1480
  %1492 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1492, ptr %37, align 4, !tbaa !9
  store i32 5, ptr %38, align 4, !tbaa !9
  %1493 = load ptr, ptr %8, align 8, !tbaa !5
  %1494 = getelementptr inbounds %struct.w2c_hermes, ptr %1493, i32 0, i32 6
  %1495 = load i32, ptr %37, align 4, !tbaa !9
  %1496 = zext i32 %1495 to i64
  %1497 = add i64 %1496, 12
  %1498 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1494, i64 noundef %1497, i32 noundef %1498)
  %1499 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1499, ptr %37, align 4, !tbaa !9
  %1500 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1500, ptr %38, align 4, !tbaa !9
  %1501 = load ptr, ptr %8, align 8, !tbaa !5
  %1502 = getelementptr inbounds %struct.w2c_hermes, ptr %1501, i32 0, i32 6
  %1503 = load i32, ptr %38, align 4, !tbaa !9
  %1504 = zext i32 %1503 to i64
  %1505 = add i64 %1504, 8
  %1506 = call i32 @i32_load(ptr noundef %1502, i64 noundef %1505)
  store i32 %1506, ptr %38, align 4, !tbaa !9
  %1507 = load ptr, ptr %8, align 8, !tbaa !5
  %1508 = getelementptr inbounds %struct.w2c_hermes, ptr %1507, i32 0, i32 6
  %1509 = load i32, ptr %37, align 4, !tbaa !9
  %1510 = zext i32 %1509 to i64
  %1511 = add i64 %1510, 4
  %1512 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1508, i64 noundef %1511, i32 noundef %1512)
  br label %15409

1513:                                             ; preds = %1447
  %1514 = load ptr, ptr %8, align 8, !tbaa !5
  %1515 = getelementptr inbounds %struct.w2c_hermes, ptr %1514, i32 0, i32 3
  %1516 = load i32, ptr %1515, align 8, !tbaa !13
  store i32 %1516, ptr %37, align 4, !tbaa !9
  store i32 96, ptr %38, align 4, !tbaa !9
  %1517 = load i32, ptr %38, align 4, !tbaa !9
  %1518 = load i32, ptr %37, align 4, !tbaa !9
  %1519 = sub i32 %1518, %1517
  store i32 %1519, ptr %37, align 4, !tbaa !9
  %1520 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1520, ptr %14, align 4, !tbaa !9
  %1521 = load i32, ptr %37, align 4, !tbaa !9
  %1522 = load ptr, ptr %8, align 8, !tbaa !5
  %1523 = getelementptr inbounds %struct.w2c_hermes, ptr %1522, i32 0, i32 3
  store i32 %1521, ptr %1523, align 8, !tbaa !13
  %1524 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1524, ptr %37, align 4, !tbaa !9
  %1525 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1525, ptr %38, align 4, !tbaa !9
  %1526 = load ptr, ptr %8, align 8, !tbaa !5
  %1527 = getelementptr inbounds %struct.w2c_hermes, ptr %1526, i32 0, i32 6
  %1528 = load i32, ptr %38, align 4, !tbaa !9
  %1529 = zext i32 %1528 to i64
  %1530 = add i64 %1529, 16
  %1531 = call i32 @i32_load(ptr noundef %1527, i64 noundef %1530)
  store i32 %1531, ptr %38, align 4, !tbaa !9
  %1532 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1532, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1533 = load i32, ptr %39, align 4, !tbaa !9
  %1534 = load i32, ptr %38, align 4, !tbaa !9
  %1535 = mul i32 %1534, %1533
  store i32 %1535, ptr %38, align 4, !tbaa !9
  %1536 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1536, ptr %12, align 4, !tbaa !9
  %1537 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1537, ptr %39, align 4, !tbaa !9
  %1538 = load ptr, ptr %8, align 8, !tbaa !5
  %1539 = getelementptr inbounds %struct.w2c_hermes, ptr %1538, i32 0, i32 6
  %1540 = load i32, ptr %39, align 4, !tbaa !9
  %1541 = zext i32 %1540 to i64
  %1542 = add i64 %1541, 12
  %1543 = call i32 @i32_load(ptr noundef %1539, i64 noundef %1542)
  store i32 %1543, ptr %39, align 4, !tbaa !9
  %1544 = load i32, ptr %39, align 4, !tbaa !9
  %1545 = load i32, ptr %38, align 4, !tbaa !9
  %1546 = add i32 %1545, %1544
  store i32 %1546, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1547 = load i32, ptr %39, align 4, !tbaa !9
  %1548 = load i32, ptr %38, align 4, !tbaa !9
  %1549 = sub i32 %1548, %1547
  store i32 %1549, ptr %38, align 4, !tbaa !9
  %1550 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1550, ptr %10, align 4, !tbaa !9
  %1551 = load ptr, ptr %8, align 8, !tbaa !5
  %1552 = getelementptr inbounds %struct.w2c_hermes, ptr %1551, i32 0, i32 6
  %1553 = load i32, ptr %38, align 4, !tbaa !9
  %1554 = zext i32 %1553 to i64
  %1555 = add i64 %1554, 24
  %1556 = call i32 @i32_load(ptr noundef %1552, i64 noundef %1555)
  store i32 %1556, ptr %38, align 4, !tbaa !9
  %1557 = load ptr, ptr %8, align 8, !tbaa !5
  %1558 = getelementptr inbounds %struct.w2c_hermes, ptr %1557, i32 0, i32 6
  %1559 = load i32, ptr %37, align 4, !tbaa !9
  %1560 = zext i32 %1559 to i64
  %1561 = add i64 %1560, 72
  %1562 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1558, i64 noundef %1561, i32 noundef %1562)
  %1563 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1563, ptr %37, align 4, !tbaa !9
  store i32 -64, ptr %38, align 4, !tbaa !9
  %1564 = load i32, ptr %38, align 4, !tbaa !9
  %1565 = load i32, ptr %37, align 4, !tbaa !9
  %1566 = sub i32 %1565, %1564
  store i32 %1566, ptr %37, align 4, !tbaa !9
  %1567 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1567, ptr %38, align 4, !tbaa !9
  %1568 = load ptr, ptr %8, align 8, !tbaa !5
  %1569 = getelementptr inbounds %struct.w2c_hermes, ptr %1568, i32 0, i32 6
  %1570 = load i32, ptr %38, align 4, !tbaa !9
  %1571 = zext i32 %1570 to i64
  %1572 = add i64 %1571, 16
  %1573 = call i64 @i64_load(ptr noundef %1569, i64 noundef %1572)
  store i64 %1573, ptr %44, align 8, !tbaa !11
  %1574 = load ptr, ptr %8, align 8, !tbaa !5
  %1575 = getelementptr inbounds %struct.w2c_hermes, ptr %1574, i32 0, i32 6
  %1576 = load i32, ptr %37, align 4, !tbaa !9
  %1577 = zext i32 %1576 to i64
  %1578 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1575, i64 noundef %1577, i64 noundef %1578)
  %1579 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1579, ptr %37, align 4, !tbaa !9
  %1580 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1580, ptr %38, align 4, !tbaa !9
  %1581 = load ptr, ptr %8, align 8, !tbaa !5
  %1582 = getelementptr inbounds %struct.w2c_hermes, ptr %1581, i32 0, i32 6
  %1583 = load i32, ptr %38, align 4, !tbaa !9
  %1584 = zext i32 %1583 to i64
  %1585 = add i64 %1584, 8
  %1586 = call i64 @i64_load(ptr noundef %1582, i64 noundef %1585)
  store i64 %1586, ptr %44, align 8, !tbaa !11
  %1587 = load ptr, ptr %8, align 8, !tbaa !5
  %1588 = getelementptr inbounds %struct.w2c_hermes, ptr %1587, i32 0, i32 6
  %1589 = load i32, ptr %37, align 4, !tbaa !9
  %1590 = zext i32 %1589 to i64
  %1591 = add i64 %1590, 56
  %1592 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1588, i64 noundef %1591, i64 noundef %1592)
  %1593 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1593, ptr %37, align 4, !tbaa !9
  %1594 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1594, ptr %38, align 4, !tbaa !9
  %1595 = load ptr, ptr %8, align 8, !tbaa !5
  %1596 = getelementptr inbounds %struct.w2c_hermes, ptr %1595, i32 0, i32 6
  %1597 = load i32, ptr %38, align 4, !tbaa !9
  %1598 = zext i32 %1597 to i64
  %1599 = call i64 @i64_load(ptr noundef %1596, i64 noundef %1598)
  store i64 %1599, ptr %44, align 8, !tbaa !11
  %1600 = load ptr, ptr %8, align 8, !tbaa !5
  %1601 = getelementptr inbounds %struct.w2c_hermes, ptr %1600, i32 0, i32 6
  %1602 = load i32, ptr %37, align 4, !tbaa !9
  %1603 = zext i32 %1602 to i64
  %1604 = add i64 %1603, 48
  %1605 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1601, i64 noundef %1604, i64 noundef %1605)
  %1606 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1606, ptr %37, align 4, !tbaa !9
  %1607 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1607, ptr %38, align 4, !tbaa !9
  %1608 = load ptr, ptr %8, align 8, !tbaa !5
  %1609 = getelementptr inbounds %struct.w2c_hermes, ptr %1608, i32 0, i32 6
  %1610 = load i32, ptr %38, align 4, !tbaa !9
  %1611 = zext i32 %1610 to i64
  %1612 = add i64 %1611, 28
  %1613 = call i32 @i32_load(ptr noundef %1609, i64 noundef %1612)
  store i32 %1613, ptr %38, align 4, !tbaa !9
  %1614 = load ptr, ptr %8, align 8, !tbaa !5
  %1615 = getelementptr inbounds %struct.w2c_hermes, ptr %1614, i32 0, i32 6
  %1616 = load i32, ptr %37, align 4, !tbaa !9
  %1617 = zext i32 %1616 to i64
  %1618 = add i64 %1617, 76
  %1619 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1615, i64 noundef %1618, i32 noundef %1619)
  %1620 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1620, ptr %37, align 4, !tbaa !9
  %1621 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1621, ptr %38, align 4, !tbaa !9
  %1622 = load ptr, ptr %8, align 8, !tbaa !5
  %1623 = getelementptr inbounds %struct.w2c_hermes, ptr %1622, i32 0, i32 6
  %1624 = load i32, ptr %38, align 4, !tbaa !9
  %1625 = zext i32 %1624 to i64
  %1626 = add i64 %1625, 32
  %1627 = call i32 @i32_load(ptr noundef %1623, i64 noundef %1626)
  store i32 %1627, ptr %38, align 4, !tbaa !9
  %1628 = load ptr, ptr %8, align 8, !tbaa !5
  %1629 = getelementptr inbounds %struct.w2c_hermes, ptr %1628, i32 0, i32 6
  %1630 = load i32, ptr %37, align 4, !tbaa !9
  %1631 = zext i32 %1630 to i64
  %1632 = add i64 %1631, 80
  %1633 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1629, i64 noundef %1632, i32 noundef %1633)
  %1634 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1634, ptr %37, align 4, !tbaa !9
  %1635 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1635, ptr %38, align 4, !tbaa !9
  %1636 = load ptr, ptr %8, align 8, !tbaa !5
  %1637 = getelementptr inbounds %struct.w2c_hermes, ptr %1636, i32 0, i32 6
  %1638 = load i32, ptr %38, align 4, !tbaa !9
  %1639 = zext i32 %1638 to i64
  %1640 = add i64 %1639, 36
  %1641 = call i32 @i32_load(ptr noundef %1637, i64 noundef %1640)
  store i32 %1641, ptr %38, align 4, !tbaa !9
  %1642 = load ptr, ptr %8, align 8, !tbaa !5
  %1643 = getelementptr inbounds %struct.w2c_hermes, ptr %1642, i32 0, i32 6
  %1644 = load i32, ptr %37, align 4, !tbaa !9
  %1645 = zext i32 %1644 to i64
  %1646 = add i64 %1645, 84
  %1647 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1643, i64 noundef %1646, i32 noundef %1647)
  %1648 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1648, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1649 = load ptr, ptr %8, align 8, !tbaa !5
  %1650 = getelementptr inbounds %struct.w2c_hermes, ptr %1649, i32 0, i32 6
  %1651 = load i32, ptr %37, align 4, !tbaa !9
  %1652 = zext i32 %1651 to i64
  %1653 = add i64 %1652, 36
  %1654 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1650, i64 noundef %1653, i32 noundef %1654)
  %1655 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1655, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %1656 = load ptr, ptr %8, align 8, !tbaa !5
  %1657 = getelementptr inbounds %struct.w2c_hermes, ptr %1656, i32 0, i32 6
  %1658 = load i32, ptr %37, align 4, !tbaa !9
  %1659 = zext i32 %1658 to i64
  %1660 = add i64 %1659, 28
  %1661 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1657, i64 noundef %1660, i64 noundef %1661)
  %1662 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1662, ptr %37, align 4, !tbaa !9
  %1663 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1663, ptr %38, align 4, !tbaa !9
  %1664 = load ptr, ptr %8, align 8, !tbaa !5
  %1665 = getelementptr inbounds %struct.w2c_hermes, ptr %1664, i32 0, i32 6
  %1666 = load i32, ptr %38, align 4, !tbaa !9
  %1667 = zext i32 %1666 to i64
  %1668 = add i64 %1667, 40
  %1669 = call i32 @i32_load16_u(ptr noundef %1665, i64 noundef %1668)
  store i32 %1669, ptr %38, align 4, !tbaa !9
  %1670 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1670, ptr %17, align 4, !tbaa !9
  %1671 = load ptr, ptr %8, align 8, !tbaa !5
  %1672 = getelementptr inbounds %struct.w2c_hermes, ptr %1671, i32 0, i32 6
  %1673 = load i32, ptr %37, align 4, !tbaa !9
  %1674 = zext i32 %1673 to i64
  %1675 = add i64 %1674, 88
  %1676 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1672, i64 noundef %1675, i32 noundef %1676)
  %1677 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1677, ptr %37, align 4, !tbaa !9
  %1678 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1678, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1679 = load i32, ptr %39, align 4, !tbaa !9
  %1680 = load i32, ptr %38, align 4, !tbaa !9
  %1681 = sub i32 %1680, %1679
  store i32 %1681, ptr %38, align 4, !tbaa !9
  %1682 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1682, ptr %10, align 4, !tbaa !9
  %1683 = load ptr, ptr %8, align 8, !tbaa !5
  %1684 = getelementptr inbounds %struct.w2c_hermes, ptr %1683, i32 0, i32 6
  %1685 = load i32, ptr %37, align 4, !tbaa !9
  %1686 = zext i32 %1685 to i64
  %1687 = add i64 %1686, 16
  %1688 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1684, i64 noundef %1687, i32 noundef %1688)
  %1689 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1689, ptr %37, align 4, !tbaa !9
  %1690 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1690, ptr %38, align 4, !tbaa !9
  %1691 = load ptr, ptr %8, align 8, !tbaa !5
  %1692 = getelementptr inbounds %struct.w2c_hermes, ptr %1691, i32 0, i32 6
  %1693 = load i32, ptr %38, align 4, !tbaa !9
  %1694 = zext i32 %1693 to i64
  %1695 = add i64 %1694, 12
  %1696 = call i32 @i32_load(ptr noundef %1692, i64 noundef %1695)
  store i32 %1696, ptr %38, align 4, !tbaa !9
  %1697 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1697, ptr %11, align 4, !tbaa !9
  %1698 = load i32, ptr %38, align 4, !tbaa !9
  %1699 = load i32, ptr %37, align 4, !tbaa !9
  %1700 = add i32 %1699, %1698
  store i32 %1700, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %1701 = load i32, ptr %38, align 4, !tbaa !9
  %1702 = load i32, ptr %37, align 4, !tbaa !9
  %1703 = sub i32 %1702, %1701
  store i32 %1703, ptr %37, align 4, !tbaa !9
  %1704 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1704, ptr %15, align 4, !tbaa !9
  %1705 = load ptr, ptr %8, align 8, !tbaa !5
  %1706 = getelementptr inbounds %struct.w2c_hermes, ptr %1705, i32 0, i32 6
  %1707 = load i32, ptr %37, align 4, !tbaa !9
  %1708 = zext i32 %1707 to i64
  %1709 = call i32 @i32_load(ptr noundef %1706, i64 noundef %1708)
  store i32 %1709, ptr %37, align 4, !tbaa !9
  %1710 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1710, ptr %12, align 4, !tbaa !9
  %1711 = load i32, ptr %37, align 4, !tbaa !9
  %1712 = icmp ne i32 %1711, 0
  br i1 %1712, label %1713, label %1798

1713:                                             ; preds = %1513
  %1714 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1714, ptr %37, align 4, !tbaa !9
  %1715 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1715, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1716 = load i32, ptr %39, align 4, !tbaa !9
  %1717 = load i32, ptr %38, align 4, !tbaa !9
  %1718 = mul i32 %1717, %1716
  store i32 %1718, ptr %38, align 4, !tbaa !9
  %1719 = load i32, ptr %38, align 4, !tbaa !9
  %1720 = load i32, ptr %37, align 4, !tbaa !9
  %1721 = add i32 %1720, %1719
  store i32 %1721, ptr %37, align 4, !tbaa !9
  %1722 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1722, ptr %19, align 4, !tbaa !9
  %1723 = load ptr, ptr %8, align 8, !tbaa !5
  %1724 = getelementptr inbounds %struct.w2c_hermes, ptr %1723, i32 0, i32 6
  %1725 = load i32, ptr %37, align 4, !tbaa !9
  %1726 = zext i32 %1725 to i64
  %1727 = add i64 %1726, 32
  %1728 = call i32 @i32_load(ptr noundef %1724, i64 noundef %1727)
  store i32 %1728, ptr %37, align 4, !tbaa !9
  %1729 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1729, ptr %11, align 4, !tbaa !9
  %1730 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1730, ptr %38, align 4, !tbaa !9
  %1731 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1731, ptr %10, align 4, !tbaa !9
  %1732 = load i32, ptr %37, align 4, !tbaa !9
  %1733 = load i32, ptr %38, align 4, !tbaa !9
  %1734 = icmp ne i32 %1732, %1733
  %1735 = zext i1 %1734 to i32
  store i32 %1735, ptr %37, align 4, !tbaa !9
  %1736 = load i32, ptr %37, align 4, !tbaa !9
  %1737 = icmp ne i32 %1736, 0
  br i1 %1737, label %1738, label %1786

1738:                                             ; preds = %1713
  br label %1739

1739:                                             ; preds = %1777, %1738
  %1740 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1740, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %1741 = load i32, ptr %38, align 4, !tbaa !9
  %1742 = load i32, ptr %37, align 4, !tbaa !9
  %1743 = sub i32 %1742, %1741
  store i32 %1743, ptr %37, align 4, !tbaa !9
  %1744 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1744, ptr %10, align 4, !tbaa !9
  %1745 = load ptr, ptr %8, align 8, !tbaa !5
  %1746 = getelementptr inbounds %struct.w2c_hermes, ptr %1745, i32 0, i32 6
  %1747 = load i32, ptr %37, align 4, !tbaa !9
  %1748 = zext i32 %1747 to i64
  %1749 = call i32 @i32_load(ptr noundef %1746, i64 noundef %1748)
  store i32 %1749, ptr %37, align 4, !tbaa !9
  %1750 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1750, ptr %13, align 4, !tbaa !9
  %1751 = load i32, ptr %37, align 4, !tbaa !9
  %1752 = icmp ne i32 %1751, 0
  br i1 %1752, label %1753, label %1767

1753:                                             ; preds = %1739
  %1754 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1754, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %1755 = load i32, ptr %38, align 4, !tbaa !9
  %1756 = load i32, ptr %37, align 4, !tbaa !9
  %1757 = sub i32 %1756, %1755
  store i32 %1757, ptr %37, align 4, !tbaa !9
  %1758 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1758, ptr %38, align 4, !tbaa !9
  %1759 = load ptr, ptr %8, align 8, !tbaa !5
  %1760 = getelementptr inbounds %struct.w2c_hermes, ptr %1759, i32 0, i32 6
  %1761 = load i32, ptr %37, align 4, !tbaa !9
  %1762 = zext i32 %1761 to i64
  %1763 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1760, i64 noundef %1762, i32 noundef %1763)
  %1764 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1764, ptr %37, align 4, !tbaa !9
  %1765 = load ptr, ptr %8, align 8, !tbaa !5
  %1766 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1765, i32 noundef %1766)
  br label %1767

1767:                                             ; preds = %1753, %1739
  %1768 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1768, ptr %37, align 4, !tbaa !9
  %1769 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1769, ptr %11, align 4, !tbaa !9
  %1770 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1770, ptr %38, align 4, !tbaa !9
  %1771 = load i32, ptr %37, align 4, !tbaa !9
  %1772 = load i32, ptr %38, align 4, !tbaa !9
  %1773 = icmp ne i32 %1771, %1772
  %1774 = zext i1 %1773 to i32
  store i32 %1774, ptr %37, align 4, !tbaa !9
  %1775 = load i32, ptr %37, align 4, !tbaa !9
  %1776 = icmp ne i32 %1775, 0
  br i1 %1776, label %1777, label %1778

1777:                                             ; preds = %1767
  br label %1739

1778:                                             ; preds = %1767
  %1779 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1779, ptr %37, align 4, !tbaa !9
  %1780 = load ptr, ptr %8, align 8, !tbaa !5
  %1781 = getelementptr inbounds %struct.w2c_hermes, ptr %1780, i32 0, i32 6
  %1782 = load i32, ptr %37, align 4, !tbaa !9
  %1783 = zext i32 %1782 to i64
  %1784 = call i32 @i32_load(ptr noundef %1781, i64 noundef %1783)
  store i32 %1784, ptr %37, align 4, !tbaa !9
  %1785 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1785, ptr %10, align 4, !tbaa !9
  br label %1786

1786:                                             ; preds = %1778, %1713
  %1787 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1787, ptr %37, align 4, !tbaa !9
  %1788 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1788, ptr %38, align 4, !tbaa !9
  %1789 = load ptr, ptr %8, align 8, !tbaa !5
  %1790 = getelementptr inbounds %struct.w2c_hermes, ptr %1789, i32 0, i32 6
  %1791 = load i32, ptr %37, align 4, !tbaa !9
  %1792 = zext i32 %1791 to i64
  %1793 = add i64 %1792, 32
  %1794 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1790, i64 noundef %1793, i32 noundef %1794)
  %1795 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1795, ptr %37, align 4, !tbaa !9
  %1796 = load ptr, ptr %8, align 8, !tbaa !5
  %1797 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1796, i32 noundef %1797)
  br label %1798

1798:                                             ; preds = %1786, %1513
  store i32 1, ptr %37, align 4, !tbaa !9
  %1799 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1799, ptr %20, align 4, !tbaa !9
  %1800 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1800, ptr %37, align 4, !tbaa !9
  %1801 = load ptr, ptr %8, align 8, !tbaa !5
  %1802 = getelementptr inbounds %struct.w2c_hermes, ptr %1801, i32 0, i32 6
  %1803 = load i32, ptr %37, align 4, !tbaa !9
  %1804 = zext i32 %1803 to i64
  %1805 = add i64 %1804, 48
  %1806 = call i32 @i32_load(ptr noundef %1802, i64 noundef %1805)
  store i32 %1806, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1807 = load i32, ptr %38, align 4, !tbaa !9
  %1808 = load i32, ptr %37, align 4, !tbaa !9
  %1809 = sub i32 %1808, %1807
  store i32 %1809, ptr %37, align 4, !tbaa !9
  %1810 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %1810, label %1815 [
    i32 0, label %1811
    i32 1, label %1812
    i32 2, label %1813
    i32 3, label %1814
  ]

1811:                                             ; preds = %1798
  br label %1816

1812:                                             ; preds = %1798
  br label %1816

1813:                                             ; preds = %1798
  br label %4412

1814:                                             ; preds = %1798
  br label %2639

1815:                                             ; preds = %1798
  br label %4412

1816:                                             ; preds = %1812, %1811
  %1817 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1817, ptr %37, align 4, !tbaa !9
  %1818 = load ptr, ptr %8, align 8, !tbaa !5
  %1819 = getelementptr inbounds %struct.w2c_hermes, ptr %1818, i32 0, i32 6
  %1820 = load i32, ptr %37, align 4, !tbaa !9
  %1821 = zext i32 %1820 to i64
  %1822 = call i32 @i32_load(ptr noundef %1819, i64 noundef %1821)
  store i32 %1822, ptr %37, align 4, !tbaa !9
  %1823 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1823, ptr %13, align 4, !tbaa !9
  %1824 = load ptr, ptr %8, align 8, !tbaa !5
  %1825 = getelementptr inbounds %struct.w2c_hermes, ptr %1824, i32 0, i32 6
  %1826 = load i32, ptr %37, align 4, !tbaa !9
  %1827 = zext i32 %1826 to i64
  %1828 = add i64 %1827, 148
  %1829 = call i32 @i32_load(ptr noundef %1825, i64 noundef %1828)
  store i32 %1829, ptr %37, align 4, !tbaa !9
  %1830 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1830, ptr %11, align 4, !tbaa !9
  %1831 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1831, ptr %38, align 4, !tbaa !9
  %1832 = load ptr, ptr %8, align 8, !tbaa !5
  %1833 = getelementptr inbounds %struct.w2c_hermes, ptr %1832, i32 0, i32 6
  %1834 = load i32, ptr %38, align 4, !tbaa !9
  %1835 = zext i32 %1834 to i64
  %1836 = add i64 %1835, 144
  %1837 = call i32 @i32_load(ptr noundef %1833, i64 noundef %1836)
  store i32 %1837, ptr %38, align 4, !tbaa !9
  %1838 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1838, ptr %12, align 4, !tbaa !9
  %1839 = load i32, ptr %38, align 4, !tbaa !9
  %1840 = load i32, ptr %37, align 4, !tbaa !9
  %1841 = sub i32 %1840, %1839
  store i32 %1841, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %1842 = load i32, ptr %37, align 4, !tbaa !9
  %1843 = load i32, ptr %38, align 4, !tbaa !9
  %1844 = and i32 %1843, 31
  %1845 = ashr i32 %1842, %1844
  store i32 %1845, ptr %37, align 4, !tbaa !9
  %1846 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1846, ptr %10, align 4, !tbaa !9
  %1847 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1847, ptr %37, align 4, !tbaa !9
  %1848 = load ptr, ptr %8, align 8, !tbaa !5
  %1849 = getelementptr inbounds %struct.w2c_hermes, ptr %1848, i32 0, i32 6
  %1850 = load i32, ptr %37, align 4, !tbaa !9
  %1851 = zext i32 %1850 to i64
  %1852 = add i64 %1851, 52
  %1853 = call i32 @i32_load(ptr noundef %1849, i64 noundef %1852)
  store i32 %1853, ptr %37, align 4, !tbaa !9
  %1854 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1854, ptr %15, align 4, !tbaa !9
  br label %1855

1855:                                             ; preds = %1891, %1816
  %1856 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1856, ptr %37, align 4, !tbaa !9
  %1857 = load i32, ptr %37, align 4, !tbaa !9
  %1858 = icmp ne i32 %1857, 0
  %1859 = xor i1 %1858, true
  %1860 = zext i1 %1859 to i32
  store i32 %1860, ptr %37, align 4, !tbaa !9
  %1861 = load i32, ptr %37, align 4, !tbaa !9
  %1862 = icmp ne i32 %1861, 0
  br i1 %1862, label %1863, label %1865

1863:                                             ; preds = %1855
  store i32 -1, ptr %37, align 4, !tbaa !9
  %1864 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1864, ptr %10, align 4, !tbaa !9
  br label %1893

1865:                                             ; preds = %1855
  %1866 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1866, ptr %37, align 4, !tbaa !9
  %1867 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1867, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1868 = load i32, ptr %39, align 4, !tbaa !9
  %1869 = load i32, ptr %38, align 4, !tbaa !9
  %1870 = sub i32 %1869, %1868
  store i32 %1870, ptr %38, align 4, !tbaa !9
  %1871 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1871, ptr %10, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1872 = load i32, ptr %39, align 4, !tbaa !9
  %1873 = and i32 %1872, 31
  %1874 = load i32, ptr %38, align 4, !tbaa !9
  %1875 = shl i32 %1874, %1873
  store i32 %1875, ptr %38, align 4, !tbaa !9
  %1876 = load i32, ptr %38, align 4, !tbaa !9
  %1877 = load i32, ptr %37, align 4, !tbaa !9
  %1878 = add i32 %1877, %1876
  store i32 %1878, ptr %37, align 4, !tbaa !9
  %1879 = load ptr, ptr %8, align 8, !tbaa !5
  %1880 = getelementptr inbounds %struct.w2c_hermes, ptr %1879, i32 0, i32 6
  %1881 = load i32, ptr %37, align 4, !tbaa !9
  %1882 = zext i32 %1881 to i64
  %1883 = call i32 @i32_load(ptr noundef %1880, i64 noundef %1882)
  store i32 %1883, ptr %37, align 4, !tbaa !9
  %1884 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1884, ptr %38, align 4, !tbaa !9
  %1885 = load i32, ptr %37, align 4, !tbaa !9
  %1886 = load i32, ptr %38, align 4, !tbaa !9
  %1887 = icmp ne i32 %1885, %1886
  %1888 = zext i1 %1887 to i32
  store i32 %1888, ptr %37, align 4, !tbaa !9
  %1889 = load i32, ptr %37, align 4, !tbaa !9
  %1890 = icmp ne i32 %1889, 0
  br i1 %1890, label %1891, label %1892

1891:                                             ; preds = %1865
  br label %1855

1892:                                             ; preds = %1865
  br label %1893

1893:                                             ; preds = %1892, %1863
  %1894 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1894, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1895 = load ptr, ptr %8, align 8, !tbaa !5
  %1896 = getelementptr inbounds %struct.w2c_hermes, ptr %1895, i32 0, i32 6
  %1897 = load i32, ptr %37, align 4, !tbaa !9
  %1898 = zext i32 %1897 to i64
  %1899 = add i64 %1898, 44
  %1900 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1896, i64 noundef %1899, i32 noundef %1900)
  %1901 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1901, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %1902 = load ptr, ptr %8, align 8, !tbaa !5
  %1903 = getelementptr inbounds %struct.w2c_hermes, ptr %1902, i32 0, i32 6
  %1904 = load i32, ptr %37, align 4, !tbaa !9
  %1905 = zext i32 %1904 to i64
  %1906 = add i64 %1905, 36
  %1907 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1903, i64 noundef %1906, i64 noundef %1907)
  %1908 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1908, ptr %37, align 4, !tbaa !9
  %1909 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1909, ptr %38, align 4, !tbaa !9
  store i32 36, ptr %39, align 4, !tbaa !9
  %1910 = load i32, ptr %39, align 4, !tbaa !9
  %1911 = load i32, ptr %38, align 4, !tbaa !9
  %1912 = add i32 %1911, %1910
  store i32 %1912, ptr %38, align 4, !tbaa !9
  %1913 = load ptr, ptr %8, align 8, !tbaa !5
  %1914 = getelementptr inbounds %struct.w2c_hermes, ptr %1913, i32 0, i32 6
  %1915 = load i32, ptr %37, align 4, !tbaa !9
  %1916 = zext i32 %1915 to i64
  %1917 = add i64 %1916, 24
  %1918 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1914, i64 noundef %1917, i32 noundef %1918)
  %1919 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1919, ptr %37, align 4, !tbaa !9
  %1920 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1920, ptr %38, align 4, !tbaa !9
  %1921 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1921, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %1922 = load i32, ptr %40, align 4, !tbaa !9
  %1923 = and i32 %1922, 31
  %1924 = load i32, ptr %39, align 4, !tbaa !9
  %1925 = shl i32 %1924, %1923
  store i32 %1925, ptr %39, align 4, !tbaa !9
  %1926 = load i32, ptr %39, align 4, !tbaa !9
  %1927 = load i32, ptr %38, align 4, !tbaa !9
  %1928 = add i32 %1927, %1926
  store i32 %1928, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %1929 = load i32, ptr %39, align 4, !tbaa !9
  %1930 = load i32, ptr %38, align 4, !tbaa !9
  %1931 = add i32 %1930, %1929
  store i32 %1931, ptr %38, align 4, !tbaa !9
  %1932 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1932, ptr %12, align 4, !tbaa !9
  %1933 = load i32, ptr %37, align 4, !tbaa !9
  %1934 = load i32, ptr %38, align 4, !tbaa !9
  %1935 = icmp ne i32 %1933, %1934
  %1936 = zext i1 %1935 to i32
  store i32 %1936, ptr %37, align 4, !tbaa !9
  %1937 = load i32, ptr %37, align 4, !tbaa !9
  %1938 = icmp ne i32 %1937, 0
  br i1 %1938, label %1939, label %1973

1939:                                             ; preds = %1893
  %1940 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1940, ptr %37, align 4, !tbaa !9
  %1941 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1941, ptr %10, align 4, !tbaa !9
  br label %1942

1942:                                             ; preds = %1963, %1939
  %1943 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1943, ptr %37, align 4, !tbaa !9
  store i32 24, ptr %38, align 4, !tbaa !9
  %1944 = load i32, ptr %38, align 4, !tbaa !9
  %1945 = load i32, ptr %37, align 4, !tbaa !9
  %1946 = add i32 %1945, %1944
  store i32 %1946, ptr %37, align 4, !tbaa !9
  %1947 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1947, ptr %38, align 4, !tbaa !9
  %1948 = load ptr, ptr %8, align 8, !tbaa !5
  %1949 = load i32, ptr %37, align 4, !tbaa !9
  %1950 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef %1948, i32 noundef %1949, i32 noundef %1950)
  %1951 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1951, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %1952 = load i32, ptr %38, align 4, !tbaa !9
  %1953 = load i32, ptr %37, align 4, !tbaa !9
  %1954 = add i32 %1953, %1952
  store i32 %1954, ptr %37, align 4, !tbaa !9
  %1955 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1955, ptr %10, align 4, !tbaa !9
  %1956 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1956, ptr %38, align 4, !tbaa !9
  %1957 = load i32, ptr %37, align 4, !tbaa !9
  %1958 = load i32, ptr %38, align 4, !tbaa !9
  %1959 = icmp ne i32 %1957, %1958
  %1960 = zext i1 %1959 to i32
  store i32 %1960, ptr %37, align 4, !tbaa !9
  %1961 = load i32, ptr %37, align 4, !tbaa !9
  %1962 = icmp ne i32 %1961, 0
  br i1 %1962, label %1963, label %1964

1963:                                             ; preds = %1942
  br label %1942

1964:                                             ; preds = %1942
  %1965 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1965, ptr %37, align 4, !tbaa !9
  %1966 = load ptr, ptr %8, align 8, !tbaa !5
  %1967 = getelementptr inbounds %struct.w2c_hermes, ptr %1966, i32 0, i32 6
  %1968 = load i32, ptr %37, align 4, !tbaa !9
  %1969 = zext i32 %1968 to i64
  %1970 = add i64 %1969, 148
  %1971 = call i32 @i32_load(ptr noundef %1967, i64 noundef %1970)
  store i32 %1971, ptr %37, align 4, !tbaa !9
  %1972 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1972, ptr %11, align 4, !tbaa !9
  br label %1973

1973:                                             ; preds = %1964, %1893
  %1974 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1974, ptr %37, align 4, !tbaa !9
  %1975 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1975, ptr %38, align 4, !tbaa !9
  %1976 = load i32, ptr %37, align 4, !tbaa !9
  %1977 = load i32, ptr %38, align 4, !tbaa !9
  %1978 = icmp ne i32 %1976, %1977
  %1979 = zext i1 %1978 to i32
  store i32 %1979, ptr %37, align 4, !tbaa !9
  %1980 = load i32, ptr %37, align 4, !tbaa !9
  %1981 = icmp ne i32 %1980, 0
  br i1 %1981, label %1982, label %1997

1982:                                             ; preds = %1973
  %1983 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1983, ptr %37, align 4, !tbaa !9
  %1984 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1984, ptr %38, align 4, !tbaa !9
  %1985 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1985, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %1986 = load ptr, ptr %8, align 8, !tbaa !5
  %1987 = load i32, ptr %38, align 4, !tbaa !9
  %1988 = load i32, ptr %39, align 4, !tbaa !9
  %1989 = load i32, ptr %40, align 4, !tbaa !9
  %1990 = call i32 @w2c_hermes_memmove(ptr noundef %1986, i32 noundef %1987, i32 noundef %1988, i32 noundef %1989)
  store i32 %1990, ptr %38, align 4, !tbaa !9
  %1991 = load ptr, ptr %8, align 8, !tbaa !5
  %1992 = getelementptr inbounds %struct.w2c_hermes, ptr %1991, i32 0, i32 6
  %1993 = load i32, ptr %37, align 4, !tbaa !9
  %1994 = zext i32 %1993 to i64
  %1995 = add i64 %1994, 148
  %1996 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1992, i64 noundef %1995, i32 noundef %1996)
  br label %1997

1997:                                             ; preds = %1982, %1973
  %1998 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1998, ptr %37, align 4, !tbaa !9
  %1999 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1999, ptr %38, align 4, !tbaa !9
  %2000 = load ptr, ptr %8, align 8, !tbaa !5
  %2001 = getelementptr inbounds %struct.w2c_hermes, ptr %2000, i32 0, i32 6
  %2002 = load i32, ptr %38, align 4, !tbaa !9
  %2003 = zext i32 %2002 to i64
  %2004 = add i64 %2003, 56
  %2005 = call i32 @i32_load(ptr noundef %2001, i64 noundef %2004)
  store i32 %2005, ptr %38, align 4, !tbaa !9
  %2006 = load ptr, ptr %8, align 8, !tbaa !5
  %2007 = getelementptr inbounds %struct.w2c_hermes, ptr %2006, i32 0, i32 6
  %2008 = load i32, ptr %37, align 4, !tbaa !9
  %2009 = zext i32 %2008 to i64
  %2010 = add i64 %2009, 24
  %2011 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2007, i64 noundef %2010, i32 noundef %2011)
  %2012 = load ptr, ptr %8, align 8, !tbaa !5
  %2013 = getelementptr inbounds %struct.w2c_hermes, ptr %2012, i32 0, i32 3
  %2014 = load i32, ptr %2013, align 8, !tbaa !13
  store i32 %2014, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %2015 = load i32, ptr %38, align 4, !tbaa !9
  %2016 = load i32, ptr %37, align 4, !tbaa !9
  %2017 = sub i32 %2016, %2015
  store i32 %2017, ptr %37, align 4, !tbaa !9
  %2018 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2018, ptr %11, align 4, !tbaa !9
  %2019 = load i32, ptr %37, align 4, !tbaa !9
  %2020 = load ptr, ptr %8, align 8, !tbaa !5
  %2021 = getelementptr inbounds %struct.w2c_hermes, ptr %2020, i32 0, i32 3
  store i32 %2019, ptr %2021, align 8, !tbaa !13
  store i32 24, ptr %37, align 4, !tbaa !9
  %2022 = load ptr, ptr %8, align 8, !tbaa !5
  %2023 = load i32, ptr %37, align 4, !tbaa !9
  %2024 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2022, i32 noundef %2023)
  store i32 %2024, ptr %37, align 4, !tbaa !9
  %2025 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2025, ptr %10, align 4, !tbaa !9
  %2026 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2026, ptr %37, align 4, !tbaa !9
  %2027 = load ptr, ptr %8, align 8, !tbaa !5
  %2028 = getelementptr inbounds %struct.w2c_hermes, ptr %2027, i32 0, i32 6
  %2029 = load i32, ptr %37, align 4, !tbaa !9
  %2030 = zext i32 %2029 to i64
  %2031 = add i64 %2030, 44
  %2032 = call i32 @i32_load(ptr noundef %2028, i64 noundef %2031)
  store i32 %2032, ptr %37, align 4, !tbaa !9
  %2033 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2033, ptr %17, align 4, !tbaa !9
  %2034 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2034, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2035 = load ptr, ptr %8, align 8, !tbaa !5
  %2036 = getelementptr inbounds %struct.w2c_hermes, ptr %2035, i32 0, i32 6
  %2037 = load i32, ptr %37, align 4, !tbaa !9
  %2038 = zext i32 %2037 to i64
  %2039 = add i64 %2038, 44
  %2040 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2036, i64 noundef %2039, i32 noundef %2040)
  %2041 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2041, ptr %37, align 4, !tbaa !9
  %2042 = load ptr, ptr %8, align 8, !tbaa !5
  %2043 = getelementptr inbounds %struct.w2c_hermes, ptr %2042, i32 0, i32 6
  %2044 = load i32, ptr %37, align 4, !tbaa !9
  %2045 = zext i32 %2044 to i64
  %2046 = add i64 %2045, 36
  %2047 = call i32 @i32_load(ptr noundef %2043, i64 noundef %2046)
  store i32 %2047, ptr %37, align 4, !tbaa !9
  %2048 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2048, ptr %12, align 4, !tbaa !9
  %2049 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2049, ptr %37, align 4, !tbaa !9
  %2050 = load ptr, ptr %8, align 8, !tbaa !5
  %2051 = getelementptr inbounds %struct.w2c_hermes, ptr %2050, i32 0, i32 6
  %2052 = load i32, ptr %37, align 4, !tbaa !9
  %2053 = zext i32 %2052 to i64
  %2054 = add i64 %2053, 40
  %2055 = call i32 @i32_load(ptr noundef %2051, i64 noundef %2054)
  store i32 %2055, ptr %37, align 4, !tbaa !9
  %2056 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2056, ptr %15, align 4, !tbaa !9
  %2057 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2057, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %2058 = load ptr, ptr %8, align 8, !tbaa !5
  %2059 = getelementptr inbounds %struct.w2c_hermes, ptr %2058, i32 0, i32 6
  %2060 = load i32, ptr %37, align 4, !tbaa !9
  %2061 = zext i32 %2060 to i64
  %2062 = add i64 %2061, 36
  %2063 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2059, i64 noundef %2062, i64 noundef %2063)
  %2064 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2064, ptr %37, align 4, !tbaa !9
  %2065 = load ptr, ptr %8, align 8, !tbaa !5
  %2066 = getelementptr inbounds %struct.w2c_hermes, ptr %2065, i32 0, i32 6
  %2067 = load i32, ptr %37, align 4, !tbaa !9
  %2068 = zext i32 %2067 to i64
  %2069 = add i64 %2068, 24
  %2070 = call i32 @i32_load(ptr noundef %2066, i64 noundef %2069)
  store i32 %2070, ptr %37, align 4, !tbaa !9
  %2071 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2071, ptr %22, align 4, !tbaa !9
  %2072 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2072, ptr %37, align 4, !tbaa !9
  %2073 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2073, ptr %38, align 4, !tbaa !9
  %2074 = load ptr, ptr %8, align 8, !tbaa !5
  %2075 = getelementptr inbounds %struct.w2c_hermes, ptr %2074, i32 0, i32 6
  %2076 = load i32, ptr %37, align 4, !tbaa !9
  %2077 = zext i32 %2076 to i64
  %2078 = add i64 %2077, 12
  %2079 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2075, i64 noundef %2078, i32 noundef %2079)
  %2080 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2080, ptr %37, align 4, !tbaa !9
  %2081 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2081, ptr %38, align 4, !tbaa !9
  %2082 = load ptr, ptr %8, align 8, !tbaa !5
  %2083 = getelementptr inbounds %struct.w2c_hermes, ptr %2082, i32 0, i32 6
  %2084 = load i32, ptr %37, align 4, !tbaa !9
  %2085 = zext i32 %2084 to i64
  %2086 = add i64 %2085, 8
  %2087 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2083, i64 noundef %2086, i32 noundef %2087)
  %2088 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2088, ptr %37, align 4, !tbaa !9
  %2089 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2089, ptr %38, align 4, !tbaa !9
  %2090 = load ptr, ptr %8, align 8, !tbaa !5
  %2091 = getelementptr inbounds %struct.w2c_hermes, ptr %2090, i32 0, i32 6
  %2092 = load i32, ptr %37, align 4, !tbaa !9
  %2093 = zext i32 %2092 to i64
  %2094 = add i64 %2093, 4
  %2095 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2091, i64 noundef %2094, i32 noundef %2095)
  %2096 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2096, ptr %37, align 4, !tbaa !9
  store i32 111916, ptr %38, align 4, !tbaa !9
  %2097 = load ptr, ptr %8, align 8, !tbaa !5
  %2098 = getelementptr inbounds %struct.w2c_hermes, ptr %2097, i32 0, i32 6
  %2099 = load i32, ptr %37, align 4, !tbaa !9
  %2100 = zext i32 %2099 to i64
  %2101 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2098, i64 noundef %2100, i32 noundef %2101)
  store i32 0, ptr %37, align 4, !tbaa !9
  %2102 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2102, ptr %19, align 4, !tbaa !9
  %2103 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2103, ptr %37, align 4, !tbaa !9
  %2104 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2104, ptr %38, align 4, !tbaa !9
  %2105 = load i32, ptr %37, align 4, !tbaa !9
  %2106 = load i32, ptr %38, align 4, !tbaa !9
  %2107 = icmp ne i32 %2105, %2106
  %2108 = zext i1 %2107 to i32
  store i32 %2108, ptr %37, align 4, !tbaa !9
  %2109 = load i32, ptr %37, align 4, !tbaa !9
  %2110 = icmp ne i32 %2109, 0
  br i1 %2110, label %2111, label %2213

2111:                                             ; preds = %1997
  br label %2112

2112:                                             ; preds = %2211, %2111
  %2113 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2113, ptr %37, align 4, !tbaa !9
  %2114 = load ptr, ptr %8, align 8, !tbaa !5
  %2115 = getelementptr inbounds %struct.w2c_hermes, ptr %2114, i32 0, i32 6
  %2116 = load i32, ptr %37, align 4, !tbaa !9
  %2117 = zext i32 %2116 to i64
  %2118 = call i32 @i32_load(ptr noundef %2115, i64 noundef %2117)
  store i32 %2118, ptr %37, align 4, !tbaa !9
  %2119 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2119, ptr %17, align 4, !tbaa !9
  %2120 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2120, ptr %38, align 4, !tbaa !9
  %2121 = load ptr, ptr %8, align 8, !tbaa !5
  %2122 = getelementptr inbounds %struct.w2c_hermes, ptr %2121, i32 0, i32 6
  %2123 = load i32, ptr %38, align 4, !tbaa !9
  %2124 = zext i32 %2123 to i64
  %2125 = call i32 @i32_load(ptr noundef %2122, i64 noundef %2124)
  store i32 %2125, ptr %38, align 4, !tbaa !9
  %2126 = load ptr, ptr %8, align 8, !tbaa !5
  %2127 = getelementptr inbounds %struct.w2c_hermes, ptr %2126, i32 0, i32 6
  %2128 = load i32, ptr %38, align 4, !tbaa !9
  %2129 = zext i32 %2128 to i64
  %2130 = add i64 %2129, 16
  %2131 = call i32 @i32_load(ptr noundef %2127, i64 noundef %2130)
  store i32 %2131, ptr %38, align 4, !tbaa !9
  %2132 = load i32, ptr %38, align 4, !tbaa !9
  %2133 = load ptr, ptr %8, align 8, !tbaa !5
  %2134 = getelementptr inbounds %struct.w2c_hermes, ptr %2133, i32 0, i32 7
  %2135 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2134, i32 0, i32 2
  %2136 = load i32, ptr %2135, align 4, !tbaa !18
  %2137 = icmp ult i32 %2132, %2136
  br i1 %2137, label %2138, label %2161

2138:                                             ; preds = %2112
  %2139 = load ptr, ptr %8, align 8, !tbaa !5
  %2140 = getelementptr inbounds %struct.w2c_hermes, ptr %2139, i32 0, i32 7
  %2141 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2140, i32 0, i32 0
  %2142 = load ptr, ptr %2141, align 8, !tbaa !19
  %2143 = load i32, ptr %38, align 4, !tbaa !9
  %2144 = zext i32 %2143 to i64
  %2145 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2142, i64 %2144
  %2146 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2145, i32 0, i32 1
  %2147 = load ptr, ptr %2146, align 8, !tbaa !20
  %2148 = icmp ne ptr %2147, null
  br i1 %2148, label %2149, label %2161

2149:                                             ; preds = %2138
  %2150 = load ptr, ptr @w2c_hermes_t5, align 8, !tbaa !5
  %2151 = load ptr, ptr %8, align 8, !tbaa !5
  %2152 = getelementptr inbounds %struct.w2c_hermes, ptr %2151, i32 0, i32 7
  %2153 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2152, i32 0, i32 0
  %2154 = load ptr, ptr %2153, align 8, !tbaa !19
  %2155 = load i32, ptr %38, align 4, !tbaa !9
  %2156 = zext i32 %2155 to i64
  %2157 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2154, i64 %2156
  %2158 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2157, i32 0, i32 0
  %2159 = load ptr, ptr %2158, align 8, !tbaa !22
  %2160 = call zeroext i1 @func_types_eq(ptr noundef %2150, ptr noundef %2159)
  br label %2161

2161:                                             ; preds = %2149, %2138, %2112
  %2162 = phi i1 [ false, %2138 ], [ false, %2112 ], [ %2160, %2149 ]
  %2163 = xor i1 %2162, true
  %2164 = xor i1 %2163, true
  %2165 = zext i1 %2164 to i32
  %2166 = sext i32 %2165 to i64
  %2167 = call i64 @llvm.expect.i64(i64 %2166, i64 1)
  %2168 = icmp ne i64 %2167, 0
  br i1 %2168, label %2171, label %2169

2169:                                             ; preds = %2161
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

2170:                                             ; No predecessors!
  br label %2171

2171:                                             ; preds = %2170, %2161
  %2172 = phi i1 [ true, %2161 ], [ false, %2170 ]
  %2173 = zext i1 %2172 to i32
  %2174 = load ptr, ptr %8, align 8, !tbaa !5
  %2175 = getelementptr inbounds %struct.w2c_hermes, ptr %2174, i32 0, i32 7
  %2176 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2175, i32 0, i32 0
  %2177 = load ptr, ptr %2176, align 8, !tbaa !19
  %2178 = load i32, ptr %38, align 4, !tbaa !9
  %2179 = zext i32 %2178 to i64
  %2180 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2177, i64 %2179
  %2181 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2180, i32 0, i32 1
  %2182 = load ptr, ptr %2181, align 8, !tbaa !20
  %2183 = load ptr, ptr %8, align 8, !tbaa !5
  %2184 = getelementptr inbounds %struct.w2c_hermes, ptr %2183, i32 0, i32 7
  %2185 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2184, i32 0, i32 0
  %2186 = load ptr, ptr %2185, align 8, !tbaa !19
  %2187 = load i32, ptr %38, align 4, !tbaa !9
  %2188 = zext i32 %2187 to i64
  %2189 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2186, i64 %2188
  %2190 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2189, i32 0, i32 2
  %2191 = load ptr, ptr %2190, align 8, !tbaa !23
  %2192 = load i32, ptr %37, align 4, !tbaa !9
  %2193 = call i32 %2182(ptr noundef %2191, i32 noundef %2192)
  store i32 %2193, ptr %37, align 4, !tbaa !9
  %2194 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2194, ptr %38, align 4, !tbaa !9
  %2195 = load i32, ptr %38, align 4, !tbaa !9
  %2196 = load i32, ptr %37, align 4, !tbaa !9
  %2197 = or i32 %2196, %2195
  store i32 %2197, ptr %37, align 4, !tbaa !9
  %2198 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2198, ptr %19, align 4, !tbaa !9
  %2199 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2199, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %2200 = load i32, ptr %38, align 4, !tbaa !9
  %2201 = load i32, ptr %37, align 4, !tbaa !9
  %2202 = add i32 %2201, %2200
  store i32 %2202, ptr %37, align 4, !tbaa !9
  %2203 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2203, ptr %12, align 4, !tbaa !9
  %2204 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2204, ptr %38, align 4, !tbaa !9
  %2205 = load i32, ptr %37, align 4, !tbaa !9
  %2206 = load i32, ptr %38, align 4, !tbaa !9
  %2207 = icmp ne i32 %2205, %2206
  %2208 = zext i1 %2207 to i32
  store i32 %2208, ptr %37, align 4, !tbaa !9
  %2209 = load i32, ptr %37, align 4, !tbaa !9
  %2210 = icmp ne i32 %2209, 0
  br i1 %2210, label %2211, label %2212

2211:                                             ; preds = %2171
  br label %2112

2212:                                             ; preds = %2171
  br label %2213

2213:                                             ; preds = %2212, %1997
  %2214 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2214, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2215 = load ptr, ptr %8, align 8, !tbaa !5
  %2216 = getelementptr inbounds %struct.w2c_hermes, ptr %2215, i32 0, i32 6
  %2217 = load i32, ptr %37, align 4, !tbaa !9
  %2218 = zext i32 %2217 to i64
  %2219 = add i64 %2218, 20
  %2220 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2216, i64 noundef %2219, i32 noundef %2220)
  %2221 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2221, ptr %37, align 4, !tbaa !9
  %2222 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2222, ptr %38, align 4, !tbaa !9
  %2223 = load ptr, ptr %8, align 8, !tbaa !5
  %2224 = getelementptr inbounds %struct.w2c_hermes, ptr %2223, i32 0, i32 6
  %2225 = load i32, ptr %37, align 4, !tbaa !9
  %2226 = zext i32 %2225 to i64
  %2227 = add i64 %2226, 18
  %2228 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2224, i64 noundef %2227, i32 noundef %2228)
  %2229 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2229, ptr %37, align 4, !tbaa !9
  %2230 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2230, ptr %38, align 4, !tbaa !9
  %2231 = load ptr, ptr %8, align 8, !tbaa !5
  %2232 = getelementptr inbounds %struct.w2c_hermes, ptr %2231, i32 0, i32 6
  %2233 = load i32, ptr %37, align 4, !tbaa !9
  %2234 = zext i32 %2233 to i64
  %2235 = add i64 %2234, 16
  %2236 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2232, i64 noundef %2235, i32 noundef %2236)
  %2237 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2237, ptr %37, align 4, !tbaa !9
  %2238 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2238, ptr %38, align 4, !tbaa !9
  %2239 = load ptr, ptr %8, align 8, !tbaa !5
  %2240 = getelementptr inbounds %struct.w2c_hermes, ptr %2239, i32 0, i32 6
  %2241 = load i32, ptr %37, align 4, !tbaa !9
  %2242 = zext i32 %2241 to i64
  %2243 = add i64 %2242, 12
  %2244 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2240, i64 noundef %2243, i32 noundef %2244)
  %2245 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2245, ptr %37, align 4, !tbaa !9
  %2246 = load ptr, ptr %8, align 8, !tbaa !5
  %2247 = getelementptr inbounds %struct.w2c_hermes, ptr %2246, i32 0, i32 6
  %2248 = load i32, ptr %37, align 4, !tbaa !9
  %2249 = zext i32 %2248 to i64
  %2250 = add i64 %2249, 160
  %2251 = call i32 @i32_load(ptr noundef %2247, i64 noundef %2250)
  store i32 %2251, ptr %37, align 4, !tbaa !9
  %2252 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2252, ptr %12, align 4, !tbaa !9
  %2253 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2253, ptr %38, align 4, !tbaa !9
  %2254 = load ptr, ptr %8, align 8, !tbaa !5
  %2255 = getelementptr inbounds %struct.w2c_hermes, ptr %2254, i32 0, i32 6
  %2256 = load i32, ptr %38, align 4, !tbaa !9
  %2257 = zext i32 %2256 to i64
  %2258 = add i64 %2257, 164
  %2259 = call i32 @i32_load(ptr noundef %2255, i64 noundef %2258)
  store i32 %2259, ptr %38, align 4, !tbaa !9
  %2260 = load i32, ptr %37, align 4, !tbaa !9
  %2261 = load i32, ptr %38, align 4, !tbaa !9
  %2262 = icmp ult i32 %2260, %2261
  %2263 = zext i1 %2262 to i32
  store i32 %2263, ptr %37, align 4, !tbaa !9
  %2264 = load i32, ptr %37, align 4, !tbaa !9
  %2265 = icmp ne i32 %2264, 0
  br i1 %2265, label %2266, label %2292

2266:                                             ; preds = %2213
  %2267 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2267, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2268 = load ptr, ptr %8, align 8, !tbaa !5
  %2269 = getelementptr inbounds %struct.w2c_hermes, ptr %2268, i32 0, i32 6
  %2270 = load i32, ptr %37, align 4, !tbaa !9
  %2271 = zext i32 %2270 to i64
  %2272 = add i64 %2271, 12
  %2273 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2269, i64 noundef %2272, i32 noundef %2273)
  %2274 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2274, ptr %37, align 4, !tbaa !9
  %2275 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2275, ptr %38, align 4, !tbaa !9
  %2276 = load ptr, ptr %8, align 8, !tbaa !5
  %2277 = getelementptr inbounds %struct.w2c_hermes, ptr %2276, i32 0, i32 6
  %2278 = load i32, ptr %37, align 4, !tbaa !9
  %2279 = zext i32 %2278 to i64
  %2280 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2277, i64 noundef %2279, i32 noundef %2280)
  %2281 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2281, ptr %37, align 4, !tbaa !9
  %2282 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2282, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2283 = load i32, ptr %39, align 4, !tbaa !9
  %2284 = load i32, ptr %38, align 4, !tbaa !9
  %2285 = add i32 %2284, %2283
  store i32 %2285, ptr %38, align 4, !tbaa !9
  %2286 = load ptr, ptr %8, align 8, !tbaa !5
  %2287 = getelementptr inbounds %struct.w2c_hermes, ptr %2286, i32 0, i32 6
  %2288 = load i32, ptr %37, align 4, !tbaa !9
  %2289 = zext i32 %2288 to i64
  %2290 = add i64 %2289, 160
  %2291 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2287, i64 noundef %2290, i32 noundef %2291)
  br label %2304

2292:                                             ; preds = %2213
  %2293 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2293, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %2294 = load i32, ptr %38, align 4, !tbaa !9
  %2295 = load i32, ptr %37, align 4, !tbaa !9
  %2296 = add i32 %2295, %2294
  store i32 %2296, ptr %37, align 4, !tbaa !9
  %2297 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2297, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %2298 = load i32, ptr %39, align 4, !tbaa !9
  %2299 = load i32, ptr %38, align 4, !tbaa !9
  %2300 = add i32 %2299, %2298
  store i32 %2300, ptr %38, align 4, !tbaa !9
  %2301 = load ptr, ptr %8, align 8, !tbaa !5
  %2302 = load i32, ptr %37, align 4, !tbaa !9
  %2303 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %2301, i32 noundef %2302, i32 noundef %2303)
  br label %2304

2304:                                             ; preds = %2292, %2266
  %2305 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2305, ptr %37, align 4, !tbaa !9
  %2306 = load ptr, ptr %8, align 8, !tbaa !5
  %2307 = getelementptr inbounds %struct.w2c_hermes, ptr %2306, i32 0, i32 6
  %2308 = load i32, ptr %37, align 4, !tbaa !9
  %2309 = zext i32 %2308 to i64
  %2310 = add i64 %2309, 12
  %2311 = call i32 @i32_load(ptr noundef %2307, i64 noundef %2310)
  store i32 %2311, ptr %37, align 4, !tbaa !9
  %2312 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2312, ptr %12, align 4, !tbaa !9
  %2313 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2313, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2314 = load ptr, ptr %8, align 8, !tbaa !5
  %2315 = getelementptr inbounds %struct.w2c_hermes, ptr %2314, i32 0, i32 6
  %2316 = load i32, ptr %37, align 4, !tbaa !9
  %2317 = zext i32 %2316 to i64
  %2318 = add i64 %2317, 12
  %2319 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2315, i64 noundef %2318, i32 noundef %2319)
  %2320 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2320, ptr %37, align 4, !tbaa !9
  %2321 = load i32, ptr %37, align 4, !tbaa !9
  %2322 = icmp ne i32 %2321, 0
  br i1 %2322, label %2323, label %2398

2323:                                             ; preds = %2304
  %2324 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2324, ptr %37, align 4, !tbaa !9
  %2325 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2325, ptr %38, align 4, !tbaa !9
  %2326 = load ptr, ptr %8, align 8, !tbaa !5
  %2327 = getelementptr inbounds %struct.w2c_hermes, ptr %2326, i32 0, i32 6
  %2328 = load i32, ptr %38, align 4, !tbaa !9
  %2329 = zext i32 %2328 to i64
  %2330 = call i32 @i32_load(ptr noundef %2327, i64 noundef %2329)
  store i32 %2330, ptr %38, align 4, !tbaa !9
  %2331 = load ptr, ptr %8, align 8, !tbaa !5
  %2332 = getelementptr inbounds %struct.w2c_hermes, ptr %2331, i32 0, i32 6
  %2333 = load i32, ptr %38, align 4, !tbaa !9
  %2334 = zext i32 %2333 to i64
  %2335 = add i64 %2334, 4
  %2336 = call i32 @i32_load(ptr noundef %2332, i64 noundef %2335)
  store i32 %2336, ptr %38, align 4, !tbaa !9
  %2337 = load i32, ptr %38, align 4, !tbaa !9
  %2338 = load ptr, ptr %8, align 8, !tbaa !5
  %2339 = getelementptr inbounds %struct.w2c_hermes, ptr %2338, i32 0, i32 7
  %2340 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2339, i32 0, i32 2
  %2341 = load i32, ptr %2340, align 4, !tbaa !18
  %2342 = icmp ult i32 %2337, %2341
  br i1 %2342, label %2343, label %2366

2343:                                             ; preds = %2323
  %2344 = load ptr, ptr %8, align 8, !tbaa !5
  %2345 = getelementptr inbounds %struct.w2c_hermes, ptr %2344, i32 0, i32 7
  %2346 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2345, i32 0, i32 0
  %2347 = load ptr, ptr %2346, align 8, !tbaa !19
  %2348 = load i32, ptr %38, align 4, !tbaa !9
  %2349 = zext i32 %2348 to i64
  %2350 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2347, i64 %2349
  %2351 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2350, i32 0, i32 1
  %2352 = load ptr, ptr %2351, align 8, !tbaa !20
  %2353 = icmp ne ptr %2352, null
  br i1 %2353, label %2354, label %2366

2354:                                             ; preds = %2343
  %2355 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %2356 = load ptr, ptr %8, align 8, !tbaa !5
  %2357 = getelementptr inbounds %struct.w2c_hermes, ptr %2356, i32 0, i32 7
  %2358 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2357, i32 0, i32 0
  %2359 = load ptr, ptr %2358, align 8, !tbaa !19
  %2360 = load i32, ptr %38, align 4, !tbaa !9
  %2361 = zext i32 %2360 to i64
  %2362 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2359, i64 %2361
  %2363 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2362, i32 0, i32 0
  %2364 = load ptr, ptr %2363, align 8, !tbaa !22
  %2365 = call zeroext i1 @func_types_eq(ptr noundef %2355, ptr noundef %2364)
  br label %2366

2366:                                             ; preds = %2354, %2343, %2323
  %2367 = phi i1 [ false, %2343 ], [ false, %2323 ], [ %2365, %2354 ]
  %2368 = xor i1 %2367, true
  %2369 = xor i1 %2368, true
  %2370 = zext i1 %2369 to i32
  %2371 = sext i32 %2370 to i64
  %2372 = call i64 @llvm.expect.i64(i64 %2371, i64 1)
  %2373 = icmp ne i64 %2372, 0
  br i1 %2373, label %2376, label %2374

2374:                                             ; preds = %2366
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

2375:                                             ; No predecessors!
  br label %2376

2376:                                             ; preds = %2375, %2366
  %2377 = phi i1 [ true, %2366 ], [ false, %2375 ]
  %2378 = zext i1 %2377 to i32
  %2379 = load ptr, ptr %8, align 8, !tbaa !5
  %2380 = getelementptr inbounds %struct.w2c_hermes, ptr %2379, i32 0, i32 7
  %2381 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2380, i32 0, i32 0
  %2382 = load ptr, ptr %2381, align 8, !tbaa !19
  %2383 = load i32, ptr %38, align 4, !tbaa !9
  %2384 = zext i32 %2383 to i64
  %2385 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2382, i64 %2384
  %2386 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2385, i32 0, i32 1
  %2387 = load ptr, ptr %2386, align 8, !tbaa !20
  %2388 = load ptr, ptr %8, align 8, !tbaa !5
  %2389 = getelementptr inbounds %struct.w2c_hermes, ptr %2388, i32 0, i32 7
  %2390 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2389, i32 0, i32 0
  %2391 = load ptr, ptr %2390, align 8, !tbaa !19
  %2392 = load i32, ptr %38, align 4, !tbaa !9
  %2393 = zext i32 %2392 to i64
  %2394 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2391, i64 %2393
  %2395 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2394, i32 0, i32 2
  %2396 = load ptr, ptr %2395, align 8, !tbaa !23
  %2397 = load i32, ptr %37, align 4, !tbaa !9
  call void %2387(ptr noundef %2396, i32 noundef %2397)
  br label %2398

2398:                                             ; preds = %2376, %2304
  %2399 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2399, ptr %37, align 4, !tbaa !9
  %2400 = load ptr, ptr %8, align 8, !tbaa !5
  %2401 = getelementptr inbounds %struct.w2c_hermes, ptr %2400, i32 0, i32 6
  %2402 = load i32, ptr %37, align 4, !tbaa !9
  %2403 = zext i32 %2402 to i64
  %2404 = add i64 %2403, 148
  %2405 = call i32 @i32_load(ptr noundef %2401, i64 noundef %2404)
  store i32 %2405, ptr %37, align 4, !tbaa !9
  %2406 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2406, ptr %12, align 4, !tbaa !9
  %2407 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2407, ptr %38, align 4, !tbaa !9
  %2408 = load ptr, ptr %8, align 8, !tbaa !5
  %2409 = getelementptr inbounds %struct.w2c_hermes, ptr %2408, i32 0, i32 6
  %2410 = load i32, ptr %38, align 4, !tbaa !9
  %2411 = zext i32 %2410 to i64
  %2412 = add i64 %2411, 152
  %2413 = call i32 @i32_load(ptr noundef %2409, i64 noundef %2412)
  store i32 %2413, ptr %38, align 4, !tbaa !9
  %2414 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2414, ptr %17, align 4, !tbaa !9
  %2415 = load i32, ptr %37, align 4, !tbaa !9
  %2416 = load i32, ptr %38, align 4, !tbaa !9
  %2417 = icmp ult i32 %2415, %2416
  %2418 = zext i1 %2417 to i32
  store i32 %2418, ptr %37, align 4, !tbaa !9
  %2419 = load i32, ptr %37, align 4, !tbaa !9
  %2420 = icmp ne i32 %2419, 0
  br i1 %2420, label %2421, label %2440

2421:                                             ; preds = %2398
  %2422 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2422, ptr %37, align 4, !tbaa !9
  %2423 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2423, ptr %38, align 4, !tbaa !9
  %2424 = load ptr, ptr %8, align 8, !tbaa !5
  %2425 = getelementptr inbounds %struct.w2c_hermes, ptr %2424, i32 0, i32 6
  %2426 = load i32, ptr %37, align 4, !tbaa !9
  %2427 = zext i32 %2426 to i64
  %2428 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2425, i64 noundef %2427, i32 noundef %2428)
  %2429 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2429, ptr %37, align 4, !tbaa !9
  %2430 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2430, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2431 = load i32, ptr %39, align 4, !tbaa !9
  %2432 = load i32, ptr %38, align 4, !tbaa !9
  %2433 = add i32 %2432, %2431
  store i32 %2433, ptr %38, align 4, !tbaa !9
  %2434 = load ptr, ptr %8, align 8, !tbaa !5
  %2435 = getelementptr inbounds %struct.w2c_hermes, ptr %2434, i32 0, i32 6
  %2436 = load i32, ptr %37, align 4, !tbaa !9
  %2437 = zext i32 %2436 to i64
  %2438 = add i64 %2437, 148
  %2439 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2435, i64 noundef %2438, i32 noundef %2439)
  br label %2604

2440:                                             ; preds = %2398
  %2441 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2441, ptr %37, align 4, !tbaa !9
  %2442 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2442, ptr %38, align 4, !tbaa !9
  %2443 = load ptr, ptr %8, align 8, !tbaa !5
  %2444 = getelementptr inbounds %struct.w2c_hermes, ptr %2443, i32 0, i32 6
  %2445 = load i32, ptr %38, align 4, !tbaa !9
  %2446 = zext i32 %2445 to i64
  %2447 = add i64 %2446, 144
  %2448 = call i32 @i32_load(ptr noundef %2444, i64 noundef %2447)
  store i32 %2448, ptr %38, align 4, !tbaa !9
  %2449 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2449, ptr %12, align 4, !tbaa !9
  %2450 = load i32, ptr %38, align 4, !tbaa !9
  %2451 = load i32, ptr %37, align 4, !tbaa !9
  %2452 = sub i32 %2451, %2450
  store i32 %2452, ptr %37, align 4, !tbaa !9
  %2453 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2453, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2454 = load i32, ptr %37, align 4, !tbaa !9
  %2455 = load i32, ptr %38, align 4, !tbaa !9
  %2456 = and i32 %2455, 31
  %2457 = ashr i32 %2454, %2456
  store i32 %2457, ptr %37, align 4, !tbaa !9
  %2458 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2458, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2459 = load i32, ptr %38, align 4, !tbaa !9
  %2460 = load i32, ptr %37, align 4, !tbaa !9
  %2461 = add i32 %2460, %2459
  store i32 %2461, ptr %37, align 4, !tbaa !9
  %2462 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2462, ptr %15, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %2463 = load i32, ptr %37, align 4, !tbaa !9
  %2464 = load i32, ptr %38, align 4, !tbaa !9
  %2465 = icmp uge i32 %2463, %2464
  %2466 = zext i1 %2465 to i32
  store i32 %2466, ptr %37, align 4, !tbaa !9
  %2467 = load i32, ptr %37, align 4, !tbaa !9
  %2468 = icmp ne i32 %2467, 0
  br i1 %2468, label %2469, label %2470

2469:                                             ; preds = %2440
  br label %18024

2470:                                             ; preds = %2440
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %2471 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2471, ptr %38, align 4, !tbaa !9
  %2472 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2472, ptr %39, align 4, !tbaa !9
  %2473 = load i32, ptr %39, align 4, !tbaa !9
  %2474 = load i32, ptr %38, align 4, !tbaa !9
  %2475 = sub i32 %2474, %2473
  store i32 %2475, ptr %38, align 4, !tbaa !9
  %2476 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2476, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %2477 = load i32, ptr %38, align 4, !tbaa !9
  %2478 = load i32, ptr %39, align 4, !tbaa !9
  %2479 = and i32 %2478, 31
  %2480 = ashr i32 %2477, %2479
  store i32 %2480, ptr %38, align 4, !tbaa !9
  %2481 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2481, ptr %21, align 4, !tbaa !9
  %2482 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2482, ptr %39, align 4, !tbaa !9
  %2483 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2483, ptr %40, align 4, !tbaa !9
  %2484 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2484, ptr %41, align 4, !tbaa !9
  %2485 = load i32, ptr %40, align 4, !tbaa !9
  %2486 = load i32, ptr %41, align 4, !tbaa !9
  %2487 = icmp ult i32 %2485, %2486
  %2488 = zext i1 %2487 to i32
  store i32 %2488, ptr %40, align 4, !tbaa !9
  %2489 = load i32, ptr %40, align 4, !tbaa !9
  %2490 = icmp ne i32 %2489, 0
  br i1 %2490, label %2491, label %2493

2491:                                             ; preds = %2470
  %2492 = load i32, ptr %38, align 4, !tbaa !9
  br label %2495

2493:                                             ; preds = %2470
  %2494 = load i32, ptr %39, align 4, !tbaa !9
  br label %2495

2495:                                             ; preds = %2493, %2491
  %2496 = phi i32 [ %2492, %2491 ], [ %2494, %2493 ]
  store i32 %2496, ptr %38, align 4, !tbaa !9
  %2497 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2497, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %2498 = load i32, ptr %39, align 4, !tbaa !9
  %2499 = load i32, ptr %40, align 4, !tbaa !9
  %2500 = icmp uge i32 %2498, %2499
  %2501 = zext i1 %2500 to i32
  store i32 %2501, ptr %39, align 4, !tbaa !9
  %2502 = load i32, ptr %39, align 4, !tbaa !9
  %2503 = icmp ne i32 %2502, 0
  br i1 %2503, label %2504, label %2506

2504:                                             ; preds = %2495
  %2505 = load i32, ptr %37, align 4, !tbaa !9
  br label %2508

2506:                                             ; preds = %2495
  %2507 = load i32, ptr %38, align 4, !tbaa !9
  br label %2508

2508:                                             ; preds = %2506, %2504
  %2509 = phi i32 [ %2505, %2504 ], [ %2507, %2506 ]
  store i32 %2509, ptr %37, align 4, !tbaa !9
  %2510 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2510, ptr %15, align 4, !tbaa !9
  %2511 = load i32, ptr %37, align 4, !tbaa !9
  %2512 = icmp ne i32 %2511, 0
  br i1 %2512, label %2513, label %2531

2513:                                             ; preds = %2508
  %2514 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2514, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %2515 = load i32, ptr %37, align 4, !tbaa !9
  %2516 = load i32, ptr %38, align 4, !tbaa !9
  %2517 = icmp uge i32 %2515, %2516
  %2518 = zext i1 %2517 to i32
  store i32 %2518, ptr %37, align 4, !tbaa !9
  %2519 = load i32, ptr %37, align 4, !tbaa !9
  %2520 = icmp ne i32 %2519, 0
  br i1 %2520, label %2521, label %2522

2521:                                             ; preds = %2513
  br label %15466

2522:                                             ; preds = %2513
  %2523 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2523, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2524 = load i32, ptr %38, align 4, !tbaa !9
  %2525 = and i32 %2524, 31
  %2526 = load i32, ptr %37, align 4, !tbaa !9
  %2527 = shl i32 %2526, %2525
  store i32 %2527, ptr %37, align 4, !tbaa !9
  %2528 = load ptr, ptr %8, align 8, !tbaa !5
  %2529 = load i32, ptr %37, align 4, !tbaa !9
  %2530 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2528, i32 noundef %2529)
  store i32 %2530, ptr %37, align 4, !tbaa !9
  br label %2532

2531:                                             ; preds = %2508
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %2532

2532:                                             ; preds = %2531, %2522
  %2533 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2533, ptr %17, align 4, !tbaa !9
  %2534 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2534, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %2535 = load i32, ptr %39, align 4, !tbaa !9
  %2536 = and i32 %2535, 31
  %2537 = load i32, ptr %38, align 4, !tbaa !9
  %2538 = shl i32 %2537, %2536
  store i32 %2538, ptr %38, align 4, !tbaa !9
  %2539 = load i32, ptr %38, align 4, !tbaa !9
  %2540 = load i32, ptr %37, align 4, !tbaa !9
  %2541 = add i32 %2540, %2539
  store i32 %2541, ptr %37, align 4, !tbaa !9
  %2542 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2542, ptr %22, align 4, !tbaa !9
  %2543 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2543, ptr %38, align 4, !tbaa !9
  %2544 = load ptr, ptr %8, align 8, !tbaa !5
  %2545 = getelementptr inbounds %struct.w2c_hermes, ptr %2544, i32 0, i32 6
  %2546 = load i32, ptr %37, align 4, !tbaa !9
  %2547 = zext i32 %2546 to i64
  %2548 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2545, i64 noundef %2547, i32 noundef %2548)
  %2549 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2549, ptr %37, align 4, !tbaa !9
  %2550 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2550, ptr %38, align 4, !tbaa !9
  %2551 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2551, ptr %39, align 4, !tbaa !9
  %2552 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2552, ptr %40, align 4, !tbaa !9
  %2553 = load ptr, ptr %8, align 8, !tbaa !5
  %2554 = load i32, ptr %38, align 4, !tbaa !9
  %2555 = load i32, ptr %39, align 4, !tbaa !9
  %2556 = load i32, ptr %40, align 4, !tbaa !9
  %2557 = call i32 @w2c_hermes_memmove(ptr noundef %2553, i32 noundef %2554, i32 noundef %2555, i32 noundef %2556)
  store i32 %2557, ptr %38, align 4, !tbaa !9
  %2558 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2558, ptr %10, align 4, !tbaa !9
  %2559 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2559, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2560 = load i32, ptr %40, align 4, !tbaa !9
  %2561 = and i32 %2560, 31
  %2562 = load i32, ptr %39, align 4, !tbaa !9
  %2563 = shl i32 %2562, %2561
  store i32 %2563, ptr %39, align 4, !tbaa !9
  %2564 = load i32, ptr %39, align 4, !tbaa !9
  %2565 = load i32, ptr %38, align 4, !tbaa !9
  %2566 = add i32 %2565, %2564
  store i32 %2566, ptr %38, align 4, !tbaa !9
  %2567 = load ptr, ptr %8, align 8, !tbaa !5
  %2568 = getelementptr inbounds %struct.w2c_hermes, ptr %2567, i32 0, i32 6
  %2569 = load i32, ptr %37, align 4, !tbaa !9
  %2570 = zext i32 %2569 to i64
  %2571 = add i64 %2570, 152
  %2572 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2568, i64 noundef %2571, i32 noundef %2572)
  %2573 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2573, ptr %37, align 4, !tbaa !9
  %2574 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2574, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2575 = load i32, ptr %39, align 4, !tbaa !9
  %2576 = load i32, ptr %38, align 4, !tbaa !9
  %2577 = add i32 %2576, %2575
  store i32 %2577, ptr %38, align 4, !tbaa !9
  %2578 = load ptr, ptr %8, align 8, !tbaa !5
  %2579 = getelementptr inbounds %struct.w2c_hermes, ptr %2578, i32 0, i32 6
  %2580 = load i32, ptr %37, align 4, !tbaa !9
  %2581 = zext i32 %2580 to i64
  %2582 = add i64 %2581, 148
  %2583 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2579, i64 noundef %2582, i32 noundef %2583)
  %2584 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2584, ptr %37, align 4, !tbaa !9
  %2585 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2585, ptr %38, align 4, !tbaa !9
  %2586 = load ptr, ptr %8, align 8, !tbaa !5
  %2587 = getelementptr inbounds %struct.w2c_hermes, ptr %2586, i32 0, i32 6
  %2588 = load i32, ptr %37, align 4, !tbaa !9
  %2589 = zext i32 %2588 to i64
  %2590 = add i64 %2589, 144
  %2591 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2587, i64 noundef %2590, i32 noundef %2591)
  %2592 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2592, ptr %37, align 4, !tbaa !9
  %2593 = load i32, ptr %37, align 4, !tbaa !9
  %2594 = icmp ne i32 %2593, 0
  %2595 = xor i1 %2594, true
  %2596 = zext i1 %2595 to i32
  store i32 %2596, ptr %37, align 4, !tbaa !9
  %2597 = load i32, ptr %37, align 4, !tbaa !9
  %2598 = icmp ne i32 %2597, 0
  br i1 %2598, label %2599, label %2600

2599:                                             ; preds = %2532
  br label %2604

2600:                                             ; preds = %2532
  %2601 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2601, ptr %37, align 4, !tbaa !9
  %2602 = load ptr, ptr %8, align 8, !tbaa !5
  %2603 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2602, i32 noundef %2603)
  br label %2604

2604:                                             ; preds = %2600, %2599, %2421
  %2605 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2605, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %2606 = load i32, ptr %38, align 4, !tbaa !9
  %2607 = load i32, ptr %37, align 4, !tbaa !9
  %2608 = add i32 %2607, %2606
  store i32 %2608, ptr %37, align 4, !tbaa !9
  %2609 = load i32, ptr %37, align 4, !tbaa !9
  %2610 = load ptr, ptr %8, align 8, !tbaa !5
  %2611 = getelementptr inbounds %struct.w2c_hermes, ptr %2610, i32 0, i32 3
  store i32 %2609, ptr %2611, align 8, !tbaa !13
  %2612 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2612, ptr %37, align 4, !tbaa !9
  %2613 = load ptr, ptr %8, align 8, !tbaa !5
  %2614 = getelementptr inbounds %struct.w2c_hermes, ptr %2613, i32 0, i32 6
  %2615 = load i32, ptr %37, align 4, !tbaa !9
  %2616 = zext i32 %2615 to i64
  %2617 = add i64 %2616, 36
  %2618 = call i32 @i32_load(ptr noundef %2614, i64 noundef %2617)
  store i32 %2618, ptr %37, align 4, !tbaa !9
  %2619 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2619, ptr %10, align 4, !tbaa !9
  %2620 = load i32, ptr %37, align 4, !tbaa !9
  %2621 = icmp ne i32 %2620, 0
  %2622 = xor i1 %2621, true
  %2623 = zext i1 %2622 to i32
  store i32 %2623, ptr %37, align 4, !tbaa !9
  %2624 = load i32, ptr %37, align 4, !tbaa !9
  %2625 = icmp ne i32 %2624, 0
  br i1 %2625, label %2626, label %2627

2626:                                             ; preds = %2604
  br label %4412

2627:                                             ; preds = %2604
  %2628 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2628, ptr %37, align 4, !tbaa !9
  %2629 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2629, ptr %38, align 4, !tbaa !9
  %2630 = load ptr, ptr %8, align 8, !tbaa !5
  %2631 = getelementptr inbounds %struct.w2c_hermes, ptr %2630, i32 0, i32 6
  %2632 = load i32, ptr %37, align 4, !tbaa !9
  %2633 = zext i32 %2632 to i64
  %2634 = add i64 %2633, 40
  %2635 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2631, i64 noundef %2634, i32 noundef %2635)
  %2636 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2636, ptr %37, align 4, !tbaa !9
  %2637 = load ptr, ptr %8, align 8, !tbaa !5
  %2638 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2637, i32 noundef %2638)
  br label %4412

2639:                                             ; preds = %1814
  %2640 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2640, ptr %37, align 4, !tbaa !9
  %2641 = load ptr, ptr %8, align 8, !tbaa !5
  %2642 = getelementptr inbounds %struct.w2c_hermes, ptr %2641, i32 0, i32 6
  %2643 = load i32, ptr %37, align 4, !tbaa !9
  %2644 = zext i32 %2643 to i64
  %2645 = add i64 %2644, 16
  %2646 = call i32 @i32_load8_u(ptr noundef %2642, i64 noundef %2645)
  store i32 %2646, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %2647 = load i32, ptr %38, align 4, !tbaa !9
  %2648 = load i32, ptr %37, align 4, !tbaa !9
  %2649 = and i32 %2648, %2647
  store i32 %2649, ptr %37, align 4, !tbaa !9
  %2650 = load i32, ptr %37, align 4, !tbaa !9
  %2651 = icmp ne i32 %2650, 0
  %2652 = xor i1 %2651, true
  %2653 = zext i1 %2652 to i32
  store i32 %2653, ptr %37, align 4, !tbaa !9
  %2654 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2654, ptr %38, align 4, !tbaa !9
  store i32 255, ptr %39, align 4, !tbaa !9
  %2655 = load i32, ptr %38, align 4, !tbaa !9
  %2656 = load i32, ptr %39, align 4, !tbaa !9
  %2657 = icmp ugt i32 %2655, %2656
  %2658 = zext i1 %2657 to i32
  store i32 %2658, ptr %38, align 4, !tbaa !9
  %2659 = load i32, ptr %38, align 4, !tbaa !9
  %2660 = load i32, ptr %37, align 4, !tbaa !9
  %2661 = and i32 %2660, %2659
  store i32 %2661, ptr %37, align 4, !tbaa !9
  %2662 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2662, ptr %20, align 4, !tbaa !9
  %2663 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2663, ptr %37, align 4, !tbaa !9
  %2664 = load ptr, ptr %8, align 8, !tbaa !5
  %2665 = getelementptr inbounds %struct.w2c_hermes, ptr %2664, i32 0, i32 6
  %2666 = load i32, ptr %37, align 4, !tbaa !9
  %2667 = zext i32 %2666 to i64
  %2668 = call i32 @i32_load(ptr noundef %2665, i64 noundef %2667)
  store i32 %2668, ptr %37, align 4, !tbaa !9
  %2669 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2669, ptr %13, align 4, !tbaa !9
  %2670 = load ptr, ptr %8, align 8, !tbaa !5
  %2671 = getelementptr inbounds %struct.w2c_hermes, ptr %2670, i32 0, i32 6
  %2672 = load i32, ptr %37, align 4, !tbaa !9
  %2673 = zext i32 %2672 to i64
  %2674 = add i64 %2673, 138
  %2675 = call i32 @i32_load16_u(ptr noundef %2671, i64 noundef %2674)
  store i32 %2675, ptr %37, align 4, !tbaa !9
  %2676 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2676, ptr %19, align 4, !tbaa !9
  %2677 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2677, ptr %37, align 4, !tbaa !9
  %2678 = load ptr, ptr %8, align 8, !tbaa !5
  %2679 = getelementptr inbounds %struct.w2c_hermes, ptr %2678, i32 0, i32 6
  %2680 = load i32, ptr %37, align 4, !tbaa !9
  %2681 = zext i32 %2680 to i64
  %2682 = add i64 %2681, 56
  %2683 = call i32 @i32_load(ptr noundef %2679, i64 noundef %2682)
  store i32 %2683, ptr %37, align 4, !tbaa !9
  %2684 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2684, ptr %22, align 4, !tbaa !9
  %2685 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2685, ptr %37, align 4, !tbaa !9
  %2686 = load ptr, ptr %8, align 8, !tbaa !5
  %2687 = getelementptr inbounds %struct.w2c_hermes, ptr %2686, i32 0, i32 6
  %2688 = load i32, ptr %37, align 4, !tbaa !9
  %2689 = zext i32 %2688 to i64
  %2690 = add i64 %2689, 148
  %2691 = call i32 @i32_load(ptr noundef %2687, i64 noundef %2690)
  store i32 %2691, ptr %37, align 4, !tbaa !9
  %2692 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2692, ptr %11, align 4, !tbaa !9
  %2693 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2693, ptr %38, align 4, !tbaa !9
  %2694 = load ptr, ptr %8, align 8, !tbaa !5
  %2695 = getelementptr inbounds %struct.w2c_hermes, ptr %2694, i32 0, i32 6
  %2696 = load i32, ptr %38, align 4, !tbaa !9
  %2697 = zext i32 %2696 to i64
  %2698 = add i64 %2697, 144
  %2699 = call i32 @i32_load(ptr noundef %2695, i64 noundef %2698)
  store i32 %2699, ptr %38, align 4, !tbaa !9
  %2700 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2700, ptr %12, align 4, !tbaa !9
  %2701 = load i32, ptr %38, align 4, !tbaa !9
  %2702 = load i32, ptr %37, align 4, !tbaa !9
  %2703 = sub i32 %2702, %2701
  store i32 %2703, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2704 = load i32, ptr %37, align 4, !tbaa !9
  %2705 = load i32, ptr %38, align 4, !tbaa !9
  %2706 = and i32 %2705, 31
  %2707 = ashr i32 %2704, %2706
  store i32 %2707, ptr %37, align 4, !tbaa !9
  %2708 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2708, ptr %10, align 4, !tbaa !9
  %2709 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2709, ptr %37, align 4, !tbaa !9
  %2710 = load ptr, ptr %8, align 8, !tbaa !5
  %2711 = getelementptr inbounds %struct.w2c_hermes, ptr %2710, i32 0, i32 6
  %2712 = load i32, ptr %37, align 4, !tbaa !9
  %2713 = zext i32 %2712 to i64
  %2714 = add i64 %2713, 52
  %2715 = call i32 @i32_load(ptr noundef %2711, i64 noundef %2714)
  store i32 %2715, ptr %37, align 4, !tbaa !9
  %2716 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2716, ptr %15, align 4, !tbaa !9
  br label %2717

2717:                                             ; preds = %2753, %2639
  %2718 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2718, ptr %37, align 4, !tbaa !9
  %2719 = load i32, ptr %37, align 4, !tbaa !9
  %2720 = icmp ne i32 %2719, 0
  %2721 = xor i1 %2720, true
  %2722 = zext i1 %2721 to i32
  store i32 %2722, ptr %37, align 4, !tbaa !9
  %2723 = load i32, ptr %37, align 4, !tbaa !9
  %2724 = icmp ne i32 %2723, 0
  br i1 %2724, label %2725, label %2727

2725:                                             ; preds = %2717
  store i32 -1, ptr %37, align 4, !tbaa !9
  %2726 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2726, ptr %10, align 4, !tbaa !9
  br label %2755

2727:                                             ; preds = %2717
  %2728 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2728, ptr %37, align 4, !tbaa !9
  %2729 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2729, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %2730 = load i32, ptr %39, align 4, !tbaa !9
  %2731 = load i32, ptr %38, align 4, !tbaa !9
  %2732 = sub i32 %2731, %2730
  store i32 %2732, ptr %38, align 4, !tbaa !9
  %2733 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2733, ptr %10, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %2734 = load i32, ptr %39, align 4, !tbaa !9
  %2735 = and i32 %2734, 31
  %2736 = load i32, ptr %38, align 4, !tbaa !9
  %2737 = shl i32 %2736, %2735
  store i32 %2737, ptr %38, align 4, !tbaa !9
  %2738 = load i32, ptr %38, align 4, !tbaa !9
  %2739 = load i32, ptr %37, align 4, !tbaa !9
  %2740 = add i32 %2739, %2738
  store i32 %2740, ptr %37, align 4, !tbaa !9
  %2741 = load ptr, ptr %8, align 8, !tbaa !5
  %2742 = getelementptr inbounds %struct.w2c_hermes, ptr %2741, i32 0, i32 6
  %2743 = load i32, ptr %37, align 4, !tbaa !9
  %2744 = zext i32 %2743 to i64
  %2745 = call i32 @i32_load(ptr noundef %2742, i64 noundef %2744)
  store i32 %2745, ptr %37, align 4, !tbaa !9
  %2746 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2746, ptr %38, align 4, !tbaa !9
  %2747 = load i32, ptr %37, align 4, !tbaa !9
  %2748 = load i32, ptr %38, align 4, !tbaa !9
  %2749 = icmp ne i32 %2747, %2748
  %2750 = zext i1 %2749 to i32
  store i32 %2750, ptr %37, align 4, !tbaa !9
  %2751 = load i32, ptr %37, align 4, !tbaa !9
  %2752 = icmp ne i32 %2751, 0
  br i1 %2752, label %2753, label %2754

2753:                                             ; preds = %2727
  br label %2717

2754:                                             ; preds = %2727
  br label %2755

2755:                                             ; preds = %2754, %2725
  %2756 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2756, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2757 = load ptr, ptr %8, align 8, !tbaa !5
  %2758 = getelementptr inbounds %struct.w2c_hermes, ptr %2757, i32 0, i32 6
  %2759 = load i32, ptr %37, align 4, !tbaa !9
  %2760 = zext i32 %2759 to i64
  %2761 = add i64 %2760, 32
  %2762 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2758, i64 noundef %2761, i32 noundef %2762)
  %2763 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2763, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %2764 = load ptr, ptr %8, align 8, !tbaa !5
  %2765 = getelementptr inbounds %struct.w2c_hermes, ptr %2764, i32 0, i32 6
  %2766 = load i32, ptr %37, align 4, !tbaa !9
  %2767 = zext i32 %2766 to i64
  %2768 = add i64 %2767, 24
  %2769 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2765, i64 noundef %2768, i64 noundef %2769)
  %2770 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2770, ptr %37, align 4, !tbaa !9
  %2771 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2771, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %2772 = load i32, ptr %39, align 4, !tbaa !9
  %2773 = load i32, ptr %38, align 4, !tbaa !9
  %2774 = add i32 %2773, %2772
  store i32 %2774, ptr %38, align 4, !tbaa !9
  %2775 = load ptr, ptr %8, align 8, !tbaa !5
  %2776 = getelementptr inbounds %struct.w2c_hermes, ptr %2775, i32 0, i32 6
  %2777 = load i32, ptr %37, align 4, !tbaa !9
  %2778 = zext i32 %2777 to i64
  %2779 = add i64 %2778, 92
  %2780 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2776, i64 noundef %2779, i32 noundef %2780)
  %2781 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2781, ptr %37, align 4, !tbaa !9
  %2782 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2782, ptr %38, align 4, !tbaa !9
  %2783 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2783, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2784 = load i32, ptr %40, align 4, !tbaa !9
  %2785 = and i32 %2784, 31
  %2786 = load i32, ptr %39, align 4, !tbaa !9
  %2787 = shl i32 %2786, %2785
  store i32 %2787, ptr %39, align 4, !tbaa !9
  %2788 = load i32, ptr %39, align 4, !tbaa !9
  %2789 = load i32, ptr %38, align 4, !tbaa !9
  %2790 = add i32 %2789, %2788
  store i32 %2790, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2791 = load i32, ptr %39, align 4, !tbaa !9
  %2792 = load i32, ptr %38, align 4, !tbaa !9
  %2793 = add i32 %2792, %2791
  store i32 %2793, ptr %38, align 4, !tbaa !9
  %2794 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2794, ptr %12, align 4, !tbaa !9
  %2795 = load i32, ptr %37, align 4, !tbaa !9
  %2796 = load i32, ptr %38, align 4, !tbaa !9
  %2797 = icmp ne i32 %2795, %2796
  %2798 = zext i1 %2797 to i32
  store i32 %2798, ptr %37, align 4, !tbaa !9
  %2799 = load i32, ptr %37, align 4, !tbaa !9
  %2800 = icmp ne i32 %2799, 0
  br i1 %2800, label %2801, label %2835

2801:                                             ; preds = %2755
  %2802 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2802, ptr %37, align 4, !tbaa !9
  %2803 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2803, ptr %10, align 4, !tbaa !9
  br label %2804

2804:                                             ; preds = %2825, %2801
  %2805 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2805, ptr %37, align 4, !tbaa !9
  store i32 92, ptr %38, align 4, !tbaa !9
  %2806 = load i32, ptr %38, align 4, !tbaa !9
  %2807 = load i32, ptr %37, align 4, !tbaa !9
  %2808 = add i32 %2807, %2806
  store i32 %2808, ptr %37, align 4, !tbaa !9
  %2809 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2809, ptr %38, align 4, !tbaa !9
  %2810 = load ptr, ptr %8, align 8, !tbaa !5
  %2811 = load i32, ptr %37, align 4, !tbaa !9
  %2812 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef %2810, i32 noundef %2811, i32 noundef %2812)
  %2813 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2813, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %2814 = load i32, ptr %38, align 4, !tbaa !9
  %2815 = load i32, ptr %37, align 4, !tbaa !9
  %2816 = add i32 %2815, %2814
  store i32 %2816, ptr %37, align 4, !tbaa !9
  %2817 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2817, ptr %10, align 4, !tbaa !9
  %2818 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2818, ptr %38, align 4, !tbaa !9
  %2819 = load i32, ptr %37, align 4, !tbaa !9
  %2820 = load i32, ptr %38, align 4, !tbaa !9
  %2821 = icmp ne i32 %2819, %2820
  %2822 = zext i1 %2821 to i32
  store i32 %2822, ptr %37, align 4, !tbaa !9
  %2823 = load i32, ptr %37, align 4, !tbaa !9
  %2824 = icmp ne i32 %2823, 0
  br i1 %2824, label %2825, label %2826

2825:                                             ; preds = %2804
  br label %2804

2826:                                             ; preds = %2804
  %2827 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2827, ptr %37, align 4, !tbaa !9
  %2828 = load ptr, ptr %8, align 8, !tbaa !5
  %2829 = getelementptr inbounds %struct.w2c_hermes, ptr %2828, i32 0, i32 6
  %2830 = load i32, ptr %37, align 4, !tbaa !9
  %2831 = zext i32 %2830 to i64
  %2832 = add i64 %2831, 148
  %2833 = call i32 @i32_load(ptr noundef %2829, i64 noundef %2832)
  store i32 %2833, ptr %37, align 4, !tbaa !9
  %2834 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2834, ptr %11, align 4, !tbaa !9
  br label %2835

2835:                                             ; preds = %2826, %2755
  %2836 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2836, ptr %37, align 4, !tbaa !9
  %2837 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2837, ptr %38, align 4, !tbaa !9
  %2838 = load i32, ptr %37, align 4, !tbaa !9
  %2839 = load i32, ptr %38, align 4, !tbaa !9
  %2840 = icmp ne i32 %2838, %2839
  %2841 = zext i1 %2840 to i32
  store i32 %2841, ptr %37, align 4, !tbaa !9
  %2842 = load i32, ptr %37, align 4, !tbaa !9
  %2843 = icmp ne i32 %2842, 0
  br i1 %2843, label %2844, label %2859

2844:                                             ; preds = %2835
  %2845 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2845, ptr %37, align 4, !tbaa !9
  %2846 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2846, ptr %38, align 4, !tbaa !9
  %2847 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2847, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %2848 = load ptr, ptr %8, align 8, !tbaa !5
  %2849 = load i32, ptr %38, align 4, !tbaa !9
  %2850 = load i32, ptr %39, align 4, !tbaa !9
  %2851 = load i32, ptr %40, align 4, !tbaa !9
  %2852 = call i32 @w2c_hermes_memmove(ptr noundef %2848, i32 noundef %2849, i32 noundef %2850, i32 noundef %2851)
  store i32 %2852, ptr %38, align 4, !tbaa !9
  %2853 = load ptr, ptr %8, align 8, !tbaa !5
  %2854 = getelementptr inbounds %struct.w2c_hermes, ptr %2853, i32 0, i32 6
  %2855 = load i32, ptr %37, align 4, !tbaa !9
  %2856 = zext i32 %2855 to i64
  %2857 = add i64 %2856, 148
  %2858 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2854, i64 noundef %2857, i32 noundef %2858)
  br label %2859

2859:                                             ; preds = %2844, %2835
  %2860 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2860, ptr %37, align 4, !tbaa !9
  %2861 = load ptr, ptr %8, align 8, !tbaa !5
  %2862 = getelementptr inbounds %struct.w2c_hermes, ptr %2861, i32 0, i32 6
  %2863 = load i32, ptr %37, align 4, !tbaa !9
  %2864 = zext i32 %2863 to i64
  %2865 = call i32 @i32_load(ptr noundef %2862, i64 noundef %2864)
  store i32 %2865, ptr %37, align 4, !tbaa !9
  %2866 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2866, ptr %10, align 4, !tbaa !9
  %2867 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2867, ptr %37, align 4, !tbaa !9
  %2868 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2868, ptr %38, align 4, !tbaa !9
  %2869 = load ptr, ptr %8, align 8, !tbaa !5
  %2870 = getelementptr inbounds %struct.w2c_hermes, ptr %2869, i32 0, i32 6
  %2871 = load i32, ptr %38, align 4, !tbaa !9
  %2872 = zext i32 %2871 to i64
  %2873 = add i64 %2872, 24
  %2874 = call i32 @i32_load(ptr noundef %2870, i64 noundef %2873)
  store i32 %2874, ptr %38, align 4, !tbaa !9
  %2875 = load ptr, ptr %8, align 8, !tbaa !5
  %2876 = getelementptr inbounds %struct.w2c_hermes, ptr %2875, i32 0, i32 6
  %2877 = load i32, ptr %37, align 4, !tbaa !9
  %2878 = zext i32 %2877 to i64
  %2879 = add i64 %2878, 12
  %2880 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2876, i64 noundef %2879, i32 noundef %2880)
  %2881 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2881, ptr %37, align 4, !tbaa !9
  %2882 = load ptr, ptr %8, align 8, !tbaa !5
  %2883 = getelementptr inbounds %struct.w2c_hermes, ptr %2882, i32 0, i32 6
  %2884 = load i32, ptr %37, align 4, !tbaa !9
  %2885 = zext i32 %2884 to i64
  %2886 = add i64 %2885, 28
  %2887 = call i64 @i64_load(ptr noundef %2883, i64 noundef %2886)
  store i64 %2887, ptr %43, align 8, !tbaa !11
  %2888 = load i64, ptr %43, align 8, !tbaa !11
  store i64 %2888, ptr %36, align 8, !tbaa !11
  %2889 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2889, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %2890 = load ptr, ptr %8, align 8, !tbaa !5
  %2891 = getelementptr inbounds %struct.w2c_hermes, ptr %2890, i32 0, i32 6
  %2892 = load i32, ptr %37, align 4, !tbaa !9
  %2893 = zext i32 %2892 to i64
  %2894 = add i64 %2893, 28
  %2895 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2891, i64 noundef %2894, i64 noundef %2895)
  %2896 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2896, ptr %37, align 4, !tbaa !9
  %2897 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %2897, ptr %44, align 8, !tbaa !11
  %2898 = load ptr, ptr %8, align 8, !tbaa !5
  %2899 = getelementptr inbounds %struct.w2c_hermes, ptr %2898, i32 0, i32 6
  %2900 = load i32, ptr %37, align 4, !tbaa !9
  %2901 = zext i32 %2900 to i64
  %2902 = add i64 %2901, 16
  %2903 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2899, i64 noundef %2902, i64 noundef %2903)
  %2904 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2904, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2905 = load ptr, ptr %8, align 8, !tbaa !5
  %2906 = getelementptr inbounds %struct.w2c_hermes, ptr %2905, i32 0, i32 6
  %2907 = load i32, ptr %37, align 4, !tbaa !9
  %2908 = zext i32 %2907 to i64
  %2909 = add i64 %2908, 24
  %2910 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2906, i64 noundef %2909, i32 noundef %2910)
  %2911 = load ptr, ptr %8, align 8, !tbaa !5
  %2912 = getelementptr inbounds %struct.w2c_hermes, ptr %2911, i32 0, i32 3
  %2913 = load i32, ptr %2912, align 8, !tbaa !13
  store i32 %2913, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %2914 = load i32, ptr %38, align 4, !tbaa !9
  %2915 = load i32, ptr %37, align 4, !tbaa !9
  %2916 = sub i32 %2915, %2914
  store i32 %2916, ptr %37, align 4, !tbaa !9
  %2917 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2917, ptr %15, align 4, !tbaa !9
  %2918 = load i32, ptr %37, align 4, !tbaa !9
  %2919 = load ptr, ptr %8, align 8, !tbaa !5
  %2920 = getelementptr inbounds %struct.w2c_hermes, ptr %2919, i32 0, i32 3
  store i32 %2918, ptr %2920, align 8, !tbaa !13
  %2921 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2921, ptr %37, align 4, !tbaa !9
  %2922 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2922, ptr %38, align 4, !tbaa !9
  %2923 = load ptr, ptr %8, align 8, !tbaa !5
  %2924 = getelementptr inbounds %struct.w2c_hermes, ptr %2923, i32 0, i32 6
  %2925 = load i32, ptr %37, align 4, !tbaa !9
  %2926 = zext i32 %2925 to i64
  %2927 = add i64 %2926, 12
  %2928 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2924, i64 noundef %2927, i32 noundef %2928)
  %2929 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2929, ptr %37, align 4, !tbaa !9
  %2930 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2930, ptr %38, align 4, !tbaa !9
  %2931 = load ptr, ptr %8, align 8, !tbaa !5
  %2932 = getelementptr inbounds %struct.w2c_hermes, ptr %2931, i32 0, i32 6
  %2933 = load i32, ptr %37, align 4, !tbaa !9
  %2934 = zext i32 %2933 to i64
  %2935 = add i64 %2934, 14
  %2936 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2932, i64 noundef %2935, i32 noundef %2936)
  %2937 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2937, ptr %37, align 4, !tbaa !9
  %2938 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2938, ptr %38, align 4, !tbaa !9
  store i32 255, ptr %39, align 4, !tbaa !9
  %2939 = load i32, ptr %39, align 4, !tbaa !9
  %2940 = load i32, ptr %38, align 4, !tbaa !9
  %2941 = and i32 %2940, %2939
  store i32 %2941, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %2942 = load i32, ptr %38, align 4, !tbaa !9
  %2943 = load i32, ptr %39, align 4, !tbaa !9
  %2944 = icmp ne i32 %2942, %2943
  %2945 = zext i1 %2944 to i32
  store i32 %2945, ptr %38, align 4, !tbaa !9
  %2946 = load ptr, ptr %8, align 8, !tbaa !5
  %2947 = getelementptr inbounds %struct.w2c_hermes, ptr %2946, i32 0, i32 6
  %2948 = load i32, ptr %37, align 4, !tbaa !9
  %2949 = zext i32 %2948 to i64
  %2950 = add i64 %2949, 11
  %2951 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2947, i64 noundef %2950, i32 noundef %2951)
  %2952 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2952, ptr %37, align 4, !tbaa !9
  %2953 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2953, ptr %38, align 4, !tbaa !9
  store i32 255, ptr %39, align 4, !tbaa !9
  %2954 = load i32, ptr %38, align 4, !tbaa !9
  %2955 = load i32, ptr %39, align 4, !tbaa !9
  %2956 = icmp ugt i32 %2954, %2955
  %2957 = zext i1 %2956 to i32
  store i32 %2957, ptr %38, align 4, !tbaa !9
  %2958 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2958, ptr %11, align 4, !tbaa !9
  %2959 = load ptr, ptr %8, align 8, !tbaa !5
  %2960 = getelementptr inbounds %struct.w2c_hermes, ptr %2959, i32 0, i32 6
  %2961 = load i32, ptr %37, align 4, !tbaa !9
  %2962 = zext i32 %2961 to i64
  %2963 = add i64 %2962, 10
  %2964 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2960, i64 noundef %2963, i32 noundef %2964)
  %2965 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2965, ptr %37, align 4, !tbaa !9
  %2966 = load i32, ptr %37, align 4, !tbaa !9
  %2967 = icmp ne i32 %2966, 0
  br i1 %2967, label %2968, label %2969

2968:                                             ; preds = %2859
  br label %3292

2969:                                             ; preds = %2859
  %2970 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2970, ptr %37, align 4, !tbaa !9
  %2971 = load ptr, ptr %8, align 8, !tbaa !5
  %2972 = getelementptr inbounds %struct.w2c_hermes, ptr %2971, i32 0, i32 6
  %2973 = load i32, ptr %37, align 4, !tbaa !9
  %2974 = zext i32 %2973 to i64
  %2975 = add i64 %2974, 16
  %2976 = call i32 @i32_load(ptr noundef %2972, i64 noundef %2975)
  store i32 %2976, ptr %37, align 4, !tbaa !9
  %2977 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2977, ptr %11, align 4, !tbaa !9
  %2978 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2978, ptr %38, align 4, !tbaa !9
  %2979 = load ptr, ptr %8, align 8, !tbaa !5
  %2980 = getelementptr inbounds %struct.w2c_hermes, ptr %2979, i32 0, i32 6
  %2981 = load i32, ptr %38, align 4, !tbaa !9
  %2982 = zext i32 %2981 to i64
  %2983 = add i64 %2982, 12
  %2984 = call i32 @i32_load(ptr noundef %2980, i64 noundef %2983)
  store i32 %2984, ptr %38, align 4, !tbaa !9
  %2985 = load i32, ptr %37, align 4, !tbaa !9
  %2986 = load i32, ptr %38, align 4, !tbaa !9
  %2987 = icmp eq i32 %2985, %2986
  %2988 = zext i1 %2987 to i32
  store i32 %2988, ptr %37, align 4, !tbaa !9
  %2989 = load i32, ptr %37, align 4, !tbaa !9
  %2990 = icmp ne i32 %2989, 0
  br i1 %2990, label %2991, label %2992

2991:                                             ; preds = %2969
  br label %3292

2992:                                             ; preds = %2969
  %2993 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2993, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %2994 = load i32, ptr %38, align 4, !tbaa !9
  %2995 = load i32, ptr %37, align 4, !tbaa !9
  %2996 = sub i32 %2995, %2994
  store i32 %2996, ptr %37, align 4, !tbaa !9
  %2997 = load ptr, ptr %8, align 8, !tbaa !5
  %2998 = getelementptr inbounds %struct.w2c_hermes, ptr %2997, i32 0, i32 6
  %2999 = load i32, ptr %37, align 4, !tbaa !9
  %3000 = zext i32 %2999 to i64
  %3001 = call i32 @i32_load(ptr noundef %2998, i64 noundef %3000)
  store i32 %3001, ptr %37, align 4, !tbaa !9
  %3002 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3002, ptr %11, align 4, !tbaa !9
  %3003 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3003, ptr %38, align 4, !tbaa !9
  %3004 = load ptr, ptr %8, align 8, !tbaa !5
  %3005 = getelementptr inbounds %struct.w2c_hermes, ptr %3004, i32 0, i32 6
  %3006 = load i32, ptr %38, align 4, !tbaa !9
  %3007 = zext i32 %3006 to i64
  %3008 = call i32 @i32_load(ptr noundef %3005, i64 noundef %3007)
  store i32 %3008, ptr %38, align 4, !tbaa !9
  %3009 = load ptr, ptr %8, align 8, !tbaa !5
  %3010 = getelementptr inbounds %struct.w2c_hermes, ptr %3009, i32 0, i32 6
  %3011 = load i32, ptr %38, align 4, !tbaa !9
  %3012 = zext i32 %3011 to i64
  %3013 = add i64 %3012, 20
  %3014 = call i32 @i32_load(ptr noundef %3010, i64 noundef %3013)
  store i32 %3014, ptr %38, align 4, !tbaa !9
  %3015 = load i32, ptr %38, align 4, !tbaa !9
  %3016 = load ptr, ptr %8, align 8, !tbaa !5
  %3017 = getelementptr inbounds %struct.w2c_hermes, ptr %3016, i32 0, i32 7
  %3018 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3017, i32 0, i32 2
  %3019 = load i32, ptr %3018, align 4, !tbaa !18
  %3020 = icmp ult i32 %3015, %3019
  br i1 %3020, label %3021, label %3044

3021:                                             ; preds = %2992
  %3022 = load ptr, ptr %8, align 8, !tbaa !5
  %3023 = getelementptr inbounds %struct.w2c_hermes, ptr %3022, i32 0, i32 7
  %3024 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3023, i32 0, i32 0
  %3025 = load ptr, ptr %3024, align 8, !tbaa !19
  %3026 = load i32, ptr %38, align 4, !tbaa !9
  %3027 = zext i32 %3026 to i64
  %3028 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3025, i64 %3027
  %3029 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3028, i32 0, i32 1
  %3030 = load ptr, ptr %3029, align 8, !tbaa !20
  %3031 = icmp ne ptr %3030, null
  br i1 %3031, label %3032, label %3044

3032:                                             ; preds = %3021
  %3033 = load ptr, ptr @w2c_hermes_t5, align 8, !tbaa !5
  %3034 = load ptr, ptr %8, align 8, !tbaa !5
  %3035 = getelementptr inbounds %struct.w2c_hermes, ptr %3034, i32 0, i32 7
  %3036 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3035, i32 0, i32 0
  %3037 = load ptr, ptr %3036, align 8, !tbaa !19
  %3038 = load i32, ptr %38, align 4, !tbaa !9
  %3039 = zext i32 %3038 to i64
  %3040 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3037, i64 %3039
  %3041 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3040, i32 0, i32 0
  %3042 = load ptr, ptr %3041, align 8, !tbaa !22
  %3043 = call zeroext i1 @func_types_eq(ptr noundef %3033, ptr noundef %3042)
  br label %3044

3044:                                             ; preds = %3032, %3021, %2992
  %3045 = phi i1 [ false, %3021 ], [ false, %2992 ], [ %3043, %3032 ]
  %3046 = xor i1 %3045, true
  %3047 = xor i1 %3046, true
  %3048 = zext i1 %3047 to i32
  %3049 = sext i32 %3048 to i64
  %3050 = call i64 @llvm.expect.i64(i64 %3049, i64 1)
  %3051 = icmp ne i64 %3050, 0
  br i1 %3051, label %3054, label %3052

3052:                                             ; preds = %3044
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

3053:                                             ; No predecessors!
  br label %3054

3054:                                             ; preds = %3053, %3044
  %3055 = phi i1 [ true, %3044 ], [ false, %3053 ]
  %3056 = zext i1 %3055 to i32
  %3057 = load ptr, ptr %8, align 8, !tbaa !5
  %3058 = getelementptr inbounds %struct.w2c_hermes, ptr %3057, i32 0, i32 7
  %3059 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3058, i32 0, i32 0
  %3060 = load ptr, ptr %3059, align 8, !tbaa !19
  %3061 = load i32, ptr %38, align 4, !tbaa !9
  %3062 = zext i32 %3061 to i64
  %3063 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3060, i64 %3062
  %3064 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3063, i32 0, i32 1
  %3065 = load ptr, ptr %3064, align 8, !tbaa !20
  %3066 = load ptr, ptr %8, align 8, !tbaa !5
  %3067 = getelementptr inbounds %struct.w2c_hermes, ptr %3066, i32 0, i32 7
  %3068 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3067, i32 0, i32 0
  %3069 = load ptr, ptr %3068, align 8, !tbaa !19
  %3070 = load i32, ptr %38, align 4, !tbaa !9
  %3071 = zext i32 %3070 to i64
  %3072 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3069, i64 %3071
  %3073 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3072, i32 0, i32 2
  %3074 = load ptr, ptr %3073, align 8, !tbaa !23
  %3075 = load i32, ptr %37, align 4, !tbaa !9
  %3076 = call i32 %3065(ptr noundef %3074, i32 noundef %3075)
  store i32 %3076, ptr %37, align 4, !tbaa !9
  %3077 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3077, ptr %11, align 4, !tbaa !9
  %3078 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3078, ptr %37, align 4, !tbaa !9
  %3079 = load ptr, ptr %8, align 8, !tbaa !5
  %3080 = getelementptr inbounds %struct.w2c_hermes, ptr %3079, i32 0, i32 6
  %3081 = load i32, ptr %37, align 4, !tbaa !9
  %3082 = zext i32 %3081 to i64
  %3083 = add i64 %3082, 12
  %3084 = call i32 @i32_load(ptr noundef %3080, i64 noundef %3083)
  store i32 %3084, ptr %37, align 4, !tbaa !9
  %3085 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3085, ptr %12, align 4, !tbaa !9
  %3086 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3086, ptr %38, align 4, !tbaa !9
  %3087 = load ptr, ptr %8, align 8, !tbaa !5
  %3088 = getelementptr inbounds %struct.w2c_hermes, ptr %3087, i32 0, i32 6
  %3089 = load i32, ptr %38, align 4, !tbaa !9
  %3090 = zext i32 %3089 to i64
  %3091 = add i64 %3090, 16
  %3092 = call i32 @i32_load(ptr noundef %3088, i64 noundef %3091)
  store i32 %3092, ptr %38, align 4, !tbaa !9
  %3093 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3093, ptr %19, align 4, !tbaa !9
  %3094 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3094, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3095 = load i32, ptr %40, align 4, !tbaa !9
  %3096 = and i32 %3095, 31
  %3097 = load i32, ptr %39, align 4, !tbaa !9
  %3098 = shl i32 %3097, %3096
  store i32 %3098, ptr %39, align 4, !tbaa !9
  %3099 = load i32, ptr %39, align 4, !tbaa !9
  %3100 = load i32, ptr %38, align 4, !tbaa !9
  %3101 = sub i32 %3100, %3099
  store i32 %3101, ptr %38, align 4, !tbaa !9
  %3102 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3102, ptr %11, align 4, !tbaa !9
  %3103 = load i32, ptr %37, align 4, !tbaa !9
  %3104 = load i32, ptr %38, align 4, !tbaa !9
  %3105 = icmp eq i32 %3103, %3104
  %3106 = zext i1 %3105 to i32
  store i32 %3106, ptr %37, align 4, !tbaa !9
  %3107 = load i32, ptr %37, align 4, !tbaa !9
  %3108 = icmp ne i32 %3107, 0
  br i1 %3108, label %3109, label %3110

3109:                                             ; preds = %3054
  br label %3186

3110:                                             ; preds = %3054
  %3111 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3111, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %3112 = load i32, ptr %38, align 4, !tbaa !9
  %3113 = load i32, ptr %37, align 4, !tbaa !9
  %3114 = sub i32 %3113, %3112
  store i32 %3114, ptr %37, align 4, !tbaa !9
  %3115 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3115, ptr %13, align 4, !tbaa !9
  %3116 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3116, ptr %38, align 4, !tbaa !9
  %3117 = load i32, ptr %37, align 4, !tbaa !9
  %3118 = load i32, ptr %38, align 4, !tbaa !9
  %3119 = icmp ule i32 %3117, %3118
  %3120 = zext i1 %3119 to i32
  store i32 %3120, ptr %37, align 4, !tbaa !9
  %3121 = load i32, ptr %37, align 4, !tbaa !9
  %3122 = icmp ne i32 %3121, 0
  br i1 %3122, label %3123, label %3124

3123:                                             ; preds = %3110
  br label %3186

3124:                                             ; preds = %3110
  br label %3125

3125:                                             ; preds = %3168, %3124
  %3126 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3126, ptr %37, align 4, !tbaa !9
  %3127 = load ptr, ptr %8, align 8, !tbaa !5
  %3128 = getelementptr inbounds %struct.w2c_hermes, ptr %3127, i32 0, i32 6
  %3129 = load i32, ptr %37, align 4, !tbaa !9
  %3130 = zext i32 %3129 to i64
  %3131 = call i32 @i32_load(ptr noundef %3128, i64 noundef %3130)
  store i32 %3131, ptr %37, align 4, !tbaa !9
  %3132 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3132, ptr %11, align 4, !tbaa !9
  %3133 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3133, ptr %37, align 4, !tbaa !9
  %3134 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3134, ptr %38, align 4, !tbaa !9
  %3135 = load ptr, ptr %8, align 8, !tbaa !5
  %3136 = getelementptr inbounds %struct.w2c_hermes, ptr %3135, i32 0, i32 6
  %3137 = load i32, ptr %38, align 4, !tbaa !9
  %3138 = zext i32 %3137 to i64
  %3139 = call i32 @i32_load(ptr noundef %3136, i64 noundef %3138)
  store i32 %3139, ptr %38, align 4, !tbaa !9
  %3140 = load ptr, ptr %8, align 8, !tbaa !5
  %3141 = getelementptr inbounds %struct.w2c_hermes, ptr %3140, i32 0, i32 6
  %3142 = load i32, ptr %37, align 4, !tbaa !9
  %3143 = zext i32 %3142 to i64
  %3144 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3141, i64 noundef %3143, i32 noundef %3144)
  %3145 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3145, ptr %37, align 4, !tbaa !9
  %3146 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3146, ptr %38, align 4, !tbaa !9
  %3147 = load ptr, ptr %8, align 8, !tbaa !5
  %3148 = getelementptr inbounds %struct.w2c_hermes, ptr %3147, i32 0, i32 6
  %3149 = load i32, ptr %37, align 4, !tbaa !9
  %3150 = zext i32 %3149 to i64
  %3151 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3148, i64 noundef %3150, i32 noundef %3151)
  %3152 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3152, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %3153 = load i32, ptr %38, align 4, !tbaa !9
  %3154 = load i32, ptr %37, align 4, !tbaa !9
  %3155 = add i32 %3154, %3153
  store i32 %3155, ptr %37, align 4, !tbaa !9
  %3156 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3156, ptr %12, align 4, !tbaa !9
  %3157 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3157, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %3158 = load i32, ptr %39, align 4, !tbaa !9
  %3159 = load i32, ptr %38, align 4, !tbaa !9
  %3160 = sub i32 %3159, %3158
  store i32 %3160, ptr %38, align 4, !tbaa !9
  %3161 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3161, ptr %13, align 4, !tbaa !9
  %3162 = load i32, ptr %37, align 4, !tbaa !9
  %3163 = load i32, ptr %38, align 4, !tbaa !9
  %3164 = icmp ult i32 %3162, %3163
  %3165 = zext i1 %3164 to i32
  store i32 %3165, ptr %37, align 4, !tbaa !9
  %3166 = load i32, ptr %37, align 4, !tbaa !9
  %3167 = icmp ne i32 %3166, 0
  br i1 %3167, label %3168, label %3169

3168:                                             ; preds = %3125
  br label %3125

3169:                                             ; preds = %3125
  %3170 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3170, ptr %37, align 4, !tbaa !9
  %3171 = load ptr, ptr %8, align 8, !tbaa !5
  %3172 = getelementptr inbounds %struct.w2c_hermes, ptr %3171, i32 0, i32 6
  %3173 = load i32, ptr %37, align 4, !tbaa !9
  %3174 = zext i32 %3173 to i64
  %3175 = add i64 %3174, 16
  %3176 = call i32 @i32_load(ptr noundef %3172, i64 noundef %3175)
  store i32 %3176, ptr %37, align 4, !tbaa !9
  %3177 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3177, ptr %19, align 4, !tbaa !9
  %3178 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3178, ptr %37, align 4, !tbaa !9
  %3179 = load ptr, ptr %8, align 8, !tbaa !5
  %3180 = getelementptr inbounds %struct.w2c_hermes, ptr %3179, i32 0, i32 6
  %3181 = load i32, ptr %37, align 4, !tbaa !9
  %3182 = zext i32 %3181 to i64
  %3183 = add i64 %3182, 12
  %3184 = call i32 @i32_load(ptr noundef %3180, i64 noundef %3183)
  store i32 %3184, ptr %37, align 4, !tbaa !9
  %3185 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3185, ptr %12, align 4, !tbaa !9
  br label %3186

3186:                                             ; preds = %3169, %3123, %3109
  %3187 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3187, ptr %37, align 4, !tbaa !9
  %3188 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3188, ptr %38, align 4, !tbaa !9
  %3189 = load i32, ptr %37, align 4, !tbaa !9
  %3190 = load i32, ptr %38, align 4, !tbaa !9
  %3191 = icmp eq i32 %3189, %3190
  %3192 = zext i1 %3191 to i32
  store i32 %3192, ptr %37, align 4, !tbaa !9
  %3193 = load i32, ptr %37, align 4, !tbaa !9
  %3194 = icmp ne i32 %3193, 0
  br i1 %3194, label %3195, label %3196

3195:                                             ; preds = %3186
  br label %3292

3196:                                             ; preds = %3186
  br label %3197

3197:                                             ; preds = %3290, %3196
  %3198 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3198, ptr %37, align 4, !tbaa !9
  %3199 = load ptr, ptr %8, align 8, !tbaa !5
  %3200 = getelementptr inbounds %struct.w2c_hermes, ptr %3199, i32 0, i32 6
  %3201 = load i32, ptr %37, align 4, !tbaa !9
  %3202 = zext i32 %3201 to i64
  %3203 = call i32 @i32_load(ptr noundef %3200, i64 noundef %3202)
  store i32 %3203, ptr %37, align 4, !tbaa !9
  %3204 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3204, ptr %11, align 4, !tbaa !9
  %3205 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3205, ptr %38, align 4, !tbaa !9
  %3206 = load ptr, ptr %8, align 8, !tbaa !5
  %3207 = getelementptr inbounds %struct.w2c_hermes, ptr %3206, i32 0, i32 6
  %3208 = load i32, ptr %38, align 4, !tbaa !9
  %3209 = zext i32 %3208 to i64
  %3210 = call i32 @i32_load(ptr noundef %3207, i64 noundef %3209)
  store i32 %3210, ptr %38, align 4, !tbaa !9
  %3211 = load ptr, ptr %8, align 8, !tbaa !5
  %3212 = getelementptr inbounds %struct.w2c_hermes, ptr %3211, i32 0, i32 6
  %3213 = load i32, ptr %38, align 4, !tbaa !9
  %3214 = zext i32 %3213 to i64
  %3215 = add i64 %3214, 28
  %3216 = call i32 @i32_load(ptr noundef %3212, i64 noundef %3215)
  store i32 %3216, ptr %38, align 4, !tbaa !9
  %3217 = load i32, ptr %38, align 4, !tbaa !9
  %3218 = load ptr, ptr %8, align 8, !tbaa !5
  %3219 = getelementptr inbounds %struct.w2c_hermes, ptr %3218, i32 0, i32 7
  %3220 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3219, i32 0, i32 2
  %3221 = load i32, ptr %3220, align 4, !tbaa !18
  %3222 = icmp ult i32 %3217, %3221
  br i1 %3222, label %3223, label %3246

3223:                                             ; preds = %3197
  %3224 = load ptr, ptr %8, align 8, !tbaa !5
  %3225 = getelementptr inbounds %struct.w2c_hermes, ptr %3224, i32 0, i32 7
  %3226 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3225, i32 0, i32 0
  %3227 = load ptr, ptr %3226, align 8, !tbaa !19
  %3228 = load i32, ptr %38, align 4, !tbaa !9
  %3229 = zext i32 %3228 to i64
  %3230 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3227, i64 %3229
  %3231 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3230, i32 0, i32 1
  %3232 = load ptr, ptr %3231, align 8, !tbaa !20
  %3233 = icmp ne ptr %3232, null
  br i1 %3233, label %3234, label %3246

3234:                                             ; preds = %3223
  %3235 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %3236 = load ptr, ptr %8, align 8, !tbaa !5
  %3237 = getelementptr inbounds %struct.w2c_hermes, ptr %3236, i32 0, i32 7
  %3238 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3237, i32 0, i32 0
  %3239 = load ptr, ptr %3238, align 8, !tbaa !19
  %3240 = load i32, ptr %38, align 4, !tbaa !9
  %3241 = zext i32 %3240 to i64
  %3242 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3239, i64 %3241
  %3243 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3242, i32 0, i32 0
  %3244 = load ptr, ptr %3243, align 8, !tbaa !22
  %3245 = call zeroext i1 @func_types_eq(ptr noundef %3235, ptr noundef %3244)
  br label %3246

3246:                                             ; preds = %3234, %3223, %3197
  %3247 = phi i1 [ false, %3223 ], [ false, %3197 ], [ %3245, %3234 ]
  %3248 = xor i1 %3247, true
  %3249 = xor i1 %3248, true
  %3250 = zext i1 %3249 to i32
  %3251 = sext i32 %3250 to i64
  %3252 = call i64 @llvm.expect.i64(i64 %3251, i64 1)
  %3253 = icmp ne i64 %3252, 0
  br i1 %3253, label %3256, label %3254

3254:                                             ; preds = %3246
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

3255:                                             ; No predecessors!
  br label %3256

3256:                                             ; preds = %3255, %3246
  %3257 = phi i1 [ true, %3246 ], [ false, %3255 ]
  %3258 = zext i1 %3257 to i32
  %3259 = load ptr, ptr %8, align 8, !tbaa !5
  %3260 = getelementptr inbounds %struct.w2c_hermes, ptr %3259, i32 0, i32 7
  %3261 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3260, i32 0, i32 0
  %3262 = load ptr, ptr %3261, align 8, !tbaa !19
  %3263 = load i32, ptr %38, align 4, !tbaa !9
  %3264 = zext i32 %3263 to i64
  %3265 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3262, i64 %3264
  %3266 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3265, i32 0, i32 1
  %3267 = load ptr, ptr %3266, align 8, !tbaa !20
  %3268 = load ptr, ptr %8, align 8, !tbaa !5
  %3269 = getelementptr inbounds %struct.w2c_hermes, ptr %3268, i32 0, i32 7
  %3270 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3269, i32 0, i32 0
  %3271 = load ptr, ptr %3270, align 8, !tbaa !19
  %3272 = load i32, ptr %38, align 4, !tbaa !9
  %3273 = zext i32 %3272 to i64
  %3274 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3271, i64 %3273
  %3275 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3274, i32 0, i32 2
  %3276 = load ptr, ptr %3275, align 8, !tbaa !23
  %3277 = load i32, ptr %37, align 4, !tbaa !9
  call void %3267(ptr noundef %3276, i32 noundef %3277)
  %3278 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3278, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %3279 = load i32, ptr %38, align 4, !tbaa !9
  %3280 = load i32, ptr %37, align 4, !tbaa !9
  %3281 = add i32 %3280, %3279
  store i32 %3281, ptr %37, align 4, !tbaa !9
  %3282 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3282, ptr %12, align 4, !tbaa !9
  %3283 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3283, ptr %38, align 4, !tbaa !9
  %3284 = load i32, ptr %37, align 4, !tbaa !9
  %3285 = load i32, ptr %38, align 4, !tbaa !9
  %3286 = icmp ne i32 %3284, %3285
  %3287 = zext i1 %3286 to i32
  store i32 %3287, ptr %37, align 4, !tbaa !9
  %3288 = load i32, ptr %37, align 4, !tbaa !9
  %3289 = icmp ne i32 %3288, 0
  br i1 %3289, label %3290, label %3291

3290:                                             ; preds = %3256
  br label %3197

3291:                                             ; preds = %3256
  br label %3292

3292:                                             ; preds = %3291, %3195, %2991, %2968
  store i32 4, ptr %37, align 4, !tbaa !9
  %3293 = load ptr, ptr %8, align 8, !tbaa !5
  %3294 = load i32, ptr %37, align 4, !tbaa !9
  %3295 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %3293, i32 noundef %3294)
  store i32 %3295, ptr %37, align 4, !tbaa !9
  %3296 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3296, ptr %11, align 4, !tbaa !9
  store i32 112500, ptr %38, align 4, !tbaa !9
  %3297 = load ptr, ptr %8, align 8, !tbaa !5
  %3298 = getelementptr inbounds %struct.w2c_hermes, ptr %3297, i32 0, i32 6
  %3299 = load i32, ptr %37, align 4, !tbaa !9
  %3300 = zext i32 %3299 to i64
  %3301 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3298, i64 noundef %3300, i32 noundef %3301)
  %3302 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3302, ptr %37, align 4, !tbaa !9
  %3303 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3303, ptr %38, align 4, !tbaa !9
  %3304 = load ptr, ptr %8, align 8, !tbaa !5
  %3305 = getelementptr inbounds %struct.w2c_hermes, ptr %3304, i32 0, i32 6
  %3306 = load i32, ptr %37, align 4, !tbaa !9
  %3307 = zext i32 %3306 to i64
  %3308 = add i64 %3307, 4
  %3309 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3305, i64 noundef %3308, i32 noundef %3309)
  %3310 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3310, ptr %37, align 4, !tbaa !9
  %3311 = load ptr, ptr %8, align 8, !tbaa !5
  %3312 = getelementptr inbounds %struct.w2c_hermes, ptr %3311, i32 0, i32 6
  %3313 = load i32, ptr %37, align 4, !tbaa !9
  %3314 = zext i32 %3313 to i64
  %3315 = add i64 %3314, 160
  %3316 = call i32 @i32_load(ptr noundef %3312, i64 noundef %3315)
  store i32 %3316, ptr %37, align 4, !tbaa !9
  %3317 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3317, ptr %12, align 4, !tbaa !9
  %3318 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3318, ptr %38, align 4, !tbaa !9
  %3319 = load ptr, ptr %8, align 8, !tbaa !5
  %3320 = getelementptr inbounds %struct.w2c_hermes, ptr %3319, i32 0, i32 6
  %3321 = load i32, ptr %38, align 4, !tbaa !9
  %3322 = zext i32 %3321 to i64
  %3323 = add i64 %3322, 164
  %3324 = call i32 @i32_load(ptr noundef %3320, i64 noundef %3323)
  store i32 %3324, ptr %38, align 4, !tbaa !9
  %3325 = load i32, ptr %37, align 4, !tbaa !9
  %3326 = load i32, ptr %38, align 4, !tbaa !9
  %3327 = icmp ult i32 %3325, %3326
  %3328 = zext i1 %3327 to i32
  store i32 %3328, ptr %37, align 4, !tbaa !9
  %3329 = load i32, ptr %37, align 4, !tbaa !9
  %3330 = icmp ne i32 %3329, 0
  br i1 %3330, label %3331, label %3357

3331:                                             ; preds = %3292
  %3332 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3332, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %3333 = load ptr, ptr %8, align 8, !tbaa !5
  %3334 = getelementptr inbounds %struct.w2c_hermes, ptr %3333, i32 0, i32 6
  %3335 = load i32, ptr %37, align 4, !tbaa !9
  %3336 = zext i32 %3335 to i64
  %3337 = add i64 %3336, 4
  %3338 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3334, i64 noundef %3337, i32 noundef %3338)
  %3339 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3339, ptr %37, align 4, !tbaa !9
  %3340 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3340, ptr %38, align 4, !tbaa !9
  %3341 = load ptr, ptr %8, align 8, !tbaa !5
  %3342 = getelementptr inbounds %struct.w2c_hermes, ptr %3341, i32 0, i32 6
  %3343 = load i32, ptr %37, align 4, !tbaa !9
  %3344 = zext i32 %3343 to i64
  %3345 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3342, i64 noundef %3344, i32 noundef %3345)
  %3346 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3346, ptr %37, align 4, !tbaa !9
  %3347 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3347, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %3348 = load i32, ptr %39, align 4, !tbaa !9
  %3349 = load i32, ptr %38, align 4, !tbaa !9
  %3350 = add i32 %3349, %3348
  store i32 %3350, ptr %38, align 4, !tbaa !9
  %3351 = load ptr, ptr %8, align 8, !tbaa !5
  %3352 = getelementptr inbounds %struct.w2c_hermes, ptr %3351, i32 0, i32 6
  %3353 = load i32, ptr %37, align 4, !tbaa !9
  %3354 = zext i32 %3353 to i64
  %3355 = add i64 %3354, 160
  %3356 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3352, i64 noundef %3355, i32 noundef %3356)
  br label %3369

3357:                                             ; preds = %3292
  %3358 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3358, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %3359 = load i32, ptr %38, align 4, !tbaa !9
  %3360 = load i32, ptr %37, align 4, !tbaa !9
  %3361 = add i32 %3360, %3359
  store i32 %3361, ptr %37, align 4, !tbaa !9
  %3362 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3362, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %3363 = load i32, ptr %39, align 4, !tbaa !9
  %3364 = load i32, ptr %38, align 4, !tbaa !9
  %3365 = add i32 %3364, %3363
  store i32 %3365, ptr %38, align 4, !tbaa !9
  %3366 = load ptr, ptr %8, align 8, !tbaa !5
  %3367 = load i32, ptr %37, align 4, !tbaa !9
  %3368 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %3366, i32 noundef %3367, i32 noundef %3368)
  br label %3369

3369:                                             ; preds = %3357, %3331
  %3370 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3370, ptr %37, align 4, !tbaa !9
  %3371 = load ptr, ptr %8, align 8, !tbaa !5
  %3372 = getelementptr inbounds %struct.w2c_hermes, ptr %3371, i32 0, i32 6
  %3373 = load i32, ptr %37, align 4, !tbaa !9
  %3374 = zext i32 %3373 to i64
  %3375 = add i64 %3374, 4
  %3376 = call i32 @i32_load(ptr noundef %3372, i64 noundef %3375)
  store i32 %3376, ptr %37, align 4, !tbaa !9
  %3377 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3377, ptr %11, align 4, !tbaa !9
  %3378 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3378, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %3379 = load ptr, ptr %8, align 8, !tbaa !5
  %3380 = getelementptr inbounds %struct.w2c_hermes, ptr %3379, i32 0, i32 6
  %3381 = load i32, ptr %37, align 4, !tbaa !9
  %3382 = zext i32 %3381 to i64
  %3383 = add i64 %3382, 4
  %3384 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3380, i64 noundef %3383, i32 noundef %3384)
  %3385 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3385, ptr %37, align 4, !tbaa !9
  %3386 = load i32, ptr %37, align 4, !tbaa !9
  %3387 = icmp ne i32 %3386, 0
  br i1 %3387, label %3388, label %3463

3388:                                             ; preds = %3369
  %3389 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3389, ptr %37, align 4, !tbaa !9
  %3390 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3390, ptr %38, align 4, !tbaa !9
  %3391 = load ptr, ptr %8, align 8, !tbaa !5
  %3392 = getelementptr inbounds %struct.w2c_hermes, ptr %3391, i32 0, i32 6
  %3393 = load i32, ptr %38, align 4, !tbaa !9
  %3394 = zext i32 %3393 to i64
  %3395 = call i32 @i32_load(ptr noundef %3392, i64 noundef %3394)
  store i32 %3395, ptr %38, align 4, !tbaa !9
  %3396 = load ptr, ptr %8, align 8, !tbaa !5
  %3397 = getelementptr inbounds %struct.w2c_hermes, ptr %3396, i32 0, i32 6
  %3398 = load i32, ptr %38, align 4, !tbaa !9
  %3399 = zext i32 %3398 to i64
  %3400 = add i64 %3399, 4
  %3401 = call i32 @i32_load(ptr noundef %3397, i64 noundef %3400)
  store i32 %3401, ptr %38, align 4, !tbaa !9
  %3402 = load i32, ptr %38, align 4, !tbaa !9
  %3403 = load ptr, ptr %8, align 8, !tbaa !5
  %3404 = getelementptr inbounds %struct.w2c_hermes, ptr %3403, i32 0, i32 7
  %3405 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3404, i32 0, i32 2
  %3406 = load i32, ptr %3405, align 4, !tbaa !18
  %3407 = icmp ult i32 %3402, %3406
  br i1 %3407, label %3408, label %3431

3408:                                             ; preds = %3388
  %3409 = load ptr, ptr %8, align 8, !tbaa !5
  %3410 = getelementptr inbounds %struct.w2c_hermes, ptr %3409, i32 0, i32 7
  %3411 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3410, i32 0, i32 0
  %3412 = load ptr, ptr %3411, align 8, !tbaa !19
  %3413 = load i32, ptr %38, align 4, !tbaa !9
  %3414 = zext i32 %3413 to i64
  %3415 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3412, i64 %3414
  %3416 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3415, i32 0, i32 1
  %3417 = load ptr, ptr %3416, align 8, !tbaa !20
  %3418 = icmp ne ptr %3417, null
  br i1 %3418, label %3419, label %3431

3419:                                             ; preds = %3408
  %3420 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %3421 = load ptr, ptr %8, align 8, !tbaa !5
  %3422 = getelementptr inbounds %struct.w2c_hermes, ptr %3421, i32 0, i32 7
  %3423 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3422, i32 0, i32 0
  %3424 = load ptr, ptr %3423, align 8, !tbaa !19
  %3425 = load i32, ptr %38, align 4, !tbaa !9
  %3426 = zext i32 %3425 to i64
  %3427 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3424, i64 %3426
  %3428 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3427, i32 0, i32 0
  %3429 = load ptr, ptr %3428, align 8, !tbaa !22
  %3430 = call zeroext i1 @func_types_eq(ptr noundef %3420, ptr noundef %3429)
  br label %3431

3431:                                             ; preds = %3419, %3408, %3388
  %3432 = phi i1 [ false, %3408 ], [ false, %3388 ], [ %3430, %3419 ]
  %3433 = xor i1 %3432, true
  %3434 = xor i1 %3433, true
  %3435 = zext i1 %3434 to i32
  %3436 = sext i32 %3435 to i64
  %3437 = call i64 @llvm.expect.i64(i64 %3436, i64 1)
  %3438 = icmp ne i64 %3437, 0
  br i1 %3438, label %3441, label %3439

3439:                                             ; preds = %3431
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

3440:                                             ; No predecessors!
  br label %3441

3441:                                             ; preds = %3440, %3431
  %3442 = phi i1 [ true, %3431 ], [ false, %3440 ]
  %3443 = zext i1 %3442 to i32
  %3444 = load ptr, ptr %8, align 8, !tbaa !5
  %3445 = getelementptr inbounds %struct.w2c_hermes, ptr %3444, i32 0, i32 7
  %3446 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3445, i32 0, i32 0
  %3447 = load ptr, ptr %3446, align 8, !tbaa !19
  %3448 = load i32, ptr %38, align 4, !tbaa !9
  %3449 = zext i32 %3448 to i64
  %3450 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3447, i64 %3449
  %3451 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3450, i32 0, i32 1
  %3452 = load ptr, ptr %3451, align 8, !tbaa !20
  %3453 = load ptr, ptr %8, align 8, !tbaa !5
  %3454 = getelementptr inbounds %struct.w2c_hermes, ptr %3453, i32 0, i32 7
  %3455 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3454, i32 0, i32 0
  %3456 = load ptr, ptr %3455, align 8, !tbaa !19
  %3457 = load i32, ptr %38, align 4, !tbaa !9
  %3458 = zext i32 %3457 to i64
  %3459 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3456, i64 %3458
  %3460 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3459, i32 0, i32 2
  %3461 = load ptr, ptr %3460, align 8, !tbaa !23
  %3462 = load i32, ptr %37, align 4, !tbaa !9
  call void %3452(ptr noundef %3461, i32 noundef %3462)
  br label %3463

3463:                                             ; preds = %3441, %3369
  %3464 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3464, ptr %37, align 4, !tbaa !9
  %3465 = load ptr, ptr %8, align 8, !tbaa !5
  %3466 = getelementptr inbounds %struct.w2c_hermes, ptr %3465, i32 0, i32 6
  %3467 = load i32, ptr %37, align 4, !tbaa !9
  %3468 = zext i32 %3467 to i64
  %3469 = add i64 %3468, 160
  %3470 = call i32 @i32_load(ptr noundef %3466, i64 noundef %3469)
  store i32 %3470, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %3471 = load i32, ptr %38, align 4, !tbaa !9
  %3472 = load i32, ptr %37, align 4, !tbaa !9
  %3473 = sub i32 %3472, %3471
  store i32 %3473, ptr %37, align 4, !tbaa !9
  %3474 = load ptr, ptr %8, align 8, !tbaa !5
  %3475 = getelementptr inbounds %struct.w2c_hermes, ptr %3474, i32 0, i32 6
  %3476 = load i32, ptr %37, align 4, !tbaa !9
  %3477 = zext i32 %3476 to i64
  %3478 = call i32 @i32_load(ptr noundef %3475, i64 noundef %3477)
  store i32 %3478, ptr %37, align 4, !tbaa !9
  %3479 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3479, ptr %13, align 4, !tbaa !9
  %3480 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3480, ptr %37, align 4, !tbaa !9
  %3481 = load ptr, ptr %8, align 8, !tbaa !5
  %3482 = getelementptr inbounds %struct.w2c_hermes, ptr %3481, i32 0, i32 6
  %3483 = load i32, ptr %37, align 4, !tbaa !9
  %3484 = zext i32 %3483 to i64
  %3485 = add i64 %3484, 16
  %3486 = call i32 @i32_load(ptr noundef %3482, i64 noundef %3485)
  store i32 %3486, ptr %37, align 4, !tbaa !9
  %3487 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3487, ptr %11, align 4, !tbaa !9
  %3488 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3488, ptr %38, align 4, !tbaa !9
  %3489 = load ptr, ptr %8, align 8, !tbaa !5
  %3490 = getelementptr inbounds %struct.w2c_hermes, ptr %3489, i32 0, i32 6
  %3491 = load i32, ptr %38, align 4, !tbaa !9
  %3492 = zext i32 %3491 to i64
  %3493 = add i64 %3492, 20
  %3494 = call i32 @i32_load(ptr noundef %3490, i64 noundef %3493)
  store i32 %3494, ptr %38, align 4, !tbaa !9
  %3495 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3495, ptr %17, align 4, !tbaa !9
  %3496 = load i32, ptr %37, align 4, !tbaa !9
  %3497 = load i32, ptr %38, align 4, !tbaa !9
  %3498 = icmp ult i32 %3496, %3497
  %3499 = zext i1 %3498 to i32
  store i32 %3499, ptr %37, align 4, !tbaa !9
  %3500 = load i32, ptr %37, align 4, !tbaa !9
  %3501 = icmp ne i32 %3500, 0
  br i1 %3501, label %3502, label %3521

3502:                                             ; preds = %3463
  %3503 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3503, ptr %37, align 4, !tbaa !9
  %3504 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3504, ptr %38, align 4, !tbaa !9
  %3505 = load ptr, ptr %8, align 8, !tbaa !5
  %3506 = getelementptr inbounds %struct.w2c_hermes, ptr %3505, i32 0, i32 6
  %3507 = load i32, ptr %37, align 4, !tbaa !9
  %3508 = zext i32 %3507 to i64
  %3509 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3506, i64 noundef %3508, i32 noundef %3509)
  %3510 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3510, ptr %37, align 4, !tbaa !9
  %3511 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3511, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %3512 = load i32, ptr %39, align 4, !tbaa !9
  %3513 = load i32, ptr %38, align 4, !tbaa !9
  %3514 = add i32 %3513, %3512
  store i32 %3514, ptr %38, align 4, !tbaa !9
  %3515 = load ptr, ptr %8, align 8, !tbaa !5
  %3516 = getelementptr inbounds %struct.w2c_hermes, ptr %3515, i32 0, i32 6
  %3517 = load i32, ptr %37, align 4, !tbaa !9
  %3518 = zext i32 %3517 to i64
  %3519 = add i64 %3518, 16
  %3520 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3516, i64 noundef %3519, i32 noundef %3520)
  br label %3685

3521:                                             ; preds = %3463
  %3522 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3522, ptr %37, align 4, !tbaa !9
  %3523 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3523, ptr %38, align 4, !tbaa !9
  %3524 = load ptr, ptr %8, align 8, !tbaa !5
  %3525 = getelementptr inbounds %struct.w2c_hermes, ptr %3524, i32 0, i32 6
  %3526 = load i32, ptr %38, align 4, !tbaa !9
  %3527 = zext i32 %3526 to i64
  %3528 = add i64 %3527, 12
  %3529 = call i32 @i32_load(ptr noundef %3525, i64 noundef %3528)
  store i32 %3529, ptr %38, align 4, !tbaa !9
  %3530 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3530, ptr %11, align 4, !tbaa !9
  %3531 = load i32, ptr %38, align 4, !tbaa !9
  %3532 = load i32, ptr %37, align 4, !tbaa !9
  %3533 = sub i32 %3532, %3531
  store i32 %3533, ptr %37, align 4, !tbaa !9
  %3534 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3534, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %3535 = load i32, ptr %37, align 4, !tbaa !9
  %3536 = load i32, ptr %38, align 4, !tbaa !9
  %3537 = and i32 %3536, 31
  %3538 = ashr i32 %3535, %3537
  store i32 %3538, ptr %37, align 4, !tbaa !9
  %3539 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3539, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3540 = load i32, ptr %38, align 4, !tbaa !9
  %3541 = load i32, ptr %37, align 4, !tbaa !9
  %3542 = add i32 %3541, %3540
  store i32 %3542, ptr %37, align 4, !tbaa !9
  %3543 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3543, ptr %12, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %3544 = load i32, ptr %37, align 4, !tbaa !9
  %3545 = load i32, ptr %38, align 4, !tbaa !9
  %3546 = icmp uge i32 %3544, %3545
  %3547 = zext i1 %3546 to i32
  store i32 %3547, ptr %37, align 4, !tbaa !9
  %3548 = load i32, ptr %37, align 4, !tbaa !9
  %3549 = icmp ne i32 %3548, 0
  br i1 %3549, label %3550, label %3551

3550:                                             ; preds = %3521
  br label %18024

3551:                                             ; preds = %3521
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %3552 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3552, ptr %38, align 4, !tbaa !9
  %3553 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3553, ptr %39, align 4, !tbaa !9
  %3554 = load i32, ptr %39, align 4, !tbaa !9
  %3555 = load i32, ptr %38, align 4, !tbaa !9
  %3556 = sub i32 %3555, %3554
  store i32 %3556, ptr %38, align 4, !tbaa !9
  %3557 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3557, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %3558 = load i32, ptr %38, align 4, !tbaa !9
  %3559 = load i32, ptr %39, align 4, !tbaa !9
  %3560 = and i32 %3559, 31
  %3561 = ashr i32 %3558, %3560
  store i32 %3561, ptr %38, align 4, !tbaa !9
  %3562 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3562, ptr %21, align 4, !tbaa !9
  %3563 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3563, ptr %39, align 4, !tbaa !9
  %3564 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3564, ptr %40, align 4, !tbaa !9
  %3565 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3565, ptr %41, align 4, !tbaa !9
  %3566 = load i32, ptr %40, align 4, !tbaa !9
  %3567 = load i32, ptr %41, align 4, !tbaa !9
  %3568 = icmp ult i32 %3566, %3567
  %3569 = zext i1 %3568 to i32
  store i32 %3569, ptr %40, align 4, !tbaa !9
  %3570 = load i32, ptr %40, align 4, !tbaa !9
  %3571 = icmp ne i32 %3570, 0
  br i1 %3571, label %3572, label %3574

3572:                                             ; preds = %3551
  %3573 = load i32, ptr %38, align 4, !tbaa !9
  br label %3576

3574:                                             ; preds = %3551
  %3575 = load i32, ptr %39, align 4, !tbaa !9
  br label %3576

3576:                                             ; preds = %3574, %3572
  %3577 = phi i32 [ %3573, %3572 ], [ %3575, %3574 ]
  store i32 %3577, ptr %38, align 4, !tbaa !9
  %3578 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3578, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %3579 = load i32, ptr %39, align 4, !tbaa !9
  %3580 = load i32, ptr %40, align 4, !tbaa !9
  %3581 = icmp uge i32 %3579, %3580
  %3582 = zext i1 %3581 to i32
  store i32 %3582, ptr %39, align 4, !tbaa !9
  %3583 = load i32, ptr %39, align 4, !tbaa !9
  %3584 = icmp ne i32 %3583, 0
  br i1 %3584, label %3585, label %3587

3585:                                             ; preds = %3576
  %3586 = load i32, ptr %37, align 4, !tbaa !9
  br label %3589

3587:                                             ; preds = %3576
  %3588 = load i32, ptr %38, align 4, !tbaa !9
  br label %3589

3589:                                             ; preds = %3587, %3585
  %3590 = phi i32 [ %3586, %3585 ], [ %3588, %3587 ]
  store i32 %3590, ptr %37, align 4, !tbaa !9
  %3591 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3591, ptr %12, align 4, !tbaa !9
  %3592 = load i32, ptr %37, align 4, !tbaa !9
  %3593 = icmp ne i32 %3592, 0
  br i1 %3593, label %3594, label %3612

3594:                                             ; preds = %3589
  %3595 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3595, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %3596 = load i32, ptr %37, align 4, !tbaa !9
  %3597 = load i32, ptr %38, align 4, !tbaa !9
  %3598 = icmp uge i32 %3596, %3597
  %3599 = zext i1 %3598 to i32
  store i32 %3599, ptr %37, align 4, !tbaa !9
  %3600 = load i32, ptr %37, align 4, !tbaa !9
  %3601 = icmp ne i32 %3600, 0
  br i1 %3601, label %3602, label %3603

3602:                                             ; preds = %3594
  br label %15466

3603:                                             ; preds = %3594
  %3604 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3604, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %3605 = load i32, ptr %38, align 4, !tbaa !9
  %3606 = and i32 %3605, 31
  %3607 = load i32, ptr %37, align 4, !tbaa !9
  %3608 = shl i32 %3607, %3606
  store i32 %3608, ptr %37, align 4, !tbaa !9
  %3609 = load ptr, ptr %8, align 8, !tbaa !5
  %3610 = load i32, ptr %37, align 4, !tbaa !9
  %3611 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %3609, i32 noundef %3610)
  store i32 %3611, ptr %37, align 4, !tbaa !9
  br label %3613

3612:                                             ; preds = %3589
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %3613

3613:                                             ; preds = %3612, %3603
  %3614 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3614, ptr %17, align 4, !tbaa !9
  %3615 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3615, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %3616 = load i32, ptr %39, align 4, !tbaa !9
  %3617 = and i32 %3616, 31
  %3618 = load i32, ptr %38, align 4, !tbaa !9
  %3619 = shl i32 %3618, %3617
  store i32 %3619, ptr %38, align 4, !tbaa !9
  %3620 = load i32, ptr %38, align 4, !tbaa !9
  %3621 = load i32, ptr %37, align 4, !tbaa !9
  %3622 = add i32 %3621, %3620
  store i32 %3622, ptr %37, align 4, !tbaa !9
  %3623 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3623, ptr %22, align 4, !tbaa !9
  %3624 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3624, ptr %38, align 4, !tbaa !9
  %3625 = load ptr, ptr %8, align 8, !tbaa !5
  %3626 = getelementptr inbounds %struct.w2c_hermes, ptr %3625, i32 0, i32 6
  %3627 = load i32, ptr %37, align 4, !tbaa !9
  %3628 = zext i32 %3627 to i64
  %3629 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3626, i64 noundef %3628, i32 noundef %3629)
  %3630 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3630, ptr %37, align 4, !tbaa !9
  %3631 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3631, ptr %38, align 4, !tbaa !9
  %3632 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3632, ptr %39, align 4, !tbaa !9
  %3633 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3633, ptr %40, align 4, !tbaa !9
  %3634 = load ptr, ptr %8, align 8, !tbaa !5
  %3635 = load i32, ptr %38, align 4, !tbaa !9
  %3636 = load i32, ptr %39, align 4, !tbaa !9
  %3637 = load i32, ptr %40, align 4, !tbaa !9
  %3638 = call i32 @w2c_hermes_memmove(ptr noundef %3634, i32 noundef %3635, i32 noundef %3636, i32 noundef %3637)
  store i32 %3638, ptr %38, align 4, !tbaa !9
  %3639 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3639, ptr %13, align 4, !tbaa !9
  %3640 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3640, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3641 = load i32, ptr %40, align 4, !tbaa !9
  %3642 = and i32 %3641, 31
  %3643 = load i32, ptr %39, align 4, !tbaa !9
  %3644 = shl i32 %3643, %3642
  store i32 %3644, ptr %39, align 4, !tbaa !9
  %3645 = load i32, ptr %39, align 4, !tbaa !9
  %3646 = load i32, ptr %38, align 4, !tbaa !9
  %3647 = add i32 %3646, %3645
  store i32 %3647, ptr %38, align 4, !tbaa !9
  %3648 = load ptr, ptr %8, align 8, !tbaa !5
  %3649 = getelementptr inbounds %struct.w2c_hermes, ptr %3648, i32 0, i32 6
  %3650 = load i32, ptr %37, align 4, !tbaa !9
  %3651 = zext i32 %3650 to i64
  %3652 = add i64 %3651, 20
  %3653 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3649, i64 noundef %3652, i32 noundef %3653)
  %3654 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3654, ptr %37, align 4, !tbaa !9
  %3655 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3655, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %3656 = load i32, ptr %39, align 4, !tbaa !9
  %3657 = load i32, ptr %38, align 4, !tbaa !9
  %3658 = add i32 %3657, %3656
  store i32 %3658, ptr %38, align 4, !tbaa !9
  %3659 = load ptr, ptr %8, align 8, !tbaa !5
  %3660 = getelementptr inbounds %struct.w2c_hermes, ptr %3659, i32 0, i32 6
  %3661 = load i32, ptr %37, align 4, !tbaa !9
  %3662 = zext i32 %3661 to i64
  %3663 = add i64 %3662, 16
  %3664 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3660, i64 noundef %3663, i32 noundef %3664)
  %3665 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3665, ptr %37, align 4, !tbaa !9
  %3666 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3666, ptr %38, align 4, !tbaa !9
  %3667 = load ptr, ptr %8, align 8, !tbaa !5
  %3668 = getelementptr inbounds %struct.w2c_hermes, ptr %3667, i32 0, i32 6
  %3669 = load i32, ptr %37, align 4, !tbaa !9
  %3670 = zext i32 %3669 to i64
  %3671 = add i64 %3670, 12
  %3672 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3668, i64 noundef %3671, i32 noundef %3672)
  %3673 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3673, ptr %37, align 4, !tbaa !9
  %3674 = load i32, ptr %37, align 4, !tbaa !9
  %3675 = icmp ne i32 %3674, 0
  %3676 = xor i1 %3675, true
  %3677 = zext i1 %3676 to i32
  store i32 %3677, ptr %37, align 4, !tbaa !9
  %3678 = load i32, ptr %37, align 4, !tbaa !9
  %3679 = icmp ne i32 %3678, 0
  br i1 %3679, label %3680, label %3681

3680:                                             ; preds = %3613
  br label %3685

3681:                                             ; preds = %3613
  %3682 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3682, ptr %37, align 4, !tbaa !9
  %3683 = load ptr, ptr %8, align 8, !tbaa !5
  %3684 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %3683, i32 noundef %3684)
  br label %3685

3685:                                             ; preds = %3681, %3680, %3502
  %3686 = load ptr, ptr %8, align 8, !tbaa !5
  %3687 = getelementptr inbounds %struct.w2c_hermes, ptr %3686, i32 0, i32 3
  %3688 = load i32, ptr %3687, align 8, !tbaa !13
  store i32 %3688, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %3689 = load i32, ptr %38, align 4, !tbaa !9
  %3690 = load i32, ptr %37, align 4, !tbaa !9
  %3691 = sub i32 %3690, %3689
  store i32 %3691, ptr %37, align 4, !tbaa !9
  %3692 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3692, ptr %12, align 4, !tbaa !9
  %3693 = load i32, ptr %37, align 4, !tbaa !9
  %3694 = load ptr, ptr %8, align 8, !tbaa !5
  %3695 = getelementptr inbounds %struct.w2c_hermes, ptr %3694, i32 0, i32 3
  store i32 %3693, ptr %3695, align 8, !tbaa !13
  store i32 48, ptr %37, align 4, !tbaa !9
  %3696 = load ptr, ptr %8, align 8, !tbaa !5
  %3697 = load i32, ptr %37, align 4, !tbaa !9
  %3698 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %3696, i32 noundef %3697)
  store i32 %3698, ptr %37, align 4, !tbaa !9
  %3699 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3699, ptr %11, align 4, !tbaa !9
  %3700 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3700, ptr %37, align 4, !tbaa !9
  %3701 = load ptr, ptr %8, align 8, !tbaa !5
  %3702 = getelementptr inbounds %struct.w2c_hermes, ptr %3701, i32 0, i32 6
  %3703 = load i32, ptr %37, align 4, !tbaa !9
  %3704 = zext i32 %3703 to i64
  %3705 = add i64 %3704, 20
  %3706 = call i32 @i32_load(ptr noundef %3702, i64 noundef %3705)
  store i32 %3706, ptr %37, align 4, !tbaa !9
  %3707 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3707, ptr %17, align 4, !tbaa !9
  %3708 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3708, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %3709 = load ptr, ptr %8, align 8, !tbaa !5
  %3710 = getelementptr inbounds %struct.w2c_hermes, ptr %3709, i32 0, i32 6
  %3711 = load i32, ptr %37, align 4, !tbaa !9
  %3712 = zext i32 %3711 to i64
  %3713 = add i64 %3712, 20
  %3714 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3710, i64 noundef %3713, i32 noundef %3714)
  %3715 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3715, ptr %37, align 4, !tbaa !9
  %3716 = load ptr, ptr %8, align 8, !tbaa !5
  %3717 = getelementptr inbounds %struct.w2c_hermes, ptr %3716, i32 0, i32 6
  %3718 = load i32, ptr %37, align 4, !tbaa !9
  %3719 = zext i32 %3718 to i64
  %3720 = add i64 %3719, 12
  %3721 = call i32 @i32_load(ptr noundef %3717, i64 noundef %3720)
  store i32 %3721, ptr %37, align 4, !tbaa !9
  %3722 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3722, ptr %13, align 4, !tbaa !9
  %3723 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3723, ptr %37, align 4, !tbaa !9
  %3724 = load ptr, ptr %8, align 8, !tbaa !5
  %3725 = getelementptr inbounds %struct.w2c_hermes, ptr %3724, i32 0, i32 6
  %3726 = load i32, ptr %37, align 4, !tbaa !9
  %3727 = zext i32 %3726 to i64
  %3728 = add i64 %3727, 16
  %3729 = call i32 @i32_load(ptr noundef %3725, i64 noundef %3728)
  store i32 %3729, ptr %37, align 4, !tbaa !9
  %3730 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3730, ptr %19, align 4, !tbaa !9
  %3731 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3731, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %3732 = load ptr, ptr %8, align 8, !tbaa !5
  %3733 = getelementptr inbounds %struct.w2c_hermes, ptr %3732, i32 0, i32 6
  %3734 = load i32, ptr %37, align 4, !tbaa !9
  %3735 = zext i32 %3734 to i64
  %3736 = add i64 %3735, 12
  %3737 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3733, i64 noundef %3736, i64 noundef %3737)
  %3738 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3738, ptr %37, align 4, !tbaa !9
  %3739 = load ptr, ptr %8, align 8, !tbaa !5
  %3740 = getelementptr inbounds %struct.w2c_hermes, ptr %3739, i32 0, i32 6
  %3741 = load i32, ptr %37, align 4, !tbaa !9
  %3742 = zext i32 %3741 to i64
  %3743 = add i64 %3742, 10
  %3744 = call i32 @i32_load8_u(ptr noundef %3740, i64 noundef %3743)
  store i32 %3744, ptr %37, align 4, !tbaa !9
  %3745 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3745, ptr %22, align 4, !tbaa !9
  %3746 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3746, ptr %37, align 4, !tbaa !9
  %3747 = load ptr, ptr %8, align 8, !tbaa !5
  %3748 = getelementptr inbounds %struct.w2c_hermes, ptr %3747, i32 0, i32 6
  %3749 = load i32, ptr %37, align 4, !tbaa !9
  %3750 = zext i32 %3749 to i64
  %3751 = add i64 %3750, 11
  %3752 = call i32 @i32_load8_u(ptr noundef %3748, i64 noundef %3751)
  store i32 %3752, ptr %37, align 4, !tbaa !9
  %3753 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3753, ptr %21, align 4, !tbaa !9
  %3754 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3754, ptr %37, align 4, !tbaa !9
  %3755 = load ptr, ptr %8, align 8, !tbaa !5
  %3756 = getelementptr inbounds %struct.w2c_hermes, ptr %3755, i32 0, i32 6
  %3757 = load i32, ptr %37, align 4, !tbaa !9
  %3758 = zext i32 %3757 to i64
  %3759 = add i64 %3758, 12
  %3760 = call i32 @i32_load16_u(ptr noundef %3756, i64 noundef %3759)
  store i32 %3760, ptr %37, align 4, !tbaa !9
  %3761 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3761, ptr %23, align 4, !tbaa !9
  %3762 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3762, ptr %37, align 4, !tbaa !9
  %3763 = load ptr, ptr %8, align 8, !tbaa !5
  %3764 = getelementptr inbounds %struct.w2c_hermes, ptr %3763, i32 0, i32 6
  %3765 = load i32, ptr %37, align 4, !tbaa !9
  %3766 = zext i32 %3765 to i64
  %3767 = add i64 %3766, 14
  %3768 = call i32 @i32_load16_u(ptr noundef %3764, i64 noundef %3767)
  store i32 %3768, ptr %37, align 4, !tbaa !9
  %3769 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3769, ptr %25, align 4, !tbaa !9
  %3770 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3770, ptr %37, align 4, !tbaa !9
  %3771 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3771, ptr %38, align 4, !tbaa !9
  %3772 = load ptr, ptr %8, align 8, !tbaa !5
  %3773 = getelementptr inbounds %struct.w2c_hermes, ptr %3772, i32 0, i32 6
  %3774 = load i32, ptr %37, align 4, !tbaa !9
  %3775 = zext i32 %3774 to i64
  %3776 = add i64 %3775, 12
  %3777 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3773, i64 noundef %3776, i32 noundef %3777)
  %3778 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3778, ptr %37, align 4, !tbaa !9
  %3779 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3779, ptr %38, align 4, !tbaa !9
  %3780 = load ptr, ptr %8, align 8, !tbaa !5
  %3781 = getelementptr inbounds %struct.w2c_hermes, ptr %3780, i32 0, i32 6
  %3782 = load i32, ptr %37, align 4, !tbaa !9
  %3783 = zext i32 %3782 to i64
  %3784 = add i64 %3783, 8
  %3785 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3781, i64 noundef %3784, i32 noundef %3785)
  %3786 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3786, ptr %37, align 4, !tbaa !9
  %3787 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3787, ptr %38, align 4, !tbaa !9
  %3788 = load ptr, ptr %8, align 8, !tbaa !5
  %3789 = getelementptr inbounds %struct.w2c_hermes, ptr %3788, i32 0, i32 6
  %3790 = load i32, ptr %37, align 4, !tbaa !9
  %3791 = zext i32 %3790 to i64
  %3792 = add i64 %3791, 4
  %3793 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3789, i64 noundef %3792, i32 noundef %3793)
  %3794 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3794, ptr %37, align 4, !tbaa !9
  store i32 111960, ptr %38, align 4, !tbaa !9
  %3795 = load ptr, ptr %8, align 8, !tbaa !5
  %3796 = getelementptr inbounds %struct.w2c_hermes, ptr %3795, i32 0, i32 6
  %3797 = load i32, ptr %37, align 4, !tbaa !9
  %3798 = zext i32 %3797 to i64
  %3799 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3796, i64 noundef %3798, i32 noundef %3799)
  store i32 0, ptr %37, align 4, !tbaa !9
  %3800 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3800, ptr %17, align 4, !tbaa !9
  %3801 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3801, ptr %37, align 4, !tbaa !9
  %3802 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3802, ptr %38, align 4, !tbaa !9
  %3803 = load i32, ptr %37, align 4, !tbaa !9
  %3804 = load i32, ptr %38, align 4, !tbaa !9
  %3805 = icmp ne i32 %3803, %3804
  %3806 = zext i1 %3805 to i32
  store i32 %3806, ptr %37, align 4, !tbaa !9
  %3807 = load i32, ptr %37, align 4, !tbaa !9
  %3808 = icmp ne i32 %3807, 0
  br i1 %3808, label %3809, label %3911

3809:                                             ; preds = %3685
  br label %3810

3810:                                             ; preds = %3909, %3809
  %3811 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3811, ptr %37, align 4, !tbaa !9
  %3812 = load ptr, ptr %8, align 8, !tbaa !5
  %3813 = getelementptr inbounds %struct.w2c_hermes, ptr %3812, i32 0, i32 6
  %3814 = load i32, ptr %37, align 4, !tbaa !9
  %3815 = zext i32 %3814 to i64
  %3816 = call i32 @i32_load(ptr noundef %3813, i64 noundef %3815)
  store i32 %3816, ptr %37, align 4, !tbaa !9
  %3817 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3817, ptr %28, align 4, !tbaa !9
  %3818 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %3818, ptr %38, align 4, !tbaa !9
  %3819 = load ptr, ptr %8, align 8, !tbaa !5
  %3820 = getelementptr inbounds %struct.w2c_hermes, ptr %3819, i32 0, i32 6
  %3821 = load i32, ptr %38, align 4, !tbaa !9
  %3822 = zext i32 %3821 to i64
  %3823 = call i32 @i32_load(ptr noundef %3820, i64 noundef %3822)
  store i32 %3823, ptr %38, align 4, !tbaa !9
  %3824 = load ptr, ptr %8, align 8, !tbaa !5
  %3825 = getelementptr inbounds %struct.w2c_hermes, ptr %3824, i32 0, i32 6
  %3826 = load i32, ptr %38, align 4, !tbaa !9
  %3827 = zext i32 %3826 to i64
  %3828 = add i64 %3827, 16
  %3829 = call i32 @i32_load(ptr noundef %3825, i64 noundef %3828)
  store i32 %3829, ptr %38, align 4, !tbaa !9
  %3830 = load i32, ptr %38, align 4, !tbaa !9
  %3831 = load ptr, ptr %8, align 8, !tbaa !5
  %3832 = getelementptr inbounds %struct.w2c_hermes, ptr %3831, i32 0, i32 7
  %3833 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3832, i32 0, i32 2
  %3834 = load i32, ptr %3833, align 4, !tbaa !18
  %3835 = icmp ult i32 %3830, %3834
  br i1 %3835, label %3836, label %3859

3836:                                             ; preds = %3810
  %3837 = load ptr, ptr %8, align 8, !tbaa !5
  %3838 = getelementptr inbounds %struct.w2c_hermes, ptr %3837, i32 0, i32 7
  %3839 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3838, i32 0, i32 0
  %3840 = load ptr, ptr %3839, align 8, !tbaa !19
  %3841 = load i32, ptr %38, align 4, !tbaa !9
  %3842 = zext i32 %3841 to i64
  %3843 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3840, i64 %3842
  %3844 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3843, i32 0, i32 1
  %3845 = load ptr, ptr %3844, align 8, !tbaa !20
  %3846 = icmp ne ptr %3845, null
  br i1 %3846, label %3847, label %3859

3847:                                             ; preds = %3836
  %3848 = load ptr, ptr @w2c_hermes_t5, align 8, !tbaa !5
  %3849 = load ptr, ptr %8, align 8, !tbaa !5
  %3850 = getelementptr inbounds %struct.w2c_hermes, ptr %3849, i32 0, i32 7
  %3851 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3850, i32 0, i32 0
  %3852 = load ptr, ptr %3851, align 8, !tbaa !19
  %3853 = load i32, ptr %38, align 4, !tbaa !9
  %3854 = zext i32 %3853 to i64
  %3855 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3852, i64 %3854
  %3856 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3855, i32 0, i32 0
  %3857 = load ptr, ptr %3856, align 8, !tbaa !22
  %3858 = call zeroext i1 @func_types_eq(ptr noundef %3848, ptr noundef %3857)
  br label %3859

3859:                                             ; preds = %3847, %3836, %3810
  %3860 = phi i1 [ false, %3836 ], [ false, %3810 ], [ %3858, %3847 ]
  %3861 = xor i1 %3860, true
  %3862 = xor i1 %3861, true
  %3863 = zext i1 %3862 to i32
  %3864 = sext i32 %3863 to i64
  %3865 = call i64 @llvm.expect.i64(i64 %3864, i64 1)
  %3866 = icmp ne i64 %3865, 0
  br i1 %3866, label %3869, label %3867

3867:                                             ; preds = %3859
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

3868:                                             ; No predecessors!
  br label %3869

3869:                                             ; preds = %3868, %3859
  %3870 = phi i1 [ true, %3859 ], [ false, %3868 ]
  %3871 = zext i1 %3870 to i32
  %3872 = load ptr, ptr %8, align 8, !tbaa !5
  %3873 = getelementptr inbounds %struct.w2c_hermes, ptr %3872, i32 0, i32 7
  %3874 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3873, i32 0, i32 0
  %3875 = load ptr, ptr %3874, align 8, !tbaa !19
  %3876 = load i32, ptr %38, align 4, !tbaa !9
  %3877 = zext i32 %3876 to i64
  %3878 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3875, i64 %3877
  %3879 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3878, i32 0, i32 1
  %3880 = load ptr, ptr %3879, align 8, !tbaa !20
  %3881 = load ptr, ptr %8, align 8, !tbaa !5
  %3882 = getelementptr inbounds %struct.w2c_hermes, ptr %3881, i32 0, i32 7
  %3883 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3882, i32 0, i32 0
  %3884 = load ptr, ptr %3883, align 8, !tbaa !19
  %3885 = load i32, ptr %38, align 4, !tbaa !9
  %3886 = zext i32 %3885 to i64
  %3887 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3884, i64 %3886
  %3888 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3887, i32 0, i32 2
  %3889 = load ptr, ptr %3888, align 8, !tbaa !23
  %3890 = load i32, ptr %37, align 4, !tbaa !9
  %3891 = call i32 %3880(ptr noundef %3889, i32 noundef %3890)
  store i32 %3891, ptr %37, align 4, !tbaa !9
  %3892 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3892, ptr %38, align 4, !tbaa !9
  %3893 = load i32, ptr %38, align 4, !tbaa !9
  %3894 = load i32, ptr %37, align 4, !tbaa !9
  %3895 = or i32 %3894, %3893
  store i32 %3895, ptr %37, align 4, !tbaa !9
  %3896 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3896, ptr %17, align 4, !tbaa !9
  %3897 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3897, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %3898 = load i32, ptr %38, align 4, !tbaa !9
  %3899 = load i32, ptr %37, align 4, !tbaa !9
  %3900 = add i32 %3899, %3898
  store i32 %3900, ptr %37, align 4, !tbaa !9
  %3901 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3901, ptr %13, align 4, !tbaa !9
  %3902 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3902, ptr %38, align 4, !tbaa !9
  %3903 = load i32, ptr %37, align 4, !tbaa !9
  %3904 = load i32, ptr %38, align 4, !tbaa !9
  %3905 = icmp ne i32 %3903, %3904
  %3906 = zext i1 %3905 to i32
  store i32 %3906, ptr %37, align 4, !tbaa !9
  %3907 = load i32, ptr %37, align 4, !tbaa !9
  %3908 = icmp ne i32 %3907, 0
  br i1 %3908, label %3909, label %3910

3909:                                             ; preds = %3869
  br label %3810

3910:                                             ; preds = %3869
  br label %3911

3911:                                             ; preds = %3910, %3685
  %3912 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3912, ptr %37, align 4, !tbaa !9
  %3913 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3913, ptr %38, align 4, !tbaa !9
  %3914 = load ptr, ptr %8, align 8, !tbaa !5
  %3915 = getelementptr inbounds %struct.w2c_hermes, ptr %3914, i32 0, i32 6
  %3916 = load i32, ptr %37, align 4, !tbaa !9
  %3917 = zext i32 %3916 to i64
  %3918 = add i64 %3917, 22
  %3919 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %3915, i64 noundef %3918, i32 noundef %3919)
  %3920 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3920, ptr %37, align 4, !tbaa !9
  %3921 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3921, ptr %38, align 4, !tbaa !9
  %3922 = load ptr, ptr %8, align 8, !tbaa !5
  %3923 = getelementptr inbounds %struct.w2c_hermes, ptr %3922, i32 0, i32 6
  %3924 = load i32, ptr %37, align 4, !tbaa !9
  %3925 = zext i32 %3924 to i64
  %3926 = add i64 %3925, 20
  %3927 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %3923, i64 noundef %3926, i32 noundef %3927)
  %3928 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3928, ptr %37, align 4, !tbaa !9
  %3929 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3929, ptr %38, align 4, !tbaa !9
  %3930 = load ptr, ptr %8, align 8, !tbaa !5
  %3931 = getelementptr inbounds %struct.w2c_hermes, ptr %3930, i32 0, i32 6
  %3932 = load i32, ptr %37, align 4, !tbaa !9
  %3933 = zext i32 %3932 to i64
  %3934 = add i64 %3933, 18
  %3935 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %3931, i64 noundef %3934, i32 noundef %3935)
  %3936 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3936, ptr %37, align 4, !tbaa !9
  %3937 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3937, ptr %38, align 4, !tbaa !9
  %3938 = load ptr, ptr %8, align 8, !tbaa !5
  %3939 = getelementptr inbounds %struct.w2c_hermes, ptr %3938, i32 0, i32 6
  %3940 = load i32, ptr %37, align 4, !tbaa !9
  %3941 = zext i32 %3940 to i64
  %3942 = add i64 %3941, 17
  %3943 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %3939, i64 noundef %3942, i32 noundef %3943)
  %3944 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3944, ptr %37, align 4, !tbaa !9
  %3945 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3945, ptr %38, align 4, !tbaa !9
  %3946 = load ptr, ptr %8, align 8, !tbaa !5
  %3947 = getelementptr inbounds %struct.w2c_hermes, ptr %3946, i32 0, i32 6
  %3948 = load i32, ptr %37, align 4, !tbaa !9
  %3949 = zext i32 %3948 to i64
  %3950 = add i64 %3949, 16
  %3951 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %3947, i64 noundef %3950, i32 noundef %3951)
  %3952 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3952, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %3953 = load ptr, ptr %8, align 8, !tbaa !5
  %3954 = getelementptr inbounds %struct.w2c_hermes, ptr %3953, i32 0, i32 6
  %3955 = load i32, ptr %37, align 4, !tbaa !9
  %3956 = zext i32 %3955 to i64
  %3957 = add i64 %3956, 40
  %3958 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3954, i64 noundef %3957, i32 noundef %3958)
  %3959 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3959, ptr %37, align 4, !tbaa !9
  %3960 = load i32, ptr %37, align 4, !tbaa !9
  %3961 = icmp ne i32 %3960, 0
  %3962 = xor i1 %3961, true
  %3963 = zext i1 %3962 to i32
  store i32 %3963, ptr %37, align 4, !tbaa !9
  %3964 = load i32, ptr %37, align 4, !tbaa !9
  %3965 = icmp ne i32 %3964, 0
  br i1 %3965, label %3966, label %3978

3966:                                             ; preds = %3911
  %3967 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3967, ptr %37, align 4, !tbaa !9
  %3968 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3968, ptr %38, align 4, !tbaa !9
  store i32 253, ptr %39, align 4, !tbaa !9
  %3969 = load i32, ptr %39, align 4, !tbaa !9
  %3970 = load i32, ptr %38, align 4, !tbaa !9
  %3971 = and i32 %3970, %3969
  store i32 %3971, ptr %38, align 4, !tbaa !9
  %3972 = load ptr, ptr %8, align 8, !tbaa !5
  %3973 = getelementptr inbounds %struct.w2c_hermes, ptr %3972, i32 0, i32 6
  %3974 = load i32, ptr %37, align 4, !tbaa !9
  %3975 = zext i32 %3974 to i64
  %3976 = add i64 %3975, 16
  %3977 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %3973, i64 noundef %3976, i32 noundef %3977)
  br label %3978

3978:                                             ; preds = %3966, %3911
  %3979 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3979, ptr %37, align 4, !tbaa !9
  %3980 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3980, ptr %38, align 4, !tbaa !9
  %3981 = load ptr, ptr %8, align 8, !tbaa !5
  %3982 = getelementptr inbounds %struct.w2c_hermes, ptr %3981, i32 0, i32 6
  %3983 = load i32, ptr %37, align 4, !tbaa !9
  %3984 = zext i32 %3983 to i64
  %3985 = add i64 %3984, 12
  %3986 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3982, i64 noundef %3985, i32 noundef %3986)
  %3987 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3987, ptr %37, align 4, !tbaa !9
  %3988 = load ptr, ptr %8, align 8, !tbaa !5
  %3989 = getelementptr inbounds %struct.w2c_hermes, ptr %3988, i32 0, i32 6
  %3990 = load i32, ptr %37, align 4, !tbaa !9
  %3991 = zext i32 %3990 to i64
  %3992 = add i64 %3991, 160
  %3993 = call i32 @i32_load(ptr noundef %3989, i64 noundef %3992)
  store i32 %3993, ptr %37, align 4, !tbaa !9
  %3994 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3994, ptr %13, align 4, !tbaa !9
  %3995 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3995, ptr %38, align 4, !tbaa !9
  %3996 = load ptr, ptr %8, align 8, !tbaa !5
  %3997 = getelementptr inbounds %struct.w2c_hermes, ptr %3996, i32 0, i32 6
  %3998 = load i32, ptr %38, align 4, !tbaa !9
  %3999 = zext i32 %3998 to i64
  %4000 = add i64 %3999, 164
  %4001 = call i32 @i32_load(ptr noundef %3997, i64 noundef %4000)
  store i32 %4001, ptr %38, align 4, !tbaa !9
  %4002 = load i32, ptr %37, align 4, !tbaa !9
  %4003 = load i32, ptr %38, align 4, !tbaa !9
  %4004 = icmp ult i32 %4002, %4003
  %4005 = zext i1 %4004 to i32
  store i32 %4005, ptr %37, align 4, !tbaa !9
  %4006 = load i32, ptr %37, align 4, !tbaa !9
  %4007 = icmp ne i32 %4006, 0
  br i1 %4007, label %4008, label %4034

4008:                                             ; preds = %3978
  %4009 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4009, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %4010 = load ptr, ptr %8, align 8, !tbaa !5
  %4011 = getelementptr inbounds %struct.w2c_hermes, ptr %4010, i32 0, i32 6
  %4012 = load i32, ptr %37, align 4, !tbaa !9
  %4013 = zext i32 %4012 to i64
  %4014 = add i64 %4013, 12
  %4015 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4011, i64 noundef %4014, i32 noundef %4015)
  %4016 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4016, ptr %37, align 4, !tbaa !9
  %4017 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4017, ptr %38, align 4, !tbaa !9
  %4018 = load ptr, ptr %8, align 8, !tbaa !5
  %4019 = getelementptr inbounds %struct.w2c_hermes, ptr %4018, i32 0, i32 6
  %4020 = load i32, ptr %37, align 4, !tbaa !9
  %4021 = zext i32 %4020 to i64
  %4022 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4019, i64 noundef %4021, i32 noundef %4022)
  %4023 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4023, ptr %37, align 4, !tbaa !9
  %4024 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4024, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %4025 = load i32, ptr %39, align 4, !tbaa !9
  %4026 = load i32, ptr %38, align 4, !tbaa !9
  %4027 = add i32 %4026, %4025
  store i32 %4027, ptr %38, align 4, !tbaa !9
  %4028 = load ptr, ptr %8, align 8, !tbaa !5
  %4029 = getelementptr inbounds %struct.w2c_hermes, ptr %4028, i32 0, i32 6
  %4030 = load i32, ptr %37, align 4, !tbaa !9
  %4031 = zext i32 %4030 to i64
  %4032 = add i64 %4031, 160
  %4033 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4029, i64 noundef %4032, i32 noundef %4033)
  br label %4046

4034:                                             ; preds = %3978
  %4035 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4035, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %4036 = load i32, ptr %38, align 4, !tbaa !9
  %4037 = load i32, ptr %37, align 4, !tbaa !9
  %4038 = add i32 %4037, %4036
  store i32 %4038, ptr %37, align 4, !tbaa !9
  %4039 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4039, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %4040 = load i32, ptr %39, align 4, !tbaa !9
  %4041 = load i32, ptr %38, align 4, !tbaa !9
  %4042 = add i32 %4041, %4040
  store i32 %4042, ptr %38, align 4, !tbaa !9
  %4043 = load ptr, ptr %8, align 8, !tbaa !5
  %4044 = load i32, ptr %37, align 4, !tbaa !9
  %4045 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %4043, i32 noundef %4044, i32 noundef %4045)
  br label %4046

4046:                                             ; preds = %4034, %4008
  %4047 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4047, ptr %37, align 4, !tbaa !9
  %4048 = load ptr, ptr %8, align 8, !tbaa !5
  %4049 = getelementptr inbounds %struct.w2c_hermes, ptr %4048, i32 0, i32 6
  %4050 = load i32, ptr %37, align 4, !tbaa !9
  %4051 = zext i32 %4050 to i64
  %4052 = add i64 %4051, 12
  %4053 = call i32 @i32_load(ptr noundef %4049, i64 noundef %4052)
  store i32 %4053, ptr %37, align 4, !tbaa !9
  %4054 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4054, ptr %13, align 4, !tbaa !9
  %4055 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4055, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %4056 = load ptr, ptr %8, align 8, !tbaa !5
  %4057 = getelementptr inbounds %struct.w2c_hermes, ptr %4056, i32 0, i32 6
  %4058 = load i32, ptr %37, align 4, !tbaa !9
  %4059 = zext i32 %4058 to i64
  %4060 = add i64 %4059, 12
  %4061 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4057, i64 noundef %4060, i32 noundef %4061)
  %4062 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4062, ptr %37, align 4, !tbaa !9
  %4063 = load i32, ptr %37, align 4, !tbaa !9
  %4064 = icmp ne i32 %4063, 0
  br i1 %4064, label %4065, label %4140

4065:                                             ; preds = %4046
  %4066 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4066, ptr %37, align 4, !tbaa !9
  %4067 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4067, ptr %38, align 4, !tbaa !9
  %4068 = load ptr, ptr %8, align 8, !tbaa !5
  %4069 = getelementptr inbounds %struct.w2c_hermes, ptr %4068, i32 0, i32 6
  %4070 = load i32, ptr %38, align 4, !tbaa !9
  %4071 = zext i32 %4070 to i64
  %4072 = call i32 @i32_load(ptr noundef %4069, i64 noundef %4071)
  store i32 %4072, ptr %38, align 4, !tbaa !9
  %4073 = load ptr, ptr %8, align 8, !tbaa !5
  %4074 = getelementptr inbounds %struct.w2c_hermes, ptr %4073, i32 0, i32 6
  %4075 = load i32, ptr %38, align 4, !tbaa !9
  %4076 = zext i32 %4075 to i64
  %4077 = add i64 %4076, 4
  %4078 = call i32 @i32_load(ptr noundef %4074, i64 noundef %4077)
  store i32 %4078, ptr %38, align 4, !tbaa !9
  %4079 = load i32, ptr %38, align 4, !tbaa !9
  %4080 = load ptr, ptr %8, align 8, !tbaa !5
  %4081 = getelementptr inbounds %struct.w2c_hermes, ptr %4080, i32 0, i32 7
  %4082 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4081, i32 0, i32 2
  %4083 = load i32, ptr %4082, align 4, !tbaa !18
  %4084 = icmp ult i32 %4079, %4083
  br i1 %4084, label %4085, label %4108

4085:                                             ; preds = %4065
  %4086 = load ptr, ptr %8, align 8, !tbaa !5
  %4087 = getelementptr inbounds %struct.w2c_hermes, ptr %4086, i32 0, i32 7
  %4088 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4087, i32 0, i32 0
  %4089 = load ptr, ptr %4088, align 8, !tbaa !19
  %4090 = load i32, ptr %38, align 4, !tbaa !9
  %4091 = zext i32 %4090 to i64
  %4092 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4089, i64 %4091
  %4093 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4092, i32 0, i32 1
  %4094 = load ptr, ptr %4093, align 8, !tbaa !20
  %4095 = icmp ne ptr %4094, null
  br i1 %4095, label %4096, label %4108

4096:                                             ; preds = %4085
  %4097 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %4098 = load ptr, ptr %8, align 8, !tbaa !5
  %4099 = getelementptr inbounds %struct.w2c_hermes, ptr %4098, i32 0, i32 7
  %4100 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4099, i32 0, i32 0
  %4101 = load ptr, ptr %4100, align 8, !tbaa !19
  %4102 = load i32, ptr %38, align 4, !tbaa !9
  %4103 = zext i32 %4102 to i64
  %4104 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4101, i64 %4103
  %4105 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4104, i32 0, i32 0
  %4106 = load ptr, ptr %4105, align 8, !tbaa !22
  %4107 = call zeroext i1 @func_types_eq(ptr noundef %4097, ptr noundef %4106)
  br label %4108

4108:                                             ; preds = %4096, %4085, %4065
  %4109 = phi i1 [ false, %4085 ], [ false, %4065 ], [ %4107, %4096 ]
  %4110 = xor i1 %4109, true
  %4111 = xor i1 %4110, true
  %4112 = zext i1 %4111 to i32
  %4113 = sext i32 %4112 to i64
  %4114 = call i64 @llvm.expect.i64(i64 %4113, i64 1)
  %4115 = icmp ne i64 %4114, 0
  br i1 %4115, label %4118, label %4116

4116:                                             ; preds = %4108
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

4117:                                             ; No predecessors!
  br label %4118

4118:                                             ; preds = %4117, %4108
  %4119 = phi i1 [ true, %4108 ], [ false, %4117 ]
  %4120 = zext i1 %4119 to i32
  %4121 = load ptr, ptr %8, align 8, !tbaa !5
  %4122 = getelementptr inbounds %struct.w2c_hermes, ptr %4121, i32 0, i32 7
  %4123 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4122, i32 0, i32 0
  %4124 = load ptr, ptr %4123, align 8, !tbaa !19
  %4125 = load i32, ptr %38, align 4, !tbaa !9
  %4126 = zext i32 %4125 to i64
  %4127 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4124, i64 %4126
  %4128 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4127, i32 0, i32 1
  %4129 = load ptr, ptr %4128, align 8, !tbaa !20
  %4130 = load ptr, ptr %8, align 8, !tbaa !5
  %4131 = getelementptr inbounds %struct.w2c_hermes, ptr %4130, i32 0, i32 7
  %4132 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4131, i32 0, i32 0
  %4133 = load ptr, ptr %4132, align 8, !tbaa !19
  %4134 = load i32, ptr %38, align 4, !tbaa !9
  %4135 = zext i32 %4134 to i64
  %4136 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4133, i64 %4135
  %4137 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4136, i32 0, i32 2
  %4138 = load ptr, ptr %4137, align 8, !tbaa !23
  %4139 = load i32, ptr %37, align 4, !tbaa !9
  call void %4129(ptr noundef %4138, i32 noundef %4139)
  br label %4140

4140:                                             ; preds = %4118, %4046
  %4141 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4141, ptr %37, align 4, !tbaa !9
  %4142 = load ptr, ptr %8, align 8, !tbaa !5
  %4143 = getelementptr inbounds %struct.w2c_hermes, ptr %4142, i32 0, i32 6
  %4144 = load i32, ptr %37, align 4, !tbaa !9
  %4145 = zext i32 %4144 to i64
  %4146 = add i64 %4145, 148
  %4147 = call i32 @i32_load(ptr noundef %4143, i64 noundef %4146)
  store i32 %4147, ptr %37, align 4, !tbaa !9
  %4148 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4148, ptr %13, align 4, !tbaa !9
  %4149 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4149, ptr %38, align 4, !tbaa !9
  %4150 = load ptr, ptr %8, align 8, !tbaa !5
  %4151 = getelementptr inbounds %struct.w2c_hermes, ptr %4150, i32 0, i32 6
  %4152 = load i32, ptr %38, align 4, !tbaa !9
  %4153 = zext i32 %4152 to i64
  %4154 = add i64 %4153, 152
  %4155 = call i32 @i32_load(ptr noundef %4151, i64 noundef %4154)
  store i32 %4155, ptr %38, align 4, !tbaa !9
  %4156 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4156, ptr %19, align 4, !tbaa !9
  %4157 = load i32, ptr %37, align 4, !tbaa !9
  %4158 = load i32, ptr %38, align 4, !tbaa !9
  %4159 = icmp ult i32 %4157, %4158
  %4160 = zext i1 %4159 to i32
  store i32 %4160, ptr %37, align 4, !tbaa !9
  %4161 = load i32, ptr %37, align 4, !tbaa !9
  %4162 = icmp ne i32 %4161, 0
  br i1 %4162, label %4163, label %4182

4163:                                             ; preds = %4140
  %4164 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4164, ptr %37, align 4, !tbaa !9
  %4165 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4165, ptr %38, align 4, !tbaa !9
  %4166 = load ptr, ptr %8, align 8, !tbaa !5
  %4167 = getelementptr inbounds %struct.w2c_hermes, ptr %4166, i32 0, i32 6
  %4168 = load i32, ptr %37, align 4, !tbaa !9
  %4169 = zext i32 %4168 to i64
  %4170 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4167, i64 noundef %4169, i32 noundef %4170)
  %4171 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4171, ptr %37, align 4, !tbaa !9
  %4172 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4172, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %4173 = load i32, ptr %39, align 4, !tbaa !9
  %4174 = load i32, ptr %38, align 4, !tbaa !9
  %4175 = add i32 %4174, %4173
  store i32 %4175, ptr %38, align 4, !tbaa !9
  %4176 = load ptr, ptr %8, align 8, !tbaa !5
  %4177 = getelementptr inbounds %struct.w2c_hermes, ptr %4176, i32 0, i32 6
  %4178 = load i32, ptr %37, align 4, !tbaa !9
  %4179 = zext i32 %4178 to i64
  %4180 = add i64 %4179, 148
  %4181 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4177, i64 noundef %4180, i32 noundef %4181)
  br label %4346

4182:                                             ; preds = %4140
  %4183 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4183, ptr %37, align 4, !tbaa !9
  %4184 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4184, ptr %38, align 4, !tbaa !9
  %4185 = load ptr, ptr %8, align 8, !tbaa !5
  %4186 = getelementptr inbounds %struct.w2c_hermes, ptr %4185, i32 0, i32 6
  %4187 = load i32, ptr %38, align 4, !tbaa !9
  %4188 = zext i32 %4187 to i64
  %4189 = add i64 %4188, 144
  %4190 = call i32 @i32_load(ptr noundef %4186, i64 noundef %4189)
  store i32 %4190, ptr %38, align 4, !tbaa !9
  %4191 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4191, ptr %13, align 4, !tbaa !9
  %4192 = load i32, ptr %38, align 4, !tbaa !9
  %4193 = load i32, ptr %37, align 4, !tbaa !9
  %4194 = sub i32 %4193, %4192
  store i32 %4194, ptr %37, align 4, !tbaa !9
  %4195 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4195, ptr %22, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %4196 = load i32, ptr %37, align 4, !tbaa !9
  %4197 = load i32, ptr %38, align 4, !tbaa !9
  %4198 = and i32 %4197, 31
  %4199 = ashr i32 %4196, %4198
  store i32 %4199, ptr %37, align 4, !tbaa !9
  %4200 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4200, ptr %21, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4201 = load i32, ptr %38, align 4, !tbaa !9
  %4202 = load i32, ptr %37, align 4, !tbaa !9
  %4203 = add i32 %4202, %4201
  store i32 %4203, ptr %37, align 4, !tbaa !9
  %4204 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4204, ptr %17, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %4205 = load i32, ptr %37, align 4, !tbaa !9
  %4206 = load i32, ptr %38, align 4, !tbaa !9
  %4207 = icmp uge i32 %4205, %4206
  %4208 = zext i1 %4207 to i32
  store i32 %4208, ptr %37, align 4, !tbaa !9
  %4209 = load i32, ptr %37, align 4, !tbaa !9
  %4210 = icmp ne i32 %4209, 0
  br i1 %4210, label %4211, label %4212

4211:                                             ; preds = %4182
  br label %18024

4212:                                             ; preds = %4182
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %4213 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4213, ptr %38, align 4, !tbaa !9
  %4214 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4214, ptr %39, align 4, !tbaa !9
  %4215 = load i32, ptr %39, align 4, !tbaa !9
  %4216 = load i32, ptr %38, align 4, !tbaa !9
  %4217 = sub i32 %4216, %4215
  store i32 %4217, ptr %38, align 4, !tbaa !9
  %4218 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4218, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4219 = load i32, ptr %38, align 4, !tbaa !9
  %4220 = load i32, ptr %39, align 4, !tbaa !9
  %4221 = and i32 %4220, 31
  %4222 = ashr i32 %4219, %4221
  store i32 %4222, ptr %38, align 4, !tbaa !9
  %4223 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4223, ptr %23, align 4, !tbaa !9
  %4224 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4224, ptr %39, align 4, !tbaa !9
  %4225 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4225, ptr %40, align 4, !tbaa !9
  %4226 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4226, ptr %41, align 4, !tbaa !9
  %4227 = load i32, ptr %40, align 4, !tbaa !9
  %4228 = load i32, ptr %41, align 4, !tbaa !9
  %4229 = icmp ult i32 %4227, %4228
  %4230 = zext i1 %4229 to i32
  store i32 %4230, ptr %40, align 4, !tbaa !9
  %4231 = load i32, ptr %40, align 4, !tbaa !9
  %4232 = icmp ne i32 %4231, 0
  br i1 %4232, label %4233, label %4235

4233:                                             ; preds = %4212
  %4234 = load i32, ptr %38, align 4, !tbaa !9
  br label %4237

4235:                                             ; preds = %4212
  %4236 = load i32, ptr %39, align 4, !tbaa !9
  br label %4237

4237:                                             ; preds = %4235, %4233
  %4238 = phi i32 [ %4234, %4233 ], [ %4236, %4235 ]
  store i32 %4238, ptr %38, align 4, !tbaa !9
  %4239 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4239, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %4240 = load i32, ptr %39, align 4, !tbaa !9
  %4241 = load i32, ptr %40, align 4, !tbaa !9
  %4242 = icmp uge i32 %4240, %4241
  %4243 = zext i1 %4242 to i32
  store i32 %4243, ptr %39, align 4, !tbaa !9
  %4244 = load i32, ptr %39, align 4, !tbaa !9
  %4245 = icmp ne i32 %4244, 0
  br i1 %4245, label %4246, label %4248

4246:                                             ; preds = %4237
  %4247 = load i32, ptr %37, align 4, !tbaa !9
  br label %4250

4248:                                             ; preds = %4237
  %4249 = load i32, ptr %38, align 4, !tbaa !9
  br label %4250

4250:                                             ; preds = %4248, %4246
  %4251 = phi i32 [ %4247, %4246 ], [ %4249, %4248 ]
  store i32 %4251, ptr %37, align 4, !tbaa !9
  %4252 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4252, ptr %17, align 4, !tbaa !9
  %4253 = load i32, ptr %37, align 4, !tbaa !9
  %4254 = icmp ne i32 %4253, 0
  br i1 %4254, label %4255, label %4273

4255:                                             ; preds = %4250
  %4256 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4256, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %4257 = load i32, ptr %37, align 4, !tbaa !9
  %4258 = load i32, ptr %38, align 4, !tbaa !9
  %4259 = icmp uge i32 %4257, %4258
  %4260 = zext i1 %4259 to i32
  store i32 %4260, ptr %37, align 4, !tbaa !9
  %4261 = load i32, ptr %37, align 4, !tbaa !9
  %4262 = icmp ne i32 %4261, 0
  br i1 %4262, label %4263, label %4264

4263:                                             ; preds = %4255
  br label %18026

4264:                                             ; preds = %4255
  %4265 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4265, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %4266 = load i32, ptr %38, align 4, !tbaa !9
  %4267 = and i32 %4266, 31
  %4268 = load i32, ptr %37, align 4, !tbaa !9
  %4269 = shl i32 %4268, %4267
  store i32 %4269, ptr %37, align 4, !tbaa !9
  %4270 = load ptr, ptr %8, align 8, !tbaa !5
  %4271 = load i32, ptr %37, align 4, !tbaa !9
  %4272 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %4270, i32 noundef %4271)
  store i32 %4272, ptr %37, align 4, !tbaa !9
  br label %4274

4273:                                             ; preds = %4250
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %4274

4274:                                             ; preds = %4273, %4264
  %4275 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4275, ptr %19, align 4, !tbaa !9
  %4276 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %4276, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %4277 = load i32, ptr %39, align 4, !tbaa !9
  %4278 = and i32 %4277, 31
  %4279 = load i32, ptr %38, align 4, !tbaa !9
  %4280 = shl i32 %4279, %4278
  store i32 %4280, ptr %38, align 4, !tbaa !9
  %4281 = load i32, ptr %38, align 4, !tbaa !9
  %4282 = load i32, ptr %37, align 4, !tbaa !9
  %4283 = add i32 %4282, %4281
  store i32 %4283, ptr %37, align 4, !tbaa !9
  %4284 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4284, ptr %21, align 4, !tbaa !9
  %4285 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4285, ptr %38, align 4, !tbaa !9
  %4286 = load ptr, ptr %8, align 8, !tbaa !5
  %4287 = getelementptr inbounds %struct.w2c_hermes, ptr %4286, i32 0, i32 6
  %4288 = load i32, ptr %37, align 4, !tbaa !9
  %4289 = zext i32 %4288 to i64
  %4290 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4287, i64 noundef %4289, i32 noundef %4290)
  %4291 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4291, ptr %37, align 4, !tbaa !9
  %4292 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4292, ptr %38, align 4, !tbaa !9
  %4293 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4293, ptr %39, align 4, !tbaa !9
  %4294 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4294, ptr %40, align 4, !tbaa !9
  %4295 = load ptr, ptr %8, align 8, !tbaa !5
  %4296 = load i32, ptr %38, align 4, !tbaa !9
  %4297 = load i32, ptr %39, align 4, !tbaa !9
  %4298 = load i32, ptr %40, align 4, !tbaa !9
  %4299 = call i32 @w2c_hermes_memmove(ptr noundef %4295, i32 noundef %4296, i32 noundef %4297, i32 noundef %4298)
  store i32 %4299, ptr %38, align 4, !tbaa !9
  %4300 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4300, ptr %11, align 4, !tbaa !9
  %4301 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4301, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %4302 = load i32, ptr %40, align 4, !tbaa !9
  %4303 = and i32 %4302, 31
  %4304 = load i32, ptr %39, align 4, !tbaa !9
  %4305 = shl i32 %4304, %4303
  store i32 %4305, ptr %39, align 4, !tbaa !9
  %4306 = load i32, ptr %39, align 4, !tbaa !9
  %4307 = load i32, ptr %38, align 4, !tbaa !9
  %4308 = add i32 %4307, %4306
  store i32 %4308, ptr %38, align 4, !tbaa !9
  %4309 = load ptr, ptr %8, align 8, !tbaa !5
  %4310 = getelementptr inbounds %struct.w2c_hermes, ptr %4309, i32 0, i32 6
  %4311 = load i32, ptr %37, align 4, !tbaa !9
  %4312 = zext i32 %4311 to i64
  %4313 = add i64 %4312, 152
  %4314 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4310, i64 noundef %4313, i32 noundef %4314)
  %4315 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4315, ptr %37, align 4, !tbaa !9
  %4316 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %4316, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %4317 = load i32, ptr %39, align 4, !tbaa !9
  %4318 = load i32, ptr %38, align 4, !tbaa !9
  %4319 = add i32 %4318, %4317
  store i32 %4319, ptr %38, align 4, !tbaa !9
  %4320 = load ptr, ptr %8, align 8, !tbaa !5
  %4321 = getelementptr inbounds %struct.w2c_hermes, ptr %4320, i32 0, i32 6
  %4322 = load i32, ptr %37, align 4, !tbaa !9
  %4323 = zext i32 %4322 to i64
  %4324 = add i64 %4323, 148
  %4325 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4321, i64 noundef %4324, i32 noundef %4325)
  %4326 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4326, ptr %37, align 4, !tbaa !9
  %4327 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4327, ptr %38, align 4, !tbaa !9
  %4328 = load ptr, ptr %8, align 8, !tbaa !5
  %4329 = getelementptr inbounds %struct.w2c_hermes, ptr %4328, i32 0, i32 6
  %4330 = load i32, ptr %37, align 4, !tbaa !9
  %4331 = zext i32 %4330 to i64
  %4332 = add i64 %4331, 144
  %4333 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4329, i64 noundef %4332, i32 noundef %4333)
  %4334 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4334, ptr %37, align 4, !tbaa !9
  %4335 = load i32, ptr %37, align 4, !tbaa !9
  %4336 = icmp ne i32 %4335, 0
  %4337 = xor i1 %4336, true
  %4338 = zext i1 %4337 to i32
  store i32 %4338, ptr %37, align 4, !tbaa !9
  %4339 = load i32, ptr %37, align 4, !tbaa !9
  %4340 = icmp ne i32 %4339, 0
  br i1 %4340, label %4341, label %4342

4341:                                             ; preds = %4274
  br label %4346

4342:                                             ; preds = %4274
  %4343 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4343, ptr %37, align 4, !tbaa !9
  %4344 = load ptr, ptr %8, align 8, !tbaa !5
  %4345 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4344, i32 noundef %4345)
  br label %4346

4346:                                             ; preds = %4342, %4341, %4163
  %4347 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4347, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %4348 = load i32, ptr %38, align 4, !tbaa !9
  %4349 = load i32, ptr %37, align 4, !tbaa !9
  %4350 = add i32 %4349, %4348
  store i32 %4350, ptr %37, align 4, !tbaa !9
  %4351 = load i32, ptr %37, align 4, !tbaa !9
  %4352 = load ptr, ptr %8, align 8, !tbaa !5
  %4353 = getelementptr inbounds %struct.w2c_hermes, ptr %4352, i32 0, i32 3
  store i32 %4351, ptr %4353, align 8, !tbaa !13
  br label %4354

4354:                                             ; preds = %4346
  %4355 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4355, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %4356 = load i32, ptr %38, align 4, !tbaa !9
  %4357 = load i32, ptr %37, align 4, !tbaa !9
  %4358 = add i32 %4357, %4356
  store i32 %4358, ptr %37, align 4, !tbaa !9
  %4359 = load i32, ptr %37, align 4, !tbaa !9
  %4360 = load ptr, ptr %8, align 8, !tbaa !5
  %4361 = getelementptr inbounds %struct.w2c_hermes, ptr %4360, i32 0, i32 3
  store i32 %4359, ptr %4361, align 8, !tbaa !13
  %4362 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4362, ptr %37, align 4, !tbaa !9
  %4363 = load ptr, ptr %8, align 8, !tbaa !5
  %4364 = getelementptr inbounds %struct.w2c_hermes, ptr %4363, i32 0, i32 6
  %4365 = load i32, ptr %37, align 4, !tbaa !9
  %4366 = zext i32 %4365 to i64
  %4367 = add i64 %4366, 12
  %4368 = call i32 @i32_load(ptr noundef %4364, i64 noundef %4367)
  store i32 %4368, ptr %37, align 4, !tbaa !9
  %4369 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4369, ptr %10, align 4, !tbaa !9
  %4370 = load i32, ptr %37, align 4, !tbaa !9
  %4371 = icmp ne i32 %4370, 0
  br i1 %4371, label %4372, label %4384

4372:                                             ; preds = %4354
  %4373 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4373, ptr %37, align 4, !tbaa !9
  %4374 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4374, ptr %38, align 4, !tbaa !9
  %4375 = load ptr, ptr %8, align 8, !tbaa !5
  %4376 = getelementptr inbounds %struct.w2c_hermes, ptr %4375, i32 0, i32 6
  %4377 = load i32, ptr %37, align 4, !tbaa !9
  %4378 = zext i32 %4377 to i64
  %4379 = add i64 %4378, 16
  %4380 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4376, i64 noundef %4379, i32 noundef %4380)
  %4381 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4381, ptr %37, align 4, !tbaa !9
  %4382 = load ptr, ptr %8, align 8, !tbaa !5
  %4383 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4382, i32 noundef %4383)
  br label %4384

4384:                                             ; preds = %4372, %4354
  %4385 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4385, ptr %37, align 4, !tbaa !9
  %4386 = load ptr, ptr %8, align 8, !tbaa !5
  %4387 = getelementptr inbounds %struct.w2c_hermes, ptr %4386, i32 0, i32 6
  %4388 = load i32, ptr %37, align 4, !tbaa !9
  %4389 = zext i32 %4388 to i64
  %4390 = add i64 %4389, 24
  %4391 = call i32 @i32_load(ptr noundef %4387, i64 noundef %4390)
  store i32 %4391, ptr %37, align 4, !tbaa !9
  %4392 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4392, ptr %10, align 4, !tbaa !9
  %4393 = load i32, ptr %37, align 4, !tbaa !9
  %4394 = icmp ne i32 %4393, 0
  %4395 = xor i1 %4394, true
  %4396 = zext i1 %4395 to i32
  store i32 %4396, ptr %37, align 4, !tbaa !9
  %4397 = load i32, ptr %37, align 4, !tbaa !9
  %4398 = icmp ne i32 %4397, 0
  br i1 %4398, label %4399, label %4400

4399:                                             ; preds = %4384
  br label %4412

4400:                                             ; preds = %4384
  %4401 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4401, ptr %37, align 4, !tbaa !9
  %4402 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4402, ptr %38, align 4, !tbaa !9
  %4403 = load ptr, ptr %8, align 8, !tbaa !5
  %4404 = getelementptr inbounds %struct.w2c_hermes, ptr %4403, i32 0, i32 6
  %4405 = load i32, ptr %37, align 4, !tbaa !9
  %4406 = zext i32 %4405 to i64
  %4407 = add i64 %4406, 28
  %4408 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4404, i64 noundef %4407, i32 noundef %4408)
  %4409 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4409, ptr %37, align 4, !tbaa !9
  %4410 = load ptr, ptr %8, align 8, !tbaa !5
  %4411 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4410, i32 noundef %4411)
  br label %4412

4412:                                             ; preds = %4400, %4399, %2627, %2626, %1815, %1813
  %4413 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4413, ptr %37, align 4, !tbaa !9
  %4414 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4414, ptr %38, align 4, !tbaa !9
  store i32 60, ptr %39, align 4, !tbaa !9
  %4415 = load i32, ptr %39, align 4, !tbaa !9
  %4416 = load i32, ptr %38, align 4, !tbaa !9
  %4417 = add i32 %4416, %4415
  store i32 %4417, ptr %38, align 4, !tbaa !9
  %4418 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4418, ptr %12, align 4, !tbaa !9
  %4419 = load ptr, ptr %8, align 8, !tbaa !5
  %4420 = load i32, ptr %37, align 4, !tbaa !9
  %4421 = load i32, ptr %38, align 4, !tbaa !9
  %4422 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %4419, i32 noundef %4420, i32 noundef %4421)
  store i32 %4422, ptr %37, align 4, !tbaa !9
  %4423 = load i32, ptr %37, align 4, !tbaa !9
  %4424 = icmp ne i32 %4423, 0
  %4425 = xor i1 %4424, true
  %4426 = zext i1 %4425 to i32
  store i32 %4426, ptr %37, align 4, !tbaa !9
  %4427 = load i32, ptr %37, align 4, !tbaa !9
  %4428 = icmp ne i32 %4427, 0
  br i1 %4428, label %4429, label %4430

4429:                                             ; preds = %4412
  br label %4531

4430:                                             ; preds = %4412
  store i32 1, ptr %37, align 4, !tbaa !9
  %4431 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4431, ptr %11, align 4, !tbaa !9
  %4432 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4432, ptr %37, align 4, !tbaa !9
  %4433 = load ptr, ptr %8, align 8, !tbaa !5
  %4434 = getelementptr inbounds %struct.w2c_hermes, ptr %4433, i32 0, i32 6
  %4435 = load i32, ptr %37, align 4, !tbaa !9
  %4436 = zext i32 %4435 to i64
  %4437 = add i64 %4436, 4
  %4438 = call i32 @i32_load(ptr noundef %4434, i64 noundef %4437)
  store i32 %4438, ptr %37, align 4, !tbaa !9
  %4439 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4439, ptr %10, align 4, !tbaa !9
  %4440 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4440, ptr %38, align 4, !tbaa !9
  %4441 = load ptr, ptr %8, align 8, !tbaa !5
  %4442 = getelementptr inbounds %struct.w2c_hermes, ptr %4441, i32 0, i32 6
  %4443 = load i32, ptr %38, align 4, !tbaa !9
  %4444 = zext i32 %4443 to i64
  %4445 = add i64 %4444, 8
  %4446 = call i32 @i32_load(ptr noundef %4442, i64 noundef %4445)
  store i32 %4446, ptr %38, align 4, !tbaa !9
  %4447 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4447, ptr %13, align 4, !tbaa !9
  %4448 = load i32, ptr %37, align 4, !tbaa !9
  %4449 = load i32, ptr %38, align 4, !tbaa !9
  %4450 = icmp eq i32 %4448, %4449
  %4451 = zext i1 %4450 to i32
  store i32 %4451, ptr %37, align 4, !tbaa !9
  %4452 = load i32, ptr %37, align 4, !tbaa !9
  %4453 = icmp ne i32 %4452, 0
  br i1 %4453, label %4454, label %4455

4454:                                             ; preds = %4430
  br label %4482

4455:                                             ; preds = %4430
  %4456 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4456, ptr %37, align 4, !tbaa !9
  %4457 = load ptr, ptr %8, align 8, !tbaa !5
  %4458 = getelementptr inbounds %struct.w2c_hermes, ptr %4457, i32 0, i32 6
  %4459 = load i32, ptr %37, align 4, !tbaa !9
  %4460 = zext i32 %4459 to i64
  %4461 = call i32 @i32_load16_u(ptr noundef %4458, i64 noundef %4460)
  store i32 %4461, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %4462 = load i32, ptr %37, align 4, !tbaa !9
  %4463 = load i32, ptr %38, align 4, !tbaa !9
  %4464 = icmp ne i32 %4462, %4463
  %4465 = zext i1 %4464 to i32
  store i32 %4465, ptr %37, align 4, !tbaa !9
  %4466 = load i32, ptr %37, align 4, !tbaa !9
  %4467 = icmp ne i32 %4466, 0
  br i1 %4467, label %4468, label %4469

4468:                                             ; preds = %4455
  br label %4482

4469:                                             ; preds = %4455
  %4470 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4470, ptr %37, align 4, !tbaa !9
  %4471 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4471, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %4472 = load i32, ptr %39, align 4, !tbaa !9
  %4473 = load i32, ptr %38, align 4, !tbaa !9
  %4474 = add i32 %4473, %4472
  store i32 %4474, ptr %38, align 4, !tbaa !9
  %4475 = load ptr, ptr %8, align 8, !tbaa !5
  %4476 = getelementptr inbounds %struct.w2c_hermes, ptr %4475, i32 0, i32 6
  %4477 = load i32, ptr %37, align 4, !tbaa !9
  %4478 = zext i32 %4477 to i64
  %4479 = add i64 %4478, 4
  %4480 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4476, i64 noundef %4479, i32 noundef %4480)
  store i32 0, ptr %37, align 4, !tbaa !9
  %4481 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4481, ptr %11, align 4, !tbaa !9
  br label %4482

4482:                                             ; preds = %4469, %4468, %4454
  %4483 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4483, ptr %37, align 4, !tbaa !9
  %4484 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4484, ptr %38, align 4, !tbaa !9
  %4485 = load ptr, ptr %8, align 8, !tbaa !5
  %4486 = getelementptr inbounds %struct.w2c_hermes, ptr %4485, i32 0, i32 6
  %4487 = load i32, ptr %37, align 4, !tbaa !9
  %4488 = zext i32 %4487 to i64
  %4489 = add i64 %4488, 68
  %4490 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %4486, i64 noundef %4489, i32 noundef %4490)
  %4491 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4491, ptr %37, align 4, !tbaa !9
  %4492 = load i32, ptr %37, align 4, !tbaa !9
  %4493 = icmp ne i32 %4492, 0
  %4494 = xor i1 %4493, true
  %4495 = zext i1 %4494 to i32
  store i32 %4495, ptr %37, align 4, !tbaa !9
  %4496 = load i32, ptr %37, align 4, !tbaa !9
  %4497 = icmp ne i32 %4496, 0
  br i1 %4497, label %4498, label %4525

4498:                                             ; preds = %4482
  %4499 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4499, ptr %37, align 4, !tbaa !9
  %4500 = load ptr, ptr %8, align 8, !tbaa !5
  %4501 = getelementptr inbounds %struct.w2c_hermes, ptr %4500, i32 0, i32 6
  %4502 = load i32, ptr %37, align 4, !tbaa !9
  %4503 = zext i32 %4502 to i64
  %4504 = add i64 %4503, 12
  %4505 = call i32 @i32_load(ptr noundef %4501, i64 noundef %4504)
  store i32 %4505, ptr %37, align 4, !tbaa !9
  %4506 = load i32, ptr %37, align 4, !tbaa !9
  %4507 = icmp ne i32 %4506, 0
  br i1 %4507, label %4508, label %4509

4508:                                             ; preds = %4498
  br label %4531

4509:                                             ; preds = %4498
  %4510 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4510, ptr %37, align 4, !tbaa !9
  %4511 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4511, ptr %38, align 4, !tbaa !9
  %4512 = load ptr, ptr %8, align 8, !tbaa !5
  %4513 = getelementptr inbounds %struct.w2c_hermes, ptr %4512, i32 0, i32 6
  %4514 = load i32, ptr %37, align 4, !tbaa !9
  %4515 = zext i32 %4514 to i64
  %4516 = add i64 %4515, 4
  %4517 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4513, i64 noundef %4516, i32 noundef %4517)
  %4518 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4518, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %4519 = load ptr, ptr %8, align 8, !tbaa !5
  %4520 = getelementptr inbounds %struct.w2c_hermes, ptr %4519, i32 0, i32 6
  %4521 = load i32, ptr %37, align 4, !tbaa !9
  %4522 = zext i32 %4521 to i64
  %4523 = add i64 %4522, 12
  %4524 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4520, i64 noundef %4523, i32 noundef %4524)
  br label %4531

4525:                                             ; preds = %4482
  %4526 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4526, ptr %37, align 4, !tbaa !9
  %4527 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4527, ptr %38, align 4, !tbaa !9
  %4528 = load ptr, ptr %8, align 8, !tbaa !5
  %4529 = load i32, ptr %37, align 4, !tbaa !9
  %4530 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AapplyQuantifier0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x20const0x260x29(ptr noundef %4528, i32 noundef %4529, i32 noundef %4530)
  br label %4531

4531:                                             ; preds = %4525, %4509, %4508, %4429
  %4532 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4532, ptr %37, align 4, !tbaa !9
  %4533 = load ptr, ptr %8, align 8, !tbaa !5
  %4534 = getelementptr inbounds %struct.w2c_hermes, ptr %4533, i32 0, i32 6
  %4535 = load i32, ptr %37, align 4, !tbaa !9
  %4536 = zext i32 %4535 to i64
  %4537 = add i64 %4536, 76
  %4538 = call i32 @i32_load(ptr noundef %4534, i64 noundef %4537)
  store i32 %4538, ptr %37, align 4, !tbaa !9
  %4539 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4539, ptr %12, align 4, !tbaa !9
  %4540 = load i32, ptr %37, align 4, !tbaa !9
  %4541 = icmp ne i32 %4540, 0
  br i1 %4541, label %4542, label %4620

4542:                                             ; preds = %4531
  %4543 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4543, ptr %37, align 4, !tbaa !9
  %4544 = load ptr, ptr %8, align 8, !tbaa !5
  %4545 = getelementptr inbounds %struct.w2c_hermes, ptr %4544, i32 0, i32 6
  %4546 = load i32, ptr %37, align 4, !tbaa !9
  %4547 = zext i32 %4546 to i64
  %4548 = add i64 %4547, 80
  %4549 = call i32 @i32_load(ptr noundef %4545, i64 noundef %4548)
  store i32 %4549, ptr %37, align 4, !tbaa !9
  %4550 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4550, ptr %11, align 4, !tbaa !9
  %4551 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4551, ptr %38, align 4, !tbaa !9
  %4552 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4552, ptr %10, align 4, !tbaa !9
  %4553 = load i32, ptr %37, align 4, !tbaa !9
  %4554 = load i32, ptr %38, align 4, !tbaa !9
  %4555 = icmp ne i32 %4553, %4554
  %4556 = zext i1 %4555 to i32
  store i32 %4556, ptr %37, align 4, !tbaa !9
  %4557 = load i32, ptr %37, align 4, !tbaa !9
  %4558 = icmp ne i32 %4557, 0
  br i1 %4558, label %4559, label %4608

4559:                                             ; preds = %4542
  br label %4560

4560:                                             ; preds = %4598, %4559
  %4561 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4561, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %4562 = load i32, ptr %38, align 4, !tbaa !9
  %4563 = load i32, ptr %37, align 4, !tbaa !9
  %4564 = sub i32 %4563, %4562
  store i32 %4564, ptr %37, align 4, !tbaa !9
  %4565 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4565, ptr %10, align 4, !tbaa !9
  %4566 = load ptr, ptr %8, align 8, !tbaa !5
  %4567 = getelementptr inbounds %struct.w2c_hermes, ptr %4566, i32 0, i32 6
  %4568 = load i32, ptr %37, align 4, !tbaa !9
  %4569 = zext i32 %4568 to i64
  %4570 = call i32 @i32_load(ptr noundef %4567, i64 noundef %4569)
  store i32 %4570, ptr %37, align 4, !tbaa !9
  %4571 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4571, ptr %13, align 4, !tbaa !9
  %4572 = load i32, ptr %37, align 4, !tbaa !9
  %4573 = icmp ne i32 %4572, 0
  br i1 %4573, label %4574, label %4588

4574:                                             ; preds = %4560
  %4575 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4575, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %4576 = load i32, ptr %38, align 4, !tbaa !9
  %4577 = load i32, ptr %37, align 4, !tbaa !9
  %4578 = sub i32 %4577, %4576
  store i32 %4578, ptr %37, align 4, !tbaa !9
  %4579 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4579, ptr %38, align 4, !tbaa !9
  %4580 = load ptr, ptr %8, align 8, !tbaa !5
  %4581 = getelementptr inbounds %struct.w2c_hermes, ptr %4580, i32 0, i32 6
  %4582 = load i32, ptr %37, align 4, !tbaa !9
  %4583 = zext i32 %4582 to i64
  %4584 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4581, i64 noundef %4583, i32 noundef %4584)
  %4585 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4585, ptr %37, align 4, !tbaa !9
  %4586 = load ptr, ptr %8, align 8, !tbaa !5
  %4587 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4586, i32 noundef %4587)
  br label %4588

4588:                                             ; preds = %4574, %4560
  %4589 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4589, ptr %37, align 4, !tbaa !9
  %4590 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4590, ptr %11, align 4, !tbaa !9
  %4591 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4591, ptr %38, align 4, !tbaa !9
  %4592 = load i32, ptr %37, align 4, !tbaa !9
  %4593 = load i32, ptr %38, align 4, !tbaa !9
  %4594 = icmp ne i32 %4592, %4593
  %4595 = zext i1 %4594 to i32
  store i32 %4595, ptr %37, align 4, !tbaa !9
  %4596 = load i32, ptr %37, align 4, !tbaa !9
  %4597 = icmp ne i32 %4596, 0
  br i1 %4597, label %4598, label %4599

4598:                                             ; preds = %4588
  br label %4560

4599:                                             ; preds = %4588
  %4600 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4600, ptr %37, align 4, !tbaa !9
  %4601 = load ptr, ptr %8, align 8, !tbaa !5
  %4602 = getelementptr inbounds %struct.w2c_hermes, ptr %4601, i32 0, i32 6
  %4603 = load i32, ptr %37, align 4, !tbaa !9
  %4604 = zext i32 %4603 to i64
  %4605 = add i64 %4604, 76
  %4606 = call i32 @i32_load(ptr noundef %4602, i64 noundef %4605)
  store i32 %4606, ptr %37, align 4, !tbaa !9
  %4607 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4607, ptr %10, align 4, !tbaa !9
  br label %4608

4608:                                             ; preds = %4599, %4542
  %4609 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4609, ptr %37, align 4, !tbaa !9
  %4610 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4610, ptr %38, align 4, !tbaa !9
  %4611 = load ptr, ptr %8, align 8, !tbaa !5
  %4612 = getelementptr inbounds %struct.w2c_hermes, ptr %4611, i32 0, i32 6
  %4613 = load i32, ptr %37, align 4, !tbaa !9
  %4614 = zext i32 %4613 to i64
  %4615 = add i64 %4614, 80
  %4616 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4612, i64 noundef %4615, i32 noundef %4616)
  %4617 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4617, ptr %37, align 4, !tbaa !9
  %4618 = load ptr, ptr %8, align 8, !tbaa !5
  %4619 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4618, i32 noundef %4619)
  br label %4620

4620:                                             ; preds = %4608, %4531
  %4621 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4621, ptr %37, align 4, !tbaa !9
  store i32 96, ptr %38, align 4, !tbaa !9
  %4622 = load i32, ptr %38, align 4, !tbaa !9
  %4623 = load i32, ptr %37, align 4, !tbaa !9
  %4624 = add i32 %4623, %4622
  store i32 %4624, ptr %37, align 4, !tbaa !9
  %4625 = load i32, ptr %37, align 4, !tbaa !9
  %4626 = load ptr, ptr %8, align 8, !tbaa !5
  %4627 = getelementptr inbounds %struct.w2c_hermes, ptr %4626, i32 0, i32 3
  store i32 %4625, ptr %4627, align 8, !tbaa !13
  br label %8585

4628:                                             ; preds = %1445
  %4629 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4629, ptr %37, align 4, !tbaa !9
  store i32 6, ptr %38, align 4, !tbaa !9
  %4630 = load i32, ptr %38, align 4, !tbaa !9
  %4631 = load i32, ptr %37, align 4, !tbaa !9
  %4632 = add i32 %4631, %4630
  store i32 %4632, ptr %37, align 4, !tbaa !9
  %4633 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4633, ptr %10, align 4, !tbaa !9
  %4634 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4634, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %4635 = load i32, ptr %38, align 4, !tbaa !9
  %4636 = load i32, ptr %37, align 4, !tbaa !9
  %4637 = add i32 %4636, %4635
  store i32 %4637, ptr %37, align 4, !tbaa !9
  %4638 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4638, ptr %38, align 4, !tbaa !9
  %4639 = load i32, ptr %37, align 4, !tbaa !9
  %4640 = load i32, ptr %38, align 4, !tbaa !9
  %4641 = icmp eq i32 %4639, %4640
  %4642 = zext i1 %4641 to i32
  store i32 %4642, ptr %37, align 4, !tbaa !9
  %4643 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4643, ptr %11, align 4, !tbaa !9
  %4644 = load i32, ptr %37, align 4, !tbaa !9
  %4645 = icmp ne i32 %4644, 0
  br i1 %4645, label %4646, label %4647

4646:                                             ; preds = %4628
  br label %4870

4647:                                             ; preds = %4628
  %4648 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4648, ptr %37, align 4, !tbaa !9
  %4649 = load ptr, ptr %8, align 8, !tbaa !5
  %4650 = getelementptr inbounds %struct.w2c_hermes, ptr %4649, i32 0, i32 6
  %4651 = load i32, ptr %37, align 4, !tbaa !9
  %4652 = zext i32 %4651 to i64
  %4653 = add i64 %4652, 2
  %4654 = call i32 @i32_load16_u(ptr noundef %4650, i64 noundef %4653)
  store i32 %4654, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %4655 = load i32, ptr %37, align 4, !tbaa !9
  %4656 = load i32, ptr %38, align 4, !tbaa !9
  %4657 = icmp ne i32 %4655, %4656
  %4658 = zext i1 %4657 to i32
  store i32 %4658, ptr %37, align 4, !tbaa !9
  %4659 = load i32, ptr %37, align 4, !tbaa !9
  %4660 = icmp ne i32 %4659, 0
  br i1 %4660, label %4661, label %4662

4661:                                             ; preds = %4647
  br label %4870

4662:                                             ; preds = %4647
  %4663 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4663, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4664 = load i32, ptr %38, align 4, !tbaa !9
  %4665 = load i32, ptr %37, align 4, !tbaa !9
  %4666 = add i32 %4665, %4664
  store i32 %4666, ptr %37, align 4, !tbaa !9
  %4667 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4667, ptr %38, align 4, !tbaa !9
  %4668 = load i32, ptr %37, align 4, !tbaa !9
  %4669 = load i32, ptr %38, align 4, !tbaa !9
  %4670 = icmp eq i32 %4668, %4669
  %4671 = zext i1 %4670 to i32
  store i32 %4671, ptr %37, align 4, !tbaa !9
  %4672 = load i32, ptr %37, align 4, !tbaa !9
  %4673 = icmp ne i32 %4672, 0
  br i1 %4673, label %4674, label %4675

4674:                                             ; preds = %4662
  br label %4870

4675:                                             ; preds = %4662
  %4676 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4676, ptr %37, align 4, !tbaa !9
  %4677 = load ptr, ptr %8, align 8, !tbaa !5
  %4678 = getelementptr inbounds %struct.w2c_hermes, ptr %4677, i32 0, i32 6
  %4679 = load i32, ptr %37, align 4, !tbaa !9
  %4680 = zext i32 %4679 to i64
  %4681 = add i64 %4680, 4
  %4682 = call i32 @i32_load16_u(ptr noundef %4678, i64 noundef %4681)
  store i32 %4682, ptr %37, align 4, !tbaa !9
  store i32 61, ptr %38, align 4, !tbaa !9
  %4683 = load i32, ptr %37, align 4, !tbaa !9
  %4684 = load i32, ptr %38, align 4, !tbaa !9
  %4685 = icmp ne i32 %4683, %4684
  %4686 = zext i1 %4685 to i32
  store i32 %4686, ptr %37, align 4, !tbaa !9
  %4687 = load i32, ptr %37, align 4, !tbaa !9
  %4688 = icmp ne i32 %4687, 0
  br i1 %4688, label %4689, label %4690

4689:                                             ; preds = %4675
  br label %4870

4690:                                             ; preds = %4675
  %4691 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4691, ptr %37, align 4, !tbaa !9
  %4692 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4692, ptr %38, align 4, !tbaa !9
  %4693 = load ptr, ptr %8, align 8, !tbaa !5
  %4694 = getelementptr inbounds %struct.w2c_hermes, ptr %4693, i32 0, i32 6
  %4695 = load i32, ptr %37, align 4, !tbaa !9
  %4696 = zext i32 %4695 to i64
  %4697 = add i64 %4696, 4
  %4698 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4694, i64 noundef %4697, i32 noundef %4698)
  %4699 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4699, ptr %37, align 4, !tbaa !9
  %4700 = load ptr, ptr %8, align 8, !tbaa !5
  %4701 = getelementptr inbounds %struct.w2c_hermes, ptr %4700, i32 0, i32 6
  %4702 = load i32, ptr %37, align 4, !tbaa !9
  %4703 = zext i32 %4702 to i64
  %4704 = call i32 @i32_load(ptr noundef %4701, i64 noundef %4703)
  store i32 %4704, ptr %37, align 4, !tbaa !9
  %4705 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4705, ptr %10, align 4, !tbaa !9
  %4706 = load ptr, ptr %8, align 8, !tbaa !5
  %4707 = getelementptr inbounds %struct.w2c_hermes, ptr %4706, i32 0, i32 6
  %4708 = load i32, ptr %37, align 4, !tbaa !9
  %4709 = zext i32 %4708 to i64
  %4710 = add i64 %4709, 148
  %4711 = call i32 @i32_load(ptr noundef %4707, i64 noundef %4710)
  store i32 %4711, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4712 = load i32, ptr %38, align 4, !tbaa !9
  %4713 = load i32, ptr %37, align 4, !tbaa !9
  %4714 = sub i32 %4713, %4712
  store i32 %4714, ptr %37, align 4, !tbaa !9
  %4715 = load ptr, ptr %8, align 8, !tbaa !5
  %4716 = getelementptr inbounds %struct.w2c_hermes, ptr %4715, i32 0, i32 6
  %4717 = load i32, ptr %37, align 4, !tbaa !9
  %4718 = zext i32 %4717 to i64
  %4719 = call i32 @i32_load(ptr noundef %4716, i64 noundef %4718)
  store i32 %4719, ptr %37, align 4, !tbaa !9
  %4720 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4720, ptr %11, align 4, !tbaa !9
  %4721 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4721, ptr %37, align 4, !tbaa !9
  %4722 = load ptr, ptr %8, align 8, !tbaa !5
  %4723 = getelementptr inbounds %struct.w2c_hermes, ptr %4722, i32 0, i32 6
  %4724 = load i32, ptr %37, align 4, !tbaa !9
  %4725 = zext i32 %4724 to i64
  %4726 = add i64 %4725, 138
  %4727 = call i32 @i32_load16_u(ptr noundef %4723, i64 noundef %4726)
  store i32 %4727, ptr %37, align 4, !tbaa !9
  %4728 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4728, ptr %12, align 4, !tbaa !9
  %4729 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4729, ptr %37, align 4, !tbaa !9
  %4730 = load ptr, ptr %8, align 8, !tbaa !5
  %4731 = getelementptr inbounds %struct.w2c_hermes, ptr %4730, i32 0, i32 6
  %4732 = load i32, ptr %37, align 4, !tbaa !9
  %4733 = zext i32 %4732 to i64
  %4734 = add i64 %4733, 16
  %4735 = call i32 @i32_load(ptr noundef %4731, i64 noundef %4734)
  store i32 %4735, ptr %37, align 4, !tbaa !9
  %4736 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4736, ptr %14, align 4, !tbaa !9
  %4737 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4737, ptr %38, align 4, !tbaa !9
  %4738 = load ptr, ptr %8, align 8, !tbaa !5
  %4739 = getelementptr inbounds %struct.w2c_hermes, ptr %4738, i32 0, i32 6
  %4740 = load i32, ptr %38, align 4, !tbaa !9
  %4741 = zext i32 %4740 to i64
  %4742 = add i64 %4741, 20
  %4743 = call i32 @i32_load(ptr noundef %4739, i64 noundef %4742)
  store i32 %4743, ptr %38, align 4, !tbaa !9
  %4744 = load i32, ptr %37, align 4, !tbaa !9
  %4745 = load i32, ptr %38, align 4, !tbaa !9
  %4746 = icmp uge i32 %4744, %4745
  %4747 = zext i1 %4746 to i32
  store i32 %4747, ptr %37, align 4, !tbaa !9
  %4748 = load i32, ptr %37, align 4, !tbaa !9
  %4749 = icmp ne i32 %4748, 0
  br i1 %4749, label %4750, label %4765

4750:                                             ; preds = %4690
  %4751 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4751, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %4752 = load i32, ptr %38, align 4, !tbaa !9
  %4753 = load i32, ptr %37, align 4, !tbaa !9
  %4754 = add i32 %4753, %4752
  store i32 %4754, ptr %37, align 4, !tbaa !9
  %4755 = load ptr, ptr %8, align 8, !tbaa !5
  %4756 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %4755, i32 noundef %4756)
  %4757 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4757, ptr %37, align 4, !tbaa !9
  %4758 = load ptr, ptr %8, align 8, !tbaa !5
  %4759 = getelementptr inbounds %struct.w2c_hermes, ptr %4758, i32 0, i32 6
  %4760 = load i32, ptr %37, align 4, !tbaa !9
  %4761 = zext i32 %4760 to i64
  %4762 = add i64 %4761, 16
  %4763 = call i32 @i32_load(ptr noundef %4759, i64 noundef %4762)
  store i32 %4763, ptr %37, align 4, !tbaa !9
  %4764 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4764, ptr %14, align 4, !tbaa !9
  br label %4765

4765:                                             ; preds = %4750, %4690
  %4766 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4766, ptr %37, align 4, !tbaa !9
  %4767 = load ptr, ptr %8, align 8, !tbaa !5
  %4768 = getelementptr inbounds %struct.w2c_hermes, ptr %4767, i32 0, i32 6
  %4769 = load i32, ptr %37, align 4, !tbaa !9
  %4770 = zext i32 %4769 to i64
  %4771 = add i64 %4770, 12
  %4772 = call i32 @i32_load(ptr noundef %4768, i64 noundef %4771)
  store i32 %4772, ptr %37, align 4, !tbaa !9
  %4773 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4773, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %4774 = load i32, ptr %39, align 4, !tbaa !9
  %4775 = load i32, ptr %38, align 4, !tbaa !9
  %4776 = mul i32 %4775, %4774
  store i32 %4776, ptr %38, align 4, !tbaa !9
  %4777 = load i32, ptr %38, align 4, !tbaa !9
  %4778 = load i32, ptr %37, align 4, !tbaa !9
  %4779 = add i32 %4778, %4777
  store i32 %4779, ptr %37, align 4, !tbaa !9
  %4780 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4780, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %4781 = load ptr, ptr %8, align 8, !tbaa !5
  %4782 = getelementptr inbounds %struct.w2c_hermes, ptr %4781, i32 0, i32 6
  %4783 = load i32, ptr %37, align 4, !tbaa !9
  %4784 = zext i32 %4783 to i64
  %4785 = add i64 %4784, 28
  %4786 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4782, i64 noundef %4785, i64 noundef %4786)
  %4787 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4787, ptr %37, align 4, !tbaa !9
  %4788 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4788, ptr %38, align 4, !tbaa !9
  %4789 = load ptr, ptr %8, align 8, !tbaa !5
  %4790 = getelementptr inbounds %struct.w2c_hermes, ptr %4789, i32 0, i32 6
  %4791 = load i32, ptr %37, align 4, !tbaa !9
  %4792 = zext i32 %4791 to i64
  %4793 = add i64 %4792, 24
  %4794 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4790, i64 noundef %4793, i32 noundef %4794)
  %4795 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4795, ptr %37, align 4, !tbaa !9
  %4796 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4796, ptr %38, align 4, !tbaa !9
  %4797 = load ptr, ptr %8, align 8, !tbaa !5
  %4798 = getelementptr inbounds %struct.w2c_hermes, ptr %4797, i32 0, i32 6
  %4799 = load i32, ptr %37, align 4, !tbaa !9
  %4800 = zext i32 %4799 to i64
  %4801 = add i64 %4800, 22
  %4802 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4798, i64 noundef %4801, i32 noundef %4802)
  %4803 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4803, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4804 = load ptr, ptr %8, align 8, !tbaa !5
  %4805 = getelementptr inbounds %struct.w2c_hermes, ptr %4804, i32 0, i32 6
  %4806 = load i32, ptr %37, align 4, !tbaa !9
  %4807 = zext i32 %4806 to i64
  %4808 = add i64 %4807, 20
  %4809 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %4805, i64 noundef %4808, i32 noundef %4809)
  %4810 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4810, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %4811 = load ptr, ptr %8, align 8, !tbaa !5
  %4812 = getelementptr inbounds %struct.w2c_hermes, ptr %4811, i32 0, i32 6
  %4813 = load i32, ptr %37, align 4, !tbaa !9
  %4814 = zext i32 %4813 to i64
  %4815 = add i64 %4814, 12
  %4816 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4812, i64 noundef %4815, i64 noundef %4816)
  %4817 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4817, ptr %37, align 4, !tbaa !9
  %4818 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4818, ptr %38, align 4, !tbaa !9
  %4819 = load ptr, ptr %8, align 8, !tbaa !5
  %4820 = getelementptr inbounds %struct.w2c_hermes, ptr %4819, i32 0, i32 6
  %4821 = load i32, ptr %37, align 4, !tbaa !9
  %4822 = zext i32 %4821 to i64
  %4823 = add i64 %4822, 8
  %4824 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4820, i64 noundef %4823, i32 noundef %4824)
  %4825 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4825, ptr %37, align 4, !tbaa !9
  %4826 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4826, ptr %38, align 4, !tbaa !9
  %4827 = load ptr, ptr %8, align 8, !tbaa !5
  %4828 = getelementptr inbounds %struct.w2c_hermes, ptr %4827, i32 0, i32 6
  %4829 = load i32, ptr %37, align 4, !tbaa !9
  %4830 = zext i32 %4829 to i64
  %4831 = add i64 %4830, 4
  %4832 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4828, i64 noundef %4831, i32 noundef %4832)
  %4833 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4833, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4834 = load ptr, ptr %8, align 8, !tbaa !5
  %4835 = getelementptr inbounds %struct.w2c_hermes, ptr %4834, i32 0, i32 6
  %4836 = load i32, ptr %37, align 4, !tbaa !9
  %4837 = zext i32 %4836 to i64
  %4838 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4835, i64 noundef %4837, i32 noundef %4838)
  %4839 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4839, ptr %37, align 4, !tbaa !9
  store i32 256, ptr %38, align 4, !tbaa !9
  %4840 = load ptr, ptr %8, align 8, !tbaa !5
  %4841 = getelementptr inbounds %struct.w2c_hermes, ptr %4840, i32 0, i32 6
  %4842 = load i32, ptr %37, align 4, !tbaa !9
  %4843 = zext i32 %4842 to i64
  %4844 = add i64 %4843, 40
  %4845 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4841, i64 noundef %4844, i32 noundef %4845)
  %4846 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4846, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %4847 = load ptr, ptr %8, align 8, !tbaa !5
  %4848 = getelementptr inbounds %struct.w2c_hermes, ptr %4847, i32 0, i32 6
  %4849 = load i32, ptr %37, align 4, !tbaa !9
  %4850 = zext i32 %4849 to i64
  %4851 = add i64 %4850, 36
  %4852 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4848, i64 noundef %4851, i32 noundef %4852)
  %4853 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4853, ptr %37, align 4, !tbaa !9
  %4854 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4854, ptr %38, align 4, !tbaa !9
  %4855 = load ptr, ptr %8, align 8, !tbaa !5
  %4856 = getelementptr inbounds %struct.w2c_hermes, ptr %4855, i32 0, i32 6
  %4857 = load i32, ptr %38, align 4, !tbaa !9
  %4858 = zext i32 %4857 to i64
  %4859 = add i64 %4858, 16
  %4860 = call i32 @i32_load(ptr noundef %4856, i64 noundef %4859)
  store i32 %4860, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4861 = load i32, ptr %39, align 4, !tbaa !9
  %4862 = load i32, ptr %38, align 4, !tbaa !9
  %4863 = add i32 %4862, %4861
  store i32 %4863, ptr %38, align 4, !tbaa !9
  %4864 = load ptr, ptr %8, align 8, !tbaa !5
  %4865 = getelementptr inbounds %struct.w2c_hermes, ptr %4864, i32 0, i32 6
  %4866 = load i32, ptr %37, align 4, !tbaa !9
  %4867 = zext i32 %4866 to i64
  %4868 = add i64 %4867, 16
  %4869 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4865, i64 noundef %4868, i32 noundef %4869)
  br label %8585

4870:                                             ; preds = %4689, %4674, %4661, %4646
  %4871 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4871, ptr %37, align 4, !tbaa !9
  %4872 = load i32, ptr %37, align 4, !tbaa !9
  %4873 = icmp ne i32 %4872, 0
  br i1 %4873, label %4874, label %4875

4874:                                             ; preds = %4870
  br label %5098

4875:                                             ; preds = %4870
  %4876 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4876, ptr %37, align 4, !tbaa !9
  %4877 = load ptr, ptr %8, align 8, !tbaa !5
  %4878 = getelementptr inbounds %struct.w2c_hermes, ptr %4877, i32 0, i32 6
  %4879 = load i32, ptr %37, align 4, !tbaa !9
  %4880 = zext i32 %4879 to i64
  %4881 = add i64 %4880, 2
  %4882 = call i32 @i32_load16_u(ptr noundef %4878, i64 noundef %4881)
  store i32 %4882, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %4883 = load i32, ptr %37, align 4, !tbaa !9
  %4884 = load i32, ptr %38, align 4, !tbaa !9
  %4885 = icmp ne i32 %4883, %4884
  %4886 = zext i1 %4885 to i32
  store i32 %4886, ptr %37, align 4, !tbaa !9
  %4887 = load i32, ptr %37, align 4, !tbaa !9
  %4888 = icmp ne i32 %4887, 0
  br i1 %4888, label %4889, label %4890

4889:                                             ; preds = %4875
  br label %5098

4890:                                             ; preds = %4875
  %4891 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4891, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4892 = load i32, ptr %38, align 4, !tbaa !9
  %4893 = load i32, ptr %37, align 4, !tbaa !9
  %4894 = add i32 %4893, %4892
  store i32 %4894, ptr %37, align 4, !tbaa !9
  %4895 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4895, ptr %38, align 4, !tbaa !9
  %4896 = load i32, ptr %37, align 4, !tbaa !9
  %4897 = load i32, ptr %38, align 4, !tbaa !9
  %4898 = icmp eq i32 %4896, %4897
  %4899 = zext i1 %4898 to i32
  store i32 %4899, ptr %37, align 4, !tbaa !9
  %4900 = load i32, ptr %37, align 4, !tbaa !9
  %4901 = icmp ne i32 %4900, 0
  br i1 %4901, label %4902, label %4903

4902:                                             ; preds = %4890
  br label %5098

4903:                                             ; preds = %4890
  %4904 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4904, ptr %37, align 4, !tbaa !9
  %4905 = load ptr, ptr %8, align 8, !tbaa !5
  %4906 = getelementptr inbounds %struct.w2c_hermes, ptr %4905, i32 0, i32 6
  %4907 = load i32, ptr %37, align 4, !tbaa !9
  %4908 = zext i32 %4907 to i64
  %4909 = add i64 %4908, 4
  %4910 = call i32 @i32_load16_u(ptr noundef %4906, i64 noundef %4909)
  store i32 %4910, ptr %37, align 4, !tbaa !9
  store i32 33, ptr %38, align 4, !tbaa !9
  %4911 = load i32, ptr %37, align 4, !tbaa !9
  %4912 = load i32, ptr %38, align 4, !tbaa !9
  %4913 = icmp ne i32 %4911, %4912
  %4914 = zext i1 %4913 to i32
  store i32 %4914, ptr %37, align 4, !tbaa !9
  %4915 = load i32, ptr %37, align 4, !tbaa !9
  %4916 = icmp ne i32 %4915, 0
  br i1 %4916, label %4917, label %4918

4917:                                             ; preds = %4903
  br label %5098

4918:                                             ; preds = %4903
  %4919 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4919, ptr %37, align 4, !tbaa !9
  %4920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4920, ptr %38, align 4, !tbaa !9
  %4921 = load ptr, ptr %8, align 8, !tbaa !5
  %4922 = getelementptr inbounds %struct.w2c_hermes, ptr %4921, i32 0, i32 6
  %4923 = load i32, ptr %37, align 4, !tbaa !9
  %4924 = zext i32 %4923 to i64
  %4925 = add i64 %4924, 4
  %4926 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4922, i64 noundef %4925, i32 noundef %4926)
  %4927 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4927, ptr %37, align 4, !tbaa !9
  %4928 = load ptr, ptr %8, align 8, !tbaa !5
  %4929 = getelementptr inbounds %struct.w2c_hermes, ptr %4928, i32 0, i32 6
  %4930 = load i32, ptr %37, align 4, !tbaa !9
  %4931 = zext i32 %4930 to i64
  %4932 = call i32 @i32_load(ptr noundef %4929, i64 noundef %4931)
  store i32 %4932, ptr %37, align 4, !tbaa !9
  %4933 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4933, ptr %10, align 4, !tbaa !9
  %4934 = load ptr, ptr %8, align 8, !tbaa !5
  %4935 = getelementptr inbounds %struct.w2c_hermes, ptr %4934, i32 0, i32 6
  %4936 = load i32, ptr %37, align 4, !tbaa !9
  %4937 = zext i32 %4936 to i64
  %4938 = add i64 %4937, 148
  %4939 = call i32 @i32_load(ptr noundef %4935, i64 noundef %4938)
  store i32 %4939, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4940 = load i32, ptr %38, align 4, !tbaa !9
  %4941 = load i32, ptr %37, align 4, !tbaa !9
  %4942 = sub i32 %4941, %4940
  store i32 %4942, ptr %37, align 4, !tbaa !9
  %4943 = load ptr, ptr %8, align 8, !tbaa !5
  %4944 = getelementptr inbounds %struct.w2c_hermes, ptr %4943, i32 0, i32 6
  %4945 = load i32, ptr %37, align 4, !tbaa !9
  %4946 = zext i32 %4945 to i64
  %4947 = call i32 @i32_load(ptr noundef %4944, i64 noundef %4946)
  store i32 %4947, ptr %37, align 4, !tbaa !9
  %4948 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4948, ptr %11, align 4, !tbaa !9
  %4949 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4949, ptr %37, align 4, !tbaa !9
  %4950 = load ptr, ptr %8, align 8, !tbaa !5
  %4951 = getelementptr inbounds %struct.w2c_hermes, ptr %4950, i32 0, i32 6
  %4952 = load i32, ptr %37, align 4, !tbaa !9
  %4953 = zext i32 %4952 to i64
  %4954 = add i64 %4953, 138
  %4955 = call i32 @i32_load16_u(ptr noundef %4951, i64 noundef %4954)
  store i32 %4955, ptr %37, align 4, !tbaa !9
  %4956 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4956, ptr %12, align 4, !tbaa !9
  %4957 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4957, ptr %37, align 4, !tbaa !9
  %4958 = load ptr, ptr %8, align 8, !tbaa !5
  %4959 = getelementptr inbounds %struct.w2c_hermes, ptr %4958, i32 0, i32 6
  %4960 = load i32, ptr %37, align 4, !tbaa !9
  %4961 = zext i32 %4960 to i64
  %4962 = add i64 %4961, 16
  %4963 = call i32 @i32_load(ptr noundef %4959, i64 noundef %4962)
  store i32 %4963, ptr %37, align 4, !tbaa !9
  %4964 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4964, ptr %14, align 4, !tbaa !9
  %4965 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4965, ptr %38, align 4, !tbaa !9
  %4966 = load ptr, ptr %8, align 8, !tbaa !5
  %4967 = getelementptr inbounds %struct.w2c_hermes, ptr %4966, i32 0, i32 6
  %4968 = load i32, ptr %38, align 4, !tbaa !9
  %4969 = zext i32 %4968 to i64
  %4970 = add i64 %4969, 20
  %4971 = call i32 @i32_load(ptr noundef %4967, i64 noundef %4970)
  store i32 %4971, ptr %38, align 4, !tbaa !9
  %4972 = load i32, ptr %37, align 4, !tbaa !9
  %4973 = load i32, ptr %38, align 4, !tbaa !9
  %4974 = icmp uge i32 %4972, %4973
  %4975 = zext i1 %4974 to i32
  store i32 %4975, ptr %37, align 4, !tbaa !9
  %4976 = load i32, ptr %37, align 4, !tbaa !9
  %4977 = icmp ne i32 %4976, 0
  br i1 %4977, label %4978, label %4993

4978:                                             ; preds = %4918
  %4979 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4979, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %4980 = load i32, ptr %38, align 4, !tbaa !9
  %4981 = load i32, ptr %37, align 4, !tbaa !9
  %4982 = add i32 %4981, %4980
  store i32 %4982, ptr %37, align 4, !tbaa !9
  %4983 = load ptr, ptr %8, align 8, !tbaa !5
  %4984 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %4983, i32 noundef %4984)
  %4985 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4985, ptr %37, align 4, !tbaa !9
  %4986 = load ptr, ptr %8, align 8, !tbaa !5
  %4987 = getelementptr inbounds %struct.w2c_hermes, ptr %4986, i32 0, i32 6
  %4988 = load i32, ptr %37, align 4, !tbaa !9
  %4989 = zext i32 %4988 to i64
  %4990 = add i64 %4989, 16
  %4991 = call i32 @i32_load(ptr noundef %4987, i64 noundef %4990)
  store i32 %4991, ptr %37, align 4, !tbaa !9
  %4992 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4992, ptr %14, align 4, !tbaa !9
  br label %4993

4993:                                             ; preds = %4978, %4918
  %4994 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4994, ptr %37, align 4, !tbaa !9
  %4995 = load ptr, ptr %8, align 8, !tbaa !5
  %4996 = getelementptr inbounds %struct.w2c_hermes, ptr %4995, i32 0, i32 6
  %4997 = load i32, ptr %37, align 4, !tbaa !9
  %4998 = zext i32 %4997 to i64
  %4999 = add i64 %4998, 12
  %5000 = call i32 @i32_load(ptr noundef %4996, i64 noundef %4999)
  store i32 %5000, ptr %37, align 4, !tbaa !9
  %5001 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5001, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %5002 = load i32, ptr %39, align 4, !tbaa !9
  %5003 = load i32, ptr %38, align 4, !tbaa !9
  %5004 = mul i32 %5003, %5002
  store i32 %5004, ptr %38, align 4, !tbaa !9
  %5005 = load i32, ptr %38, align 4, !tbaa !9
  %5006 = load i32, ptr %37, align 4, !tbaa !9
  %5007 = add i32 %5006, %5005
  store i32 %5007, ptr %37, align 4, !tbaa !9
  %5008 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5008, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %5009 = load ptr, ptr %8, align 8, !tbaa !5
  %5010 = getelementptr inbounds %struct.w2c_hermes, ptr %5009, i32 0, i32 6
  %5011 = load i32, ptr %37, align 4, !tbaa !9
  %5012 = zext i32 %5011 to i64
  %5013 = add i64 %5012, 28
  %5014 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5010, i64 noundef %5013, i64 noundef %5014)
  %5015 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5015, ptr %37, align 4, !tbaa !9
  %5016 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5016, ptr %38, align 4, !tbaa !9
  %5017 = load ptr, ptr %8, align 8, !tbaa !5
  %5018 = getelementptr inbounds %struct.w2c_hermes, ptr %5017, i32 0, i32 6
  %5019 = load i32, ptr %37, align 4, !tbaa !9
  %5020 = zext i32 %5019 to i64
  %5021 = add i64 %5020, 24
  %5022 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5018, i64 noundef %5021, i32 noundef %5022)
  %5023 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5023, ptr %37, align 4, !tbaa !9
  %5024 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5024, ptr %38, align 4, !tbaa !9
  %5025 = load ptr, ptr %8, align 8, !tbaa !5
  %5026 = getelementptr inbounds %struct.w2c_hermes, ptr %5025, i32 0, i32 6
  %5027 = load i32, ptr %37, align 4, !tbaa !9
  %5028 = zext i32 %5027 to i64
  %5029 = add i64 %5028, 22
  %5030 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5026, i64 noundef %5029, i32 noundef %5030)
  %5031 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5031, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5032 = load ptr, ptr %8, align 8, !tbaa !5
  %5033 = getelementptr inbounds %struct.w2c_hermes, ptr %5032, i32 0, i32 6
  %5034 = load i32, ptr %37, align 4, !tbaa !9
  %5035 = zext i32 %5034 to i64
  %5036 = add i64 %5035, 20
  %5037 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %5033, i64 noundef %5036, i32 noundef %5037)
  %5038 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5038, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %5039 = load ptr, ptr %8, align 8, !tbaa !5
  %5040 = getelementptr inbounds %struct.w2c_hermes, ptr %5039, i32 0, i32 6
  %5041 = load i32, ptr %37, align 4, !tbaa !9
  %5042 = zext i32 %5041 to i64
  %5043 = add i64 %5042, 12
  %5044 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5040, i64 noundef %5043, i64 noundef %5044)
  %5045 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5045, ptr %37, align 4, !tbaa !9
  %5046 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5046, ptr %38, align 4, !tbaa !9
  %5047 = load ptr, ptr %8, align 8, !tbaa !5
  %5048 = getelementptr inbounds %struct.w2c_hermes, ptr %5047, i32 0, i32 6
  %5049 = load i32, ptr %37, align 4, !tbaa !9
  %5050 = zext i32 %5049 to i64
  %5051 = add i64 %5050, 8
  %5052 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5048, i64 noundef %5051, i32 noundef %5052)
  %5053 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5053, ptr %37, align 4, !tbaa !9
  %5054 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5054, ptr %38, align 4, !tbaa !9
  %5055 = load ptr, ptr %8, align 8, !tbaa !5
  %5056 = getelementptr inbounds %struct.w2c_hermes, ptr %5055, i32 0, i32 6
  %5057 = load i32, ptr %37, align 4, !tbaa !9
  %5058 = zext i32 %5057 to i64
  %5059 = add i64 %5058, 4
  %5060 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5056, i64 noundef %5059, i32 noundef %5060)
  %5061 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5061, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5062 = load ptr, ptr %8, align 8, !tbaa !5
  %5063 = getelementptr inbounds %struct.w2c_hermes, ptr %5062, i32 0, i32 6
  %5064 = load i32, ptr %37, align 4, !tbaa !9
  %5065 = zext i32 %5064 to i64
  %5066 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5063, i64 noundef %5065, i32 noundef %5066)
  %5067 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5067, ptr %37, align 4, !tbaa !9
  store i32 257, ptr %38, align 4, !tbaa !9
  %5068 = load ptr, ptr %8, align 8, !tbaa !5
  %5069 = getelementptr inbounds %struct.w2c_hermes, ptr %5068, i32 0, i32 6
  %5070 = load i32, ptr %37, align 4, !tbaa !9
  %5071 = zext i32 %5070 to i64
  %5072 = add i64 %5071, 40
  %5073 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5069, i64 noundef %5072, i32 noundef %5073)
  %5074 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5074, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %5075 = load ptr, ptr %8, align 8, !tbaa !5
  %5076 = getelementptr inbounds %struct.w2c_hermes, ptr %5075, i32 0, i32 6
  %5077 = load i32, ptr %37, align 4, !tbaa !9
  %5078 = zext i32 %5077 to i64
  %5079 = add i64 %5078, 36
  %5080 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5076, i64 noundef %5079, i32 noundef %5080)
  %5081 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5081, ptr %37, align 4, !tbaa !9
  %5082 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5082, ptr %38, align 4, !tbaa !9
  %5083 = load ptr, ptr %8, align 8, !tbaa !5
  %5084 = getelementptr inbounds %struct.w2c_hermes, ptr %5083, i32 0, i32 6
  %5085 = load i32, ptr %38, align 4, !tbaa !9
  %5086 = zext i32 %5085 to i64
  %5087 = add i64 %5086, 16
  %5088 = call i32 @i32_load(ptr noundef %5084, i64 noundef %5087)
  store i32 %5088, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5089 = load i32, ptr %39, align 4, !tbaa !9
  %5090 = load i32, ptr %38, align 4, !tbaa !9
  %5091 = add i32 %5090, %5089
  store i32 %5091, ptr %38, align 4, !tbaa !9
  %5092 = load ptr, ptr %8, align 8, !tbaa !5
  %5093 = getelementptr inbounds %struct.w2c_hermes, ptr %5092, i32 0, i32 6
  %5094 = load i32, ptr %37, align 4, !tbaa !9
  %5095 = zext i32 %5094 to i64
  %5096 = add i64 %5095, 16
  %5097 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5093, i64 noundef %5096, i32 noundef %5097)
  br label %8585

5098:                                             ; preds = %4917, %4902, %4889, %4874
  %5099 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5099, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %5100 = load i32, ptr %38, align 4, !tbaa !9
  %5101 = load i32, ptr %37, align 4, !tbaa !9
  %5102 = add i32 %5101, %5100
  store i32 %5102, ptr %37, align 4, !tbaa !9
  %5103 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5103, ptr %12, align 4, !tbaa !9
  %5104 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5104, ptr %37, align 4, !tbaa !9
  %5105 = load i32, ptr %37, align 4, !tbaa !9
  %5106 = icmp ne i32 %5105, 0
  br i1 %5106, label %5107, label %5108

5107:                                             ; preds = %5098
  br label %5348

5108:                                             ; preds = %5098
  %5109 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5109, ptr %37, align 4, !tbaa !9
  %5110 = load ptr, ptr %8, align 8, !tbaa !5
  %5111 = getelementptr inbounds %struct.w2c_hermes, ptr %5110, i32 0, i32 6
  %5112 = load i32, ptr %37, align 4, !tbaa !9
  %5113 = zext i32 %5112 to i64
  %5114 = add i64 %5113, 2
  %5115 = call i32 @i32_load16_u(ptr noundef %5111, i64 noundef %5114)
  store i32 %5115, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %5116 = load i32, ptr %37, align 4, !tbaa !9
  %5117 = load i32, ptr %38, align 4, !tbaa !9
  %5118 = icmp ne i32 %5116, %5117
  %5119 = zext i1 %5118 to i32
  store i32 %5119, ptr %37, align 4, !tbaa !9
  %5120 = load i32, ptr %37, align 4, !tbaa !9
  %5121 = icmp ne i32 %5120, 0
  br i1 %5121, label %5122, label %5123

5122:                                             ; preds = %5108
  br label %5348

5123:                                             ; preds = %5108
  %5124 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5124, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5125 = load i32, ptr %38, align 4, !tbaa !9
  %5126 = load i32, ptr %37, align 4, !tbaa !9
  %5127 = add i32 %5126, %5125
  store i32 %5127, ptr %37, align 4, !tbaa !9
  %5128 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5128, ptr %38, align 4, !tbaa !9
  %5129 = load i32, ptr %37, align 4, !tbaa !9
  %5130 = load i32, ptr %38, align 4, !tbaa !9
  %5131 = icmp eq i32 %5129, %5130
  %5132 = zext i1 %5131 to i32
  store i32 %5132, ptr %37, align 4, !tbaa !9
  %5133 = load i32, ptr %37, align 4, !tbaa !9
  %5134 = icmp ne i32 %5133, 0
  br i1 %5134, label %5135, label %5136

5135:                                             ; preds = %5123
  br label %5348

5136:                                             ; preds = %5123
  %5137 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5137, ptr %37, align 4, !tbaa !9
  %5138 = load ptr, ptr %8, align 8, !tbaa !5
  %5139 = getelementptr inbounds %struct.w2c_hermes, ptr %5138, i32 0, i32 6
  %5140 = load i32, ptr %37, align 4, !tbaa !9
  %5141 = zext i32 %5140 to i64
  %5142 = add i64 %5141, 4
  %5143 = call i32 @i32_load16_u(ptr noundef %5139, i64 noundef %5142)
  store i32 %5143, ptr %37, align 4, !tbaa !9
  store i32 60, ptr %38, align 4, !tbaa !9
  %5144 = load i32, ptr %37, align 4, !tbaa !9
  %5145 = load i32, ptr %38, align 4, !tbaa !9
  %5146 = icmp ne i32 %5144, %5145
  %5147 = zext i1 %5146 to i32
  store i32 %5147, ptr %37, align 4, !tbaa !9
  %5148 = load i32, ptr %37, align 4, !tbaa !9
  %5149 = icmp ne i32 %5148, 0
  br i1 %5149, label %5150, label %5151

5150:                                             ; preds = %5136
  br label %5348

5151:                                             ; preds = %5136
  %5152 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5152, ptr %37, align 4, !tbaa !9
  %5153 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5153, ptr %38, align 4, !tbaa !9
  %5154 = load i32, ptr %37, align 4, !tbaa !9
  %5155 = load i32, ptr %38, align 4, !tbaa !9
  %5156 = icmp eq i32 %5154, %5155
  %5157 = zext i1 %5156 to i32
  store i32 %5157, ptr %37, align 4, !tbaa !9
  %5158 = load i32, ptr %37, align 4, !tbaa !9
  %5159 = icmp ne i32 %5158, 0
  br i1 %5159, label %5160, label %5161

5160:                                             ; preds = %5151
  br label %5348

5161:                                             ; preds = %5151
  %5162 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5162, ptr %37, align 4, !tbaa !9
  %5163 = load ptr, ptr %8, align 8, !tbaa !5
  %5164 = getelementptr inbounds %struct.w2c_hermes, ptr %5163, i32 0, i32 6
  %5165 = load i32, ptr %37, align 4, !tbaa !9
  %5166 = zext i32 %5165 to i64
  %5167 = call i32 @i32_load16_u(ptr noundef %5164, i64 noundef %5166)
  store i32 %5167, ptr %37, align 4, !tbaa !9
  store i32 61, ptr %38, align 4, !tbaa !9
  %5168 = load i32, ptr %37, align 4, !tbaa !9
  %5169 = load i32, ptr %38, align 4, !tbaa !9
  %5170 = icmp ne i32 %5168, %5169
  %5171 = zext i1 %5170 to i32
  store i32 %5171, ptr %37, align 4, !tbaa !9
  %5172 = load i32, ptr %37, align 4, !tbaa !9
  %5173 = icmp ne i32 %5172, 0
  br i1 %5173, label %5174, label %5175

5174:                                             ; preds = %5161
  br label %5348

5175:                                             ; preds = %5161
  %5176 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5176, ptr %37, align 4, !tbaa !9
  %5177 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5177, ptr %38, align 4, !tbaa !9
  %5178 = load ptr, ptr %8, align 8, !tbaa !5
  %5179 = getelementptr inbounds %struct.w2c_hermes, ptr %5178, i32 0, i32 6
  %5180 = load i32, ptr %37, align 4, !tbaa !9
  %5181 = zext i32 %5180 to i64
  %5182 = add i64 %5181, 4
  %5183 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5179, i64 noundef %5182, i32 noundef %5183)
  %5184 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5184, ptr %37, align 4, !tbaa !9
  %5185 = load ptr, ptr %8, align 8, !tbaa !5
  %5186 = getelementptr inbounds %struct.w2c_hermes, ptr %5185, i32 0, i32 6
  %5187 = load i32, ptr %37, align 4, !tbaa !9
  %5188 = zext i32 %5187 to i64
  %5189 = call i32 @i32_load(ptr noundef %5186, i64 noundef %5188)
  store i32 %5189, ptr %37, align 4, !tbaa !9
  %5190 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5190, ptr %10, align 4, !tbaa !9
  %5191 = load ptr, ptr %8, align 8, !tbaa !5
  %5192 = getelementptr inbounds %struct.w2c_hermes, ptr %5191, i32 0, i32 6
  %5193 = load i32, ptr %37, align 4, !tbaa !9
  %5194 = zext i32 %5193 to i64
  %5195 = add i64 %5194, 148
  %5196 = call i32 @i32_load(ptr noundef %5192, i64 noundef %5195)
  store i32 %5196, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5197 = load i32, ptr %38, align 4, !tbaa !9
  %5198 = load i32, ptr %37, align 4, !tbaa !9
  %5199 = sub i32 %5198, %5197
  store i32 %5199, ptr %37, align 4, !tbaa !9
  %5200 = load ptr, ptr %8, align 8, !tbaa !5
  %5201 = getelementptr inbounds %struct.w2c_hermes, ptr %5200, i32 0, i32 6
  %5202 = load i32, ptr %37, align 4, !tbaa !9
  %5203 = zext i32 %5202 to i64
  %5204 = call i32 @i32_load(ptr noundef %5201, i64 noundef %5203)
  store i32 %5204, ptr %37, align 4, !tbaa !9
  %5205 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5205, ptr %11, align 4, !tbaa !9
  %5206 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5206, ptr %37, align 4, !tbaa !9
  %5207 = load ptr, ptr %8, align 8, !tbaa !5
  %5208 = getelementptr inbounds %struct.w2c_hermes, ptr %5207, i32 0, i32 6
  %5209 = load i32, ptr %37, align 4, !tbaa !9
  %5210 = zext i32 %5209 to i64
  %5211 = add i64 %5210, 138
  %5212 = call i32 @i32_load16_u(ptr noundef %5208, i64 noundef %5211)
  store i32 %5212, ptr %37, align 4, !tbaa !9
  %5213 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5213, ptr %12, align 4, !tbaa !9
  %5214 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5214, ptr %37, align 4, !tbaa !9
  %5215 = load ptr, ptr %8, align 8, !tbaa !5
  %5216 = getelementptr inbounds %struct.w2c_hermes, ptr %5215, i32 0, i32 6
  %5217 = load i32, ptr %37, align 4, !tbaa !9
  %5218 = zext i32 %5217 to i64
  %5219 = add i64 %5218, 16
  %5220 = call i32 @i32_load(ptr noundef %5216, i64 noundef %5219)
  store i32 %5220, ptr %37, align 4, !tbaa !9
  %5221 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5221, ptr %14, align 4, !tbaa !9
  %5222 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5222, ptr %38, align 4, !tbaa !9
  %5223 = load ptr, ptr %8, align 8, !tbaa !5
  %5224 = getelementptr inbounds %struct.w2c_hermes, ptr %5223, i32 0, i32 6
  %5225 = load i32, ptr %38, align 4, !tbaa !9
  %5226 = zext i32 %5225 to i64
  %5227 = add i64 %5226, 20
  %5228 = call i32 @i32_load(ptr noundef %5224, i64 noundef %5227)
  store i32 %5228, ptr %38, align 4, !tbaa !9
  %5229 = load i32, ptr %37, align 4, !tbaa !9
  %5230 = load i32, ptr %38, align 4, !tbaa !9
  %5231 = icmp uge i32 %5229, %5230
  %5232 = zext i1 %5231 to i32
  store i32 %5232, ptr %37, align 4, !tbaa !9
  %5233 = load i32, ptr %37, align 4, !tbaa !9
  %5234 = icmp ne i32 %5233, 0
  br i1 %5234, label %5235, label %5250

5235:                                             ; preds = %5175
  %5236 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5236, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %5237 = load i32, ptr %38, align 4, !tbaa !9
  %5238 = load i32, ptr %37, align 4, !tbaa !9
  %5239 = add i32 %5238, %5237
  store i32 %5239, ptr %37, align 4, !tbaa !9
  %5240 = load ptr, ptr %8, align 8, !tbaa !5
  %5241 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %5240, i32 noundef %5241)
  %5242 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5242, ptr %37, align 4, !tbaa !9
  %5243 = load ptr, ptr %8, align 8, !tbaa !5
  %5244 = getelementptr inbounds %struct.w2c_hermes, ptr %5243, i32 0, i32 6
  %5245 = load i32, ptr %37, align 4, !tbaa !9
  %5246 = zext i32 %5245 to i64
  %5247 = add i64 %5246, 16
  %5248 = call i32 @i32_load(ptr noundef %5244, i64 noundef %5247)
  store i32 %5248, ptr %37, align 4, !tbaa !9
  %5249 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5249, ptr %14, align 4, !tbaa !9
  br label %5250

5250:                                             ; preds = %5235, %5175
  %5251 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5251, ptr %37, align 4, !tbaa !9
  %5252 = load ptr, ptr %8, align 8, !tbaa !5
  %5253 = getelementptr inbounds %struct.w2c_hermes, ptr %5252, i32 0, i32 6
  %5254 = load i32, ptr %37, align 4, !tbaa !9
  %5255 = zext i32 %5254 to i64
  %5256 = add i64 %5255, 12
  %5257 = call i32 @i32_load(ptr noundef %5253, i64 noundef %5256)
  store i32 %5257, ptr %37, align 4, !tbaa !9
  %5258 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5258, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %5259 = load i32, ptr %39, align 4, !tbaa !9
  %5260 = load i32, ptr %38, align 4, !tbaa !9
  %5261 = mul i32 %5260, %5259
  store i32 %5261, ptr %38, align 4, !tbaa !9
  %5262 = load i32, ptr %38, align 4, !tbaa !9
  %5263 = load i32, ptr %37, align 4, !tbaa !9
  %5264 = add i32 %5263, %5262
  store i32 %5264, ptr %37, align 4, !tbaa !9
  %5265 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5265, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %5266 = load ptr, ptr %8, align 8, !tbaa !5
  %5267 = getelementptr inbounds %struct.w2c_hermes, ptr %5266, i32 0, i32 6
  %5268 = load i32, ptr %37, align 4, !tbaa !9
  %5269 = zext i32 %5268 to i64
  %5270 = add i64 %5269, 28
  %5271 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5267, i64 noundef %5270, i64 noundef %5271)
  %5272 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5272, ptr %37, align 4, !tbaa !9
  %5273 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5273, ptr %38, align 4, !tbaa !9
  %5274 = load ptr, ptr %8, align 8, !tbaa !5
  %5275 = getelementptr inbounds %struct.w2c_hermes, ptr %5274, i32 0, i32 6
  %5276 = load i32, ptr %37, align 4, !tbaa !9
  %5277 = zext i32 %5276 to i64
  %5278 = add i64 %5277, 24
  %5279 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5275, i64 noundef %5278, i32 noundef %5279)
  %5280 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5280, ptr %37, align 4, !tbaa !9
  %5281 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5281, ptr %38, align 4, !tbaa !9
  %5282 = load ptr, ptr %8, align 8, !tbaa !5
  %5283 = getelementptr inbounds %struct.w2c_hermes, ptr %5282, i32 0, i32 6
  %5284 = load i32, ptr %37, align 4, !tbaa !9
  %5285 = zext i32 %5284 to i64
  %5286 = add i64 %5285, 22
  %5287 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5283, i64 noundef %5286, i32 noundef %5287)
  %5288 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5288, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5289 = load ptr, ptr %8, align 8, !tbaa !5
  %5290 = getelementptr inbounds %struct.w2c_hermes, ptr %5289, i32 0, i32 6
  %5291 = load i32, ptr %37, align 4, !tbaa !9
  %5292 = zext i32 %5291 to i64
  %5293 = add i64 %5292, 20
  %5294 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %5290, i64 noundef %5293, i32 noundef %5294)
  %5295 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5295, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %5296 = load ptr, ptr %8, align 8, !tbaa !5
  %5297 = getelementptr inbounds %struct.w2c_hermes, ptr %5296, i32 0, i32 6
  %5298 = load i32, ptr %37, align 4, !tbaa !9
  %5299 = zext i32 %5298 to i64
  %5300 = add i64 %5299, 12
  %5301 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5297, i64 noundef %5300, i64 noundef %5301)
  %5302 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5302, ptr %37, align 4, !tbaa !9
  %5303 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5303, ptr %38, align 4, !tbaa !9
  %5304 = load ptr, ptr %8, align 8, !tbaa !5
  %5305 = getelementptr inbounds %struct.w2c_hermes, ptr %5304, i32 0, i32 6
  %5306 = load i32, ptr %37, align 4, !tbaa !9
  %5307 = zext i32 %5306 to i64
  %5308 = add i64 %5307, 8
  %5309 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5305, i64 noundef %5308, i32 noundef %5309)
  %5310 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5310, ptr %37, align 4, !tbaa !9
  %5311 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5311, ptr %38, align 4, !tbaa !9
  %5312 = load ptr, ptr %8, align 8, !tbaa !5
  %5313 = getelementptr inbounds %struct.w2c_hermes, ptr %5312, i32 0, i32 6
  %5314 = load i32, ptr %37, align 4, !tbaa !9
  %5315 = zext i32 %5314 to i64
  %5316 = add i64 %5315, 4
  %5317 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5313, i64 noundef %5316, i32 noundef %5317)
  %5318 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5318, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5319 = load ptr, ptr %8, align 8, !tbaa !5
  %5320 = getelementptr inbounds %struct.w2c_hermes, ptr %5319, i32 0, i32 6
  %5321 = load i32, ptr %37, align 4, !tbaa !9
  %5322 = zext i32 %5321 to i64
  %5323 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5320, i64 noundef %5322, i32 noundef %5323)
  %5324 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5324, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %5325 = load ptr, ptr %8, align 8, !tbaa !5
  %5326 = getelementptr inbounds %struct.w2c_hermes, ptr %5325, i32 0, i32 6
  %5327 = load i32, ptr %37, align 4, !tbaa !9
  %5328 = zext i32 %5327 to i64
  %5329 = add i64 %5328, 34
  %5330 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5326, i64 noundef %5329, i64 noundef %5330)
  %5331 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5331, ptr %37, align 4, !tbaa !9
  %5332 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5332, ptr %38, align 4, !tbaa !9
  %5333 = load ptr, ptr %8, align 8, !tbaa !5
  %5334 = getelementptr inbounds %struct.w2c_hermes, ptr %5333, i32 0, i32 6
  %5335 = load i32, ptr %38, align 4, !tbaa !9
  %5336 = zext i32 %5335 to i64
  %5337 = add i64 %5336, 16
  %5338 = call i32 @i32_load(ptr noundef %5334, i64 noundef %5337)
  store i32 %5338, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5339 = load i32, ptr %39, align 4, !tbaa !9
  %5340 = load i32, ptr %38, align 4, !tbaa !9
  %5341 = add i32 %5340, %5339
  store i32 %5341, ptr %38, align 4, !tbaa !9
  %5342 = load ptr, ptr %8, align 8, !tbaa !5
  %5343 = getelementptr inbounds %struct.w2c_hermes, ptr %5342, i32 0, i32 6
  %5344 = load i32, ptr %37, align 4, !tbaa !9
  %5345 = zext i32 %5344 to i64
  %5346 = add i64 %5345, 16
  %5347 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5343, i64 noundef %5346, i32 noundef %5347)
  br label %8585

5348:                                             ; preds = %5174, %5160, %5150, %5135, %5122, %5107
  %5349 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5349, ptr %37, align 4, !tbaa !9
  %5350 = load i32, ptr %37, align 4, !tbaa !9
  %5351 = icmp ne i32 %5350, 0
  br i1 %5351, label %5352, label %5353

5352:                                             ; preds = %5348
  br label %5600

5353:                                             ; preds = %5348
  %5354 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5354, ptr %37, align 4, !tbaa !9
  %5355 = load ptr, ptr %8, align 8, !tbaa !5
  %5356 = getelementptr inbounds %struct.w2c_hermes, ptr %5355, i32 0, i32 6
  %5357 = load i32, ptr %37, align 4, !tbaa !9
  %5358 = zext i32 %5357 to i64
  %5359 = add i64 %5358, 2
  %5360 = call i32 @i32_load16_u(ptr noundef %5356, i64 noundef %5359)
  store i32 %5360, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %5361 = load i32, ptr %37, align 4, !tbaa !9
  %5362 = load i32, ptr %38, align 4, !tbaa !9
  %5363 = icmp ne i32 %5361, %5362
  %5364 = zext i1 %5363 to i32
  store i32 %5364, ptr %37, align 4, !tbaa !9
  %5365 = load i32, ptr %37, align 4, !tbaa !9
  %5366 = icmp ne i32 %5365, 0
  br i1 %5366, label %5367, label %5368

5367:                                             ; preds = %5353
  br label %5600

5368:                                             ; preds = %5353
  %5369 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5369, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5370 = load i32, ptr %38, align 4, !tbaa !9
  %5371 = load i32, ptr %37, align 4, !tbaa !9
  %5372 = add i32 %5371, %5370
  store i32 %5372, ptr %37, align 4, !tbaa !9
  %5373 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5373, ptr %38, align 4, !tbaa !9
  %5374 = load i32, ptr %37, align 4, !tbaa !9
  %5375 = load i32, ptr %38, align 4, !tbaa !9
  %5376 = icmp eq i32 %5374, %5375
  %5377 = zext i1 %5376 to i32
  store i32 %5377, ptr %37, align 4, !tbaa !9
  %5378 = load i32, ptr %37, align 4, !tbaa !9
  %5379 = icmp ne i32 %5378, 0
  br i1 %5379, label %5380, label %5381

5380:                                             ; preds = %5368
  br label %5600

5381:                                             ; preds = %5368
  %5382 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5382, ptr %37, align 4, !tbaa !9
  %5383 = load ptr, ptr %8, align 8, !tbaa !5
  %5384 = getelementptr inbounds %struct.w2c_hermes, ptr %5383, i32 0, i32 6
  %5385 = load i32, ptr %37, align 4, !tbaa !9
  %5386 = zext i32 %5385 to i64
  %5387 = add i64 %5386, 4
  %5388 = call i32 @i32_load16_u(ptr noundef %5384, i64 noundef %5387)
  store i32 %5388, ptr %37, align 4, !tbaa !9
  store i32 60, ptr %38, align 4, !tbaa !9
  %5389 = load i32, ptr %37, align 4, !tbaa !9
  %5390 = load i32, ptr %38, align 4, !tbaa !9
  %5391 = icmp ne i32 %5389, %5390
  %5392 = zext i1 %5391 to i32
  store i32 %5392, ptr %37, align 4, !tbaa !9
  %5393 = load i32, ptr %37, align 4, !tbaa !9
  %5394 = icmp ne i32 %5393, 0
  br i1 %5394, label %5395, label %5396

5395:                                             ; preds = %5381
  br label %5600

5396:                                             ; preds = %5381
  %5397 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5397, ptr %37, align 4, !tbaa !9
  %5398 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5398, ptr %38, align 4, !tbaa !9
  %5399 = load i32, ptr %37, align 4, !tbaa !9
  %5400 = load i32, ptr %38, align 4, !tbaa !9
  %5401 = icmp eq i32 %5399, %5400
  %5402 = zext i1 %5401 to i32
  store i32 %5402, ptr %37, align 4, !tbaa !9
  %5403 = load i32, ptr %37, align 4, !tbaa !9
  %5404 = icmp ne i32 %5403, 0
  br i1 %5404, label %5405, label %5406

5405:                                             ; preds = %5396
  br label %5600

5406:                                             ; preds = %5396
  %5407 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5407, ptr %37, align 4, !tbaa !9
  %5408 = load ptr, ptr %8, align 8, !tbaa !5
  %5409 = getelementptr inbounds %struct.w2c_hermes, ptr %5408, i32 0, i32 6
  %5410 = load i32, ptr %37, align 4, !tbaa !9
  %5411 = zext i32 %5410 to i64
  %5412 = call i32 @i32_load16_u(ptr noundef %5409, i64 noundef %5411)
  store i32 %5412, ptr %37, align 4, !tbaa !9
  store i32 33, ptr %38, align 4, !tbaa !9
  %5413 = load i32, ptr %37, align 4, !tbaa !9
  %5414 = load i32, ptr %38, align 4, !tbaa !9
  %5415 = icmp ne i32 %5413, %5414
  %5416 = zext i1 %5415 to i32
  store i32 %5416, ptr %37, align 4, !tbaa !9
  %5417 = load i32, ptr %37, align 4, !tbaa !9
  %5418 = icmp ne i32 %5417, 0
  br i1 %5418, label %5419, label %5420

5419:                                             ; preds = %5406
  br label %5600

5420:                                             ; preds = %5406
  %5421 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5421, ptr %37, align 4, !tbaa !9
  %5422 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5422, ptr %38, align 4, !tbaa !9
  %5423 = load ptr, ptr %8, align 8, !tbaa !5
  %5424 = getelementptr inbounds %struct.w2c_hermes, ptr %5423, i32 0, i32 6
  %5425 = load i32, ptr %37, align 4, !tbaa !9
  %5426 = zext i32 %5425 to i64
  %5427 = add i64 %5426, 4
  %5428 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5424, i64 noundef %5427, i32 noundef %5428)
  %5429 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5429, ptr %37, align 4, !tbaa !9
  %5430 = load ptr, ptr %8, align 8, !tbaa !5
  %5431 = getelementptr inbounds %struct.w2c_hermes, ptr %5430, i32 0, i32 6
  %5432 = load i32, ptr %37, align 4, !tbaa !9
  %5433 = zext i32 %5432 to i64
  %5434 = call i32 @i32_load(ptr noundef %5431, i64 noundef %5433)
  store i32 %5434, ptr %37, align 4, !tbaa !9
  %5435 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5435, ptr %10, align 4, !tbaa !9
  %5436 = load ptr, ptr %8, align 8, !tbaa !5
  %5437 = getelementptr inbounds %struct.w2c_hermes, ptr %5436, i32 0, i32 6
  %5438 = load i32, ptr %37, align 4, !tbaa !9
  %5439 = zext i32 %5438 to i64
  %5440 = add i64 %5439, 148
  %5441 = call i32 @i32_load(ptr noundef %5437, i64 noundef %5440)
  store i32 %5441, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5442 = load i32, ptr %38, align 4, !tbaa !9
  %5443 = load i32, ptr %37, align 4, !tbaa !9
  %5444 = sub i32 %5443, %5442
  store i32 %5444, ptr %37, align 4, !tbaa !9
  %5445 = load ptr, ptr %8, align 8, !tbaa !5
  %5446 = getelementptr inbounds %struct.w2c_hermes, ptr %5445, i32 0, i32 6
  %5447 = load i32, ptr %37, align 4, !tbaa !9
  %5448 = zext i32 %5447 to i64
  %5449 = call i32 @i32_load(ptr noundef %5446, i64 noundef %5448)
  store i32 %5449, ptr %37, align 4, !tbaa !9
  %5450 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5450, ptr %11, align 4, !tbaa !9
  %5451 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5451, ptr %37, align 4, !tbaa !9
  %5452 = load ptr, ptr %8, align 8, !tbaa !5
  %5453 = getelementptr inbounds %struct.w2c_hermes, ptr %5452, i32 0, i32 6
  %5454 = load i32, ptr %37, align 4, !tbaa !9
  %5455 = zext i32 %5454 to i64
  %5456 = add i64 %5455, 138
  %5457 = call i32 @i32_load16_u(ptr noundef %5453, i64 noundef %5456)
  store i32 %5457, ptr %37, align 4, !tbaa !9
  %5458 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5458, ptr %12, align 4, !tbaa !9
  %5459 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5459, ptr %37, align 4, !tbaa !9
  %5460 = load ptr, ptr %8, align 8, !tbaa !5
  %5461 = getelementptr inbounds %struct.w2c_hermes, ptr %5460, i32 0, i32 6
  %5462 = load i32, ptr %37, align 4, !tbaa !9
  %5463 = zext i32 %5462 to i64
  %5464 = add i64 %5463, 16
  %5465 = call i32 @i32_load(ptr noundef %5461, i64 noundef %5464)
  store i32 %5465, ptr %37, align 4, !tbaa !9
  %5466 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5466, ptr %14, align 4, !tbaa !9
  %5467 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5467, ptr %38, align 4, !tbaa !9
  %5468 = load ptr, ptr %8, align 8, !tbaa !5
  %5469 = getelementptr inbounds %struct.w2c_hermes, ptr %5468, i32 0, i32 6
  %5470 = load i32, ptr %38, align 4, !tbaa !9
  %5471 = zext i32 %5470 to i64
  %5472 = add i64 %5471, 20
  %5473 = call i32 @i32_load(ptr noundef %5469, i64 noundef %5472)
  store i32 %5473, ptr %38, align 4, !tbaa !9
  %5474 = load i32, ptr %37, align 4, !tbaa !9
  %5475 = load i32, ptr %38, align 4, !tbaa !9
  %5476 = icmp uge i32 %5474, %5475
  %5477 = zext i1 %5476 to i32
  store i32 %5477, ptr %37, align 4, !tbaa !9
  %5478 = load i32, ptr %37, align 4, !tbaa !9
  %5479 = icmp ne i32 %5478, 0
  br i1 %5479, label %5480, label %5495

5480:                                             ; preds = %5420
  %5481 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5481, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %5482 = load i32, ptr %38, align 4, !tbaa !9
  %5483 = load i32, ptr %37, align 4, !tbaa !9
  %5484 = add i32 %5483, %5482
  store i32 %5484, ptr %37, align 4, !tbaa !9
  %5485 = load ptr, ptr %8, align 8, !tbaa !5
  %5486 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %5485, i32 noundef %5486)
  %5487 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5487, ptr %37, align 4, !tbaa !9
  %5488 = load ptr, ptr %8, align 8, !tbaa !5
  %5489 = getelementptr inbounds %struct.w2c_hermes, ptr %5488, i32 0, i32 6
  %5490 = load i32, ptr %37, align 4, !tbaa !9
  %5491 = zext i32 %5490 to i64
  %5492 = add i64 %5491, 16
  %5493 = call i32 @i32_load(ptr noundef %5489, i64 noundef %5492)
  store i32 %5493, ptr %37, align 4, !tbaa !9
  %5494 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5494, ptr %14, align 4, !tbaa !9
  br label %5495

5495:                                             ; preds = %5480, %5420
  %5496 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5496, ptr %37, align 4, !tbaa !9
  %5497 = load ptr, ptr %8, align 8, !tbaa !5
  %5498 = getelementptr inbounds %struct.w2c_hermes, ptr %5497, i32 0, i32 6
  %5499 = load i32, ptr %37, align 4, !tbaa !9
  %5500 = zext i32 %5499 to i64
  %5501 = add i64 %5500, 12
  %5502 = call i32 @i32_load(ptr noundef %5498, i64 noundef %5501)
  store i32 %5502, ptr %37, align 4, !tbaa !9
  %5503 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5503, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %5504 = load i32, ptr %39, align 4, !tbaa !9
  %5505 = load i32, ptr %38, align 4, !tbaa !9
  %5506 = mul i32 %5505, %5504
  store i32 %5506, ptr %38, align 4, !tbaa !9
  %5507 = load i32, ptr %38, align 4, !tbaa !9
  %5508 = load i32, ptr %37, align 4, !tbaa !9
  %5509 = add i32 %5508, %5507
  store i32 %5509, ptr %37, align 4, !tbaa !9
  %5510 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5510, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %5511 = load ptr, ptr %8, align 8, !tbaa !5
  %5512 = getelementptr inbounds %struct.w2c_hermes, ptr %5511, i32 0, i32 6
  %5513 = load i32, ptr %37, align 4, !tbaa !9
  %5514 = zext i32 %5513 to i64
  %5515 = add i64 %5514, 28
  %5516 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5512, i64 noundef %5515, i64 noundef %5516)
  %5517 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5517, ptr %37, align 4, !tbaa !9
  %5518 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5518, ptr %38, align 4, !tbaa !9
  %5519 = load ptr, ptr %8, align 8, !tbaa !5
  %5520 = getelementptr inbounds %struct.w2c_hermes, ptr %5519, i32 0, i32 6
  %5521 = load i32, ptr %37, align 4, !tbaa !9
  %5522 = zext i32 %5521 to i64
  %5523 = add i64 %5522, 24
  %5524 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5520, i64 noundef %5523, i32 noundef %5524)
  %5525 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5525, ptr %37, align 4, !tbaa !9
  %5526 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5526, ptr %38, align 4, !tbaa !9
  %5527 = load ptr, ptr %8, align 8, !tbaa !5
  %5528 = getelementptr inbounds %struct.w2c_hermes, ptr %5527, i32 0, i32 6
  %5529 = load i32, ptr %37, align 4, !tbaa !9
  %5530 = zext i32 %5529 to i64
  %5531 = add i64 %5530, 22
  %5532 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5528, i64 noundef %5531, i32 noundef %5532)
  %5533 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5533, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5534 = load ptr, ptr %8, align 8, !tbaa !5
  %5535 = getelementptr inbounds %struct.w2c_hermes, ptr %5534, i32 0, i32 6
  %5536 = load i32, ptr %37, align 4, !tbaa !9
  %5537 = zext i32 %5536 to i64
  %5538 = add i64 %5537, 20
  %5539 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %5535, i64 noundef %5538, i32 noundef %5539)
  %5540 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5540, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %5541 = load ptr, ptr %8, align 8, !tbaa !5
  %5542 = getelementptr inbounds %struct.w2c_hermes, ptr %5541, i32 0, i32 6
  %5543 = load i32, ptr %37, align 4, !tbaa !9
  %5544 = zext i32 %5543 to i64
  %5545 = add i64 %5544, 12
  %5546 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5542, i64 noundef %5545, i64 noundef %5546)
  %5547 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5547, ptr %37, align 4, !tbaa !9
  %5548 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5548, ptr %38, align 4, !tbaa !9
  %5549 = load ptr, ptr %8, align 8, !tbaa !5
  %5550 = getelementptr inbounds %struct.w2c_hermes, ptr %5549, i32 0, i32 6
  %5551 = load i32, ptr %37, align 4, !tbaa !9
  %5552 = zext i32 %5551 to i64
  %5553 = add i64 %5552, 8
  %5554 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5550, i64 noundef %5553, i32 noundef %5554)
  %5555 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5555, ptr %37, align 4, !tbaa !9
  %5556 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5556, ptr %38, align 4, !tbaa !9
  %5557 = load ptr, ptr %8, align 8, !tbaa !5
  %5558 = getelementptr inbounds %struct.w2c_hermes, ptr %5557, i32 0, i32 6
  %5559 = load i32, ptr %37, align 4, !tbaa !9
  %5560 = zext i32 %5559 to i64
  %5561 = add i64 %5560, 4
  %5562 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5558, i64 noundef %5561, i32 noundef %5562)
  %5563 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5563, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5564 = load ptr, ptr %8, align 8, !tbaa !5
  %5565 = getelementptr inbounds %struct.w2c_hermes, ptr %5564, i32 0, i32 6
  %5566 = load i32, ptr %37, align 4, !tbaa !9
  %5567 = zext i32 %5566 to i64
  %5568 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5565, i64 noundef %5567, i32 noundef %5568)
  %5569 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5569, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5570 = load ptr, ptr %8, align 8, !tbaa !5
  %5571 = getelementptr inbounds %struct.w2c_hermes, ptr %5570, i32 0, i32 6
  %5572 = load i32, ptr %37, align 4, !tbaa !9
  %5573 = zext i32 %5572 to i64
  %5574 = add i64 %5573, 40
  %5575 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5571, i64 noundef %5574, i32 noundef %5575)
  %5576 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5576, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %5577 = load ptr, ptr %8, align 8, !tbaa !5
  %5578 = getelementptr inbounds %struct.w2c_hermes, ptr %5577, i32 0, i32 6
  %5579 = load i32, ptr %37, align 4, !tbaa !9
  %5580 = zext i32 %5579 to i64
  %5581 = add i64 %5580, 36
  %5582 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5578, i64 noundef %5581, i32 noundef %5582)
  %5583 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5583, ptr %37, align 4, !tbaa !9
  %5584 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5584, ptr %38, align 4, !tbaa !9
  %5585 = load ptr, ptr %8, align 8, !tbaa !5
  %5586 = getelementptr inbounds %struct.w2c_hermes, ptr %5585, i32 0, i32 6
  %5587 = load i32, ptr %38, align 4, !tbaa !9
  %5588 = zext i32 %5587 to i64
  %5589 = add i64 %5588, 16
  %5590 = call i32 @i32_load(ptr noundef %5586, i64 noundef %5589)
  store i32 %5590, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5591 = load i32, ptr %39, align 4, !tbaa !9
  %5592 = load i32, ptr %38, align 4, !tbaa !9
  %5593 = add i32 %5592, %5591
  store i32 %5593, ptr %38, align 4, !tbaa !9
  %5594 = load ptr, ptr %8, align 8, !tbaa !5
  %5595 = getelementptr inbounds %struct.w2c_hermes, ptr %5594, i32 0, i32 6
  %5596 = load i32, ptr %37, align 4, !tbaa !9
  %5597 = zext i32 %5596 to i64
  %5598 = add i64 %5597, 16
  %5599 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5595, i64 noundef %5598, i32 noundef %5599)
  br label %8585

5600:                                             ; preds = %5419, %5405, %5395, %5380, %5367, %5352
  %5601 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5601, ptr %37, align 4, !tbaa !9
  %5602 = load i32, ptr %37, align 4, !tbaa !9
  %5603 = icmp ne i32 %5602, 0
  br i1 %5603, label %5604, label %5605

5604:                                             ; preds = %5600
  br label %8144

5605:                                             ; preds = %5600
  %5606 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5606, ptr %37, align 4, !tbaa !9
  %5607 = load ptr, ptr %8, align 8, !tbaa !5
  %5608 = getelementptr inbounds %struct.w2c_hermes, ptr %5607, i32 0, i32 6
  %5609 = load i32, ptr %37, align 4, !tbaa !9
  %5610 = zext i32 %5609 to i64
  %5611 = add i64 %5610, 2
  %5612 = call i32 @i32_load16_u(ptr noundef %5608, i64 noundef %5611)
  store i32 %5612, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %5613 = load i32, ptr %37, align 4, !tbaa !9
  %5614 = load i32, ptr %38, align 4, !tbaa !9
  %5615 = icmp ne i32 %5613, %5614
  %5616 = zext i1 %5615 to i32
  store i32 %5616, ptr %37, align 4, !tbaa !9
  %5617 = load i32, ptr %37, align 4, !tbaa !9
  %5618 = icmp ne i32 %5617, 0
  br i1 %5618, label %5619, label %5620

5619:                                             ; preds = %5605
  br label %8144

5620:                                             ; preds = %5605
  %5621 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5621, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5622 = load i32, ptr %38, align 4, !tbaa !9
  %5623 = load i32, ptr %37, align 4, !tbaa !9
  %5624 = add i32 %5623, %5622
  store i32 %5624, ptr %37, align 4, !tbaa !9
  %5625 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5625, ptr %38, align 4, !tbaa !9
  %5626 = load i32, ptr %37, align 4, !tbaa !9
  %5627 = load i32, ptr %38, align 4, !tbaa !9
  %5628 = icmp eq i32 %5626, %5627
  %5629 = zext i1 %5628 to i32
  store i32 %5629, ptr %37, align 4, !tbaa !9
  %5630 = load i32, ptr %37, align 4, !tbaa !9
  %5631 = icmp ne i32 %5630, 0
  br i1 %5631, label %5632, label %5633

5632:                                             ; preds = %5620
  br label %8144

5633:                                             ; preds = %5620
  %5634 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5634, ptr %37, align 4, !tbaa !9
  %5635 = load ptr, ptr %8, align 8, !tbaa !5
  %5636 = getelementptr inbounds %struct.w2c_hermes, ptr %5635, i32 0, i32 6
  %5637 = load i32, ptr %37, align 4, !tbaa !9
  %5638 = zext i32 %5637 to i64
  %5639 = add i64 %5638, 4
  %5640 = call i32 @i32_load16_u(ptr noundef %5636, i64 noundef %5639)
  store i32 %5640, ptr %37, align 4, !tbaa !9
  store i32 60, ptr %38, align 4, !tbaa !9
  %5641 = load i32, ptr %37, align 4, !tbaa !9
  %5642 = load i32, ptr %38, align 4, !tbaa !9
  %5643 = icmp ne i32 %5641, %5642
  %5644 = zext i1 %5643 to i32
  store i32 %5644, ptr %37, align 4, !tbaa !9
  %5645 = load i32, ptr %37, align 4, !tbaa !9
  %5646 = icmp ne i32 %5645, 0
  br i1 %5646, label %5647, label %5648

5647:                                             ; preds = %5633
  br label %8144

5648:                                             ; preds = %5633
  %5649 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5649, ptr %37, align 4, !tbaa !9
  %5650 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5650, ptr %38, align 4, !tbaa !9
  %5651 = load ptr, ptr %8, align 8, !tbaa !5
  %5652 = getelementptr inbounds %struct.w2c_hermes, ptr %5651, i32 0, i32 6
  %5653 = load i32, ptr %37, align 4, !tbaa !9
  %5654 = zext i32 %5653 to i64
  %5655 = add i64 %5654, 4
  %5656 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5652, i64 noundef %5655, i32 noundef %5656)
  %5657 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5657, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %5658 = load i32, ptr %38, align 4, !tbaa !9
  %5659 = load i32, ptr %37, align 4, !tbaa !9
  %5660 = add i32 %5659, %5658
  store i32 %5660, ptr %37, align 4, !tbaa !9
  %5661 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5661, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %5662 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5662, ptr %14, align 4, !tbaa !9
  %5663 = load ptr, ptr %8, align 8, !tbaa !5
  %5664 = getelementptr inbounds %struct.w2c_hermes, ptr %5663, i32 0, i32 3
  %5665 = load i32, ptr %5664, align 8, !tbaa !13
  store i32 %5665, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %5666 = load i32, ptr %38, align 4, !tbaa !9
  %5667 = load i32, ptr %37, align 4, !tbaa !9
  %5668 = sub i32 %5667, %5666
  store i32 %5668, ptr %37, align 4, !tbaa !9
  %5669 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5669, ptr %21, align 4, !tbaa !9
  %5670 = load i32, ptr %37, align 4, !tbaa !9
  %5671 = load ptr, ptr %8, align 8, !tbaa !5
  %5672 = getelementptr inbounds %struct.w2c_hermes, ptr %5671, i32 0, i32 3
  store i32 %5670, ptr %5672, align 8, !tbaa !13
  %5673 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5673, ptr %37, align 4, !tbaa !9
  %5674 = load ptr, ptr %8, align 8, !tbaa !5
  %5675 = getelementptr inbounds %struct.w2c_hermes, ptr %5674, i32 0, i32 6
  %5676 = load i32, ptr %37, align 4, !tbaa !9
  %5677 = zext i32 %5676 to i64
  %5678 = call i32 @i32_load(ptr noundef %5675, i64 noundef %5677)
  store i32 %5678, ptr %37, align 4, !tbaa !9
  %5679 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5679, ptr %10, align 4, !tbaa !9
  %5680 = load ptr, ptr %8, align 8, !tbaa !5
  %5681 = getelementptr inbounds %struct.w2c_hermes, ptr %5680, i32 0, i32 6
  %5682 = load i32, ptr %37, align 4, !tbaa !9
  %5683 = zext i32 %5682 to i64
  %5684 = add i64 %5683, 138
  %5685 = call i32 @i32_load16_u(ptr noundef %5681, i64 noundef %5684)
  store i32 %5685, ptr %37, align 4, !tbaa !9
  %5686 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5686, ptr %25, align 4, !tbaa !9
  store i32 65535, ptr %38, align 4, !tbaa !9
  %5687 = load i32, ptr %37, align 4, !tbaa !9
  %5688 = load i32, ptr %38, align 4, !tbaa !9
  %5689 = icmp eq i32 %5687, %5688
  %5690 = zext i1 %5689 to i32
  store i32 %5690, ptr %37, align 4, !tbaa !9
  %5691 = load i32, ptr %37, align 4, !tbaa !9
  %5692 = icmp ne i32 %5691, 0
  br i1 %5692, label %5693, label %5726

5693:                                             ; preds = %5648
  %5694 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5694, ptr %37, align 4, !tbaa !9
  %5695 = load ptr, ptr %8, align 8, !tbaa !5
  %5696 = getelementptr inbounds %struct.w2c_hermes, ptr %5695, i32 0, i32 6
  %5697 = load i32, ptr %37, align 4, !tbaa !9
  %5698 = zext i32 %5697 to i64
  %5699 = add i64 %5698, 12
  %5700 = call i32 @i32_load(ptr noundef %5696, i64 noundef %5699)
  store i32 %5700, ptr %37, align 4, !tbaa !9
  %5701 = load i32, ptr %37, align 4, !tbaa !9
  %5702 = icmp ne i32 %5701, 0
  br i1 %5702, label %5703, label %5704

5703:                                             ; preds = %5693
  br label %8136

5704:                                             ; preds = %5693
  %5705 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5705, ptr %37, align 4, !tbaa !9
  store i32 10, ptr %38, align 4, !tbaa !9
  %5706 = load ptr, ptr %8, align 8, !tbaa !5
  %5707 = getelementptr inbounds %struct.w2c_hermes, ptr %5706, i32 0, i32 6
  %5708 = load i32, ptr %37, align 4, !tbaa !9
  %5709 = zext i32 %5708 to i64
  %5710 = add i64 %5709, 12
  %5711 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5707, i64 noundef %5710, i32 noundef %5711)
  %5712 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5712, ptr %37, align 4, !tbaa !9
  %5713 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5713, ptr %38, align 4, !tbaa !9
  %5714 = load ptr, ptr %8, align 8, !tbaa !5
  %5715 = getelementptr inbounds %struct.w2c_hermes, ptr %5714, i32 0, i32 6
  %5716 = load i32, ptr %38, align 4, !tbaa !9
  %5717 = zext i32 %5716 to i64
  %5718 = add i64 %5717, 8
  %5719 = call i32 @i32_load(ptr noundef %5715, i64 noundef %5718)
  store i32 %5719, ptr %38, align 4, !tbaa !9
  %5720 = load ptr, ptr %8, align 8, !tbaa !5
  %5721 = getelementptr inbounds %struct.w2c_hermes, ptr %5720, i32 0, i32 6
  %5722 = load i32, ptr %37, align 4, !tbaa !9
  %5723 = zext i32 %5722 to i64
  %5724 = add i64 %5723, 4
  %5725 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5721, i64 noundef %5724, i32 noundef %5725)
  br label %8136

5726:                                             ; preds = %5648
  %5727 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5727, ptr %37, align 4, !tbaa !9
  %5728 = load ptr, ptr %8, align 8, !tbaa !5
  %5729 = getelementptr inbounds %struct.w2c_hermes, ptr %5728, i32 0, i32 6
  %5730 = load i32, ptr %37, align 4, !tbaa !9
  %5731 = zext i32 %5730 to i64
  %5732 = add i64 %5731, 148
  %5733 = call i32 @i32_load(ptr noundef %5729, i64 noundef %5732)
  store i32 %5733, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5734 = load i32, ptr %38, align 4, !tbaa !9
  %5735 = load i32, ptr %37, align 4, !tbaa !9
  %5736 = sub i32 %5735, %5734
  store i32 %5736, ptr %37, align 4, !tbaa !9
  %5737 = load ptr, ptr %8, align 8, !tbaa !5
  %5738 = getelementptr inbounds %struct.w2c_hermes, ptr %5737, i32 0, i32 6
  %5739 = load i32, ptr %37, align 4, !tbaa !9
  %5740 = zext i32 %5739 to i64
  %5741 = call i32 @i32_load(ptr noundef %5738, i64 noundef %5740)
  store i32 %5741, ptr %37, align 4, !tbaa !9
  %5742 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5742, ptr %28, align 4, !tbaa !9
  %5743 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5743, ptr %37, align 4, !tbaa !9
  %5744 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %5744, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5745 = load i32, ptr %39, align 4, !tbaa !9
  %5746 = load i32, ptr %38, align 4, !tbaa !9
  %5747 = add i32 %5746, %5745
  store i32 %5747, ptr %38, align 4, !tbaa !9
  %5748 = load ptr, ptr %8, align 8, !tbaa !5
  %5749 = getelementptr inbounds %struct.w2c_hermes, ptr %5748, i32 0, i32 6
  %5750 = load i32, ptr %37, align 4, !tbaa !9
  %5751 = zext i32 %5750 to i64
  %5752 = add i64 %5751, 138
  %5753 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5749, i64 noundef %5752, i32 noundef %5753)
  %5754 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5754, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %5755 = load ptr, ptr %8, align 8, !tbaa !5
  %5756 = getelementptr inbounds %struct.w2c_hermes, ptr %5755, i32 0, i32 6
  %5757 = load i32, ptr %37, align 4, !tbaa !9
  %5758 = zext i32 %5757 to i64
  %5759 = add i64 %5758, 12
  %5760 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5756, i64 noundef %5759, i64 noundef %5760)
  %5761 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5761, ptr %37, align 4, !tbaa !9
  %5762 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5762, ptr %38, align 4, !tbaa !9
  store i32 20, ptr %39, align 4, !tbaa !9
  %5763 = load i32, ptr %39, align 4, !tbaa !9
  %5764 = load i32, ptr %38, align 4, !tbaa !9
  %5765 = add i32 %5764, %5763
  store i32 %5765, ptr %38, align 4, !tbaa !9
  %5766 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5766, ptr %34, align 4, !tbaa !9
  %5767 = load ptr, ptr %8, align 8, !tbaa !5
  %5768 = getelementptr inbounds %struct.w2c_hermes, ptr %5767, i32 0, i32 6
  %5769 = load i32, ptr %37, align 4, !tbaa !9
  %5770 = zext i32 %5769 to i64
  %5771 = add i64 %5770, 8
  %5772 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5768, i64 noundef %5771, i32 noundef %5772)
  %5773 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5773, ptr %37, align 4, !tbaa !9
  %5774 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5774, ptr %38, align 4, !tbaa !9
  store i32 8, ptr %39, align 4, !tbaa !9
  %5775 = load i32, ptr %39, align 4, !tbaa !9
  %5776 = load i32, ptr %38, align 4, !tbaa !9
  %5777 = add i32 %5776, %5775
  store i32 %5777, ptr %38, align 4, !tbaa !9
  %5778 = load ptr, ptr %8, align 8, !tbaa !5
  %5779 = load i32, ptr %37, align 4, !tbaa !9
  %5780 = load i32, ptr %38, align 4, !tbaa !9
  %5781 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeGroupName0x28llvh0x3A0x3ASmallVector0x3Cchar16_t0x2C0x205u0x3E0x260x29(ptr noundef %5778, i32 noundef %5779, i32 noundef %5780)
  store i32 %5781, ptr %37, align 4, !tbaa !9
  %5782 = load i32, ptr %37, align 4, !tbaa !9
  %5783 = icmp ne i32 %5782, 0
  %5784 = xor i1 %5783, true
  %5785 = zext i1 %5784 to i32
  store i32 %5785, ptr %37, align 4, !tbaa !9
  %5786 = load i32, ptr %37, align 4, !tbaa !9
  %5787 = icmp ne i32 %5786, 0
  br i1 %5787, label %5788, label %5821

5788:                                             ; preds = %5726
  %5789 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5789, ptr %37, align 4, !tbaa !9
  %5790 = load ptr, ptr %8, align 8, !tbaa !5
  %5791 = getelementptr inbounds %struct.w2c_hermes, ptr %5790, i32 0, i32 6
  %5792 = load i32, ptr %37, align 4, !tbaa !9
  %5793 = zext i32 %5792 to i64
  %5794 = add i64 %5793, 12
  %5795 = call i32 @i32_load(ptr noundef %5791, i64 noundef %5794)
  store i32 %5795, ptr %37, align 4, !tbaa !9
  %5796 = load i32, ptr %37, align 4, !tbaa !9
  %5797 = icmp ne i32 %5796, 0
  br i1 %5797, label %5798, label %5799

5798:                                             ; preds = %5788
  br label %8115

5799:                                             ; preds = %5788
  %5800 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5800, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %5801 = load ptr, ptr %8, align 8, !tbaa !5
  %5802 = getelementptr inbounds %struct.w2c_hermes, ptr %5801, i32 0, i32 6
  %5803 = load i32, ptr %37, align 4, !tbaa !9
  %5804 = zext i32 %5803 to i64
  %5805 = add i64 %5804, 12
  %5806 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5802, i64 noundef %5805, i32 noundef %5806)
  %5807 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5807, ptr %37, align 4, !tbaa !9
  %5808 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5808, ptr %38, align 4, !tbaa !9
  %5809 = load ptr, ptr %8, align 8, !tbaa !5
  %5810 = getelementptr inbounds %struct.w2c_hermes, ptr %5809, i32 0, i32 6
  %5811 = load i32, ptr %38, align 4, !tbaa !9
  %5812 = zext i32 %5811 to i64
  %5813 = add i64 %5812, 8
  %5814 = call i32 @i32_load(ptr noundef %5810, i64 noundef %5813)
  store i32 %5814, ptr %38, align 4, !tbaa !9
  %5815 = load ptr, ptr %8, align 8, !tbaa !5
  %5816 = getelementptr inbounds %struct.w2c_hermes, ptr %5815, i32 0, i32 6
  %5817 = load i32, ptr %37, align 4, !tbaa !9
  %5818 = zext i32 %5817 to i64
  %5819 = add i64 %5818, 4
  %5820 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5816, i64 noundef %5819, i32 noundef %5820)
  br label %8115

5821:                                             ; preds = %5726
  %5822 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5822, ptr %37, align 4, !tbaa !9
  %5823 = load ptr, ptr %8, align 8, !tbaa !5
  %5824 = getelementptr inbounds %struct.w2c_hermes, ptr %5823, i32 0, i32 6
  %5825 = load i32, ptr %37, align 4, !tbaa !9
  %5826 = zext i32 %5825 to i64
  %5827 = call i32 @i32_load(ptr noundef %5824, i64 noundef %5826)
  store i32 %5827, ptr %37, align 4, !tbaa !9
  %5828 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5828, ptr %35, align 4, !tbaa !9
  store i32 176, ptr %38, align 4, !tbaa !9
  %5829 = load i32, ptr %38, align 4, !tbaa !9
  %5830 = load i32, ptr %37, align 4, !tbaa !9
  %5831 = add i32 %5830, %5829
  store i32 %5831, ptr %37, align 4, !tbaa !9
  %5832 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5832, ptr %17, align 4, !tbaa !9
  %5833 = load ptr, ptr %8, align 8, !tbaa !5
  %5834 = getelementptr inbounds %struct.w2c_hermes, ptr %5833, i32 0, i32 6
  %5835 = load i32, ptr %37, align 4, !tbaa !9
  %5836 = zext i32 %5835 to i64
  %5837 = add i64 %5836, 20
  %5838 = call i32 @i32_load(ptr noundef %5834, i64 noundef %5837)
  store i32 %5838, ptr %37, align 4, !tbaa !9
  %5839 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5839, ptr %38, align 4, !tbaa !9
  %5840 = load ptr, ptr %8, align 8, !tbaa !5
  %5841 = getelementptr inbounds %struct.w2c_hermes, ptr %5840, i32 0, i32 6
  %5842 = load i32, ptr %38, align 4, !tbaa !9
  %5843 = zext i32 %5842 to i64
  %5844 = add i64 %5843, 16
  %5845 = call i32 @i32_load(ptr noundef %5841, i64 noundef %5844)
  store i32 %5845, ptr %38, align 4, !tbaa !9
  %5846 = load i32, ptr %38, align 4, !tbaa !9
  %5847 = load i32, ptr %37, align 4, !tbaa !9
  %5848 = add i32 %5847, %5846
  store i32 %5848, ptr %37, align 4, !tbaa !9
  %5849 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5849, ptr %38, align 4, !tbaa !9
  %5850 = load ptr, ptr %8, align 8, !tbaa !5
  %5851 = getelementptr inbounds %struct.w2c_hermes, ptr %5850, i32 0, i32 6
  %5852 = load i32, ptr %38, align 4, !tbaa !9
  %5853 = zext i32 %5852 to i64
  %5854 = add i64 %5853, 8
  %5855 = call i32 @i32_load(ptr noundef %5851, i64 noundef %5854)
  store i32 %5855, ptr %38, align 4, !tbaa !9
  %5856 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5856, ptr %19, align 4, !tbaa !9
  %5857 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5857, ptr %39, align 4, !tbaa !9
  %5858 = load ptr, ptr %8, align 8, !tbaa !5
  %5859 = getelementptr inbounds %struct.w2c_hermes, ptr %5858, i32 0, i32 6
  %5860 = load i32, ptr %39, align 4, !tbaa !9
  %5861 = zext i32 %5860 to i64
  %5862 = add i64 %5861, 4
  %5863 = call i32 @i32_load(ptr noundef %5859, i64 noundef %5862)
  store i32 %5863, ptr %39, align 4, !tbaa !9
  %5864 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5864, ptr %13, align 4, !tbaa !9
  %5865 = load i32, ptr %39, align 4, !tbaa !9
  %5866 = load i32, ptr %38, align 4, !tbaa !9
  %5867 = sub i32 %5866, %5865
  store i32 %5867, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %5868 = load i32, ptr %38, align 4, !tbaa !9
  %5869 = load i32, ptr %39, align 4, !tbaa !9
  %5870 = and i32 %5869, 31
  %5871 = ashr i32 %5868, %5870
  store i32 %5871, ptr %38, align 4, !tbaa !9
  store i32 170, ptr %39, align 4, !tbaa !9
  %5872 = load i32, ptr %39, align 4, !tbaa !9
  %5873 = load i32, ptr %38, align 4, !tbaa !9
  %5874 = mul i32 %5873, %5872
  store i32 %5874, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5875 = load i32, ptr %39, align 4, !tbaa !9
  %5876 = load i32, ptr %38, align 4, !tbaa !9
  %5877 = sub i32 %5876, %5875
  store i32 %5877, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %5878 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5878, ptr %40, align 4, !tbaa !9
  %5879 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5879, ptr %41, align 4, !tbaa !9
  %5880 = load i32, ptr %40, align 4, !tbaa !9
  %5881 = load i32, ptr %41, align 4, !tbaa !9
  %5882 = icmp ne i32 %5880, %5881
  %5883 = zext i1 %5882 to i32
  store i32 %5883, ptr %40, align 4, !tbaa !9
  %5884 = load i32, ptr %40, align 4, !tbaa !9
  %5885 = icmp ne i32 %5884, 0
  br i1 %5885, label %5886, label %5888

5886:                                             ; preds = %5821
  %5887 = load i32, ptr %38, align 4, !tbaa !9
  br label %5890

5888:                                             ; preds = %5821
  %5889 = load i32, ptr %39, align 4, !tbaa !9
  br label %5890

5890:                                             ; preds = %5888, %5886
  %5891 = phi i32 [ %5887, %5886 ], [ %5889, %5888 ]
  store i32 %5891, ptr %38, align 4, !tbaa !9
  %5892 = load i32, ptr %37, align 4, !tbaa !9
  %5893 = load i32, ptr %38, align 4, !tbaa !9
  %5894 = icmp eq i32 %5892, %5893
  %5895 = zext i1 %5894 to i32
  store i32 %5895, ptr %37, align 4, !tbaa !9
  %5896 = load i32, ptr %37, align 4, !tbaa !9
  %5897 = icmp ne i32 %5896, 0
  br i1 %5897, label %5898, label %7606

5898:                                             ; preds = %5890
  %5899 = load ptr, ptr %8, align 8, !tbaa !5
  %5900 = getelementptr inbounds %struct.w2c_hermes, ptr %5899, i32 0, i32 3
  %5901 = load i32, ptr %5900, align 8, !tbaa !13
  store i32 %5901, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %5902 = load i32, ptr %38, align 4, !tbaa !9
  %5903 = load i32, ptr %37, align 4, !tbaa !9
  %5904 = sub i32 %5903, %5902
  store i32 %5904, ptr %37, align 4, !tbaa !9
  %5905 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5905, ptr %22, align 4, !tbaa !9
  %5906 = load i32, ptr %37, align 4, !tbaa !9
  %5907 = load ptr, ptr %8, align 8, !tbaa !5
  %5908 = getelementptr inbounds %struct.w2c_hermes, ptr %5907, i32 0, i32 3
  store i32 %5906, ptr %5908, align 8, !tbaa !13
  %5909 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5909, ptr %37, align 4, !tbaa !9
  %5910 = load ptr, ptr %8, align 8, !tbaa !5
  %5911 = getelementptr inbounds %struct.w2c_hermes, ptr %5910, i32 0, i32 6
  %5912 = load i32, ptr %37, align 4, !tbaa !9
  %5913 = zext i32 %5912 to i64
  %5914 = add i64 %5913, 16
  %5915 = call i32 @i32_load(ptr noundef %5911, i64 noundef %5914)
  store i32 %5915, ptr %37, align 4, !tbaa !9
  %5916 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5916, ptr %10, align 4, !tbaa !9
  store i32 170, ptr %38, align 4, !tbaa !9
  %5917 = load i32, ptr %37, align 4, !tbaa !9
  %5918 = load i32, ptr %38, align 4, !tbaa !9
  %5919 = icmp uge i32 %5917, %5918
  %5920 = zext i1 %5919 to i32
  store i32 %5920, ptr %37, align 4, !tbaa !9
  %5921 = load i32, ptr %37, align 4, !tbaa !9
  %5922 = icmp ne i32 %5921, 0
  br i1 %5922, label %5923, label %6465

5923:                                             ; preds = %5898
  %5924 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5924, ptr %37, align 4, !tbaa !9
  %5925 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5925, ptr %38, align 4, !tbaa !9
  store i32 170, ptr %39, align 4, !tbaa !9
  %5926 = load i32, ptr %39, align 4, !tbaa !9
  %5927 = load i32, ptr %38, align 4, !tbaa !9
  %5928 = sub i32 %5927, %5926
  store i32 %5928, ptr %38, align 4, !tbaa !9
  %5929 = load ptr, ptr %8, align 8, !tbaa !5
  %5930 = getelementptr inbounds %struct.w2c_hermes, ptr %5929, i32 0, i32 6
  %5931 = load i32, ptr %37, align 4, !tbaa !9
  %5932 = zext i32 %5931 to i64
  %5933 = add i64 %5932, 16
  %5934 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5930, i64 noundef %5933, i32 noundef %5934)
  %5935 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5935, ptr %37, align 4, !tbaa !9
  %5936 = load ptr, ptr %8, align 8, !tbaa !5
  %5937 = getelementptr inbounds %struct.w2c_hermes, ptr %5936, i32 0, i32 6
  %5938 = load i32, ptr %37, align 4, !tbaa !9
  %5939 = zext i32 %5938 to i64
  %5940 = add i64 %5939, 4
  %5941 = call i32 @i32_load(ptr noundef %5937, i64 noundef %5940)
  store i32 %5941, ptr %37, align 4, !tbaa !9
  %5942 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5942, ptr %10, align 4, !tbaa !9
  %5943 = load ptr, ptr %8, align 8, !tbaa !5
  %5944 = getelementptr inbounds %struct.w2c_hermes, ptr %5943, i32 0, i32 6
  %5945 = load i32, ptr %37, align 4, !tbaa !9
  %5946 = zext i32 %5945 to i64
  %5947 = call i32 @i32_load(ptr noundef %5944, i64 noundef %5946)
  store i32 %5947, ptr %37, align 4, !tbaa !9
  %5948 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5948, ptr %20, align 4, !tbaa !9
  %5949 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5949, ptr %37, align 4, !tbaa !9
  %5950 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5950, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %5951 = load i32, ptr %39, align 4, !tbaa !9
  %5952 = load i32, ptr %38, align 4, !tbaa !9
  %5953 = add i32 %5952, %5951
  store i32 %5953, ptr %38, align 4, !tbaa !9
  %5954 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5954, ptr %15, align 4, !tbaa !9
  %5955 = load ptr, ptr %8, align 8, !tbaa !5
  %5956 = getelementptr inbounds %struct.w2c_hermes, ptr %5955, i32 0, i32 6
  %5957 = load i32, ptr %37, align 4, !tbaa !9
  %5958 = zext i32 %5957 to i64
  %5959 = add i64 %5958, 4
  %5960 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5956, i64 noundef %5959, i32 noundef %5960)
  %5961 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5961, ptr %37, align 4, !tbaa !9
  %5962 = load ptr, ptr %8, align 8, !tbaa !5
  %5963 = getelementptr inbounds %struct.w2c_hermes, ptr %5962, i32 0, i32 6
  %5964 = load i32, ptr %37, align 4, !tbaa !9
  %5965 = zext i32 %5964 to i64
  %5966 = add i64 %5965, 8
  %5967 = call i32 @i32_load(ptr noundef %5963, i64 noundef %5966)
  store i32 %5967, ptr %37, align 4, !tbaa !9
  %5968 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5968, ptr %10, align 4, !tbaa !9
  %5969 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5969, ptr %38, align 4, !tbaa !9
  %5970 = load ptr, ptr %8, align 8, !tbaa !5
  %5971 = getelementptr inbounds %struct.w2c_hermes, ptr %5970, i32 0, i32 6
  %5972 = load i32, ptr %38, align 4, !tbaa !9
  %5973 = zext i32 %5972 to i64
  %5974 = add i64 %5973, 12
  %5975 = call i32 @i32_load(ptr noundef %5971, i64 noundef %5974)
  store i32 %5975, ptr %38, align 4, !tbaa !9
  %5976 = load i32, ptr %37, align 4, !tbaa !9
  %5977 = load i32, ptr %38, align 4, !tbaa !9
  %5978 = icmp ne i32 %5976, %5977
  %5979 = zext i1 %5978 to i32
  store i32 %5979, ptr %37, align 4, !tbaa !9
  %5980 = load i32, ptr %37, align 4, !tbaa !9
  %5981 = icmp ne i32 %5980, 0
  br i1 %5981, label %5982, label %5985

5982:                                             ; preds = %5923
  %5983 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5983, ptr %37, align 4, !tbaa !9
  %5984 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5984, ptr %12, align 4, !tbaa !9
  br label %6440

5985:                                             ; preds = %5923
  %5986 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5986, ptr %37, align 4, !tbaa !9
  %5987 = load ptr, ptr %8, align 8, !tbaa !5
  %5988 = getelementptr inbounds %struct.w2c_hermes, ptr %5987, i32 0, i32 6
  %5989 = load i32, ptr %37, align 4, !tbaa !9
  %5990 = zext i32 %5989 to i64
  %5991 = call i32 @i32_load(ptr noundef %5988, i64 noundef %5990)
  store i32 %5991, ptr %37, align 4, !tbaa !9
  %5992 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5992, ptr %13, align 4, !tbaa !9
  %5993 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5993, ptr %38, align 4, !tbaa !9
  %5994 = load i32, ptr %37, align 4, !tbaa !9
  %5995 = load i32, ptr %38, align 4, !tbaa !9
  %5996 = icmp ult i32 %5994, %5995
  %5997 = zext i1 %5996 to i32
  store i32 %5997, ptr %37, align 4, !tbaa !9
  %5998 = load i32, ptr %37, align 4, !tbaa !9
  %5999 = icmp ne i32 %5998, 0
  br i1 %5999, label %6000, label %6098

6000:                                             ; preds = %5985
  %6001 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6001, ptr %37, align 4, !tbaa !9
  %6002 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6002, ptr %38, align 4, !tbaa !9
  %6003 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6003, ptr %39, align 4, !tbaa !9
  %6004 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6004, ptr %40, align 4, !tbaa !9
  %6005 = load i32, ptr %40, align 4, !tbaa !9
  %6006 = load i32, ptr %39, align 4, !tbaa !9
  %6007 = sub i32 %6006, %6005
  store i32 %6007, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %6008 = load i32, ptr %39, align 4, !tbaa !9
  %6009 = load i32, ptr %40, align 4, !tbaa !9
  %6010 = and i32 %6009, 31
  %6011 = ashr i32 %6008, %6010
  store i32 %6011, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %6012 = load i32, ptr %40, align 4, !tbaa !9
  %6013 = load i32, ptr %39, align 4, !tbaa !9
  %6014 = add i32 %6013, %6012
  store i32 %6014, ptr %39, align 4, !tbaa !9
  store i32 -2, ptr %40, align 4, !tbaa !9
  %6015 = load i32, ptr %40, align 4, !tbaa !9
  %6016 = icmp eq i32 %6015, 0
  %6017 = xor i1 %6016, true
  %6018 = xor i1 %6017, true
  %6019 = zext i1 %6018 to i32
  %6020 = sext i32 %6019 to i64
  %6021 = call i64 @llvm.expect.i64(i64 %6020, i64 0)
  %6022 = icmp ne i64 %6021, 0
  br i1 %6022, label %6023, label %6025

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

6024:                                             ; No predecessors!
  br label %6047

6025:                                             ; preds = %6000
  %6026 = load i32, ptr %39, align 4, !tbaa !9
  %6027 = icmp eq i32 %6026, -2147483648
  br i1 %6027, label %6028, label %6031

6028:                                             ; preds = %6025
  %6029 = load i32, ptr %40, align 4, !tbaa !9
  %6030 = icmp eq i32 %6029, -1
  br label %6031

6031:                                             ; preds = %6028, %6025
  %6032 = phi i1 [ false, %6025 ], [ %6030, %6028 ]
  %6033 = xor i1 %6032, true
  %6034 = xor i1 %6033, true
  %6035 = zext i1 %6034 to i32
  %6036 = sext i32 %6035 to i64
  %6037 = call i64 @llvm.expect.i64(i64 %6036, i64 0)
  %6038 = icmp ne i64 %6037, 0
  br i1 %6038, label %6039, label %6041

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

6040:                                             ; No predecessors!
  br label %6045

6041:                                             ; preds = %6031
  %6042 = load i32, ptr %39, align 4, !tbaa !9
  %6043 = load i32, ptr %40, align 4, !tbaa !9
  %6044 = sdiv i32 %6042, %6043
  br label %6045

6045:                                             ; preds = %6041, %6040
  %6046 = phi i32 [ 0, %6040 ], [ %6044, %6041 ]
  br label %6047

6047:                                             ; preds = %6045, %6024
  %6048 = phi i32 [ 0, %6024 ], [ %6046, %6045 ]
  store i32 %6048, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %6049 = load i32, ptr %40, align 4, !tbaa !9
  %6050 = and i32 %6049, 31
  %6051 = load i32, ptr %39, align 4, !tbaa !9
  %6052 = shl i32 %6051, %6050
  store i32 %6052, ptr %39, align 4, !tbaa !9
  %6053 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6053, ptr %11, align 4, !tbaa !9
  %6054 = load i32, ptr %39, align 4, !tbaa !9
  %6055 = load i32, ptr %38, align 4, !tbaa !9
  %6056 = add i32 %6055, %6054
  store i32 %6056, ptr %38, align 4, !tbaa !9
  %6057 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6057, ptr %39, align 4, !tbaa !9
  %6058 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6058, ptr %40, align 4, !tbaa !9
  %6059 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6059, ptr %41, align 4, !tbaa !9
  %6060 = load i32, ptr %41, align 4, !tbaa !9
  %6061 = load i32, ptr %40, align 4, !tbaa !9
  %6062 = sub i32 %6061, %6060
  store i32 %6062, ptr %40, align 4, !tbaa !9
  %6063 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6063, ptr %10, align 4, !tbaa !9
  %6064 = load ptr, ptr %8, align 8, !tbaa !5
  %6065 = load i32, ptr %38, align 4, !tbaa !9
  %6066 = load i32, ptr %39, align 4, !tbaa !9
  %6067 = load i32, ptr %40, align 4, !tbaa !9
  %6068 = call i32 @w2c_hermes_memmove(ptr noundef %6064, i32 noundef %6065, i32 noundef %6066, i32 noundef %6067)
  store i32 %6068, ptr %38, align 4, !tbaa !9
  %6069 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6069, ptr %39, align 4, !tbaa !9
  %6070 = load i32, ptr %39, align 4, !tbaa !9
  %6071 = load i32, ptr %38, align 4, !tbaa !9
  %6072 = add i32 %6071, %6070
  store i32 %6072, ptr %38, align 4, !tbaa !9
  %6073 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6073, ptr %12, align 4, !tbaa !9
  %6074 = load ptr, ptr %8, align 8, !tbaa !5
  %6075 = getelementptr inbounds %struct.w2c_hermes, ptr %6074, i32 0, i32 6
  %6076 = load i32, ptr %37, align 4, !tbaa !9
  %6077 = zext i32 %6076 to i64
  %6078 = add i64 %6077, 8
  %6079 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6075, i64 noundef %6078, i32 noundef %6079)
  %6080 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6080, ptr %37, align 4, !tbaa !9
  %6081 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6081, ptr %38, align 4, !tbaa !9
  %6082 = load ptr, ptr %8, align 8, !tbaa !5
  %6083 = getelementptr inbounds %struct.w2c_hermes, ptr %6082, i32 0, i32 6
  %6084 = load i32, ptr %38, align 4, !tbaa !9
  %6085 = zext i32 %6084 to i64
  %6086 = add i64 %6085, 4
  %6087 = call i32 @i32_load(ptr noundef %6083, i64 noundef %6086)
  store i32 %6087, ptr %38, align 4, !tbaa !9
  %6088 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6088, ptr %39, align 4, !tbaa !9
  %6089 = load i32, ptr %39, align 4, !tbaa !9
  %6090 = load i32, ptr %38, align 4, !tbaa !9
  %6091 = add i32 %6090, %6089
  store i32 %6091, ptr %38, align 4, !tbaa !9
  %6092 = load ptr, ptr %8, align 8, !tbaa !5
  %6093 = getelementptr inbounds %struct.w2c_hermes, ptr %6092, i32 0, i32 6
  %6094 = load i32, ptr %37, align 4, !tbaa !9
  %6095 = zext i32 %6094 to i64
  %6096 = add i64 %6095, 4
  %6097 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6093, i64 noundef %6096, i32 noundef %6097)
  br label %6440

6098:                                             ; preds = %5985
  store i32 1, ptr %37, align 4, !tbaa !9
  %6099 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6099, ptr %38, align 4, !tbaa !9
  %6100 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6100, ptr %39, align 4, !tbaa !9
  %6101 = load i32, ptr %39, align 4, !tbaa !9
  %6102 = load i32, ptr %38, align 4, !tbaa !9
  %6103 = sub i32 %6102, %6101
  store i32 %6103, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6104 = load i32, ptr %38, align 4, !tbaa !9
  %6105 = load i32, ptr %39, align 4, !tbaa !9
  %6106 = and i32 %6105, 31
  %6107 = ashr i32 %6104, %6106
  store i32 %6107, ptr %38, align 4, !tbaa !9
  %6108 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6108, ptr %39, align 4, !tbaa !9
  %6109 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6109, ptr %40, align 4, !tbaa !9
  %6110 = load i32, ptr %39, align 4, !tbaa !9
  %6111 = load i32, ptr %40, align 4, !tbaa !9
  %6112 = icmp eq i32 %6110, %6111
  %6113 = zext i1 %6112 to i32
  store i32 %6113, ptr %39, align 4, !tbaa !9
  %6114 = load i32, ptr %39, align 4, !tbaa !9
  %6115 = icmp ne i32 %6114, 0
  br i1 %6115, label %6116, label %6118

6116:                                             ; preds = %6098
  %6117 = load i32, ptr %37, align 4, !tbaa !9
  br label %6120

6118:                                             ; preds = %6098
  %6119 = load i32, ptr %38, align 4, !tbaa !9
  br label %6120

6120:                                             ; preds = %6118, %6116
  %6121 = phi i32 [ %6117, %6116 ], [ %6119, %6118 ]
  store i32 %6121, ptr %37, align 4, !tbaa !9
  %6122 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6122, ptr %11, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %6123 = load i32, ptr %37, align 4, !tbaa !9
  %6124 = load i32, ptr %38, align 4, !tbaa !9
  %6125 = icmp uge i32 %6123, %6124
  %6126 = zext i1 %6125 to i32
  store i32 %6126, ptr %37, align 4, !tbaa !9
  %6127 = load i32, ptr %37, align 4, !tbaa !9
  %6128 = icmp ne i32 %6127, 0
  br i1 %6128, label %6129, label %6130

6129:                                             ; preds = %6120
  br label %18026

6130:                                             ; preds = %6120
  %6131 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6131, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6132 = load i32, ptr %38, align 4, !tbaa !9
  %6133 = and i32 %6132, 31
  %6134 = load i32, ptr %37, align 4, !tbaa !9
  %6135 = shl i32 %6134, %6133
  store i32 %6135, ptr %37, align 4, !tbaa !9
  %6136 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6136, ptr %12, align 4, !tbaa !9
  %6137 = load ptr, ptr %8, align 8, !tbaa !5
  %6138 = load i32, ptr %37, align 4, !tbaa !9
  %6139 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %6137, i32 noundef %6138)
  store i32 %6139, ptr %37, align 4, !tbaa !9
  %6140 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6140, ptr %19, align 4, !tbaa !9
  %6141 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6141, ptr %38, align 4, !tbaa !9
  %6142 = load i32, ptr %38, align 4, !tbaa !9
  %6143 = load i32, ptr %37, align 4, !tbaa !9
  %6144 = add i32 %6143, %6142
  store i32 %6144, ptr %37, align 4, !tbaa !9
  %6145 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6145, ptr %29, align 4, !tbaa !9
  %6146 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6146, ptr %37, align 4, !tbaa !9
  %6147 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6147, ptr %38, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %6148 = load i32, ptr %39, align 4, !tbaa !9
  %6149 = load i32, ptr %38, align 4, !tbaa !9
  %6150 = and i32 %6149, %6148
  store i32 %6150, ptr %38, align 4, !tbaa !9
  %6151 = load i32, ptr %38, align 4, !tbaa !9
  %6152 = load i32, ptr %37, align 4, !tbaa !9
  %6153 = add i32 %6152, %6151
  store i32 %6153, ptr %37, align 4, !tbaa !9
  %6154 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6154, ptr %11, align 4, !tbaa !9
  %6155 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6155, ptr %12, align 4, !tbaa !9
  %6156 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6156, ptr %37, align 4, !tbaa !9
  %6157 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6157, ptr %38, align 4, !tbaa !9
  %6158 = load i32, ptr %37, align 4, !tbaa !9
  %6159 = load i32, ptr %38, align 4, !tbaa !9
  %6160 = icmp eq i32 %6158, %6159
  %6161 = zext i1 %6160 to i32
  store i32 %6161, ptr %37, align 4, !tbaa !9
  %6162 = load i32, ptr %37, align 4, !tbaa !9
  %6163 = icmp ne i32 %6162, 0
  br i1 %6163, label %6164, label %6165

6164:                                             ; preds = %6130
  br label %6388

6165:                                             ; preds = %6130
  %6166 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6166, ptr %37, align 4, !tbaa !9
  %6167 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6167, ptr %38, align 4, !tbaa !9
  %6168 = load i32, ptr %38, align 4, !tbaa !9
  %6169 = load i32, ptr %37, align 4, !tbaa !9
  %6170 = sub i32 %6169, %6168
  store i32 %6170, ptr %37, align 4, !tbaa !9
  %6171 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6171, ptr %10, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6172 = load i32, ptr %38, align 4, !tbaa !9
  %6173 = load i32, ptr %37, align 4, !tbaa !9
  %6174 = and i32 %6173, %6172
  store i32 %6174, ptr %37, align 4, !tbaa !9
  %6175 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6175, ptr %30, align 4, !tbaa !9
  %6176 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6176, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6177 = load i32, ptr %38, align 4, !tbaa !9
  %6178 = load i32, ptr %37, align 4, !tbaa !9
  %6179 = sub i32 %6178, %6177
  store i32 %6179, ptr %37, align 4, !tbaa !9
  %6180 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6180, ptr %31, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6181 = load i32, ptr %38, align 4, !tbaa !9
  %6182 = and i32 %6181, 31
  %6183 = load i32, ptr %37, align 4, !tbaa !9
  %6184 = lshr i32 %6183, %6182
  store i32 %6184, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6185 = load i32, ptr %38, align 4, !tbaa !9
  %6186 = load i32, ptr %37, align 4, !tbaa !9
  %6187 = add i32 %6186, %6185
  store i32 %6187, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %6188 = load i32, ptr %38, align 4, !tbaa !9
  %6189 = load i32, ptr %37, align 4, !tbaa !9
  %6190 = and i32 %6189, %6188
  store i32 %6190, ptr %37, align 4, !tbaa !9
  %6191 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6191, ptr %32, align 4, !tbaa !9
  %6192 = load i32, ptr %37, align 4, !tbaa !9
  %6193 = icmp ne i32 %6192, 0
  %6194 = xor i1 %6193, true
  %6195 = zext i1 %6194 to i32
  store i32 %6195, ptr %37, align 4, !tbaa !9
  %6196 = load i32, ptr %37, align 4, !tbaa !9
  %6197 = icmp ne i32 %6196, 0
  br i1 %6197, label %6198, label %6201

6198:                                             ; preds = %6165
  %6199 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6199, ptr %37, align 4, !tbaa !9
  %6200 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6200, ptr %10, align 4, !tbaa !9
  br label %6242

6201:                                             ; preds = %6165
  store i32 0, ptr %37, align 4, !tbaa !9
  %6202 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6202, ptr %12, align 4, !tbaa !9
  %6203 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6203, ptr %37, align 4, !tbaa !9
  %6204 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6204, ptr %10, align 4, !tbaa !9
  br label %6205

6205:                                             ; preds = %6240, %6201
  %6206 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6206, ptr %37, align 4, !tbaa !9
  %6207 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6207, ptr %38, align 4, !tbaa !9
  %6208 = load ptr, ptr %8, align 8, !tbaa !5
  %6209 = getelementptr inbounds %struct.w2c_hermes, ptr %6208, i32 0, i32 6
  %6210 = load i32, ptr %38, align 4, !tbaa !9
  %6211 = zext i32 %6210 to i64
  %6212 = call i32 @i32_load(ptr noundef %6209, i64 noundef %6211)
  store i32 %6212, ptr %38, align 4, !tbaa !9
  %6213 = load ptr, ptr %8, align 8, !tbaa !5
  %6214 = getelementptr inbounds %struct.w2c_hermes, ptr %6213, i32 0, i32 6
  %6215 = load i32, ptr %37, align 4, !tbaa !9
  %6216 = zext i32 %6215 to i64
  %6217 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6214, i64 noundef %6216, i32 noundef %6217)
  %6218 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6218, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6219 = load i32, ptr %38, align 4, !tbaa !9
  %6220 = load i32, ptr %37, align 4, !tbaa !9
  %6221 = add i32 %6220, %6219
  store i32 %6221, ptr %37, align 4, !tbaa !9
  %6222 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6222, ptr %15, align 4, !tbaa !9
  %6223 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6223, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6224 = load i32, ptr %38, align 4, !tbaa !9
  %6225 = load i32, ptr %37, align 4, !tbaa !9
  %6226 = add i32 %6225, %6224
  store i32 %6226, ptr %37, align 4, !tbaa !9
  %6227 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6227, ptr %10, align 4, !tbaa !9
  %6228 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6228, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6229 = load i32, ptr %38, align 4, !tbaa !9
  %6230 = load i32, ptr %37, align 4, !tbaa !9
  %6231 = add i32 %6230, %6229
  store i32 %6231, ptr %37, align 4, !tbaa !9
  %6232 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6232, ptr %12, align 4, !tbaa !9
  %6233 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6233, ptr %38, align 4, !tbaa !9
  %6234 = load i32, ptr %37, align 4, !tbaa !9
  %6235 = load i32, ptr %38, align 4, !tbaa !9
  %6236 = icmp ne i32 %6234, %6235
  %6237 = zext i1 %6236 to i32
  store i32 %6237, ptr %37, align 4, !tbaa !9
  %6238 = load i32, ptr %37, align 4, !tbaa !9
  %6239 = icmp ne i32 %6238, 0
  br i1 %6239, label %6240, label %6241

6240:                                             ; preds = %6205
  br label %6205

6241:                                             ; preds = %6205
  br label %6242

6242:                                             ; preds = %6241, %6198
  %6243 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6243, ptr %37, align 4, !tbaa !9
  %6244 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %6244, ptr %38, align 4, !tbaa !9
  %6245 = load i32, ptr %38, align 4, !tbaa !9
  %6246 = load i32, ptr %37, align 4, !tbaa !9
  %6247 = add i32 %6246, %6245
  store i32 %6247, ptr %37, align 4, !tbaa !9
  %6248 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6248, ptr %12, align 4, !tbaa !9
  %6249 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6249, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %6250 = load i32, ptr %37, align 4, !tbaa !9
  %6251 = load i32, ptr %38, align 4, !tbaa !9
  %6252 = icmp ult i32 %6250, %6251
  %6253 = zext i1 %6252 to i32
  store i32 %6253, ptr %37, align 4, !tbaa !9
  %6254 = load i32, ptr %37, align 4, !tbaa !9
  %6255 = icmp ne i32 %6254, 0
  br i1 %6255, label %6256, label %6257

6256:                                             ; preds = %6242
  br label %6388

6257:                                             ; preds = %6242
  br label %6258

6258:                                             ; preds = %6386, %6257
  %6259 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6259, ptr %37, align 4, !tbaa !9
  %6260 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6260, ptr %38, align 4, !tbaa !9
  %6261 = load ptr, ptr %8, align 8, !tbaa !5
  %6262 = getelementptr inbounds %struct.w2c_hermes, ptr %6261, i32 0, i32 6
  %6263 = load i32, ptr %38, align 4, !tbaa !9
  %6264 = zext i32 %6263 to i64
  %6265 = call i32 @i32_load(ptr noundef %6262, i64 noundef %6264)
  store i32 %6265, ptr %38, align 4, !tbaa !9
  %6266 = load ptr, ptr %8, align 8, !tbaa !5
  %6267 = getelementptr inbounds %struct.w2c_hermes, ptr %6266, i32 0, i32 6
  %6268 = load i32, ptr %37, align 4, !tbaa !9
  %6269 = zext i32 %6268 to i64
  %6270 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6267, i64 noundef %6269, i32 noundef %6270)
  %6271 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6271, ptr %37, align 4, !tbaa !9
  %6272 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6272, ptr %38, align 4, !tbaa !9
  %6273 = load ptr, ptr %8, align 8, !tbaa !5
  %6274 = getelementptr inbounds %struct.w2c_hermes, ptr %6273, i32 0, i32 6
  %6275 = load i32, ptr %38, align 4, !tbaa !9
  %6276 = zext i32 %6275 to i64
  %6277 = add i64 %6276, 4
  %6278 = call i32 @i32_load(ptr noundef %6274, i64 noundef %6277)
  store i32 %6278, ptr %38, align 4, !tbaa !9
  %6279 = load ptr, ptr %8, align 8, !tbaa !5
  %6280 = getelementptr inbounds %struct.w2c_hermes, ptr %6279, i32 0, i32 6
  %6281 = load i32, ptr %37, align 4, !tbaa !9
  %6282 = zext i32 %6281 to i64
  %6283 = add i64 %6282, 4
  %6284 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6280, i64 noundef %6283, i32 noundef %6284)
  %6285 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6285, ptr %37, align 4, !tbaa !9
  %6286 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6286, ptr %38, align 4, !tbaa !9
  %6287 = load ptr, ptr %8, align 8, !tbaa !5
  %6288 = getelementptr inbounds %struct.w2c_hermes, ptr %6287, i32 0, i32 6
  %6289 = load i32, ptr %38, align 4, !tbaa !9
  %6290 = zext i32 %6289 to i64
  %6291 = add i64 %6290, 8
  %6292 = call i32 @i32_load(ptr noundef %6288, i64 noundef %6291)
  store i32 %6292, ptr %38, align 4, !tbaa !9
  %6293 = load ptr, ptr %8, align 8, !tbaa !5
  %6294 = getelementptr inbounds %struct.w2c_hermes, ptr %6293, i32 0, i32 6
  %6295 = load i32, ptr %37, align 4, !tbaa !9
  %6296 = zext i32 %6295 to i64
  %6297 = add i64 %6296, 8
  %6298 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6294, i64 noundef %6297, i32 noundef %6298)
  %6299 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6299, ptr %37, align 4, !tbaa !9
  %6300 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6300, ptr %38, align 4, !tbaa !9
  %6301 = load ptr, ptr %8, align 8, !tbaa !5
  %6302 = getelementptr inbounds %struct.w2c_hermes, ptr %6301, i32 0, i32 6
  %6303 = load i32, ptr %38, align 4, !tbaa !9
  %6304 = zext i32 %6303 to i64
  %6305 = add i64 %6304, 12
  %6306 = call i32 @i32_load(ptr noundef %6302, i64 noundef %6305)
  store i32 %6306, ptr %38, align 4, !tbaa !9
  %6307 = load ptr, ptr %8, align 8, !tbaa !5
  %6308 = getelementptr inbounds %struct.w2c_hermes, ptr %6307, i32 0, i32 6
  %6309 = load i32, ptr %37, align 4, !tbaa !9
  %6310 = zext i32 %6309 to i64
  %6311 = add i64 %6310, 12
  %6312 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6308, i64 noundef %6311, i32 noundef %6312)
  %6313 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6313, ptr %37, align 4, !tbaa !9
  %6314 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6314, ptr %38, align 4, !tbaa !9
  %6315 = load ptr, ptr %8, align 8, !tbaa !5
  %6316 = getelementptr inbounds %struct.w2c_hermes, ptr %6315, i32 0, i32 6
  %6317 = load i32, ptr %38, align 4, !tbaa !9
  %6318 = zext i32 %6317 to i64
  %6319 = add i64 %6318, 16
  %6320 = call i32 @i32_load(ptr noundef %6316, i64 noundef %6319)
  store i32 %6320, ptr %38, align 4, !tbaa !9
  %6321 = load ptr, ptr %8, align 8, !tbaa !5
  %6322 = getelementptr inbounds %struct.w2c_hermes, ptr %6321, i32 0, i32 6
  %6323 = load i32, ptr %37, align 4, !tbaa !9
  %6324 = zext i32 %6323 to i64
  %6325 = add i64 %6324, 16
  %6326 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6322, i64 noundef %6325, i32 noundef %6326)
  %6327 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6327, ptr %37, align 4, !tbaa !9
  %6328 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6328, ptr %38, align 4, !tbaa !9
  %6329 = load ptr, ptr %8, align 8, !tbaa !5
  %6330 = getelementptr inbounds %struct.w2c_hermes, ptr %6329, i32 0, i32 6
  %6331 = load i32, ptr %38, align 4, !tbaa !9
  %6332 = zext i32 %6331 to i64
  %6333 = add i64 %6332, 20
  %6334 = call i32 @i32_load(ptr noundef %6330, i64 noundef %6333)
  store i32 %6334, ptr %38, align 4, !tbaa !9
  %6335 = load ptr, ptr %8, align 8, !tbaa !5
  %6336 = getelementptr inbounds %struct.w2c_hermes, ptr %6335, i32 0, i32 6
  %6337 = load i32, ptr %37, align 4, !tbaa !9
  %6338 = zext i32 %6337 to i64
  %6339 = add i64 %6338, 20
  %6340 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6336, i64 noundef %6339, i32 noundef %6340)
  %6341 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6341, ptr %37, align 4, !tbaa !9
  %6342 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6342, ptr %38, align 4, !tbaa !9
  %6343 = load ptr, ptr %8, align 8, !tbaa !5
  %6344 = getelementptr inbounds %struct.w2c_hermes, ptr %6343, i32 0, i32 6
  %6345 = load i32, ptr %38, align 4, !tbaa !9
  %6346 = zext i32 %6345 to i64
  %6347 = add i64 %6346, 24
  %6348 = call i32 @i32_load(ptr noundef %6344, i64 noundef %6347)
  store i32 %6348, ptr %38, align 4, !tbaa !9
  %6349 = load ptr, ptr %8, align 8, !tbaa !5
  %6350 = getelementptr inbounds %struct.w2c_hermes, ptr %6349, i32 0, i32 6
  %6351 = load i32, ptr %37, align 4, !tbaa !9
  %6352 = zext i32 %6351 to i64
  %6353 = add i64 %6352, 24
  %6354 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6350, i64 noundef %6353, i32 noundef %6354)
  %6355 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6355, ptr %37, align 4, !tbaa !9
  %6356 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6356, ptr %38, align 4, !tbaa !9
  %6357 = load ptr, ptr %8, align 8, !tbaa !5
  %6358 = getelementptr inbounds %struct.w2c_hermes, ptr %6357, i32 0, i32 6
  %6359 = load i32, ptr %38, align 4, !tbaa !9
  %6360 = zext i32 %6359 to i64
  %6361 = add i64 %6360, 28
  %6362 = call i32 @i32_load(ptr noundef %6358, i64 noundef %6361)
  store i32 %6362, ptr %38, align 4, !tbaa !9
  %6363 = load ptr, ptr %8, align 8, !tbaa !5
  %6364 = getelementptr inbounds %struct.w2c_hermes, ptr %6363, i32 0, i32 6
  %6365 = load i32, ptr %37, align 4, !tbaa !9
  %6366 = zext i32 %6365 to i64
  %6367 = add i64 %6366, 28
  %6368 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6364, i64 noundef %6367, i32 noundef %6368)
  %6369 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6369, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %6370 = load i32, ptr %38, align 4, !tbaa !9
  %6371 = load i32, ptr %37, align 4, !tbaa !9
  %6372 = add i32 %6371, %6370
  store i32 %6372, ptr %37, align 4, !tbaa !9
  %6373 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6373, ptr %15, align 4, !tbaa !9
  %6374 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6374, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %6375 = load i32, ptr %38, align 4, !tbaa !9
  %6376 = load i32, ptr %37, align 4, !tbaa !9
  %6377 = add i32 %6376, %6375
  store i32 %6377, ptr %37, align 4, !tbaa !9
  %6378 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6378, ptr %10, align 4, !tbaa !9
  %6379 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6379, ptr %38, align 4, !tbaa !9
  %6380 = load i32, ptr %37, align 4, !tbaa !9
  %6381 = load i32, ptr %38, align 4, !tbaa !9
  %6382 = icmp ne i32 %6380, %6381
  %6383 = zext i1 %6382 to i32
  store i32 %6383, ptr %37, align 4, !tbaa !9
  %6384 = load i32, ptr %37, align 4, !tbaa !9
  %6385 = icmp ne i32 %6384, 0
  br i1 %6385, label %6386, label %6387

6386:                                             ; preds = %6258
  br label %6258

6387:                                             ; preds = %6258
  br label %6388

6388:                                             ; preds = %6387, %6256, %6164
  %6389 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6389, ptr %37, align 4, !tbaa !9
  %6390 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6390, ptr %38, align 4, !tbaa !9
  %6391 = load ptr, ptr %8, align 8, !tbaa !5
  %6392 = getelementptr inbounds %struct.w2c_hermes, ptr %6391, i32 0, i32 6
  %6393 = load i32, ptr %37, align 4, !tbaa !9
  %6394 = zext i32 %6393 to i64
  %6395 = add i64 %6394, 12
  %6396 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6392, i64 noundef %6395, i32 noundef %6396)
  %6397 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6397, ptr %37, align 4, !tbaa !9
  %6398 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6398, ptr %38, align 4, !tbaa !9
  %6399 = load ptr, ptr %8, align 8, !tbaa !5
  %6400 = getelementptr inbounds %struct.w2c_hermes, ptr %6399, i32 0, i32 6
  %6401 = load i32, ptr %37, align 4, !tbaa !9
  %6402 = zext i32 %6401 to i64
  %6403 = add i64 %6402, 8
  %6404 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6400, i64 noundef %6403, i32 noundef %6404)
  %6405 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6405, ptr %37, align 4, !tbaa !9
  %6406 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6406, ptr %38, align 4, !tbaa !9
  %6407 = load ptr, ptr %8, align 8, !tbaa !5
  %6408 = getelementptr inbounds %struct.w2c_hermes, ptr %6407, i32 0, i32 6
  %6409 = load i32, ptr %37, align 4, !tbaa !9
  %6410 = zext i32 %6409 to i64
  %6411 = add i64 %6410, 4
  %6412 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6408, i64 noundef %6411, i32 noundef %6412)
  %6413 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6413, ptr %37, align 4, !tbaa !9
  %6414 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6414, ptr %38, align 4, !tbaa !9
  %6415 = load ptr, ptr %8, align 8, !tbaa !5
  %6416 = getelementptr inbounds %struct.w2c_hermes, ptr %6415, i32 0, i32 6
  %6417 = load i32, ptr %37, align 4, !tbaa !9
  %6418 = zext i32 %6417 to i64
  %6419 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6416, i64 noundef %6418, i32 noundef %6419)
  %6420 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6420, ptr %37, align 4, !tbaa !9
  %6421 = load i32, ptr %37, align 4, !tbaa !9
  %6422 = icmp ne i32 %6421, 0
  %6423 = xor i1 %6422, true
  %6424 = zext i1 %6423 to i32
  store i32 %6424, ptr %37, align 4, !tbaa !9
  %6425 = load i32, ptr %37, align 4, !tbaa !9
  %6426 = icmp ne i32 %6425, 0
  br i1 %6426, label %6427, label %6428

6427:                                             ; preds = %6388
  br label %6440

6428:                                             ; preds = %6388
  %6429 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6429, ptr %37, align 4, !tbaa !9
  %6430 = load ptr, ptr %8, align 8, !tbaa !5
  %6431 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %6430, i32 noundef %6431)
  %6432 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6432, ptr %37, align 4, !tbaa !9
  %6433 = load ptr, ptr %8, align 8, !tbaa !5
  %6434 = getelementptr inbounds %struct.w2c_hermes, ptr %6433, i32 0, i32 6
  %6435 = load i32, ptr %37, align 4, !tbaa !9
  %6436 = zext i32 %6435 to i64
  %6437 = add i64 %6436, 8
  %6438 = call i32 @i32_load(ptr noundef %6434, i64 noundef %6437)
  store i32 %6438, ptr %37, align 4, !tbaa !9
  %6439 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6439, ptr %12, align 4, !tbaa !9
  br label %6440

6440:                                             ; preds = %6428, %6427, %6047, %5982
  %6441 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6441, ptr %37, align 4, !tbaa !9
  %6442 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6442, ptr %38, align 4, !tbaa !9
  %6443 = load ptr, ptr %8, align 8, !tbaa !5
  %6444 = getelementptr inbounds %struct.w2c_hermes, ptr %6443, i32 0, i32 6
  %6445 = load i32, ptr %37, align 4, !tbaa !9
  %6446 = zext i32 %6445 to i64
  %6447 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6444, i64 noundef %6446, i32 noundef %6447)
  %6448 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6448, ptr %37, align 4, !tbaa !9
  %6449 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6449, ptr %38, align 4, !tbaa !9
  %6450 = load ptr, ptr %8, align 8, !tbaa !5
  %6451 = getelementptr inbounds %struct.w2c_hermes, ptr %6450, i32 0, i32 6
  %6452 = load i32, ptr %38, align 4, !tbaa !9
  %6453 = zext i32 %6452 to i64
  %6454 = add i64 %6453, 8
  %6455 = call i32 @i32_load(ptr noundef %6451, i64 noundef %6454)
  store i32 %6455, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %6456 = load i32, ptr %39, align 4, !tbaa !9
  %6457 = load i32, ptr %38, align 4, !tbaa !9
  %6458 = add i32 %6457, %6456
  store i32 %6458, ptr %38, align 4, !tbaa !9
  %6459 = load ptr, ptr %8, align 8, !tbaa !5
  %6460 = getelementptr inbounds %struct.w2c_hermes, ptr %6459, i32 0, i32 6
  %6461 = load i32, ptr %37, align 4, !tbaa !9
  %6462 = zext i32 %6461 to i64
  %6463 = add i64 %6462, 8
  %6464 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6460, i64 noundef %6463, i32 noundef %6464)
  br label %7581

6465:                                             ; preds = %5898
  %6466 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6466, ptr %37, align 4, !tbaa !9
  %6467 = load ptr, ptr %8, align 8, !tbaa !5
  %6468 = getelementptr inbounds %struct.w2c_hermes, ptr %6467, i32 0, i32 6
  %6469 = load i32, ptr %37, align 4, !tbaa !9
  %6470 = zext i32 %6469 to i64
  %6471 = add i64 %6470, 8
  %6472 = call i32 @i32_load(ptr noundef %6468, i64 noundef %6471)
  store i32 %6472, ptr %37, align 4, !tbaa !9
  %6473 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6473, ptr %15, align 4, !tbaa !9
  %6474 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6474, ptr %38, align 4, !tbaa !9
  %6475 = load ptr, ptr %8, align 8, !tbaa !5
  %6476 = getelementptr inbounds %struct.w2c_hermes, ptr %6475, i32 0, i32 6
  %6477 = load i32, ptr %38, align 4, !tbaa !9
  %6478 = zext i32 %6477 to i64
  %6479 = add i64 %6478, 4
  %6480 = call i32 @i32_load(ptr noundef %6476, i64 noundef %6479)
  store i32 %6480, ptr %38, align 4, !tbaa !9
  %6481 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6481, ptr %10, align 4, !tbaa !9
  %6482 = load i32, ptr %38, align 4, !tbaa !9
  %6483 = load i32, ptr %37, align 4, !tbaa !9
  %6484 = sub i32 %6483, %6482
  store i32 %6484, ptr %37, align 4, !tbaa !9
  %6485 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6485, ptr %20, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6486 = load i32, ptr %37, align 4, !tbaa !9
  %6487 = load i32, ptr %38, align 4, !tbaa !9
  %6488 = and i32 %6487, 31
  %6489 = ashr i32 %6486, %6488
  store i32 %6489, ptr %37, align 4, !tbaa !9
  %6490 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6490, ptr %11, align 4, !tbaa !9
  %6491 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6491, ptr %38, align 4, !tbaa !9
  %6492 = load ptr, ptr %8, align 8, !tbaa !5
  %6493 = getelementptr inbounds %struct.w2c_hermes, ptr %6492, i32 0, i32 6
  %6494 = load i32, ptr %38, align 4, !tbaa !9
  %6495 = zext i32 %6494 to i64
  %6496 = add i64 %6495, 12
  %6497 = call i32 @i32_load(ptr noundef %6493, i64 noundef %6496)
  store i32 %6497, ptr %38, align 4, !tbaa !9
  %6498 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6498, ptr %12, align 4, !tbaa !9
  %6499 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6499, ptr %39, align 4, !tbaa !9
  %6500 = load ptr, ptr %8, align 8, !tbaa !5
  %6501 = getelementptr inbounds %struct.w2c_hermes, ptr %6500, i32 0, i32 6
  %6502 = load i32, ptr %39, align 4, !tbaa !9
  %6503 = zext i32 %6502 to i64
  %6504 = call i32 @i32_load(ptr noundef %6501, i64 noundef %6503)
  store i32 %6504, ptr %39, align 4, !tbaa !9
  %6505 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6505, ptr %13, align 4, !tbaa !9
  %6506 = load i32, ptr %39, align 4, !tbaa !9
  %6507 = load i32, ptr %38, align 4, !tbaa !9
  %6508 = sub i32 %6507, %6506
  store i32 %6508, ptr %38, align 4, !tbaa !9
  %6509 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6509, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %6510 = load i32, ptr %38, align 4, !tbaa !9
  %6511 = load i32, ptr %39, align 4, !tbaa !9
  %6512 = and i32 %6511, 31
  %6513 = ashr i32 %6510, %6512
  store i32 %6513, ptr %38, align 4, !tbaa !9
  %6514 = load i32, ptr %37, align 4, !tbaa !9
  %6515 = load i32, ptr %38, align 4, !tbaa !9
  %6516 = icmp ult i32 %6514, %6515
  %6517 = zext i1 %6516 to i32
  store i32 %6517, ptr %37, align 4, !tbaa !9
  %6518 = load i32, ptr %37, align 4, !tbaa !9
  %6519 = icmp ne i32 %6518, 0
  br i1 %6519, label %6520, label %7097

6520:                                             ; preds = %6465
  %6521 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6521, ptr %37, align 4, !tbaa !9
  %6522 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6522, ptr %38, align 4, !tbaa !9
  %6523 = load i32, ptr %37, align 4, !tbaa !9
  %6524 = load i32, ptr %38, align 4, !tbaa !9
  %6525 = icmp ne i32 %6523, %6524
  %6526 = zext i1 %6525 to i32
  store i32 %6526, ptr %37, align 4, !tbaa !9
  %6527 = load i32, ptr %37, align 4, !tbaa !9
  %6528 = icmp ne i32 %6527, 0
  br i1 %6528, label %6529, label %6548

6529:                                             ; preds = %6520
  %6530 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6530, ptr %37, align 4, !tbaa !9
  store i32 4080, ptr %38, align 4, !tbaa !9
  %6531 = load ptr, ptr %8, align 8, !tbaa !5
  %6532 = load i32, ptr %38, align 4, !tbaa !9
  %6533 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %6531, i32 noundef %6532)
  store i32 %6533, ptr %38, align 4, !tbaa !9
  %6534 = load ptr, ptr %8, align 8, !tbaa !5
  %6535 = getelementptr inbounds %struct.w2c_hermes, ptr %6534, i32 0, i32 6
  %6536 = load i32, ptr %37, align 4, !tbaa !9
  %6537 = zext i32 %6536 to i64
  %6538 = add i64 %6537, 12
  %6539 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6535, i64 noundef %6538, i32 noundef %6539)
  %6540 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6540, ptr %37, align 4, !tbaa !9
  %6541 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6541, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %6542 = load i32, ptr %39, align 4, !tbaa !9
  %6543 = load i32, ptr %38, align 4, !tbaa !9
  %6544 = add i32 %6543, %6542
  store i32 %6544, ptr %38, align 4, !tbaa !9
  %6545 = load ptr, ptr %8, align 8, !tbaa !5
  %6546 = load i32, ptr %37, align 4, !tbaa !9
  %6547 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_back0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef %6545, i32 noundef %6546, i32 noundef %6547)
  br label %7581

6548:                                             ; preds = %6520
  %6549 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6549, ptr %37, align 4, !tbaa !9
  store i32 4080, ptr %38, align 4, !tbaa !9
  %6550 = load ptr, ptr %8, align 8, !tbaa !5
  %6551 = load i32, ptr %38, align 4, !tbaa !9
  %6552 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %6550, i32 noundef %6551)
  store i32 %6552, ptr %38, align 4, !tbaa !9
  %6553 = load ptr, ptr %8, align 8, !tbaa !5
  %6554 = getelementptr inbounds %struct.w2c_hermes, ptr %6553, i32 0, i32 6
  %6555 = load i32, ptr %37, align 4, !tbaa !9
  %6556 = zext i32 %6555 to i64
  %6557 = add i64 %6556, 12
  %6558 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6554, i64 noundef %6557, i32 noundef %6558)
  %6559 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6559, ptr %37, align 4, !tbaa !9
  %6560 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6560, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %6561 = load i32, ptr %39, align 4, !tbaa !9
  %6562 = load i32, ptr %38, align 4, !tbaa !9
  %6563 = add i32 %6562, %6561
  store i32 %6563, ptr %38, align 4, !tbaa !9
  %6564 = load ptr, ptr %8, align 8, !tbaa !5
  %6565 = load i32, ptr %37, align 4, !tbaa !9
  %6566 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef %6564, i32 noundef %6565, i32 noundef %6566)
  %6567 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6567, ptr %37, align 4, !tbaa !9
  %6568 = load ptr, ptr %8, align 8, !tbaa !5
  %6569 = getelementptr inbounds %struct.w2c_hermes, ptr %6568, i32 0, i32 6
  %6570 = load i32, ptr %37, align 4, !tbaa !9
  %6571 = zext i32 %6570 to i64
  %6572 = add i64 %6571, 4
  %6573 = call i32 @i32_load(ptr noundef %6569, i64 noundef %6572)
  store i32 %6573, ptr %37, align 4, !tbaa !9
  %6574 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6574, ptr %10, align 4, !tbaa !9
  %6575 = load ptr, ptr %8, align 8, !tbaa !5
  %6576 = getelementptr inbounds %struct.w2c_hermes, ptr %6575, i32 0, i32 6
  %6577 = load i32, ptr %37, align 4, !tbaa !9
  %6578 = zext i32 %6577 to i64
  %6579 = call i32 @i32_load(ptr noundef %6576, i64 noundef %6578)
  store i32 %6579, ptr %37, align 4, !tbaa !9
  %6580 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6580, ptr %20, align 4, !tbaa !9
  %6581 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6581, ptr %37, align 4, !tbaa !9
  %6582 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6582, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %6583 = load i32, ptr %39, align 4, !tbaa !9
  %6584 = load i32, ptr %38, align 4, !tbaa !9
  %6585 = add i32 %6584, %6583
  store i32 %6585, ptr %38, align 4, !tbaa !9
  %6586 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6586, ptr %15, align 4, !tbaa !9
  %6587 = load ptr, ptr %8, align 8, !tbaa !5
  %6588 = getelementptr inbounds %struct.w2c_hermes, ptr %6587, i32 0, i32 6
  %6589 = load i32, ptr %37, align 4, !tbaa !9
  %6590 = zext i32 %6589 to i64
  %6591 = add i64 %6590, 4
  %6592 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6588, i64 noundef %6591, i32 noundef %6592)
  %6593 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6593, ptr %37, align 4, !tbaa !9
  %6594 = load ptr, ptr %8, align 8, !tbaa !5
  %6595 = getelementptr inbounds %struct.w2c_hermes, ptr %6594, i32 0, i32 6
  %6596 = load i32, ptr %37, align 4, !tbaa !9
  %6597 = zext i32 %6596 to i64
  %6598 = add i64 %6597, 8
  %6599 = call i32 @i32_load(ptr noundef %6595, i64 noundef %6598)
  store i32 %6599, ptr %37, align 4, !tbaa !9
  %6600 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6600, ptr %10, align 4, !tbaa !9
  %6601 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6601, ptr %38, align 4, !tbaa !9
  %6602 = load ptr, ptr %8, align 8, !tbaa !5
  %6603 = getelementptr inbounds %struct.w2c_hermes, ptr %6602, i32 0, i32 6
  %6604 = load i32, ptr %38, align 4, !tbaa !9
  %6605 = zext i32 %6604 to i64
  %6606 = add i64 %6605, 12
  %6607 = call i32 @i32_load(ptr noundef %6603, i64 noundef %6606)
  store i32 %6607, ptr %38, align 4, !tbaa !9
  %6608 = load i32, ptr %37, align 4, !tbaa !9
  %6609 = load i32, ptr %38, align 4, !tbaa !9
  %6610 = icmp ne i32 %6608, %6609
  %6611 = zext i1 %6610 to i32
  store i32 %6611, ptr %37, align 4, !tbaa !9
  %6612 = load i32, ptr %37, align 4, !tbaa !9
  %6613 = icmp ne i32 %6612, 0
  br i1 %6613, label %6614, label %6617

6614:                                             ; preds = %6548
  %6615 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6615, ptr %37, align 4, !tbaa !9
  %6616 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6616, ptr %12, align 4, !tbaa !9
  br label %7072

6617:                                             ; preds = %6548
  %6618 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6618, ptr %37, align 4, !tbaa !9
  %6619 = load ptr, ptr %8, align 8, !tbaa !5
  %6620 = getelementptr inbounds %struct.w2c_hermes, ptr %6619, i32 0, i32 6
  %6621 = load i32, ptr %37, align 4, !tbaa !9
  %6622 = zext i32 %6621 to i64
  %6623 = call i32 @i32_load(ptr noundef %6620, i64 noundef %6622)
  store i32 %6623, ptr %37, align 4, !tbaa !9
  %6624 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6624, ptr %13, align 4, !tbaa !9
  %6625 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6625, ptr %38, align 4, !tbaa !9
  %6626 = load i32, ptr %37, align 4, !tbaa !9
  %6627 = load i32, ptr %38, align 4, !tbaa !9
  %6628 = icmp ult i32 %6626, %6627
  %6629 = zext i1 %6628 to i32
  store i32 %6629, ptr %37, align 4, !tbaa !9
  %6630 = load i32, ptr %37, align 4, !tbaa !9
  %6631 = icmp ne i32 %6630, 0
  br i1 %6631, label %6632, label %6730

6632:                                             ; preds = %6617
  %6633 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6633, ptr %37, align 4, !tbaa !9
  %6634 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6634, ptr %38, align 4, !tbaa !9
  %6635 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6635, ptr %39, align 4, !tbaa !9
  %6636 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6636, ptr %40, align 4, !tbaa !9
  %6637 = load i32, ptr %40, align 4, !tbaa !9
  %6638 = load i32, ptr %39, align 4, !tbaa !9
  %6639 = sub i32 %6638, %6637
  store i32 %6639, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %6640 = load i32, ptr %39, align 4, !tbaa !9
  %6641 = load i32, ptr %40, align 4, !tbaa !9
  %6642 = and i32 %6641, 31
  %6643 = ashr i32 %6640, %6642
  store i32 %6643, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %6644 = load i32, ptr %40, align 4, !tbaa !9
  %6645 = load i32, ptr %39, align 4, !tbaa !9
  %6646 = add i32 %6645, %6644
  store i32 %6646, ptr %39, align 4, !tbaa !9
  store i32 -2, ptr %40, align 4, !tbaa !9
  %6647 = load i32, ptr %40, align 4, !tbaa !9
  %6648 = icmp eq i32 %6647, 0
  %6649 = xor i1 %6648, true
  %6650 = xor i1 %6649, true
  %6651 = zext i1 %6650 to i32
  %6652 = sext i32 %6651 to i64
  %6653 = call i64 @llvm.expect.i64(i64 %6652, i64 0)
  %6654 = icmp ne i64 %6653, 0
  br i1 %6654, label %6655, label %6657

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

6656:                                             ; No predecessors!
  br label %6679

6657:                                             ; preds = %6632
  %6658 = load i32, ptr %39, align 4, !tbaa !9
  %6659 = icmp eq i32 %6658, -2147483648
  br i1 %6659, label %6660, label %6663

6660:                                             ; preds = %6657
  %6661 = load i32, ptr %40, align 4, !tbaa !9
  %6662 = icmp eq i32 %6661, -1
  br label %6663

6663:                                             ; preds = %6660, %6657
  %6664 = phi i1 [ false, %6657 ], [ %6662, %6660 ]
  %6665 = xor i1 %6664, true
  %6666 = xor i1 %6665, true
  %6667 = zext i1 %6666 to i32
  %6668 = sext i32 %6667 to i64
  %6669 = call i64 @llvm.expect.i64(i64 %6668, i64 0)
  %6670 = icmp ne i64 %6669, 0
  br i1 %6670, label %6671, label %6673

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

6672:                                             ; No predecessors!
  br label %6677

6673:                                             ; preds = %6663
  %6674 = load i32, ptr %39, align 4, !tbaa !9
  %6675 = load i32, ptr %40, align 4, !tbaa !9
  %6676 = sdiv i32 %6674, %6675
  br label %6677

6677:                                             ; preds = %6673, %6672
  %6678 = phi i32 [ 0, %6672 ], [ %6676, %6673 ]
  br label %6679

6679:                                             ; preds = %6677, %6656
  %6680 = phi i32 [ 0, %6656 ], [ %6678, %6677 ]
  store i32 %6680, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %6681 = load i32, ptr %40, align 4, !tbaa !9
  %6682 = and i32 %6681, 31
  %6683 = load i32, ptr %39, align 4, !tbaa !9
  %6684 = shl i32 %6683, %6682
  store i32 %6684, ptr %39, align 4, !tbaa !9
  %6685 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6685, ptr %11, align 4, !tbaa !9
  %6686 = load i32, ptr %39, align 4, !tbaa !9
  %6687 = load i32, ptr %38, align 4, !tbaa !9
  %6688 = add i32 %6687, %6686
  store i32 %6688, ptr %38, align 4, !tbaa !9
  %6689 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6689, ptr %39, align 4, !tbaa !9
  %6690 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6690, ptr %40, align 4, !tbaa !9
  %6691 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6691, ptr %41, align 4, !tbaa !9
  %6692 = load i32, ptr %41, align 4, !tbaa !9
  %6693 = load i32, ptr %40, align 4, !tbaa !9
  %6694 = sub i32 %6693, %6692
  store i32 %6694, ptr %40, align 4, !tbaa !9
  %6695 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6695, ptr %10, align 4, !tbaa !9
  %6696 = load ptr, ptr %8, align 8, !tbaa !5
  %6697 = load i32, ptr %38, align 4, !tbaa !9
  %6698 = load i32, ptr %39, align 4, !tbaa !9
  %6699 = load i32, ptr %40, align 4, !tbaa !9
  %6700 = call i32 @w2c_hermes_memmove(ptr noundef %6696, i32 noundef %6697, i32 noundef %6698, i32 noundef %6699)
  store i32 %6700, ptr %38, align 4, !tbaa !9
  %6701 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6701, ptr %39, align 4, !tbaa !9
  %6702 = load i32, ptr %39, align 4, !tbaa !9
  %6703 = load i32, ptr %38, align 4, !tbaa !9
  %6704 = add i32 %6703, %6702
  store i32 %6704, ptr %38, align 4, !tbaa !9
  %6705 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6705, ptr %12, align 4, !tbaa !9
  %6706 = load ptr, ptr %8, align 8, !tbaa !5
  %6707 = getelementptr inbounds %struct.w2c_hermes, ptr %6706, i32 0, i32 6
  %6708 = load i32, ptr %37, align 4, !tbaa !9
  %6709 = zext i32 %6708 to i64
  %6710 = add i64 %6709, 8
  %6711 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6707, i64 noundef %6710, i32 noundef %6711)
  %6712 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6712, ptr %37, align 4, !tbaa !9
  %6713 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6713, ptr %38, align 4, !tbaa !9
  %6714 = load ptr, ptr %8, align 8, !tbaa !5
  %6715 = getelementptr inbounds %struct.w2c_hermes, ptr %6714, i32 0, i32 6
  %6716 = load i32, ptr %38, align 4, !tbaa !9
  %6717 = zext i32 %6716 to i64
  %6718 = add i64 %6717, 4
  %6719 = call i32 @i32_load(ptr noundef %6715, i64 noundef %6718)
  store i32 %6719, ptr %38, align 4, !tbaa !9
  %6720 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6720, ptr %39, align 4, !tbaa !9
  %6721 = load i32, ptr %39, align 4, !tbaa !9
  %6722 = load i32, ptr %38, align 4, !tbaa !9
  %6723 = add i32 %6722, %6721
  store i32 %6723, ptr %38, align 4, !tbaa !9
  %6724 = load ptr, ptr %8, align 8, !tbaa !5
  %6725 = getelementptr inbounds %struct.w2c_hermes, ptr %6724, i32 0, i32 6
  %6726 = load i32, ptr %37, align 4, !tbaa !9
  %6727 = zext i32 %6726 to i64
  %6728 = add i64 %6727, 4
  %6729 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6725, i64 noundef %6728, i32 noundef %6729)
  br label %7072

6730:                                             ; preds = %6617
  store i32 1, ptr %37, align 4, !tbaa !9
  %6731 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6731, ptr %38, align 4, !tbaa !9
  %6732 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6732, ptr %39, align 4, !tbaa !9
  %6733 = load i32, ptr %39, align 4, !tbaa !9
  %6734 = load i32, ptr %38, align 4, !tbaa !9
  %6735 = sub i32 %6734, %6733
  store i32 %6735, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6736 = load i32, ptr %38, align 4, !tbaa !9
  %6737 = load i32, ptr %39, align 4, !tbaa !9
  %6738 = and i32 %6737, 31
  %6739 = ashr i32 %6736, %6738
  store i32 %6739, ptr %38, align 4, !tbaa !9
  %6740 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6740, ptr %39, align 4, !tbaa !9
  %6741 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6741, ptr %40, align 4, !tbaa !9
  %6742 = load i32, ptr %39, align 4, !tbaa !9
  %6743 = load i32, ptr %40, align 4, !tbaa !9
  %6744 = icmp eq i32 %6742, %6743
  %6745 = zext i1 %6744 to i32
  store i32 %6745, ptr %39, align 4, !tbaa !9
  %6746 = load i32, ptr %39, align 4, !tbaa !9
  %6747 = icmp ne i32 %6746, 0
  br i1 %6747, label %6748, label %6750

6748:                                             ; preds = %6730
  %6749 = load i32, ptr %37, align 4, !tbaa !9
  br label %6752

6750:                                             ; preds = %6730
  %6751 = load i32, ptr %38, align 4, !tbaa !9
  br label %6752

6752:                                             ; preds = %6750, %6748
  %6753 = phi i32 [ %6749, %6748 ], [ %6751, %6750 ]
  store i32 %6753, ptr %37, align 4, !tbaa !9
  %6754 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6754, ptr %11, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %6755 = load i32, ptr %37, align 4, !tbaa !9
  %6756 = load i32, ptr %38, align 4, !tbaa !9
  %6757 = icmp uge i32 %6755, %6756
  %6758 = zext i1 %6757 to i32
  store i32 %6758, ptr %37, align 4, !tbaa !9
  %6759 = load i32, ptr %37, align 4, !tbaa !9
  %6760 = icmp ne i32 %6759, 0
  br i1 %6760, label %6761, label %6762

6761:                                             ; preds = %6752
  br label %18026

6762:                                             ; preds = %6752
  %6763 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6763, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6764 = load i32, ptr %38, align 4, !tbaa !9
  %6765 = and i32 %6764, 31
  %6766 = load i32, ptr %37, align 4, !tbaa !9
  %6767 = shl i32 %6766, %6765
  store i32 %6767, ptr %37, align 4, !tbaa !9
  %6768 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6768, ptr %12, align 4, !tbaa !9
  %6769 = load ptr, ptr %8, align 8, !tbaa !5
  %6770 = load i32, ptr %37, align 4, !tbaa !9
  %6771 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %6769, i32 noundef %6770)
  store i32 %6771, ptr %37, align 4, !tbaa !9
  %6772 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6772, ptr %19, align 4, !tbaa !9
  %6773 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6773, ptr %38, align 4, !tbaa !9
  %6774 = load i32, ptr %38, align 4, !tbaa !9
  %6775 = load i32, ptr %37, align 4, !tbaa !9
  %6776 = add i32 %6775, %6774
  store i32 %6776, ptr %37, align 4, !tbaa !9
  %6777 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6777, ptr %29, align 4, !tbaa !9
  %6778 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6778, ptr %37, align 4, !tbaa !9
  %6779 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6779, ptr %38, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %6780 = load i32, ptr %39, align 4, !tbaa !9
  %6781 = load i32, ptr %38, align 4, !tbaa !9
  %6782 = and i32 %6781, %6780
  store i32 %6782, ptr %38, align 4, !tbaa !9
  %6783 = load i32, ptr %38, align 4, !tbaa !9
  %6784 = load i32, ptr %37, align 4, !tbaa !9
  %6785 = add i32 %6784, %6783
  store i32 %6785, ptr %37, align 4, !tbaa !9
  %6786 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6786, ptr %11, align 4, !tbaa !9
  %6787 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6787, ptr %12, align 4, !tbaa !9
  %6788 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6788, ptr %37, align 4, !tbaa !9
  %6789 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6789, ptr %38, align 4, !tbaa !9
  %6790 = load i32, ptr %37, align 4, !tbaa !9
  %6791 = load i32, ptr %38, align 4, !tbaa !9
  %6792 = icmp eq i32 %6790, %6791
  %6793 = zext i1 %6792 to i32
  store i32 %6793, ptr %37, align 4, !tbaa !9
  %6794 = load i32, ptr %37, align 4, !tbaa !9
  %6795 = icmp ne i32 %6794, 0
  br i1 %6795, label %6796, label %6797

6796:                                             ; preds = %6762
  br label %7020

6797:                                             ; preds = %6762
  %6798 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6798, ptr %37, align 4, !tbaa !9
  %6799 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6799, ptr %38, align 4, !tbaa !9
  %6800 = load i32, ptr %38, align 4, !tbaa !9
  %6801 = load i32, ptr %37, align 4, !tbaa !9
  %6802 = sub i32 %6801, %6800
  store i32 %6802, ptr %37, align 4, !tbaa !9
  %6803 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6803, ptr %10, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6804 = load i32, ptr %38, align 4, !tbaa !9
  %6805 = load i32, ptr %37, align 4, !tbaa !9
  %6806 = and i32 %6805, %6804
  store i32 %6806, ptr %37, align 4, !tbaa !9
  %6807 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6807, ptr %30, align 4, !tbaa !9
  %6808 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6808, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6809 = load i32, ptr %38, align 4, !tbaa !9
  %6810 = load i32, ptr %37, align 4, !tbaa !9
  %6811 = sub i32 %6810, %6809
  store i32 %6811, ptr %37, align 4, !tbaa !9
  %6812 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6812, ptr %31, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6813 = load i32, ptr %38, align 4, !tbaa !9
  %6814 = and i32 %6813, 31
  %6815 = load i32, ptr %37, align 4, !tbaa !9
  %6816 = lshr i32 %6815, %6814
  store i32 %6816, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6817 = load i32, ptr %38, align 4, !tbaa !9
  %6818 = load i32, ptr %37, align 4, !tbaa !9
  %6819 = add i32 %6818, %6817
  store i32 %6819, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %6820 = load i32, ptr %38, align 4, !tbaa !9
  %6821 = load i32, ptr %37, align 4, !tbaa !9
  %6822 = and i32 %6821, %6820
  store i32 %6822, ptr %37, align 4, !tbaa !9
  %6823 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6823, ptr %32, align 4, !tbaa !9
  %6824 = load i32, ptr %37, align 4, !tbaa !9
  %6825 = icmp ne i32 %6824, 0
  %6826 = xor i1 %6825, true
  %6827 = zext i1 %6826 to i32
  store i32 %6827, ptr %37, align 4, !tbaa !9
  %6828 = load i32, ptr %37, align 4, !tbaa !9
  %6829 = icmp ne i32 %6828, 0
  br i1 %6829, label %6830, label %6833

6830:                                             ; preds = %6797
  %6831 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6831, ptr %37, align 4, !tbaa !9
  %6832 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6832, ptr %10, align 4, !tbaa !9
  br label %6874

6833:                                             ; preds = %6797
  store i32 0, ptr %37, align 4, !tbaa !9
  %6834 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6834, ptr %12, align 4, !tbaa !9
  %6835 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6835, ptr %37, align 4, !tbaa !9
  %6836 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6836, ptr %10, align 4, !tbaa !9
  br label %6837

6837:                                             ; preds = %6872, %6833
  %6838 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6838, ptr %37, align 4, !tbaa !9
  %6839 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6839, ptr %38, align 4, !tbaa !9
  %6840 = load ptr, ptr %8, align 8, !tbaa !5
  %6841 = getelementptr inbounds %struct.w2c_hermes, ptr %6840, i32 0, i32 6
  %6842 = load i32, ptr %38, align 4, !tbaa !9
  %6843 = zext i32 %6842 to i64
  %6844 = call i32 @i32_load(ptr noundef %6841, i64 noundef %6843)
  store i32 %6844, ptr %38, align 4, !tbaa !9
  %6845 = load ptr, ptr %8, align 8, !tbaa !5
  %6846 = getelementptr inbounds %struct.w2c_hermes, ptr %6845, i32 0, i32 6
  %6847 = load i32, ptr %37, align 4, !tbaa !9
  %6848 = zext i32 %6847 to i64
  %6849 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6846, i64 noundef %6848, i32 noundef %6849)
  %6850 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6850, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6851 = load i32, ptr %38, align 4, !tbaa !9
  %6852 = load i32, ptr %37, align 4, !tbaa !9
  %6853 = add i32 %6852, %6851
  store i32 %6853, ptr %37, align 4, !tbaa !9
  %6854 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6854, ptr %15, align 4, !tbaa !9
  %6855 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6855, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6856 = load i32, ptr %38, align 4, !tbaa !9
  %6857 = load i32, ptr %37, align 4, !tbaa !9
  %6858 = add i32 %6857, %6856
  store i32 %6858, ptr %37, align 4, !tbaa !9
  %6859 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6859, ptr %10, align 4, !tbaa !9
  %6860 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6860, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6861 = load i32, ptr %38, align 4, !tbaa !9
  %6862 = load i32, ptr %37, align 4, !tbaa !9
  %6863 = add i32 %6862, %6861
  store i32 %6863, ptr %37, align 4, !tbaa !9
  %6864 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6864, ptr %12, align 4, !tbaa !9
  %6865 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6865, ptr %38, align 4, !tbaa !9
  %6866 = load i32, ptr %37, align 4, !tbaa !9
  %6867 = load i32, ptr %38, align 4, !tbaa !9
  %6868 = icmp ne i32 %6866, %6867
  %6869 = zext i1 %6868 to i32
  store i32 %6869, ptr %37, align 4, !tbaa !9
  %6870 = load i32, ptr %37, align 4, !tbaa !9
  %6871 = icmp ne i32 %6870, 0
  br i1 %6871, label %6872, label %6873

6872:                                             ; preds = %6837
  br label %6837

6873:                                             ; preds = %6837
  br label %6874

6874:                                             ; preds = %6873, %6830
  %6875 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6875, ptr %37, align 4, !tbaa !9
  %6876 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %6876, ptr %38, align 4, !tbaa !9
  %6877 = load i32, ptr %38, align 4, !tbaa !9
  %6878 = load i32, ptr %37, align 4, !tbaa !9
  %6879 = add i32 %6878, %6877
  store i32 %6879, ptr %37, align 4, !tbaa !9
  %6880 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6880, ptr %12, align 4, !tbaa !9
  %6881 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6881, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %6882 = load i32, ptr %37, align 4, !tbaa !9
  %6883 = load i32, ptr %38, align 4, !tbaa !9
  %6884 = icmp ult i32 %6882, %6883
  %6885 = zext i1 %6884 to i32
  store i32 %6885, ptr %37, align 4, !tbaa !9
  %6886 = load i32, ptr %37, align 4, !tbaa !9
  %6887 = icmp ne i32 %6886, 0
  br i1 %6887, label %6888, label %6889

6888:                                             ; preds = %6874
  br label %7020

6889:                                             ; preds = %6874
  br label %6890

6890:                                             ; preds = %7018, %6889
  %6891 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6891, ptr %37, align 4, !tbaa !9
  %6892 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6892, ptr %38, align 4, !tbaa !9
  %6893 = load ptr, ptr %8, align 8, !tbaa !5
  %6894 = getelementptr inbounds %struct.w2c_hermes, ptr %6893, i32 0, i32 6
  %6895 = load i32, ptr %38, align 4, !tbaa !9
  %6896 = zext i32 %6895 to i64
  %6897 = call i32 @i32_load(ptr noundef %6894, i64 noundef %6896)
  store i32 %6897, ptr %38, align 4, !tbaa !9
  %6898 = load ptr, ptr %8, align 8, !tbaa !5
  %6899 = getelementptr inbounds %struct.w2c_hermes, ptr %6898, i32 0, i32 6
  %6900 = load i32, ptr %37, align 4, !tbaa !9
  %6901 = zext i32 %6900 to i64
  %6902 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6899, i64 noundef %6901, i32 noundef %6902)
  %6903 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6903, ptr %37, align 4, !tbaa !9
  %6904 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6904, ptr %38, align 4, !tbaa !9
  %6905 = load ptr, ptr %8, align 8, !tbaa !5
  %6906 = getelementptr inbounds %struct.w2c_hermes, ptr %6905, i32 0, i32 6
  %6907 = load i32, ptr %38, align 4, !tbaa !9
  %6908 = zext i32 %6907 to i64
  %6909 = add i64 %6908, 4
  %6910 = call i32 @i32_load(ptr noundef %6906, i64 noundef %6909)
  store i32 %6910, ptr %38, align 4, !tbaa !9
  %6911 = load ptr, ptr %8, align 8, !tbaa !5
  %6912 = getelementptr inbounds %struct.w2c_hermes, ptr %6911, i32 0, i32 6
  %6913 = load i32, ptr %37, align 4, !tbaa !9
  %6914 = zext i32 %6913 to i64
  %6915 = add i64 %6914, 4
  %6916 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6912, i64 noundef %6915, i32 noundef %6916)
  %6917 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6917, ptr %37, align 4, !tbaa !9
  %6918 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6918, ptr %38, align 4, !tbaa !9
  %6919 = load ptr, ptr %8, align 8, !tbaa !5
  %6920 = getelementptr inbounds %struct.w2c_hermes, ptr %6919, i32 0, i32 6
  %6921 = load i32, ptr %38, align 4, !tbaa !9
  %6922 = zext i32 %6921 to i64
  %6923 = add i64 %6922, 8
  %6924 = call i32 @i32_load(ptr noundef %6920, i64 noundef %6923)
  store i32 %6924, ptr %38, align 4, !tbaa !9
  %6925 = load ptr, ptr %8, align 8, !tbaa !5
  %6926 = getelementptr inbounds %struct.w2c_hermes, ptr %6925, i32 0, i32 6
  %6927 = load i32, ptr %37, align 4, !tbaa !9
  %6928 = zext i32 %6927 to i64
  %6929 = add i64 %6928, 8
  %6930 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6926, i64 noundef %6929, i32 noundef %6930)
  %6931 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6931, ptr %37, align 4, !tbaa !9
  %6932 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6932, ptr %38, align 4, !tbaa !9
  %6933 = load ptr, ptr %8, align 8, !tbaa !5
  %6934 = getelementptr inbounds %struct.w2c_hermes, ptr %6933, i32 0, i32 6
  %6935 = load i32, ptr %38, align 4, !tbaa !9
  %6936 = zext i32 %6935 to i64
  %6937 = add i64 %6936, 12
  %6938 = call i32 @i32_load(ptr noundef %6934, i64 noundef %6937)
  store i32 %6938, ptr %38, align 4, !tbaa !9
  %6939 = load ptr, ptr %8, align 8, !tbaa !5
  %6940 = getelementptr inbounds %struct.w2c_hermes, ptr %6939, i32 0, i32 6
  %6941 = load i32, ptr %37, align 4, !tbaa !9
  %6942 = zext i32 %6941 to i64
  %6943 = add i64 %6942, 12
  %6944 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6940, i64 noundef %6943, i32 noundef %6944)
  %6945 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6945, ptr %37, align 4, !tbaa !9
  %6946 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6946, ptr %38, align 4, !tbaa !9
  %6947 = load ptr, ptr %8, align 8, !tbaa !5
  %6948 = getelementptr inbounds %struct.w2c_hermes, ptr %6947, i32 0, i32 6
  %6949 = load i32, ptr %38, align 4, !tbaa !9
  %6950 = zext i32 %6949 to i64
  %6951 = add i64 %6950, 16
  %6952 = call i32 @i32_load(ptr noundef %6948, i64 noundef %6951)
  store i32 %6952, ptr %38, align 4, !tbaa !9
  %6953 = load ptr, ptr %8, align 8, !tbaa !5
  %6954 = getelementptr inbounds %struct.w2c_hermes, ptr %6953, i32 0, i32 6
  %6955 = load i32, ptr %37, align 4, !tbaa !9
  %6956 = zext i32 %6955 to i64
  %6957 = add i64 %6956, 16
  %6958 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6954, i64 noundef %6957, i32 noundef %6958)
  %6959 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6959, ptr %37, align 4, !tbaa !9
  %6960 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6960, ptr %38, align 4, !tbaa !9
  %6961 = load ptr, ptr %8, align 8, !tbaa !5
  %6962 = getelementptr inbounds %struct.w2c_hermes, ptr %6961, i32 0, i32 6
  %6963 = load i32, ptr %38, align 4, !tbaa !9
  %6964 = zext i32 %6963 to i64
  %6965 = add i64 %6964, 20
  %6966 = call i32 @i32_load(ptr noundef %6962, i64 noundef %6965)
  store i32 %6966, ptr %38, align 4, !tbaa !9
  %6967 = load ptr, ptr %8, align 8, !tbaa !5
  %6968 = getelementptr inbounds %struct.w2c_hermes, ptr %6967, i32 0, i32 6
  %6969 = load i32, ptr %37, align 4, !tbaa !9
  %6970 = zext i32 %6969 to i64
  %6971 = add i64 %6970, 20
  %6972 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6968, i64 noundef %6971, i32 noundef %6972)
  %6973 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6973, ptr %37, align 4, !tbaa !9
  %6974 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6974, ptr %38, align 4, !tbaa !9
  %6975 = load ptr, ptr %8, align 8, !tbaa !5
  %6976 = getelementptr inbounds %struct.w2c_hermes, ptr %6975, i32 0, i32 6
  %6977 = load i32, ptr %38, align 4, !tbaa !9
  %6978 = zext i32 %6977 to i64
  %6979 = add i64 %6978, 24
  %6980 = call i32 @i32_load(ptr noundef %6976, i64 noundef %6979)
  store i32 %6980, ptr %38, align 4, !tbaa !9
  %6981 = load ptr, ptr %8, align 8, !tbaa !5
  %6982 = getelementptr inbounds %struct.w2c_hermes, ptr %6981, i32 0, i32 6
  %6983 = load i32, ptr %37, align 4, !tbaa !9
  %6984 = zext i32 %6983 to i64
  %6985 = add i64 %6984, 24
  %6986 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6982, i64 noundef %6985, i32 noundef %6986)
  %6987 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6987, ptr %37, align 4, !tbaa !9
  %6988 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6988, ptr %38, align 4, !tbaa !9
  %6989 = load ptr, ptr %8, align 8, !tbaa !5
  %6990 = getelementptr inbounds %struct.w2c_hermes, ptr %6989, i32 0, i32 6
  %6991 = load i32, ptr %38, align 4, !tbaa !9
  %6992 = zext i32 %6991 to i64
  %6993 = add i64 %6992, 28
  %6994 = call i32 @i32_load(ptr noundef %6990, i64 noundef %6993)
  store i32 %6994, ptr %38, align 4, !tbaa !9
  %6995 = load ptr, ptr %8, align 8, !tbaa !5
  %6996 = getelementptr inbounds %struct.w2c_hermes, ptr %6995, i32 0, i32 6
  %6997 = load i32, ptr %37, align 4, !tbaa !9
  %6998 = zext i32 %6997 to i64
  %6999 = add i64 %6998, 28
  %7000 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6996, i64 noundef %6999, i32 noundef %7000)
  %7001 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7001, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %7002 = load i32, ptr %38, align 4, !tbaa !9
  %7003 = load i32, ptr %37, align 4, !tbaa !9
  %7004 = add i32 %7003, %7002
  store i32 %7004, ptr %37, align 4, !tbaa !9
  %7005 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7005, ptr %15, align 4, !tbaa !9
  %7006 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7006, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %7007 = load i32, ptr %38, align 4, !tbaa !9
  %7008 = load i32, ptr %37, align 4, !tbaa !9
  %7009 = add i32 %7008, %7007
  store i32 %7009, ptr %37, align 4, !tbaa !9
  %7010 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7010, ptr %10, align 4, !tbaa !9
  %7011 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7011, ptr %38, align 4, !tbaa !9
  %7012 = load i32, ptr %37, align 4, !tbaa !9
  %7013 = load i32, ptr %38, align 4, !tbaa !9
  %7014 = icmp ne i32 %7012, %7013
  %7015 = zext i1 %7014 to i32
  store i32 %7015, ptr %37, align 4, !tbaa !9
  %7016 = load i32, ptr %37, align 4, !tbaa !9
  %7017 = icmp ne i32 %7016, 0
  br i1 %7017, label %7018, label %7019

7018:                                             ; preds = %6890
  br label %6890

7019:                                             ; preds = %6890
  br label %7020

7020:                                             ; preds = %7019, %6888, %6796
  %7021 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7021, ptr %37, align 4, !tbaa !9
  %7022 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %7022, ptr %38, align 4, !tbaa !9
  %7023 = load ptr, ptr %8, align 8, !tbaa !5
  %7024 = getelementptr inbounds %struct.w2c_hermes, ptr %7023, i32 0, i32 6
  %7025 = load i32, ptr %37, align 4, !tbaa !9
  %7026 = zext i32 %7025 to i64
  %7027 = add i64 %7026, 12
  %7028 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7024, i64 noundef %7027, i32 noundef %7028)
  %7029 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7029, ptr %37, align 4, !tbaa !9
  %7030 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7030, ptr %38, align 4, !tbaa !9
  %7031 = load ptr, ptr %8, align 8, !tbaa !5
  %7032 = getelementptr inbounds %struct.w2c_hermes, ptr %7031, i32 0, i32 6
  %7033 = load i32, ptr %37, align 4, !tbaa !9
  %7034 = zext i32 %7033 to i64
  %7035 = add i64 %7034, 8
  %7036 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7032, i64 noundef %7035, i32 noundef %7036)
  %7037 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7037, ptr %37, align 4, !tbaa !9
  %7038 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7038, ptr %38, align 4, !tbaa !9
  %7039 = load ptr, ptr %8, align 8, !tbaa !5
  %7040 = getelementptr inbounds %struct.w2c_hermes, ptr %7039, i32 0, i32 6
  %7041 = load i32, ptr %37, align 4, !tbaa !9
  %7042 = zext i32 %7041 to i64
  %7043 = add i64 %7042, 4
  %7044 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7040, i64 noundef %7043, i32 noundef %7044)
  %7045 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7045, ptr %37, align 4, !tbaa !9
  %7046 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7046, ptr %38, align 4, !tbaa !9
  %7047 = load ptr, ptr %8, align 8, !tbaa !5
  %7048 = getelementptr inbounds %struct.w2c_hermes, ptr %7047, i32 0, i32 6
  %7049 = load i32, ptr %37, align 4, !tbaa !9
  %7050 = zext i32 %7049 to i64
  %7051 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7048, i64 noundef %7050, i32 noundef %7051)
  %7052 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7052, ptr %37, align 4, !tbaa !9
  %7053 = load i32, ptr %37, align 4, !tbaa !9
  %7054 = icmp ne i32 %7053, 0
  %7055 = xor i1 %7054, true
  %7056 = zext i1 %7055 to i32
  store i32 %7056, ptr %37, align 4, !tbaa !9
  %7057 = load i32, ptr %37, align 4, !tbaa !9
  %7058 = icmp ne i32 %7057, 0
  br i1 %7058, label %7059, label %7060

7059:                                             ; preds = %7020
  br label %7072

7060:                                             ; preds = %7020
  %7061 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7061, ptr %37, align 4, !tbaa !9
  %7062 = load ptr, ptr %8, align 8, !tbaa !5
  %7063 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %7062, i32 noundef %7063)
  %7064 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7064, ptr %37, align 4, !tbaa !9
  %7065 = load ptr, ptr %8, align 8, !tbaa !5
  %7066 = getelementptr inbounds %struct.w2c_hermes, ptr %7065, i32 0, i32 6
  %7067 = load i32, ptr %37, align 4, !tbaa !9
  %7068 = zext i32 %7067 to i64
  %7069 = add i64 %7068, 8
  %7070 = call i32 @i32_load(ptr noundef %7066, i64 noundef %7069)
  store i32 %7070, ptr %37, align 4, !tbaa !9
  %7071 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7071, ptr %12, align 4, !tbaa !9
  br label %7072

7072:                                             ; preds = %7060, %7059, %6679, %6614
  %7073 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7073, ptr %37, align 4, !tbaa !9
  %7074 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7074, ptr %38, align 4, !tbaa !9
  %7075 = load ptr, ptr %8, align 8, !tbaa !5
  %7076 = getelementptr inbounds %struct.w2c_hermes, ptr %7075, i32 0, i32 6
  %7077 = load i32, ptr %37, align 4, !tbaa !9
  %7078 = zext i32 %7077 to i64
  %7079 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7076, i64 noundef %7078, i32 noundef %7079)
  %7080 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7080, ptr %37, align 4, !tbaa !9
  %7081 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7081, ptr %38, align 4, !tbaa !9
  %7082 = load ptr, ptr %8, align 8, !tbaa !5
  %7083 = getelementptr inbounds %struct.w2c_hermes, ptr %7082, i32 0, i32 6
  %7084 = load i32, ptr %38, align 4, !tbaa !9
  %7085 = zext i32 %7084 to i64
  %7086 = add i64 %7085, 8
  %7087 = call i32 @i32_load(ptr noundef %7083, i64 noundef %7086)
  store i32 %7087, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %7088 = load i32, ptr %39, align 4, !tbaa !9
  %7089 = load i32, ptr %38, align 4, !tbaa !9
  %7090 = add i32 %7089, %7088
  store i32 %7090, ptr %38, align 4, !tbaa !9
  %7091 = load ptr, ptr %8, align 8, !tbaa !5
  %7092 = getelementptr inbounds %struct.w2c_hermes, ptr %7091, i32 0, i32 6
  %7093 = load i32, ptr %37, align 4, !tbaa !9
  %7094 = zext i32 %7093 to i64
  %7095 = add i64 %7094, 8
  %7096 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7092, i64 noundef %7095, i32 noundef %7096)
  br label %7581

7097:                                             ; preds = %6465
  %7098 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7098, ptr %37, align 4, !tbaa !9
  %7099 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7099, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %7100 = load i32, ptr %39, align 4, !tbaa !9
  %7101 = load i32, ptr %38, align 4, !tbaa !9
  %7102 = add i32 %7101, %7100
  store i32 %7102, ptr %38, align 4, !tbaa !9
  %7103 = load ptr, ptr %8, align 8, !tbaa !5
  %7104 = getelementptr inbounds %struct.w2c_hermes, ptr %7103, i32 0, i32 6
  %7105 = load i32, ptr %37, align 4, !tbaa !9
  %7106 = zext i32 %7105 to i64
  %7107 = add i64 %7106, 28
  %7108 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7104, i64 noundef %7107, i32 noundef %7108)
  store i32 1, ptr %37, align 4, !tbaa !9
  %7109 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7109, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7110 = load i32, ptr %38, align 4, !tbaa !9
  %7111 = load i32, ptr %39, align 4, !tbaa !9
  %7112 = and i32 %7111, 31
  %7113 = ashr i32 %7110, %7112
  store i32 %7113, ptr %38, align 4, !tbaa !9
  %7114 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7114, ptr %39, align 4, !tbaa !9
  %7115 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7115, ptr %40, align 4, !tbaa !9
  %7116 = load i32, ptr %39, align 4, !tbaa !9
  %7117 = load i32, ptr %40, align 4, !tbaa !9
  %7118 = icmp eq i32 %7116, %7117
  %7119 = zext i1 %7118 to i32
  store i32 %7119, ptr %39, align 4, !tbaa !9
  %7120 = load i32, ptr %39, align 4, !tbaa !9
  %7121 = icmp ne i32 %7120, 0
  br i1 %7121, label %7122, label %7124

7122:                                             ; preds = %7097
  %7123 = load i32, ptr %37, align 4, !tbaa !9
  br label %7126

7124:                                             ; preds = %7097
  %7125 = load i32, ptr %38, align 4, !tbaa !9
  br label %7126

7126:                                             ; preds = %7124, %7122
  %7127 = phi i32 [ %7123, %7122 ], [ %7125, %7124 ]
  store i32 %7127, ptr %37, align 4, !tbaa !9
  %7128 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7128, ptr %29, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %7129 = load i32, ptr %37, align 4, !tbaa !9
  %7130 = load i32, ptr %38, align 4, !tbaa !9
  %7131 = icmp uge i32 %7129, %7130
  %7132 = zext i1 %7131 to i32
  store i32 %7132, ptr %37, align 4, !tbaa !9
  %7133 = load i32, ptr %37, align 4, !tbaa !9
  %7134 = icmp ne i32 %7133, 0
  br i1 %7134, label %7135, label %7136

7135:                                             ; preds = %7126
  br label %18026

7136:                                             ; preds = %7126
  %7137 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7137, ptr %37, align 4, !tbaa !9
  %7138 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %7138, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %7139 = load i32, ptr %39, align 4, !tbaa !9
  %7140 = and i32 %7139, 31
  %7141 = load i32, ptr %38, align 4, !tbaa !9
  %7142 = shl i32 %7141, %7140
  store i32 %7142, ptr %38, align 4, !tbaa !9
  %7143 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7143, ptr %12, align 4, !tbaa !9
  %7144 = load ptr, ptr %8, align 8, !tbaa !5
  %7145 = load i32, ptr %38, align 4, !tbaa !9
  %7146 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %7144, i32 noundef %7145)
  store i32 %7146, ptr %38, align 4, !tbaa !9
  %7147 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7147, ptr %13, align 4, !tbaa !9
  %7148 = load ptr, ptr %8, align 8, !tbaa !5
  %7149 = getelementptr inbounds %struct.w2c_hermes, ptr %7148, i32 0, i32 6
  %7150 = load i32, ptr %37, align 4, !tbaa !9
  %7151 = zext i32 %7150 to i64
  %7152 = add i64 %7151, 12
  %7153 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7149, i64 noundef %7152, i32 noundef %7153)
  %7154 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7154, ptr %37, align 4, !tbaa !9
  %7155 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7155, ptr %38, align 4, !tbaa !9
  %7156 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7156, ptr %39, align 4, !tbaa !9
  %7157 = load i32, ptr %39, align 4, !tbaa !9
  %7158 = load i32, ptr %38, align 4, !tbaa !9
  %7159 = add i32 %7158, %7157
  store i32 %7159, ptr %38, align 4, !tbaa !9
  %7160 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7160, ptr %19, align 4, !tbaa !9
  %7161 = load ptr, ptr %8, align 8, !tbaa !5
  %7162 = getelementptr inbounds %struct.w2c_hermes, ptr %7161, i32 0, i32 6
  %7163 = load i32, ptr %37, align 4, !tbaa !9
  %7164 = zext i32 %7163 to i64
  %7165 = add i64 %7164, 24
  %7166 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7162, i64 noundef %7165, i32 noundef %7166)
  %7167 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7167, ptr %37, align 4, !tbaa !9
  %7168 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7168, ptr %38, align 4, !tbaa !9
  %7169 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7169, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %7170 = load i32, ptr %40, align 4, !tbaa !9
  %7171 = and i32 %7170, 31
  %7172 = load i32, ptr %39, align 4, !tbaa !9
  %7173 = shl i32 %7172, %7171
  store i32 %7173, ptr %39, align 4, !tbaa !9
  %7174 = load i32, ptr %39, align 4, !tbaa !9
  %7175 = load i32, ptr %38, align 4, !tbaa !9
  %7176 = add i32 %7175, %7174
  store i32 %7176, ptr %38, align 4, !tbaa !9
  %7177 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7177, ptr %12, align 4, !tbaa !9
  %7178 = load ptr, ptr %8, align 8, !tbaa !5
  %7179 = getelementptr inbounds %struct.w2c_hermes, ptr %7178, i32 0, i32 6
  %7180 = load i32, ptr %37, align 4, !tbaa !9
  %7181 = zext i32 %7180 to i64
  %7182 = add i64 %7181, 16
  %7183 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7179, i64 noundef %7182, i32 noundef %7183)
  store i32 4080, ptr %37, align 4, !tbaa !9
  %7184 = load ptr, ptr %8, align 8, !tbaa !5
  %7185 = load i32, ptr %37, align 4, !tbaa !9
  %7186 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %7184, i32 noundef %7185)
  store i32 %7186, ptr %37, align 4, !tbaa !9
  %7187 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7187, ptr %30, align 4, !tbaa !9
  %7188 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7188, ptr %37, align 4, !tbaa !9
  %7189 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %7189, ptr %38, align 4, !tbaa !9
  %7190 = load i32, ptr %37, align 4, !tbaa !9
  %7191 = load i32, ptr %38, align 4, !tbaa !9
  %7192 = icmp ne i32 %7190, %7191
  %7193 = zext i1 %7192 to i32
  store i32 %7193, ptr %37, align 4, !tbaa !9
  %7194 = load i32, ptr %37, align 4, !tbaa !9
  %7195 = icmp ne i32 %7194, 0
  br i1 %7195, label %7196, label %7197

7196:                                             ; preds = %7136
  br label %7356

7197:                                             ; preds = %7136
  %7198 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7198, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %7199 = load i32, ptr %37, align 4, !tbaa !9
  %7200 = load i32, ptr %38, align 4, !tbaa !9
  %7201 = icmp sgt i32 %7199, %7200
  %7202 = zext i1 %7201 to i32
  store i32 %7202, ptr %37, align 4, !tbaa !9
  %7203 = load i32, ptr %37, align 4, !tbaa !9
  %7204 = icmp ne i32 %7203, 0
  br i1 %7204, label %7205, label %7260

7205:                                             ; preds = %7197
  %7206 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7206, ptr %37, align 4, !tbaa !9
  %7207 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7207, ptr %38, align 4, !tbaa !9
  %7208 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7208, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %7209 = load i32, ptr %40, align 4, !tbaa !9
  %7210 = load i32, ptr %39, align 4, !tbaa !9
  %7211 = add i32 %7210, %7209
  store i32 %7211, ptr %39, align 4, !tbaa !9
  store i32 -2, ptr %40, align 4, !tbaa !9
  %7212 = load i32, ptr %40, align 4, !tbaa !9
  %7213 = icmp eq i32 %7212, 0
  %7214 = xor i1 %7213, true
  %7215 = xor i1 %7214, true
  %7216 = zext i1 %7215 to i32
  %7217 = sext i32 %7216 to i64
  %7218 = call i64 @llvm.expect.i64(i64 %7217, i64 0)
  %7219 = icmp ne i64 %7218, 0
  br i1 %7219, label %7220, label %7222

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

7221:                                             ; No predecessors!
  br label %7244

7222:                                             ; preds = %7205
  %7223 = load i32, ptr %39, align 4, !tbaa !9
  %7224 = icmp eq i32 %7223, -2147483648
  br i1 %7224, label %7225, label %7228

7225:                                             ; preds = %7222
  %7226 = load i32, ptr %40, align 4, !tbaa !9
  %7227 = icmp eq i32 %7226, -1
  br label %7228

7228:                                             ; preds = %7225, %7222
  %7229 = phi i1 [ false, %7222 ], [ %7227, %7225 ]
  %7230 = xor i1 %7229, true
  %7231 = xor i1 %7230, true
  %7232 = zext i1 %7231 to i32
  %7233 = sext i32 %7232 to i64
  %7234 = call i64 @llvm.expect.i64(i64 %7233, i64 0)
  %7235 = icmp ne i64 %7234, 0
  br i1 %7235, label %7236, label %7238

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

7237:                                             ; No predecessors!
  br label %7242

7238:                                             ; preds = %7228
  %7239 = load i32, ptr %39, align 4, !tbaa !9
  %7240 = load i32, ptr %40, align 4, !tbaa !9
  %7241 = sdiv i32 %7239, %7240
  br label %7242

7242:                                             ; preds = %7238, %7237
  %7243 = phi i32 [ 0, %7237 ], [ %7241, %7238 ]
  br label %7244

7244:                                             ; preds = %7242, %7221
  %7245 = phi i32 [ 0, %7221 ], [ %7243, %7242 ]
  store i32 %7245, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %7246 = load i32, ptr %40, align 4, !tbaa !9
  %7247 = and i32 %7246, 31
  %7248 = load i32, ptr %39, align 4, !tbaa !9
  %7249 = shl i32 %7248, %7247
  store i32 %7249, ptr %39, align 4, !tbaa !9
  %7250 = load i32, ptr %39, align 4, !tbaa !9
  %7251 = load i32, ptr %38, align 4, !tbaa !9
  %7252 = add i32 %7251, %7250
  store i32 %7252, ptr %38, align 4, !tbaa !9
  %7253 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7253, ptr %12, align 4, !tbaa !9
  %7254 = load ptr, ptr %8, align 8, !tbaa !5
  %7255 = getelementptr inbounds %struct.w2c_hermes, ptr %7254, i32 0, i32 6
  %7256 = load i32, ptr %37, align 4, !tbaa !9
  %7257 = zext i32 %7256 to i64
  %7258 = add i64 %7257, 16
  %7259 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7255, i64 noundef %7258, i32 noundef %7259)
  br label %7356

7260:                                             ; preds = %7197
  store i32 1, ptr %37, align 4, !tbaa !9
  %7261 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7261, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7262 = load i32, ptr %38, align 4, !tbaa !9
  %7263 = load i32, ptr %39, align 4, !tbaa !9
  %7264 = and i32 %7263, 31
  %7265 = ashr i32 %7262, %7264
  store i32 %7265, ptr %38, align 4, !tbaa !9
  %7266 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7266, ptr %39, align 4, !tbaa !9
  %7267 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7267, ptr %40, align 4, !tbaa !9
  %7268 = load i32, ptr %39, align 4, !tbaa !9
  %7269 = load i32, ptr %40, align 4, !tbaa !9
  %7270 = icmp eq i32 %7268, %7269
  %7271 = zext i1 %7270 to i32
  store i32 %7271, ptr %39, align 4, !tbaa !9
  %7272 = load i32, ptr %39, align 4, !tbaa !9
  %7273 = icmp ne i32 %7272, 0
  br i1 %7273, label %7274, label %7276

7274:                                             ; preds = %7260
  %7275 = load i32, ptr %37, align 4, !tbaa !9
  br label %7278

7276:                                             ; preds = %7260
  %7277 = load i32, ptr %38, align 4, !tbaa !9
  br label %7278

7278:                                             ; preds = %7276, %7274
  %7279 = phi i32 [ %7275, %7274 ], [ %7277, %7276 ]
  store i32 %7279, ptr %37, align 4, !tbaa !9
  %7280 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7280, ptr %10, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %7281 = load i32, ptr %37, align 4, !tbaa !9
  %7282 = load i32, ptr %38, align 4, !tbaa !9
  %7283 = icmp uge i32 %7281, %7282
  %7284 = zext i1 %7283 to i32
  store i32 %7284, ptr %37, align 4, !tbaa !9
  %7285 = load i32, ptr %37, align 4, !tbaa !9
  %7286 = icmp ne i32 %7285, 0
  br i1 %7286, label %7287, label %7288

7287:                                             ; preds = %7278
  br label %18026

7288:                                             ; preds = %7278
  %7289 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7289, ptr %37, align 4, !tbaa !9
  %7290 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7290, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %7291 = load i32, ptr %39, align 4, !tbaa !9
  %7292 = and i32 %7291, 31
  %7293 = load i32, ptr %38, align 4, !tbaa !9
  %7294 = shl i32 %7293, %7292
  store i32 %7294, ptr %38, align 4, !tbaa !9
  %7295 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7295, ptr %12, align 4, !tbaa !9
  %7296 = load ptr, ptr %8, align 8, !tbaa !5
  %7297 = load i32, ptr %38, align 4, !tbaa !9
  %7298 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %7296, i32 noundef %7297)
  store i32 %7298, ptr %38, align 4, !tbaa !9
  %7299 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7299, ptr %11, align 4, !tbaa !9
  %7300 = load ptr, ptr %8, align 8, !tbaa !5
  %7301 = getelementptr inbounds %struct.w2c_hermes, ptr %7300, i32 0, i32 6
  %7302 = load i32, ptr %37, align 4, !tbaa !9
  %7303 = zext i32 %7302 to i64
  %7304 = add i64 %7303, 12
  %7305 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7301, i64 noundef %7304, i32 noundef %7305)
  %7306 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7306, ptr %37, align 4, !tbaa !9
  %7307 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7307, ptr %38, align 4, !tbaa !9
  %7308 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7308, ptr %39, align 4, !tbaa !9
  %7309 = load i32, ptr %39, align 4, !tbaa !9
  %7310 = load i32, ptr %38, align 4, !tbaa !9
  %7311 = add i32 %7310, %7309
  store i32 %7311, ptr %38, align 4, !tbaa !9
  %7312 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7312, ptr %19, align 4, !tbaa !9
  %7313 = load ptr, ptr %8, align 8, !tbaa !5
  %7314 = getelementptr inbounds %struct.w2c_hermes, ptr %7313, i32 0, i32 6
  %7315 = load i32, ptr %37, align 4, !tbaa !9
  %7316 = zext i32 %7315 to i64
  %7317 = add i64 %7316, 24
  %7318 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7314, i64 noundef %7317, i32 noundef %7318)
  %7319 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7319, ptr %37, align 4, !tbaa !9
  %7320 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7320, ptr %38, align 4, !tbaa !9
  %7321 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7321, ptr %39, align 4, !tbaa !9
  store i32 -4, ptr %40, align 4, !tbaa !9
  %7322 = load i32, ptr %40, align 4, !tbaa !9
  %7323 = load i32, ptr %39, align 4, !tbaa !9
  %7324 = and i32 %7323, %7322
  store i32 %7324, ptr %39, align 4, !tbaa !9
  %7325 = load i32, ptr %39, align 4, !tbaa !9
  %7326 = load i32, ptr %38, align 4, !tbaa !9
  %7327 = add i32 %7326, %7325
  store i32 %7327, ptr %38, align 4, !tbaa !9
  %7328 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7328, ptr %12, align 4, !tbaa !9
  %7329 = load ptr, ptr %8, align 8, !tbaa !5
  %7330 = getelementptr inbounds %struct.w2c_hermes, ptr %7329, i32 0, i32 6
  %7331 = load i32, ptr %37, align 4, !tbaa !9
  %7332 = zext i32 %7331 to i64
  %7333 = add i64 %7332, 16
  %7334 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7330, i64 noundef %7333, i32 noundef %7334)
  %7335 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7335, ptr %37, align 4, !tbaa !9
  %7336 = load ptr, ptr %8, align 8, !tbaa !5
  %7337 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %7336, i32 noundef %7337)
  %7338 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7338, ptr %37, align 4, !tbaa !9
  %7339 = load ptr, ptr %8, align 8, !tbaa !5
  %7340 = getelementptr inbounds %struct.w2c_hermes, ptr %7339, i32 0, i32 6
  %7341 = load i32, ptr %37, align 4, !tbaa !9
  %7342 = zext i32 %7341 to i64
  %7343 = add i64 %7342, 4
  %7344 = call i32 @i32_load(ptr noundef %7340, i64 noundef %7343)
  store i32 %7344, ptr %37, align 4, !tbaa !9
  %7345 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7345, ptr %10, align 4, !tbaa !9
  %7346 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7346, ptr %37, align 4, !tbaa !9
  %7347 = load ptr, ptr %8, align 8, !tbaa !5
  %7348 = getelementptr inbounds %struct.w2c_hermes, ptr %7347, i32 0, i32 6
  %7349 = load i32, ptr %37, align 4, !tbaa !9
  %7350 = zext i32 %7349 to i64
  %7351 = add i64 %7350, 8
  %7352 = call i32 @i32_load(ptr noundef %7348, i64 noundef %7351)
  store i32 %7352, ptr %37, align 4, !tbaa !9
  %7353 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7353, ptr %15, align 4, !tbaa !9
  %7354 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7354, ptr %37, align 4, !tbaa !9
  %7355 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7355, ptr %13, align 4, !tbaa !9
  br label %7356

7356:                                             ; preds = %7288, %7244, %7196
  %7357 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7357, ptr %37, align 4, !tbaa !9
  %7358 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %7358, ptr %38, align 4, !tbaa !9
  %7359 = load ptr, ptr %8, align 8, !tbaa !5
  %7360 = getelementptr inbounds %struct.w2c_hermes, ptr %7359, i32 0, i32 6
  %7361 = load i32, ptr %37, align 4, !tbaa !9
  %7362 = zext i32 %7361 to i64
  %7363 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7360, i64 noundef %7362, i32 noundef %7363)
  %7364 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7364, ptr %37, align 4, !tbaa !9
  %7365 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7365, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %7366 = load i32, ptr %39, align 4, !tbaa !9
  %7367 = load i32, ptr %38, align 4, !tbaa !9
  %7368 = add i32 %7367, %7366
  store i32 %7368, ptr %38, align 4, !tbaa !9
  %7369 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7369, ptr %20, align 4, !tbaa !9
  %7370 = load ptr, ptr %8, align 8, !tbaa !5
  %7371 = getelementptr inbounds %struct.w2c_hermes, ptr %7370, i32 0, i32 6
  %7372 = load i32, ptr %37, align 4, !tbaa !9
  %7373 = zext i32 %7372 to i64
  %7374 = add i64 %7373, 20
  %7375 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7371, i64 noundef %7374, i32 noundef %7375)
  %7376 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7376, ptr %37, align 4, !tbaa !9
  %7377 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7377, ptr %11, align 4, !tbaa !9
  %7378 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7378, ptr %37, align 4, !tbaa !9
  %7379 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7379, ptr %38, align 4, !tbaa !9
  %7380 = load i32, ptr %37, align 4, !tbaa !9
  %7381 = load i32, ptr %38, align 4, !tbaa !9
  %7382 = icmp ne i32 %7380, %7381
  %7383 = zext i1 %7382 to i32
  store i32 %7383, ptr %37, align 4, !tbaa !9
  %7384 = load i32, ptr %37, align 4, !tbaa !9
  %7385 = icmp ne i32 %7384, 0
  br i1 %7385, label %7386, label %7458

7386:                                             ; preds = %7356
  br label %7387

7387:                                             ; preds = %7414, %7386
  %7388 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7388, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %7389 = load i32, ptr %38, align 4, !tbaa !9
  %7390 = load i32, ptr %37, align 4, !tbaa !9
  %7391 = add i32 %7390, %7389
  store i32 %7391, ptr %37, align 4, !tbaa !9
  %7392 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7392, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %7393 = load i32, ptr %39, align 4, !tbaa !9
  %7394 = load i32, ptr %38, align 4, !tbaa !9
  %7395 = sub i32 %7394, %7393
  store i32 %7395, ptr %38, align 4, !tbaa !9
  %7396 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7396, ptr %15, align 4, !tbaa !9
  %7397 = load ptr, ptr %8, align 8, !tbaa !5
  %7398 = load i32, ptr %37, align 4, !tbaa !9
  %7399 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef %7397, i32 noundef %7398, i32 noundef %7399)
  %7400 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7400, ptr %37, align 4, !tbaa !9
  %7401 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7401, ptr %38, align 4, !tbaa !9
  %7402 = load ptr, ptr %8, align 8, !tbaa !5
  %7403 = getelementptr inbounds %struct.w2c_hermes, ptr %7402, i32 0, i32 6
  %7404 = load i32, ptr %38, align 4, !tbaa !9
  %7405 = zext i32 %7404 to i64
  %7406 = add i64 %7405, 4
  %7407 = call i32 @i32_load(ptr noundef %7403, i64 noundef %7406)
  store i32 %7407, ptr %38, align 4, !tbaa !9
  %7408 = load i32, ptr %37, align 4, !tbaa !9
  %7409 = load i32, ptr %38, align 4, !tbaa !9
  %7410 = icmp ne i32 %7408, %7409
  %7411 = zext i1 %7410 to i32
  store i32 %7411, ptr %37, align 4, !tbaa !9
  %7412 = load i32, ptr %37, align 4, !tbaa !9
  %7413 = icmp ne i32 %7412, 0
  br i1 %7413, label %7414, label %7415

7414:                                             ; preds = %7387
  br label %7387

7415:                                             ; preds = %7387
  %7416 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7416, ptr %37, align 4, !tbaa !9
  %7417 = load ptr, ptr %8, align 8, !tbaa !5
  %7418 = getelementptr inbounds %struct.w2c_hermes, ptr %7417, i32 0, i32 6
  %7419 = load i32, ptr %37, align 4, !tbaa !9
  %7420 = zext i32 %7419 to i64
  %7421 = add i64 %7420, 24
  %7422 = call i32 @i32_load(ptr noundef %7418, i64 noundef %7421)
  store i32 %7422, ptr %37, align 4, !tbaa !9
  %7423 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7423, ptr %19, align 4, !tbaa !9
  %7424 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7424, ptr %37, align 4, !tbaa !9
  %7425 = load ptr, ptr %8, align 8, !tbaa !5
  %7426 = getelementptr inbounds %struct.w2c_hermes, ptr %7425, i32 0, i32 6
  %7427 = load i32, ptr %37, align 4, !tbaa !9
  %7428 = zext i32 %7427 to i64
  %7429 = add i64 %7428, 20
  %7430 = call i32 @i32_load(ptr noundef %7426, i64 noundef %7429)
  store i32 %7430, ptr %37, align 4, !tbaa !9
  %7431 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7431, ptr %20, align 4, !tbaa !9
  %7432 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7432, ptr %37, align 4, !tbaa !9
  %7433 = load ptr, ptr %8, align 8, !tbaa !5
  %7434 = getelementptr inbounds %struct.w2c_hermes, ptr %7433, i32 0, i32 6
  %7435 = load i32, ptr %37, align 4, !tbaa !9
  %7436 = zext i32 %7435 to i64
  %7437 = add i64 %7436, 16
  %7438 = call i32 @i32_load(ptr noundef %7434, i64 noundef %7437)
  store i32 %7438, ptr %37, align 4, !tbaa !9
  %7439 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7439, ptr %12, align 4, !tbaa !9
  %7440 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7440, ptr %37, align 4, !tbaa !9
  %7441 = load ptr, ptr %8, align 8, !tbaa !5
  %7442 = getelementptr inbounds %struct.w2c_hermes, ptr %7441, i32 0, i32 6
  %7443 = load i32, ptr %37, align 4, !tbaa !9
  %7444 = zext i32 %7443 to i64
  %7445 = add i64 %7444, 12
  %7446 = call i32 @i32_load(ptr noundef %7442, i64 noundef %7445)
  store i32 %7446, ptr %37, align 4, !tbaa !9
  %7447 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7447, ptr %13, align 4, !tbaa !9
  %7448 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7448, ptr %37, align 4, !tbaa !9
  %7449 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7449, ptr %11, align 4, !tbaa !9
  %7450 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7450, ptr %37, align 4, !tbaa !9
  %7451 = load ptr, ptr %8, align 8, !tbaa !5
  %7452 = getelementptr inbounds %struct.w2c_hermes, ptr %7451, i32 0, i32 6
  %7453 = load i32, ptr %37, align 4, !tbaa !9
  %7454 = zext i32 %7453 to i64
  %7455 = add i64 %7454, 8
  %7456 = call i32 @i32_load(ptr noundef %7452, i64 noundef %7455)
  store i32 %7456, ptr %37, align 4, !tbaa !9
  %7457 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7457, ptr %10, align 4, !tbaa !9
  br label %7458

7458:                                             ; preds = %7415, %7356
  %7459 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7459, ptr %37, align 4, !tbaa !9
  %7460 = load ptr, ptr %8, align 8, !tbaa !5
  %7461 = getelementptr inbounds %struct.w2c_hermes, ptr %7460, i32 0, i32 6
  %7462 = load i32, ptr %37, align 4, !tbaa !9
  %7463 = zext i32 %7462 to i64
  %7464 = call i32 @i32_load(ptr noundef %7461, i64 noundef %7463)
  store i32 %7464, ptr %37, align 4, !tbaa !9
  %7465 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7465, ptr %15, align 4, !tbaa !9
  %7466 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7466, ptr %37, align 4, !tbaa !9
  %7467 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7467, ptr %38, align 4, !tbaa !9
  %7468 = load ptr, ptr %8, align 8, !tbaa !5
  %7469 = getelementptr inbounds %struct.w2c_hermes, ptr %7468, i32 0, i32 6
  %7470 = load i32, ptr %37, align 4, !tbaa !9
  %7471 = zext i32 %7470 to i64
  %7472 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7469, i64 noundef %7471, i32 noundef %7472)
  %7473 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7473, ptr %37, align 4, !tbaa !9
  %7474 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7474, ptr %38, align 4, !tbaa !9
  %7475 = load ptr, ptr %8, align 8, !tbaa !5
  %7476 = getelementptr inbounds %struct.w2c_hermes, ptr %7475, i32 0, i32 6
  %7477 = load i32, ptr %37, align 4, !tbaa !9
  %7478 = zext i32 %7477 to i64
  %7479 = add i64 %7478, 12
  %7480 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7476, i64 noundef %7479, i32 noundef %7480)
  %7481 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7481, ptr %37, align 4, !tbaa !9
  %7482 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7482, ptr %38, align 4, !tbaa !9
  %7483 = load ptr, ptr %8, align 8, !tbaa !5
  %7484 = getelementptr inbounds %struct.w2c_hermes, ptr %7483, i32 0, i32 6
  %7485 = load i32, ptr %37, align 4, !tbaa !9
  %7486 = zext i32 %7485 to i64
  %7487 = add i64 %7486, 4
  %7488 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7484, i64 noundef %7487, i32 noundef %7488)
  %7489 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7489, ptr %37, align 4, !tbaa !9
  %7490 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7490, ptr %38, align 4, !tbaa !9
  %7491 = load ptr, ptr %8, align 8, !tbaa !5
  %7492 = getelementptr inbounds %struct.w2c_hermes, ptr %7491, i32 0, i32 6
  %7493 = load i32, ptr %37, align 4, !tbaa !9
  %7494 = zext i32 %7493 to i64
  %7495 = add i64 %7494, 16
  %7496 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7492, i64 noundef %7495, i32 noundef %7496)
  %7497 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7497, ptr %37, align 4, !tbaa !9
  %7498 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7498, ptr %38, align 4, !tbaa !9
  %7499 = load ptr, ptr %8, align 8, !tbaa !5
  %7500 = getelementptr inbounds %struct.w2c_hermes, ptr %7499, i32 0, i32 6
  %7501 = load i32, ptr %37, align 4, !tbaa !9
  %7502 = zext i32 %7501 to i64
  %7503 = add i64 %7502, 8
  %7504 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7500, i64 noundef %7503, i32 noundef %7504)
  %7505 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7505, ptr %37, align 4, !tbaa !9
  %7506 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7506, ptr %38, align 4, !tbaa !9
  %7507 = load ptr, ptr %8, align 8, !tbaa !5
  %7508 = getelementptr inbounds %struct.w2c_hermes, ptr %7507, i32 0, i32 6
  %7509 = load i32, ptr %37, align 4, !tbaa !9
  %7510 = zext i32 %7509 to i64
  %7511 = add i64 %7510, 20
  %7512 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7508, i64 noundef %7511, i32 noundef %7512)
  %7513 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7513, ptr %37, align 4, !tbaa !9
  %7514 = load ptr, ptr %8, align 8, !tbaa !5
  %7515 = getelementptr inbounds %struct.w2c_hermes, ptr %7514, i32 0, i32 6
  %7516 = load i32, ptr %37, align 4, !tbaa !9
  %7517 = zext i32 %7516 to i64
  %7518 = add i64 %7517, 12
  %7519 = call i32 @i32_load(ptr noundef %7515, i64 noundef %7518)
  store i32 %7519, ptr %37, align 4, !tbaa !9
  %7520 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7520, ptr %12, align 4, !tbaa !9
  %7521 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7521, ptr %37, align 4, !tbaa !9
  %7522 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7522, ptr %38, align 4, !tbaa !9
  %7523 = load ptr, ptr %8, align 8, !tbaa !5
  %7524 = getelementptr inbounds %struct.w2c_hermes, ptr %7523, i32 0, i32 6
  %7525 = load i32, ptr %37, align 4, !tbaa !9
  %7526 = zext i32 %7525 to i64
  %7527 = add i64 %7526, 12
  %7528 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7524, i64 noundef %7527, i32 noundef %7528)
  %7529 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7529, ptr %37, align 4, !tbaa !9
  %7530 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7530, ptr %38, align 4, !tbaa !9
  %7531 = load ptr, ptr %8, align 8, !tbaa !5
  %7532 = getelementptr inbounds %struct.w2c_hermes, ptr %7531, i32 0, i32 6
  %7533 = load i32, ptr %37, align 4, !tbaa !9
  %7534 = zext i32 %7533 to i64
  %7535 = add i64 %7534, 24
  %7536 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7532, i64 noundef %7535, i32 noundef %7536)
  %7537 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7537, ptr %37, align 4, !tbaa !9
  %7538 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7538, ptr %38, align 4, !tbaa !9
  %7539 = load i32, ptr %37, align 4, !tbaa !9
  %7540 = load i32, ptr %38, align 4, !tbaa !9
  %7541 = icmp ne i32 %7539, %7540
  %7542 = zext i1 %7541 to i32
  store i32 %7542, ptr %37, align 4, !tbaa !9
  %7543 = load i32, ptr %37, align 4, !tbaa !9
  %7544 = icmp ne i32 %7543, 0
  br i1 %7544, label %7545, label %7568

7545:                                             ; preds = %7458
  %7546 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7546, ptr %37, align 4, !tbaa !9
  %7547 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7547, ptr %38, align 4, !tbaa !9
  %7548 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7548, ptr %39, align 4, !tbaa !9
  %7549 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7549, ptr %40, align 4, !tbaa !9
  %7550 = load i32, ptr %40, align 4, !tbaa !9
  %7551 = load i32, ptr %39, align 4, !tbaa !9
  %7552 = sub i32 %7551, %7550
  store i32 %7552, ptr %39, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %7553 = load i32, ptr %40, align 4, !tbaa !9
  %7554 = load i32, ptr %39, align 4, !tbaa !9
  %7555 = add i32 %7554, %7553
  store i32 %7555, ptr %39, align 4, !tbaa !9
  store i32 -4, ptr %40, align 4, !tbaa !9
  %7556 = load i32, ptr %40, align 4, !tbaa !9
  %7557 = load i32, ptr %39, align 4, !tbaa !9
  %7558 = and i32 %7557, %7556
  store i32 %7558, ptr %39, align 4, !tbaa !9
  %7559 = load i32, ptr %39, align 4, !tbaa !9
  %7560 = load i32, ptr %38, align 4, !tbaa !9
  %7561 = add i32 %7560, %7559
  store i32 %7561, ptr %38, align 4, !tbaa !9
  %7562 = load ptr, ptr %8, align 8, !tbaa !5
  %7563 = getelementptr inbounds %struct.w2c_hermes, ptr %7562, i32 0, i32 6
  %7564 = load i32, ptr %37, align 4, !tbaa !9
  %7565 = zext i32 %7564 to i64
  %7566 = add i64 %7565, 20
  %7567 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7563, i64 noundef %7566, i32 noundef %7567)
  br label %7568

7568:                                             ; preds = %7545, %7458
  %7569 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7569, ptr %37, align 4, !tbaa !9
  %7570 = load i32, ptr %37, align 4, !tbaa !9
  %7571 = icmp ne i32 %7570, 0
  %7572 = xor i1 %7571, true
  %7573 = zext i1 %7572 to i32
  store i32 %7573, ptr %37, align 4, !tbaa !9
  %7574 = load i32, ptr %37, align 4, !tbaa !9
  %7575 = icmp ne i32 %7574, 0
  br i1 %7575, label %7576, label %7577

7576:                                             ; preds = %7568
  br label %7581

7577:                                             ; preds = %7568
  %7578 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7578, ptr %37, align 4, !tbaa !9
  %7579 = load ptr, ptr %8, align 8, !tbaa !5
  %7580 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %7579, i32 noundef %7580)
  br label %7581

7581:                                             ; preds = %7577, %7576, %7072, %6529, %6440
  %7582 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7582, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %7583 = load i32, ptr %38, align 4, !tbaa !9
  %7584 = load i32, ptr %37, align 4, !tbaa !9
  %7585 = add i32 %7584, %7583
  store i32 %7585, ptr %37, align 4, !tbaa !9
  %7586 = load i32, ptr %37, align 4, !tbaa !9
  %7587 = load ptr, ptr %8, align 8, !tbaa !5
  %7588 = getelementptr inbounds %struct.w2c_hermes, ptr %7587, i32 0, i32 3
  store i32 %7586, ptr %7588, align 8, !tbaa !13
  br label %7589

7589:                                             ; preds = %7581
  %7590 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7590, ptr %37, align 4, !tbaa !9
  %7591 = load ptr, ptr %8, align 8, !tbaa !5
  %7592 = getelementptr inbounds %struct.w2c_hermes, ptr %7591, i32 0, i32 6
  %7593 = load i32, ptr %37, align 4, !tbaa !9
  %7594 = zext i32 %7593 to i64
  %7595 = add i64 %7594, 8
  %7596 = call i32 @i32_load(ptr noundef %7592, i64 noundef %7595)
  store i32 %7596, ptr %37, align 4, !tbaa !9
  %7597 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7597, ptr %19, align 4, !tbaa !9
  %7598 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7598, ptr %37, align 4, !tbaa !9
  %7599 = load ptr, ptr %8, align 8, !tbaa !5
  %7600 = getelementptr inbounds %struct.w2c_hermes, ptr %7599, i32 0, i32 6
  %7601 = load i32, ptr %37, align 4, !tbaa !9
  %7602 = zext i32 %7601 to i64
  %7603 = add i64 %7602, 4
  %7604 = call i32 @i32_load(ptr noundef %7600, i64 noundef %7603)
  store i32 %7604, ptr %37, align 4, !tbaa !9
  %7605 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7605, ptr %13, align 4, !tbaa !9
  br label %7606

7606:                                             ; preds = %7589, %5890
  %7607 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7607, ptr %37, align 4, !tbaa !9
  %7608 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7608, ptr %38, align 4, !tbaa !9
  %7609 = load i32, ptr %37, align 4, !tbaa !9
  %7610 = load i32, ptr %38, align 4, !tbaa !9
  %7611 = icmp ne i32 %7609, %7610
  %7612 = zext i1 %7611 to i32
  store i32 %7612, ptr %37, align 4, !tbaa !9
  %7613 = load i32, ptr %37, align 4, !tbaa !9
  %7614 = icmp ne i32 %7613, 0
  br i1 %7614, label %7615, label %7679

7615:                                             ; preds = %7606
  %7616 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7616, ptr %37, align 4, !tbaa !9
  %7617 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7617, ptr %38, align 4, !tbaa !9
  %7618 = load ptr, ptr %8, align 8, !tbaa !5
  %7619 = getelementptr inbounds %struct.w2c_hermes, ptr %7618, i32 0, i32 6
  %7620 = load i32, ptr %38, align 4, !tbaa !9
  %7621 = zext i32 %7620 to i64
  %7622 = add i64 %7621, 20
  %7623 = call i32 @i32_load(ptr noundef %7619, i64 noundef %7622)
  store i32 %7623, ptr %38, align 4, !tbaa !9
  %7624 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7624, ptr %39, align 4, !tbaa !9
  %7625 = load ptr, ptr %8, align 8, !tbaa !5
  %7626 = getelementptr inbounds %struct.w2c_hermes, ptr %7625, i32 0, i32 6
  %7627 = load i32, ptr %39, align 4, !tbaa !9
  %7628 = zext i32 %7627 to i64
  %7629 = add i64 %7628, 16
  %7630 = call i32 @i32_load(ptr noundef %7626, i64 noundef %7629)
  store i32 %7630, ptr %39, align 4, !tbaa !9
  %7631 = load i32, ptr %39, align 4, !tbaa !9
  %7632 = load i32, ptr %38, align 4, !tbaa !9
  %7633 = add i32 %7632, %7631
  store i32 %7633, ptr %38, align 4, !tbaa !9
  %7634 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7634, ptr %10, align 4, !tbaa !9
  store i32 170, ptr %39, align 4, !tbaa !9
  %7635 = load i32, ptr %39, align 4, !tbaa !9
  %7636 = icmp eq i32 %7635, 0
  %7637 = xor i1 %7636, true
  %7638 = xor i1 %7637, true
  %7639 = zext i1 %7638 to i32
  %7640 = sext i32 %7639 to i64
  %7641 = call i64 @llvm.expect.i64(i64 %7640, i64 0)
  %7642 = icmp ne i64 %7641, 0
  br i1 %7642, label %7643, label %7645

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

7644:                                             ; No predecessors!
  br label %7649

7645:                                             ; preds = %7615
  %7646 = load i32, ptr %38, align 4, !tbaa !9
  %7647 = load i32, ptr %39, align 4, !tbaa !9
  %7648 = udiv i32 %7646, %7647
  br label %7649

7649:                                             ; preds = %7645, %7644
  %7650 = phi i32 [ 0, %7644 ], [ %7648, %7645 ]
  store i32 %7650, ptr %38, align 4, !tbaa !9
  %7651 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7651, ptr %11, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %7652 = load i32, ptr %39, align 4, !tbaa !9
  %7653 = and i32 %7652, 31
  %7654 = load i32, ptr %38, align 4, !tbaa !9
  %7655 = shl i32 %7654, %7653
  store i32 %7655, ptr %38, align 4, !tbaa !9
  %7656 = load i32, ptr %38, align 4, !tbaa !9
  %7657 = load i32, ptr %37, align 4, !tbaa !9
  %7658 = add i32 %7657, %7656
  store i32 %7658, ptr %37, align 4, !tbaa !9
  %7659 = load ptr, ptr %8, align 8, !tbaa !5
  %7660 = getelementptr inbounds %struct.w2c_hermes, ptr %7659, i32 0, i32 6
  %7661 = load i32, ptr %37, align 4, !tbaa !9
  %7662 = zext i32 %7661 to i64
  %7663 = call i32 @i32_load(ptr noundef %7660, i64 noundef %7662)
  store i32 %7663, ptr %37, align 4, !tbaa !9
  %7664 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7664, ptr %38, align 4, !tbaa !9
  %7665 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7665, ptr %39, align 4, !tbaa !9
  store i32 170, ptr %40, align 4, !tbaa !9
  %7666 = load i32, ptr %40, align 4, !tbaa !9
  %7667 = load i32, ptr %39, align 4, !tbaa !9
  %7668 = mul i32 %7667, %7666
  store i32 %7668, ptr %39, align 4, !tbaa !9
  %7669 = load i32, ptr %39, align 4, !tbaa !9
  %7670 = load i32, ptr %38, align 4, !tbaa !9
  %7671 = sub i32 %7670, %7669
  store i32 %7671, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %7672 = load i32, ptr %39, align 4, !tbaa !9
  %7673 = load i32, ptr %38, align 4, !tbaa !9
  %7674 = mul i32 %7673, %7672
  store i32 %7674, ptr %38, align 4, !tbaa !9
  %7675 = load i32, ptr %38, align 4, !tbaa !9
  %7676 = load i32, ptr %37, align 4, !tbaa !9
  %7677 = add i32 %7676, %7675
  store i32 %7677, ptr %37, align 4, !tbaa !9
  %7678 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7678, ptr %14, align 4, !tbaa !9
  br label %7679

7679:                                             ; preds = %7649, %7606
  %7680 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7680, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %7681 = load ptr, ptr %8, align 8, !tbaa !5
  %7682 = getelementptr inbounds %struct.w2c_hermes, ptr %7681, i32 0, i32 6
  %7683 = load i32, ptr %37, align 4, !tbaa !9
  %7684 = zext i32 %7683 to i64
  %7685 = add i64 %7684, 4
  %7686 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7682, i64 noundef %7685, i64 noundef %7686)
  %7687 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7687, ptr %37, align 4, !tbaa !9
  %7688 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7688, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %7689 = load i32, ptr %39, align 4, !tbaa !9
  %7690 = load i32, ptr %38, align 4, !tbaa !9
  %7691 = add i32 %7690, %7689
  store i32 %7691, ptr %38, align 4, !tbaa !9
  %7692 = load ptr, ptr %8, align 8, !tbaa !5
  %7693 = getelementptr inbounds %struct.w2c_hermes, ptr %7692, i32 0, i32 6
  %7694 = load i32, ptr %37, align 4, !tbaa !9
  %7695 = zext i32 %7694 to i64
  %7696 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7693, i64 noundef %7695, i32 noundef %7696)
  %7697 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7697, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %7698 = load i32, ptr %38, align 4, !tbaa !9
  %7699 = load i32, ptr %37, align 4, !tbaa !9
  %7700 = add i32 %7699, %7698
  store i32 %7700, ptr %37, align 4, !tbaa !9
  %7701 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7701, ptr %10, align 4, !tbaa !9
  %7702 = load ptr, ptr %8, align 8, !tbaa !5
  %7703 = getelementptr inbounds %struct.w2c_hermes, ptr %7702, i32 0, i32 6
  %7704 = load i32, ptr %37, align 4, !tbaa !9
  %7705 = zext i32 %7704 to i64
  %7706 = add i64 %7705, 4
  %7707 = call i32 @i32_load(ptr noundef %7703, i64 noundef %7706)
  store i32 %7707, ptr %37, align 4, !tbaa !9
  %7708 = load i32, ptr %37, align 4, !tbaa !9
  %7709 = icmp ne i32 %7708, 0
  br i1 %7709, label %7710, label %7732

7710:                                             ; preds = %7679
  %7711 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7711, ptr %37, align 4, !tbaa !9
  %7712 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7712, ptr %38, align 4, !tbaa !9
  %7713 = load ptr, ptr %8, align 8, !tbaa !5
  %7714 = load i32, ptr %37, align 4, !tbaa !9
  %7715 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef %7713, i32 noundef %7714, i32 noundef %7715)
  %7716 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7716, ptr %37, align 4, !tbaa !9
  %7717 = load ptr, ptr %8, align 8, !tbaa !5
  %7718 = getelementptr inbounds %struct.w2c_hermes, ptr %7717, i32 0, i32 6
  %7719 = load i32, ptr %37, align 4, !tbaa !9
  %7720 = zext i32 %7719 to i64
  %7721 = add i64 %7720, 8
  %7722 = call i32 @i32_load(ptr noundef %7718, i64 noundef %7721)
  store i32 %7722, ptr %37, align 4, !tbaa !9
  %7723 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7723, ptr %19, align 4, !tbaa !9
  %7724 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7724, ptr %37, align 4, !tbaa !9
  %7725 = load ptr, ptr %8, align 8, !tbaa !5
  %7726 = getelementptr inbounds %struct.w2c_hermes, ptr %7725, i32 0, i32 6
  %7727 = load i32, ptr %37, align 4, !tbaa !9
  %7728 = zext i32 %7727 to i64
  %7729 = add i64 %7728, 4
  %7730 = call i32 @i32_load(ptr noundef %7726, i64 noundef %7729)
  store i32 %7730, ptr %37, align 4, !tbaa !9
  %7731 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7731, ptr %13, align 4, !tbaa !9
  br label %7732

7732:                                             ; preds = %7710, %7679
  %7733 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7733, ptr %37, align 4, !tbaa !9
  %7734 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7734, ptr %38, align 4, !tbaa !9
  %7735 = load ptr, ptr %8, align 8, !tbaa !5
  %7736 = getelementptr inbounds %struct.w2c_hermes, ptr %7735, i32 0, i32 6
  %7737 = load i32, ptr %38, align 4, !tbaa !9
  %7738 = zext i32 %7737 to i64
  %7739 = add i64 %7738, 20
  %7740 = call i32 @i32_load(ptr noundef %7736, i64 noundef %7739)
  store i32 %7740, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7741 = load i32, ptr %39, align 4, !tbaa !9
  %7742 = load i32, ptr %38, align 4, !tbaa !9
  %7743 = add i32 %7742, %7741
  store i32 %7743, ptr %38, align 4, !tbaa !9
  %7744 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7744, ptr %10, align 4, !tbaa !9
  %7745 = load ptr, ptr %8, align 8, !tbaa !5
  %7746 = getelementptr inbounds %struct.w2c_hermes, ptr %7745, i32 0, i32 6
  %7747 = load i32, ptr %37, align 4, !tbaa !9
  %7748 = zext i32 %7747 to i64
  %7749 = add i64 %7748, 20
  %7750 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7746, i64 noundef %7749, i32 noundef %7750)
  %7751 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7751, ptr %37, align 4, !tbaa !9
  %7752 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7752, ptr %38, align 4, !tbaa !9
  %7753 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7753, ptr %39, align 4, !tbaa !9
  %7754 = load ptr, ptr %8, align 8, !tbaa !5
  %7755 = getelementptr inbounds %struct.w2c_hermes, ptr %7754, i32 0, i32 6
  %7756 = load i32, ptr %39, align 4, !tbaa !9
  %7757 = zext i32 %7756 to i64
  %7758 = add i64 %7757, 16
  %7759 = call i32 @i32_load(ptr noundef %7755, i64 noundef %7758)
  store i32 %7759, ptr %39, align 4, !tbaa !9
  %7760 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7760, ptr %40, align 4, !tbaa !9
  %7761 = load i32, ptr %40, align 4, !tbaa !9
  %7762 = load i32, ptr %39, align 4, !tbaa !9
  %7763 = add i32 %7762, %7761
  store i32 %7763, ptr %39, align 4, !tbaa !9
  %7764 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7764, ptr %10, align 4, !tbaa !9
  store i32 170, ptr %40, align 4, !tbaa !9
  %7765 = load i32, ptr %40, align 4, !tbaa !9
  %7766 = icmp eq i32 %7765, 0
  %7767 = xor i1 %7766, true
  %7768 = xor i1 %7767, true
  %7769 = zext i1 %7768 to i32
  %7770 = sext i32 %7769 to i64
  %7771 = call i64 @llvm.expect.i64(i64 %7770, i64 0)
  %7772 = icmp ne i64 %7771, 0
  br i1 %7772, label %7773, label %7775

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

7774:                                             ; No predecessors!
  br label %7779

7775:                                             ; preds = %7732
  %7776 = load i32, ptr %39, align 4, !tbaa !9
  %7777 = load i32, ptr %40, align 4, !tbaa !9
  %7778 = udiv i32 %7776, %7777
  br label %7779

7779:                                             ; preds = %7775, %7774
  %7780 = phi i32 [ 0, %7774 ], [ %7778, %7775 ]
  store i32 %7780, ptr %39, align 4, !tbaa !9
  %7781 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7781, ptr %11, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %7782 = load i32, ptr %40, align 4, !tbaa !9
  %7783 = and i32 %7782, 31
  %7784 = load i32, ptr %39, align 4, !tbaa !9
  %7785 = shl i32 %7784, %7783
  store i32 %7785, ptr %39, align 4, !tbaa !9
  %7786 = load i32, ptr %39, align 4, !tbaa !9
  %7787 = load i32, ptr %38, align 4, !tbaa !9
  %7788 = add i32 %7787, %7786
  store i32 %7788, ptr %38, align 4, !tbaa !9
  %7789 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7789, ptr %12, align 4, !tbaa !9
  %7790 = load ptr, ptr %8, align 8, !tbaa !5
  %7791 = getelementptr inbounds %struct.w2c_hermes, ptr %7790, i32 0, i32 6
  %7792 = load i32, ptr %38, align 4, !tbaa !9
  %7793 = zext i32 %7792 to i64
  %7794 = call i32 @i32_load(ptr noundef %7791, i64 noundef %7793)
  store i32 %7794, ptr %38, align 4, !tbaa !9
  %7795 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7795, ptr %14, align 4, !tbaa !9
  %7796 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7796, ptr %39, align 4, !tbaa !9
  %7797 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7797, ptr %40, align 4, !tbaa !9
  store i32 170, ptr %41, align 4, !tbaa !9
  %7798 = load i32, ptr %41, align 4, !tbaa !9
  %7799 = load i32, ptr %40, align 4, !tbaa !9
  %7800 = mul i32 %7799, %7798
  store i32 %7800, ptr %40, align 4, !tbaa !9
  %7801 = load i32, ptr %40, align 4, !tbaa !9
  %7802 = load i32, ptr %39, align 4, !tbaa !9
  %7803 = sub i32 %7802, %7801
  store i32 %7803, ptr %39, align 4, !tbaa !9
  store i32 24, ptr %40, align 4, !tbaa !9
  %7804 = load i32, ptr %40, align 4, !tbaa !9
  %7805 = load i32, ptr %39, align 4, !tbaa !9
  %7806 = mul i32 %7805, %7804
  store i32 %7806, ptr %39, align 4, !tbaa !9
  %7807 = load i32, ptr %39, align 4, !tbaa !9
  %7808 = load i32, ptr %38, align 4, !tbaa !9
  %7809 = add i32 %7808, %7807
  store i32 %7809, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %7810 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7810, ptr %40, align 4, !tbaa !9
  %7811 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7811, ptr %41, align 4, !tbaa !9
  %7812 = load i32, ptr %40, align 4, !tbaa !9
  %7813 = load i32, ptr %41, align 4, !tbaa !9
  %7814 = icmp ne i32 %7812, %7813
  %7815 = zext i1 %7814 to i32
  store i32 %7815, ptr %40, align 4, !tbaa !9
  %7816 = load i32, ptr %40, align 4, !tbaa !9
  %7817 = icmp ne i32 %7816, 0
  br i1 %7817, label %7818, label %7820

7818:                                             ; preds = %7779
  %7819 = load i32, ptr %38, align 4, !tbaa !9
  br label %7822

7820:                                             ; preds = %7779
  %7821 = load i32, ptr %39, align 4, !tbaa !9
  br label %7822

7822:                                             ; preds = %7820, %7818
  %7823 = phi i32 [ %7819, %7818 ], [ %7821, %7820 ]
  store i32 %7823, ptr %38, align 4, !tbaa !9
  %7824 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7824, ptr %10, align 4, !tbaa !9
  %7825 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7825, ptr %39, align 4, !tbaa !9
  %7826 = load i32, ptr %38, align 4, !tbaa !9
  %7827 = load i32, ptr %39, align 4, !tbaa !9
  %7828 = icmp eq i32 %7826, %7827
  %7829 = zext i1 %7828 to i32
  store i32 %7829, ptr %38, align 4, !tbaa !9
  %7830 = load i32, ptr %38, align 4, !tbaa !9
  %7831 = icmp ne i32 %7830, 0
  br i1 %7831, label %7832, label %7845

7832:                                             ; preds = %7822
  %7833 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7833, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %7834 = load i32, ptr %39, align 4, !tbaa !9
  %7835 = load i32, ptr %38, align 4, !tbaa !9
  %7836 = sub i32 %7835, %7834
  store i32 %7836, ptr %38, align 4, !tbaa !9
  %7837 = load ptr, ptr %8, align 8, !tbaa !5
  %7838 = getelementptr inbounds %struct.w2c_hermes, ptr %7837, i32 0, i32 6
  %7839 = load i32, ptr %38, align 4, !tbaa !9
  %7840 = zext i32 %7839 to i64
  %7841 = call i32 @i32_load(ptr noundef %7838, i64 noundef %7840)
  store i32 %7841, ptr %38, align 4, !tbaa !9
  store i32 4080, ptr %39, align 4, !tbaa !9
  %7842 = load i32, ptr %39, align 4, !tbaa !9
  %7843 = load i32, ptr %38, align 4, !tbaa !9
  %7844 = add i32 %7843, %7842
  store i32 %7844, ptr %38, align 4, !tbaa !9
  br label %7847

7845:                                             ; preds = %7822
  %7846 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7846, ptr %38, align 4, !tbaa !9
  br label %7847

7847:                                             ; preds = %7845, %7832
  store i32 24, ptr %39, align 4, !tbaa !9
  %7848 = load i32, ptr %39, align 4, !tbaa !9
  %7849 = load i32, ptr %38, align 4, !tbaa !9
  %7850 = sub i32 %7849, %7848
  store i32 %7850, ptr %38, align 4, !tbaa !9
  %7851 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7851, ptr %10, align 4, !tbaa !9
  %7852 = load ptr, ptr %8, align 8, !tbaa !5
  %7853 = getelementptr inbounds %struct.w2c_hermes, ptr %7852, i32 0, i32 6
  %7854 = load i32, ptr %38, align 4, !tbaa !9
  %7855 = zext i32 %7854 to i64
  %7856 = call i32 @i32_load(ptr noundef %7853, i64 noundef %7855)
  store i32 %7856, ptr %38, align 4, !tbaa !9
  %7857 = load ptr, ptr %8, align 8, !tbaa !5
  %7858 = getelementptr inbounds %struct.w2c_hermes, ptr %7857, i32 0, i32 6
  %7859 = load i32, ptr %37, align 4, !tbaa !9
  %7860 = zext i32 %7859 to i64
  %7861 = add i64 %7860, 32
  %7862 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7858, i64 noundef %7861, i32 noundef %7862)
  %7863 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7863, ptr %37, align 4, !tbaa !9
  %7864 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7864, ptr %38, align 4, !tbaa !9
  %7865 = load ptr, ptr %8, align 8, !tbaa !5
  %7866 = getelementptr inbounds %struct.w2c_hermes, ptr %7865, i32 0, i32 6
  %7867 = load i32, ptr %38, align 4, !tbaa !9
  %7868 = zext i32 %7867 to i64
  %7869 = add i64 %7868, 4
  %7870 = call i32 @i32_load(ptr noundef %7866, i64 noundef %7869)
  store i32 %7870, ptr %38, align 4, !tbaa !9
  %7871 = load ptr, ptr %8, align 8, !tbaa !5
  %7872 = getelementptr inbounds %struct.w2c_hermes, ptr %7871, i32 0, i32 6
  %7873 = load i32, ptr %37, align 4, !tbaa !9
  %7874 = zext i32 %7873 to i64
  %7875 = add i64 %7874, 36
  %7876 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7872, i64 noundef %7875, i32 noundef %7876)
  %7877 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %7877, ptr %37, align 4, !tbaa !9
  store i32 200, ptr %38, align 4, !tbaa !9
  %7878 = load i32, ptr %38, align 4, !tbaa !9
  %7879 = load i32, ptr %37, align 4, !tbaa !9
  %7880 = add i32 %7879, %7878
  store i32 %7880, ptr %37, align 4, !tbaa !9
  %7881 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7881, ptr %10, align 4, !tbaa !9
  %7882 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7882, ptr %38, align 4, !tbaa !9
  store i32 32, ptr %39, align 4, !tbaa !9
  %7883 = load i32, ptr %39, align 4, !tbaa !9
  %7884 = load i32, ptr %38, align 4, !tbaa !9
  %7885 = add i32 %7884, %7883
  store i32 %7885, ptr %38, align 4, !tbaa !9
  %7886 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7886, ptr %39, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7887 = load i32, ptr %40, align 4, !tbaa !9
  %7888 = load i32, ptr %39, align 4, !tbaa !9
  %7889 = add i32 %7888, %7887
  store i32 %7889, ptr %39, align 4, !tbaa !9
  %7890 = load ptr, ptr %8, align 8, !tbaa !5
  %7891 = load i32, ptr %37, align 4, !tbaa !9
  %7892 = load i32, ptr %38, align 4, !tbaa !9
  %7893 = load i32, ptr %39, align 4, !tbaa !9
  %7894 = call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef %7890, i32 noundef %7891, i32 noundef %7892, i32 noundef %7893)
  store i32 %7894, ptr %37, align 4, !tbaa !9
  %7895 = load i32, ptr %37, align 4, !tbaa !9
  %7896 = icmp ne i32 %7895, 0
  br i1 %7896, label %7897, label %7930

7897:                                             ; preds = %7847
  %7898 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7898, ptr %37, align 4, !tbaa !9
  %7899 = load ptr, ptr %8, align 8, !tbaa !5
  %7900 = getelementptr inbounds %struct.w2c_hermes, ptr %7899, i32 0, i32 6
  %7901 = load i32, ptr %37, align 4, !tbaa !9
  %7902 = zext i32 %7901 to i64
  %7903 = add i64 %7902, 12
  %7904 = call i32 @i32_load(ptr noundef %7900, i64 noundef %7903)
  store i32 %7904, ptr %37, align 4, !tbaa !9
  %7905 = load i32, ptr %37, align 4, !tbaa !9
  %7906 = icmp ne i32 %7905, 0
  br i1 %7906, label %7907, label %7908

7907:                                             ; preds = %7897
  br label %8115

7908:                                             ; preds = %7897
  %7909 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7909, ptr %37, align 4, !tbaa !9
  store i32 13, ptr %38, align 4, !tbaa !9
  %7910 = load ptr, ptr %8, align 8, !tbaa !5
  %7911 = getelementptr inbounds %struct.w2c_hermes, ptr %7910, i32 0, i32 6
  %7912 = load i32, ptr %37, align 4, !tbaa !9
  %7913 = zext i32 %7912 to i64
  %7914 = add i64 %7913, 12
  %7915 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7911, i64 noundef %7914, i32 noundef %7915)
  %7916 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7916, ptr %37, align 4, !tbaa !9
  %7917 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7917, ptr %38, align 4, !tbaa !9
  %7918 = load ptr, ptr %8, align 8, !tbaa !5
  %7919 = getelementptr inbounds %struct.w2c_hermes, ptr %7918, i32 0, i32 6
  %7920 = load i32, ptr %38, align 4, !tbaa !9
  %7921 = zext i32 %7920 to i64
  %7922 = add i64 %7921, 8
  %7923 = call i32 @i32_load(ptr noundef %7919, i64 noundef %7922)
  store i32 %7923, ptr %38, align 4, !tbaa !9
  %7924 = load ptr, ptr %8, align 8, !tbaa !5
  %7925 = getelementptr inbounds %struct.w2c_hermes, ptr %7924, i32 0, i32 6
  %7926 = load i32, ptr %37, align 4, !tbaa !9
  %7927 = zext i32 %7926 to i64
  %7928 = add i64 %7927, 4
  %7929 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7925, i64 noundef %7928, i32 noundef %7929)
  br label %8115

7930:                                             ; preds = %7847
  %7931 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7931, ptr %37, align 4, !tbaa !9
  %7932 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7932, ptr %38, align 4, !tbaa !9
  store i32 32, ptr %39, align 4, !tbaa !9
  %7933 = load i32, ptr %39, align 4, !tbaa !9
  %7934 = load i32, ptr %38, align 4, !tbaa !9
  %7935 = add i32 %7934, %7933
  store i32 %7935, ptr %38, align 4, !tbaa !9
  %7936 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7936, ptr %10, align 4, !tbaa !9
  %7937 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7937, ptr %39, align 4, !tbaa !9
  %7938 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7938, ptr %40, align 4, !tbaa !9
  %7939 = load ptr, ptr %8, align 8, !tbaa !5
  %7940 = getelementptr inbounds %struct.w2c_hermes, ptr %7939, i32 0, i32 6
  %7941 = load i32, ptr %40, align 4, !tbaa !9
  %7942 = zext i32 %7941 to i64
  %7943 = add i64 %7942, 44
  %7944 = call i32 @i32_load(ptr noundef %7940, i64 noundef %7943)
  store i32 %7944, ptr %40, align 4, !tbaa !9
  %7945 = load ptr, ptr %8, align 8, !tbaa !5
  %7946 = load i32, ptr %37, align 4, !tbaa !9
  %7947 = load i32, ptr %38, align 4, !tbaa !9
  %7948 = load i32, ptr %39, align 4, !tbaa !9
  %7949 = load i32, ptr %40, align 4, !tbaa !9
  %7950 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3AInsertIntoBucketImpl0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x29(ptr noundef %7945, i32 noundef %7946, i32 noundef %7947, i32 noundef %7948, i32 noundef %7949)
  store i32 %7950, ptr %37, align 4, !tbaa !9
  %7951 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7951, ptr %10, align 4, !tbaa !9
  %7952 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7952, ptr %37, align 4, !tbaa !9
  %7953 = load ptr, ptr %8, align 8, !tbaa !5
  %7954 = getelementptr inbounds %struct.w2c_hermes, ptr %7953, i32 0, i32 6
  %7955 = load i32, ptr %37, align 4, !tbaa !9
  %7956 = zext i32 %7955 to i64
  %7957 = add i64 %7956, 32
  %7958 = call i64 @i64_load(ptr noundef %7954, i64 noundef %7957)
  store i64 %7958, ptr %43, align 8, !tbaa !11
  %7959 = load i64, ptr %43, align 8, !tbaa !11
  store i64 %7959, ptr %36, align 8, !tbaa !11
  %7960 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7960, ptr %37, align 4, !tbaa !9
  %7961 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %7961, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7962 = load i32, ptr %39, align 4, !tbaa !9
  %7963 = load i32, ptr %38, align 4, !tbaa !9
  %7964 = add i32 %7963, %7962
  store i32 %7964, ptr %38, align 4, !tbaa !9
  %7965 = load ptr, ptr %8, align 8, !tbaa !5
  %7966 = getelementptr inbounds %struct.w2c_hermes, ptr %7965, i32 0, i32 6
  %7967 = load i32, ptr %37, align 4, !tbaa !9
  %7968 = zext i32 %7967 to i64
  %7969 = add i64 %7968, 8
  %7970 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7966, i64 noundef %7969, i32 noundef %7970)
  %7971 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7971, ptr %37, align 4, !tbaa !9
  %7972 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7972, ptr %44, align 8, !tbaa !11
  %7973 = load ptr, ptr %8, align 8, !tbaa !5
  %7974 = getelementptr inbounds %struct.w2c_hermes, ptr %7973, i32 0, i32 6
  %7975 = load i32, ptr %37, align 4, !tbaa !9
  %7976 = zext i32 %7975 to i64
  %7977 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7974, i64 noundef %7976, i64 noundef %7977)
  %7978 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7978, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7979 = load ptr, ptr %8, align 8, !tbaa !5
  %7980 = getelementptr inbounds %struct.w2c_hermes, ptr %7979, i32 0, i32 6
  %7981 = load i32, ptr %37, align 4, !tbaa !9
  %7982 = zext i32 %7981 to i64
  %7983 = add i64 %7982, 28
  %7984 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %7980, i64 noundef %7983, i32 noundef %7984)
  %7985 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7985, ptr %37, align 4, !tbaa !9
  %7986 = load ptr, ptr %8, align 8, !tbaa !5
  %7987 = getelementptr inbounds %struct.w2c_hermes, ptr %7986, i32 0, i32 6
  %7988 = load i32, ptr %37, align 4, !tbaa !9
  %7989 = zext i32 %7988 to i64
  %7990 = add i64 %7989, 4
  %7991 = call i32 @i32_load(ptr noundef %7987, i64 noundef %7990)
  store i32 %7991, ptr %37, align 4, !tbaa !9
  %7992 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7992, ptr %11, align 4, !tbaa !9
  %7993 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7993, ptr %38, align 4, !tbaa !9
  %7994 = load ptr, ptr %8, align 8, !tbaa !5
  %7995 = getelementptr inbounds %struct.w2c_hermes, ptr %7994, i32 0, i32 6
  %7996 = load i32, ptr %38, align 4, !tbaa !9
  %7997 = zext i32 %7996 to i64
  %7998 = add i64 %7997, 8
  %7999 = call i32 @i32_load(ptr noundef %7995, i64 noundef %7998)
  store i32 %7999, ptr %38, align 4, !tbaa !9
  %8000 = load i32, ptr %37, align 4, !tbaa !9
  %8001 = load i32, ptr %38, align 4, !tbaa !9
  %8002 = icmp uge i32 %8000, %8001
  %8003 = zext i1 %8002 to i32
  store i32 %8003, ptr %37, align 4, !tbaa !9
  %8004 = load i32, ptr %37, align 4, !tbaa !9
  %8005 = icmp ne i32 %8004, 0
  br i1 %8005, label %8006, label %8018

8006:                                             ; preds = %7930
  %8007 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %8007, ptr %37, align 4, !tbaa !9
  %8008 = load ptr, ptr %8, align 8, !tbaa !5
  %8009 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %8008, i32 noundef %8009)
  %8010 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %8010, ptr %37, align 4, !tbaa !9
  %8011 = load ptr, ptr %8, align 8, !tbaa !5
  %8012 = getelementptr inbounds %struct.w2c_hermes, ptr %8011, i32 0, i32 6
  %8013 = load i32, ptr %37, align 4, !tbaa !9
  %8014 = zext i32 %8013 to i64
  %8015 = add i64 %8014, 4
  %8016 = call i32 @i32_load(ptr noundef %8012, i64 noundef %8015)
  store i32 %8016, ptr %37, align 4, !tbaa !9
  %8017 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8017, ptr %11, align 4, !tbaa !9
  br label %8018

8018:                                             ; preds = %8006, %7930
  %8019 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %8019, ptr %37, align 4, !tbaa !9
  %8020 = load ptr, ptr %8, align 8, !tbaa !5
  %8021 = getelementptr inbounds %struct.w2c_hermes, ptr %8020, i32 0, i32 6
  %8022 = load i32, ptr %37, align 4, !tbaa !9
  %8023 = zext i32 %8022 to i64
  %8024 = call i32 @i32_load(ptr noundef %8021, i64 noundef %8023)
  store i32 %8024, ptr %37, align 4, !tbaa !9
  %8025 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8025, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %8026 = load i32, ptr %39, align 4, !tbaa !9
  %8027 = load i32, ptr %38, align 4, !tbaa !9
  %8028 = mul i32 %8027, %8026
  store i32 %8028, ptr %38, align 4, !tbaa !9
  %8029 = load i32, ptr %38, align 4, !tbaa !9
  %8030 = load i32, ptr %37, align 4, !tbaa !9
  %8031 = add i32 %8030, %8029
  store i32 %8031, ptr %37, align 4, !tbaa !9
  %8032 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8032, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8033 = load ptr, ptr %8, align 8, !tbaa !5
  %8034 = getelementptr inbounds %struct.w2c_hermes, ptr %8033, i32 0, i32 6
  %8035 = load i32, ptr %37, align 4, !tbaa !9
  %8036 = zext i32 %8035 to i64
  %8037 = add i64 %8036, 28
  %8038 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8034, i64 noundef %8037, i64 noundef %8038)
  %8039 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8039, ptr %37, align 4, !tbaa !9
  %8040 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8040, ptr %38, align 4, !tbaa !9
  %8041 = load ptr, ptr %8, align 8, !tbaa !5
  %8042 = getelementptr inbounds %struct.w2c_hermes, ptr %8041, i32 0, i32 6
  %8043 = load i32, ptr %37, align 4, !tbaa !9
  %8044 = zext i32 %8043 to i64
  %8045 = add i64 %8044, 24
  %8046 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8042, i64 noundef %8045, i32 noundef %8046)
  %8047 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8047, ptr %37, align 4, !tbaa !9
  %8048 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %8048, ptr %38, align 4, !tbaa !9
  %8049 = load ptr, ptr %8, align 8, !tbaa !5
  %8050 = getelementptr inbounds %struct.w2c_hermes, ptr %8049, i32 0, i32 6
  %8051 = load i32, ptr %37, align 4, !tbaa !9
  %8052 = zext i32 %8051 to i64
  %8053 = add i64 %8052, 22
  %8054 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %8050, i64 noundef %8053, i32 noundef %8054)
  %8055 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8055, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8056 = load ptr, ptr %8, align 8, !tbaa !5
  %8057 = getelementptr inbounds %struct.w2c_hermes, ptr %8056, i32 0, i32 6
  %8058 = load i32, ptr %37, align 4, !tbaa !9
  %8059 = zext i32 %8058 to i64
  %8060 = add i64 %8059, 20
  %8061 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8057, i64 noundef %8060, i32 noundef %8061)
  %8062 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8062, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %8063 = load ptr, ptr %8, align 8, !tbaa !5
  %8064 = getelementptr inbounds %struct.w2c_hermes, ptr %8063, i32 0, i32 6
  %8065 = load i32, ptr %37, align 4, !tbaa !9
  %8066 = zext i32 %8065 to i64
  %8067 = add i64 %8066, 12
  %8068 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8064, i64 noundef %8067, i64 noundef %8068)
  %8069 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8069, ptr %37, align 4, !tbaa !9
  %8070 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %8070, ptr %38, align 4, !tbaa !9
  %8071 = load ptr, ptr %8, align 8, !tbaa !5
  %8072 = getelementptr inbounds %struct.w2c_hermes, ptr %8071, i32 0, i32 6
  %8073 = load i32, ptr %37, align 4, !tbaa !9
  %8074 = zext i32 %8073 to i64
  %8075 = add i64 %8074, 8
  %8076 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8072, i64 noundef %8075, i32 noundef %8076)
  %8077 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8077, ptr %37, align 4, !tbaa !9
  %8078 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8078, ptr %38, align 4, !tbaa !9
  %8079 = load ptr, ptr %8, align 8, !tbaa !5
  %8080 = getelementptr inbounds %struct.w2c_hermes, ptr %8079, i32 0, i32 6
  %8081 = load i32, ptr %37, align 4, !tbaa !9
  %8082 = zext i32 %8081 to i64
  %8083 = add i64 %8082, 4
  %8084 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8080, i64 noundef %8083, i32 noundef %8084)
  %8085 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8085, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %8086 = load ptr, ptr %8, align 8, !tbaa !5
  %8087 = getelementptr inbounds %struct.w2c_hermes, ptr %8086, i32 0, i32 6
  %8088 = load i32, ptr %37, align 4, !tbaa !9
  %8089 = zext i32 %8088 to i64
  %8090 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8087, i64 noundef %8089, i32 noundef %8090)
  %8091 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8091, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8092 = load ptr, ptr %8, align 8, !tbaa !5
  %8093 = getelementptr inbounds %struct.w2c_hermes, ptr %8092, i32 0, i32 6
  %8094 = load i32, ptr %37, align 4, !tbaa !9
  %8095 = zext i32 %8094 to i64
  %8096 = add i64 %8095, 36
  %8097 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8093, i64 noundef %8096, i32 noundef %8097)
  %8098 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %8098, ptr %37, align 4, !tbaa !9
  %8099 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %8099, ptr %38, align 4, !tbaa !9
  %8100 = load ptr, ptr %8, align 8, !tbaa !5
  %8101 = getelementptr inbounds %struct.w2c_hermes, ptr %8100, i32 0, i32 6
  %8102 = load i32, ptr %38, align 4, !tbaa !9
  %8103 = zext i32 %8102 to i64
  %8104 = add i64 %8103, 4
  %8105 = call i32 @i32_load(ptr noundef %8101, i64 noundef %8104)
  store i32 %8105, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8106 = load i32, ptr %39, align 4, !tbaa !9
  %8107 = load i32, ptr %38, align 4, !tbaa !9
  %8108 = add i32 %8107, %8106
  store i32 %8108, ptr %38, align 4, !tbaa !9
  %8109 = load ptr, ptr %8, align 8, !tbaa !5
  %8110 = getelementptr inbounds %struct.w2c_hermes, ptr %8109, i32 0, i32 6
  %8111 = load i32, ptr %37, align 4, !tbaa !9
  %8112 = zext i32 %8111 to i64
  %8113 = add i64 %8112, 4
  %8114 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8110, i64 noundef %8113, i32 noundef %8114)
  br label %8115

8115:                                             ; preds = %8018, %7908, %7907, %5799, %5798
  %8116 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %8116, ptr %37, align 4, !tbaa !9
  %8117 = load ptr, ptr %8, align 8, !tbaa !5
  %8118 = getelementptr inbounds %struct.w2c_hermes, ptr %8117, i32 0, i32 6
  %8119 = load i32, ptr %37, align 4, !tbaa !9
  %8120 = zext i32 %8119 to i64
  %8121 = add i64 %8120, 8
  %8122 = call i32 @i32_load(ptr noundef %8118, i64 noundef %8121)
  store i32 %8122, ptr %37, align 4, !tbaa !9
  %8123 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8123, ptr %10, align 4, !tbaa !9
  %8124 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %8124, ptr %38, align 4, !tbaa !9
  %8125 = load i32, ptr %37, align 4, !tbaa !9
  %8126 = load i32, ptr %38, align 4, !tbaa !9
  %8127 = icmp eq i32 %8125, %8126
  %8128 = zext i1 %8127 to i32
  store i32 %8128, ptr %37, align 4, !tbaa !9
  %8129 = load i32, ptr %37, align 4, !tbaa !9
  %8130 = icmp ne i32 %8129, 0
  br i1 %8130, label %8131, label %8132

8131:                                             ; preds = %8115
  br label %8136

8132:                                             ; preds = %8115
  %8133 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8133, ptr %37, align 4, !tbaa !9
  %8134 = load ptr, ptr %8, align 8, !tbaa !5
  %8135 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %8134, i32 noundef %8135)
  br label %8136

8136:                                             ; preds = %8132, %8131, %5704, %5703
  %8137 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %8137, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %8138 = load i32, ptr %38, align 4, !tbaa !9
  %8139 = load i32, ptr %37, align 4, !tbaa !9
  %8140 = add i32 %8139, %8138
  store i32 %8140, ptr %37, align 4, !tbaa !9
  %8141 = load i32, ptr %37, align 4, !tbaa !9
  %8142 = load ptr, ptr %8, align 8, !tbaa !5
  %8143 = getelementptr inbounds %struct.w2c_hermes, ptr %8142, i32 0, i32 3
  store i32 %8141, ptr %8143, align 8, !tbaa !13
  br label %8585

8144:                                             ; preds = %5647, %5632, %5619, %5604
  %8145 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8145, ptr %37, align 4, !tbaa !9
  %8146 = load i32, ptr %37, align 4, !tbaa !9
  %8147 = icmp ne i32 %8146, 0
  br i1 %8147, label %8148, label %8149

8148:                                             ; preds = %8144
  br label %8364

8149:                                             ; preds = %8144
  %8150 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8150, ptr %37, align 4, !tbaa !9
  %8151 = load ptr, ptr %8, align 8, !tbaa !5
  %8152 = getelementptr inbounds %struct.w2c_hermes, ptr %8151, i32 0, i32 6
  %8153 = load i32, ptr %37, align 4, !tbaa !9
  %8154 = zext i32 %8153 to i64
  %8155 = add i64 %8154, 2
  %8156 = call i32 @i32_load16_u(ptr noundef %8152, i64 noundef %8155)
  store i32 %8156, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %8157 = load i32, ptr %37, align 4, !tbaa !9
  %8158 = load i32, ptr %38, align 4, !tbaa !9
  %8159 = icmp ne i32 %8157, %8158
  %8160 = zext i1 %8159 to i32
  store i32 %8160, ptr %37, align 4, !tbaa !9
  %8161 = load i32, ptr %37, align 4, !tbaa !9
  %8162 = icmp ne i32 %8161, 0
  br i1 %8162, label %8163, label %8164

8163:                                             ; preds = %8149
  br label %8364

8164:                                             ; preds = %8149
  %8165 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8165, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %8166 = load i32, ptr %38, align 4, !tbaa !9
  %8167 = load i32, ptr %37, align 4, !tbaa !9
  %8168 = add i32 %8167, %8166
  store i32 %8168, ptr %37, align 4, !tbaa !9
  %8169 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8169, ptr %38, align 4, !tbaa !9
  %8170 = load i32, ptr %37, align 4, !tbaa !9
  %8171 = load i32, ptr %38, align 4, !tbaa !9
  %8172 = icmp eq i32 %8170, %8171
  %8173 = zext i1 %8172 to i32
  store i32 %8173, ptr %37, align 4, !tbaa !9
  %8174 = load i32, ptr %37, align 4, !tbaa !9
  %8175 = icmp ne i32 %8174, 0
  br i1 %8175, label %8176, label %8177

8176:                                             ; preds = %8164
  br label %8364

8177:                                             ; preds = %8164
  %8178 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8178, ptr %37, align 4, !tbaa !9
  %8179 = load ptr, ptr %8, align 8, !tbaa !5
  %8180 = getelementptr inbounds %struct.w2c_hermes, ptr %8179, i32 0, i32 6
  %8181 = load i32, ptr %37, align 4, !tbaa !9
  %8182 = zext i32 %8181 to i64
  %8183 = add i64 %8182, 4
  %8184 = call i32 @i32_load16_u(ptr noundef %8180, i64 noundef %8183)
  store i32 %8184, ptr %37, align 4, !tbaa !9
  store i32 58, ptr %38, align 4, !tbaa !9
  %8185 = load i32, ptr %37, align 4, !tbaa !9
  %8186 = load i32, ptr %38, align 4, !tbaa !9
  %8187 = icmp ne i32 %8185, %8186
  %8188 = zext i1 %8187 to i32
  store i32 %8188, ptr %37, align 4, !tbaa !9
  %8189 = load i32, ptr %37, align 4, !tbaa !9
  %8190 = icmp ne i32 %8189, 0
  br i1 %8190, label %8191, label %8192

8191:                                             ; preds = %8177
  br label %8364

8192:                                             ; preds = %8177
  %8193 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8193, ptr %37, align 4, !tbaa !9
  %8194 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8194, ptr %38, align 4, !tbaa !9
  %8195 = load ptr, ptr %8, align 8, !tbaa !5
  %8196 = getelementptr inbounds %struct.w2c_hermes, ptr %8195, i32 0, i32 6
  %8197 = load i32, ptr %37, align 4, !tbaa !9
  %8198 = zext i32 %8197 to i64
  %8199 = add i64 %8198, 4
  %8200 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8196, i64 noundef %8199, i32 noundef %8200)
  %8201 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8201, ptr %37, align 4, !tbaa !9
  %8202 = load ptr, ptr %8, align 8, !tbaa !5
  %8203 = getelementptr inbounds %struct.w2c_hermes, ptr %8202, i32 0, i32 6
  %8204 = load i32, ptr %37, align 4, !tbaa !9
  %8205 = zext i32 %8204 to i64
  %8206 = call i32 @i32_load(ptr noundef %8203, i64 noundef %8205)
  store i32 %8206, ptr %37, align 4, !tbaa !9
  %8207 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8207, ptr %10, align 4, !tbaa !9
  %8208 = load ptr, ptr %8, align 8, !tbaa !5
  %8209 = getelementptr inbounds %struct.w2c_hermes, ptr %8208, i32 0, i32 6
  %8210 = load i32, ptr %37, align 4, !tbaa !9
  %8211 = zext i32 %8210 to i64
  %8212 = add i64 %8211, 148
  %8213 = call i32 @i32_load(ptr noundef %8209, i64 noundef %8212)
  store i32 %8213, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %8214 = load i32, ptr %38, align 4, !tbaa !9
  %8215 = load i32, ptr %37, align 4, !tbaa !9
  %8216 = sub i32 %8215, %8214
  store i32 %8216, ptr %37, align 4, !tbaa !9
  %8217 = load ptr, ptr %8, align 8, !tbaa !5
  %8218 = getelementptr inbounds %struct.w2c_hermes, ptr %8217, i32 0, i32 6
  %8219 = load i32, ptr %37, align 4, !tbaa !9
  %8220 = zext i32 %8219 to i64
  %8221 = call i32 @i32_load(ptr noundef %8218, i64 noundef %8220)
  store i32 %8221, ptr %37, align 4, !tbaa !9
  %8222 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8222, ptr %11, align 4, !tbaa !9
  %8223 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8223, ptr %37, align 4, !tbaa !9
  %8224 = load ptr, ptr %8, align 8, !tbaa !5
  %8225 = getelementptr inbounds %struct.w2c_hermes, ptr %8224, i32 0, i32 6
  %8226 = load i32, ptr %37, align 4, !tbaa !9
  %8227 = zext i32 %8226 to i64
  %8228 = add i64 %8227, 138
  %8229 = call i32 @i32_load16_u(ptr noundef %8225, i64 noundef %8228)
  store i32 %8229, ptr %37, align 4, !tbaa !9
  %8230 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8230, ptr %12, align 4, !tbaa !9
  %8231 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8231, ptr %37, align 4, !tbaa !9
  %8232 = load ptr, ptr %8, align 8, !tbaa !5
  %8233 = getelementptr inbounds %struct.w2c_hermes, ptr %8232, i32 0, i32 6
  %8234 = load i32, ptr %37, align 4, !tbaa !9
  %8235 = zext i32 %8234 to i64
  %8236 = add i64 %8235, 16
  %8237 = call i32 @i32_load(ptr noundef %8233, i64 noundef %8236)
  store i32 %8237, ptr %37, align 4, !tbaa !9
  %8238 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8238, ptr %14, align 4, !tbaa !9
  %8239 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8239, ptr %38, align 4, !tbaa !9
  %8240 = load ptr, ptr %8, align 8, !tbaa !5
  %8241 = getelementptr inbounds %struct.w2c_hermes, ptr %8240, i32 0, i32 6
  %8242 = load i32, ptr %38, align 4, !tbaa !9
  %8243 = zext i32 %8242 to i64
  %8244 = add i64 %8243, 20
  %8245 = call i32 @i32_load(ptr noundef %8241, i64 noundef %8244)
  store i32 %8245, ptr %38, align 4, !tbaa !9
  %8246 = load i32, ptr %37, align 4, !tbaa !9
  %8247 = load i32, ptr %38, align 4, !tbaa !9
  %8248 = icmp uge i32 %8246, %8247
  %8249 = zext i1 %8248 to i32
  store i32 %8249, ptr %37, align 4, !tbaa !9
  %8250 = load i32, ptr %37, align 4, !tbaa !9
  %8251 = icmp ne i32 %8250, 0
  br i1 %8251, label %8252, label %8267

8252:                                             ; preds = %8192
  %8253 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8253, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %8254 = load i32, ptr %38, align 4, !tbaa !9
  %8255 = load i32, ptr %37, align 4, !tbaa !9
  %8256 = add i32 %8255, %8254
  store i32 %8256, ptr %37, align 4, !tbaa !9
  %8257 = load ptr, ptr %8, align 8, !tbaa !5
  %8258 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %8257, i32 noundef %8258)
  %8259 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8259, ptr %37, align 4, !tbaa !9
  %8260 = load ptr, ptr %8, align 8, !tbaa !5
  %8261 = getelementptr inbounds %struct.w2c_hermes, ptr %8260, i32 0, i32 6
  %8262 = load i32, ptr %37, align 4, !tbaa !9
  %8263 = zext i32 %8262 to i64
  %8264 = add i64 %8263, 16
  %8265 = call i32 @i32_load(ptr noundef %8261, i64 noundef %8264)
  store i32 %8265, ptr %37, align 4, !tbaa !9
  %8266 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8266, ptr %14, align 4, !tbaa !9
  br label %8267

8267:                                             ; preds = %8252, %8192
  %8268 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8268, ptr %37, align 4, !tbaa !9
  %8269 = load ptr, ptr %8, align 8, !tbaa !5
  %8270 = getelementptr inbounds %struct.w2c_hermes, ptr %8269, i32 0, i32 6
  %8271 = load i32, ptr %37, align 4, !tbaa !9
  %8272 = zext i32 %8271 to i64
  %8273 = add i64 %8272, 12
  %8274 = call i32 @i32_load(ptr noundef %8270, i64 noundef %8273)
  store i32 %8274, ptr %37, align 4, !tbaa !9
  %8275 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8275, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %8276 = load i32, ptr %39, align 4, !tbaa !9
  %8277 = load i32, ptr %38, align 4, !tbaa !9
  %8278 = mul i32 %8277, %8276
  store i32 %8278, ptr %38, align 4, !tbaa !9
  %8279 = load i32, ptr %38, align 4, !tbaa !9
  %8280 = load i32, ptr %37, align 4, !tbaa !9
  %8281 = add i32 %8280, %8279
  store i32 %8281, ptr %37, align 4, !tbaa !9
  %8282 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8282, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8283 = load ptr, ptr %8, align 8, !tbaa !5
  %8284 = getelementptr inbounds %struct.w2c_hermes, ptr %8283, i32 0, i32 6
  %8285 = load i32, ptr %37, align 4, !tbaa !9
  %8286 = zext i32 %8285 to i64
  %8287 = add i64 %8286, 28
  %8288 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8284, i64 noundef %8287, i64 noundef %8288)
  %8289 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8289, ptr %37, align 4, !tbaa !9
  %8290 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8290, ptr %38, align 4, !tbaa !9
  %8291 = load ptr, ptr %8, align 8, !tbaa !5
  %8292 = getelementptr inbounds %struct.w2c_hermes, ptr %8291, i32 0, i32 6
  %8293 = load i32, ptr %37, align 4, !tbaa !9
  %8294 = zext i32 %8293 to i64
  %8295 = add i64 %8294, 24
  %8296 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8292, i64 noundef %8295, i32 noundef %8296)
  %8297 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8297, ptr %37, align 4, !tbaa !9
  %8298 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8298, ptr %38, align 4, !tbaa !9
  %8299 = load ptr, ptr %8, align 8, !tbaa !5
  %8300 = getelementptr inbounds %struct.w2c_hermes, ptr %8299, i32 0, i32 6
  %8301 = load i32, ptr %37, align 4, !tbaa !9
  %8302 = zext i32 %8301 to i64
  %8303 = add i64 %8302, 22
  %8304 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %8300, i64 noundef %8303, i32 noundef %8304)
  %8305 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8305, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8306 = load ptr, ptr %8, align 8, !tbaa !5
  %8307 = getelementptr inbounds %struct.w2c_hermes, ptr %8306, i32 0, i32 6
  %8308 = load i32, ptr %37, align 4, !tbaa !9
  %8309 = zext i32 %8308 to i64
  %8310 = add i64 %8309, 20
  %8311 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8307, i64 noundef %8310, i32 noundef %8311)
  %8312 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8312, ptr %37, align 4, !tbaa !9
  store i32 -1, ptr %38, align 4, !tbaa !9
  %8313 = load ptr, ptr %8, align 8, !tbaa !5
  %8314 = getelementptr inbounds %struct.w2c_hermes, ptr %8313, i32 0, i32 6
  %8315 = load i32, ptr %37, align 4, !tbaa !9
  %8316 = zext i32 %8315 to i64
  %8317 = add i64 %8316, 16
  %8318 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8314, i64 noundef %8317, i32 noundef %8318)
  %8319 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8319, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8320 = load ptr, ptr %8, align 8, !tbaa !5
  %8321 = getelementptr inbounds %struct.w2c_hermes, ptr %8320, i32 0, i32 6
  %8322 = load i32, ptr %37, align 4, !tbaa !9
  %8323 = zext i32 %8322 to i64
  %8324 = add i64 %8323, 8
  %8325 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8321, i64 noundef %8324, i64 noundef %8325)
  %8326 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8326, ptr %37, align 4, !tbaa !9
  %8327 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8327, ptr %38, align 4, !tbaa !9
  %8328 = load ptr, ptr %8, align 8, !tbaa !5
  %8329 = getelementptr inbounds %struct.w2c_hermes, ptr %8328, i32 0, i32 6
  %8330 = load i32, ptr %37, align 4, !tbaa !9
  %8331 = zext i32 %8330 to i64
  %8332 = add i64 %8331, 4
  %8333 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8329, i64 noundef %8332, i32 noundef %8333)
  %8334 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8334, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %8335 = load ptr, ptr %8, align 8, !tbaa !5
  %8336 = getelementptr inbounds %struct.w2c_hermes, ptr %8335, i32 0, i32 6
  %8337 = load i32, ptr %37, align 4, !tbaa !9
  %8338 = zext i32 %8337 to i64
  %8339 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8336, i64 noundef %8338, i32 noundef %8339)
  %8340 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8340, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8341 = load ptr, ptr %8, align 8, !tbaa !5
  %8342 = getelementptr inbounds %struct.w2c_hermes, ptr %8341, i32 0, i32 6
  %8343 = load i32, ptr %37, align 4, !tbaa !9
  %8344 = zext i32 %8343 to i64
  %8345 = add i64 %8344, 36
  %8346 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8342, i64 noundef %8345, i32 noundef %8346)
  %8347 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8347, ptr %37, align 4, !tbaa !9
  %8348 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8348, ptr %38, align 4, !tbaa !9
  %8349 = load ptr, ptr %8, align 8, !tbaa !5
  %8350 = getelementptr inbounds %struct.w2c_hermes, ptr %8349, i32 0, i32 6
  %8351 = load i32, ptr %38, align 4, !tbaa !9
  %8352 = zext i32 %8351 to i64
  %8353 = add i64 %8352, 16
  %8354 = call i32 @i32_load(ptr noundef %8350, i64 noundef %8353)
  store i32 %8354, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8355 = load i32, ptr %39, align 4, !tbaa !9
  %8356 = load i32, ptr %38, align 4, !tbaa !9
  %8357 = add i32 %8356, %8355
  store i32 %8357, ptr %38, align 4, !tbaa !9
  %8358 = load ptr, ptr %8, align 8, !tbaa !5
  %8359 = getelementptr inbounds %struct.w2c_hermes, ptr %8358, i32 0, i32 6
  %8360 = load i32, ptr %37, align 4, !tbaa !9
  %8361 = zext i32 %8360 to i64
  %8362 = add i64 %8361, 16
  %8363 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8359, i64 noundef %8362, i32 noundef %8363)
  br label %8585

8364:                                             ; preds = %8191, %8176, %8163, %8148, %1446
  %8365 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8365, ptr %37, align 4, !tbaa !9
  %8366 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8366, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %8367 = load i32, ptr %39, align 4, !tbaa !9
  %8368 = load i32, ptr %38, align 4, !tbaa !9
  %8369 = add i32 %8368, %8367
  store i32 %8369, ptr %38, align 4, !tbaa !9
  %8370 = load ptr, ptr %8, align 8, !tbaa !5
  %8371 = getelementptr inbounds %struct.w2c_hermes, ptr %8370, i32 0, i32 6
  %8372 = load i32, ptr %37, align 4, !tbaa !9
  %8373 = zext i32 %8372 to i64
  %8374 = add i64 %8373, 4
  %8375 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8371, i64 noundef %8374, i32 noundef %8375)
  %8376 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8376, ptr %37, align 4, !tbaa !9
  %8377 = load ptr, ptr %8, align 8, !tbaa !5
  %8378 = getelementptr inbounds %struct.w2c_hermes, ptr %8377, i32 0, i32 6
  %8379 = load i32, ptr %37, align 4, !tbaa !9
  %8380 = zext i32 %8379 to i64
  %8381 = call i32 @i32_load(ptr noundef %8378, i64 noundef %8380)
  store i32 %8381, ptr %37, align 4, !tbaa !9
  %8382 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8382, ptr %10, align 4, !tbaa !9
  %8383 = load ptr, ptr %8, align 8, !tbaa !5
  %8384 = getelementptr inbounds %struct.w2c_hermes, ptr %8383, i32 0, i32 6
  %8385 = load i32, ptr %37, align 4, !tbaa !9
  %8386 = zext i32 %8385 to i64
  %8387 = add i64 %8386, 138
  %8388 = call i32 @i32_load16_u(ptr noundef %8384, i64 noundef %8387)
  store i32 %8388, ptr %37, align 4, !tbaa !9
  %8389 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8389, ptr %11, align 4, !tbaa !9
  store i32 65535, ptr %38, align 4, !tbaa !9
  %8390 = load i32, ptr %37, align 4, !tbaa !9
  %8391 = load i32, ptr %38, align 4, !tbaa !9
  %8392 = icmp eq i32 %8390, %8391
  %8393 = zext i1 %8392 to i32
  store i32 %8393, ptr %37, align 4, !tbaa !9
  %8394 = load i32, ptr %37, align 4, !tbaa !9
  %8395 = icmp ne i32 %8394, 0
  br i1 %8395, label %8396, label %8423

8396:                                             ; preds = %8364
  %8397 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8397, ptr %37, align 4, !tbaa !9
  %8398 = load ptr, ptr %8, align 8, !tbaa !5
  %8399 = getelementptr inbounds %struct.w2c_hermes, ptr %8398, i32 0, i32 6
  %8400 = load i32, ptr %37, align 4, !tbaa !9
  %8401 = zext i32 %8400 to i64
  %8402 = add i64 %8401, 12
  %8403 = call i32 @i32_load(ptr noundef %8399, i64 noundef %8402)
  store i32 %8403, ptr %37, align 4, !tbaa !9
  %8404 = load i32, ptr %37, align 4, !tbaa !9
  %8405 = icmp ne i32 %8404, 0
  br i1 %8405, label %8406, label %8407

8406:                                             ; preds = %8396
  br label %8585

8407:                                             ; preds = %8396
  %8408 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8408, ptr %37, align 4, !tbaa !9
  %8409 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8409, ptr %38, align 4, !tbaa !9
  %8410 = load ptr, ptr %8, align 8, !tbaa !5
  %8411 = getelementptr inbounds %struct.w2c_hermes, ptr %8410, i32 0, i32 6
  %8412 = load i32, ptr %37, align 4, !tbaa !9
  %8413 = zext i32 %8412 to i64
  %8414 = add i64 %8413, 4
  %8415 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8411, i64 noundef %8414, i32 noundef %8415)
  %8416 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8416, ptr %37, align 4, !tbaa !9
  store i32 10, ptr %38, align 4, !tbaa !9
  %8417 = load ptr, ptr %8, align 8, !tbaa !5
  %8418 = getelementptr inbounds %struct.w2c_hermes, ptr %8417, i32 0, i32 6
  %8419 = load i32, ptr %37, align 4, !tbaa !9
  %8420 = zext i32 %8419 to i64
  %8421 = add i64 %8420, 12
  %8422 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8418, i64 noundef %8421, i32 noundef %8422)
  br label %8585

8423:                                             ; preds = %8364
  %8424 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8424, ptr %37, align 4, !tbaa !9
  %8425 = load ptr, ptr %8, align 8, !tbaa !5
  %8426 = getelementptr inbounds %struct.w2c_hermes, ptr %8425, i32 0, i32 6
  %8427 = load i32, ptr %37, align 4, !tbaa !9
  %8428 = zext i32 %8427 to i64
  %8429 = add i64 %8428, 148
  %8430 = call i32 @i32_load(ptr noundef %8426, i64 noundef %8429)
  store i32 %8430, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %8431 = load i32, ptr %38, align 4, !tbaa !9
  %8432 = load i32, ptr %37, align 4, !tbaa !9
  %8433 = sub i32 %8432, %8431
  store i32 %8433, ptr %37, align 4, !tbaa !9
  %8434 = load ptr, ptr %8, align 8, !tbaa !5
  %8435 = getelementptr inbounds %struct.w2c_hermes, ptr %8434, i32 0, i32 6
  %8436 = load i32, ptr %37, align 4, !tbaa !9
  %8437 = zext i32 %8436 to i64
  %8438 = call i32 @i32_load(ptr noundef %8435, i64 noundef %8437)
  store i32 %8438, ptr %37, align 4, !tbaa !9
  %8439 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8439, ptr %12, align 4, !tbaa !9
  %8440 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8440, ptr %37, align 4, !tbaa !9
  %8441 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8441, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8442 = load i32, ptr %39, align 4, !tbaa !9
  %8443 = load i32, ptr %38, align 4, !tbaa !9
  %8444 = add i32 %8443, %8442
  store i32 %8444, ptr %38, align 4, !tbaa !9
  %8445 = load ptr, ptr %8, align 8, !tbaa !5
  %8446 = getelementptr inbounds %struct.w2c_hermes, ptr %8445, i32 0, i32 6
  %8447 = load i32, ptr %37, align 4, !tbaa !9
  %8448 = zext i32 %8447 to i64
  %8449 = add i64 %8448, 138
  %8450 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %8446, i64 noundef %8449, i32 noundef %8450)
  %8451 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8451, ptr %37, align 4, !tbaa !9
  %8452 = load ptr, ptr %8, align 8, !tbaa !5
  %8453 = getelementptr inbounds %struct.w2c_hermes, ptr %8452, i32 0, i32 6
  %8454 = load i32, ptr %37, align 4, !tbaa !9
  %8455 = zext i32 %8454 to i64
  %8456 = add i64 %8455, 16
  %8457 = call i32 @i32_load(ptr noundef %8453, i64 noundef %8456)
  store i32 %8457, ptr %37, align 4, !tbaa !9
  %8458 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8458, ptr %14, align 4, !tbaa !9
  %8459 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8459, ptr %38, align 4, !tbaa !9
  %8460 = load ptr, ptr %8, align 8, !tbaa !5
  %8461 = getelementptr inbounds %struct.w2c_hermes, ptr %8460, i32 0, i32 6
  %8462 = load i32, ptr %38, align 4, !tbaa !9
  %8463 = zext i32 %8462 to i64
  %8464 = add i64 %8463, 20
  %8465 = call i32 @i32_load(ptr noundef %8461, i64 noundef %8464)
  store i32 %8465, ptr %38, align 4, !tbaa !9
  %8466 = load i32, ptr %37, align 4, !tbaa !9
  %8467 = load i32, ptr %38, align 4, !tbaa !9
  %8468 = icmp uge i32 %8466, %8467
  %8469 = zext i1 %8468 to i32
  store i32 %8469, ptr %37, align 4, !tbaa !9
  %8470 = load i32, ptr %37, align 4, !tbaa !9
  %8471 = icmp ne i32 %8470, 0
  br i1 %8471, label %8472, label %8487

8472:                                             ; preds = %8423
  %8473 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8473, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %8474 = load i32, ptr %38, align 4, !tbaa !9
  %8475 = load i32, ptr %37, align 4, !tbaa !9
  %8476 = add i32 %8475, %8474
  store i32 %8476, ptr %37, align 4, !tbaa !9
  %8477 = load ptr, ptr %8, align 8, !tbaa !5
  %8478 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %8477, i32 noundef %8478)
  %8479 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8479, ptr %37, align 4, !tbaa !9
  %8480 = load ptr, ptr %8, align 8, !tbaa !5
  %8481 = getelementptr inbounds %struct.w2c_hermes, ptr %8480, i32 0, i32 6
  %8482 = load i32, ptr %37, align 4, !tbaa !9
  %8483 = zext i32 %8482 to i64
  %8484 = add i64 %8483, 16
  %8485 = call i32 @i32_load(ptr noundef %8481, i64 noundef %8484)
  store i32 %8485, ptr %37, align 4, !tbaa !9
  %8486 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8486, ptr %14, align 4, !tbaa !9
  br label %8487

8487:                                             ; preds = %8472, %8423
  %8488 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8488, ptr %37, align 4, !tbaa !9
  %8489 = load ptr, ptr %8, align 8, !tbaa !5
  %8490 = getelementptr inbounds %struct.w2c_hermes, ptr %8489, i32 0, i32 6
  %8491 = load i32, ptr %37, align 4, !tbaa !9
  %8492 = zext i32 %8491 to i64
  %8493 = add i64 %8492, 12
  %8494 = call i32 @i32_load(ptr noundef %8490, i64 noundef %8493)
  store i32 %8494, ptr %37, align 4, !tbaa !9
  %8495 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8495, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %8496 = load i32, ptr %39, align 4, !tbaa !9
  %8497 = load i32, ptr %38, align 4, !tbaa !9
  %8498 = mul i32 %8497, %8496
  store i32 %8498, ptr %38, align 4, !tbaa !9
  %8499 = load i32, ptr %38, align 4, !tbaa !9
  %8500 = load i32, ptr %37, align 4, !tbaa !9
  %8501 = add i32 %8500, %8499
  store i32 %8501, ptr %37, align 4, !tbaa !9
  %8502 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8502, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8503 = load ptr, ptr %8, align 8, !tbaa !5
  %8504 = getelementptr inbounds %struct.w2c_hermes, ptr %8503, i32 0, i32 6
  %8505 = load i32, ptr %37, align 4, !tbaa !9
  %8506 = zext i32 %8505 to i64
  %8507 = add i64 %8506, 28
  %8508 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8504, i64 noundef %8507, i64 noundef %8508)
  %8509 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8509, ptr %37, align 4, !tbaa !9
  %8510 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8510, ptr %38, align 4, !tbaa !9
  %8511 = load ptr, ptr %8, align 8, !tbaa !5
  %8512 = getelementptr inbounds %struct.w2c_hermes, ptr %8511, i32 0, i32 6
  %8513 = load i32, ptr %37, align 4, !tbaa !9
  %8514 = zext i32 %8513 to i64
  %8515 = add i64 %8514, 24
  %8516 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8512, i64 noundef %8515, i32 noundef %8516)
  %8517 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8517, ptr %37, align 4, !tbaa !9
  %8518 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8518, ptr %38, align 4, !tbaa !9
  %8519 = load ptr, ptr %8, align 8, !tbaa !5
  %8520 = getelementptr inbounds %struct.w2c_hermes, ptr %8519, i32 0, i32 6
  %8521 = load i32, ptr %37, align 4, !tbaa !9
  %8522 = zext i32 %8521 to i64
  %8523 = add i64 %8522, 22
  %8524 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %8520, i64 noundef %8523, i32 noundef %8524)
  %8525 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8525, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8526 = load ptr, ptr %8, align 8, !tbaa !5
  %8527 = getelementptr inbounds %struct.w2c_hermes, ptr %8526, i32 0, i32 6
  %8528 = load i32, ptr %37, align 4, !tbaa !9
  %8529 = zext i32 %8528 to i64
  %8530 = add i64 %8529, 20
  %8531 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8527, i64 noundef %8530, i32 noundef %8531)
  %8532 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8532, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %8533 = load ptr, ptr %8, align 8, !tbaa !5
  %8534 = getelementptr inbounds %struct.w2c_hermes, ptr %8533, i32 0, i32 6
  %8535 = load i32, ptr %37, align 4, !tbaa !9
  %8536 = zext i32 %8535 to i64
  %8537 = add i64 %8536, 12
  %8538 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8534, i64 noundef %8537, i64 noundef %8538)
  %8539 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8539, ptr %37, align 4, !tbaa !9
  %8540 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8540, ptr %38, align 4, !tbaa !9
  %8541 = load ptr, ptr %8, align 8, !tbaa !5
  %8542 = getelementptr inbounds %struct.w2c_hermes, ptr %8541, i32 0, i32 6
  %8543 = load i32, ptr %37, align 4, !tbaa !9
  %8544 = zext i32 %8543 to i64
  %8545 = add i64 %8544, 8
  %8546 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8542, i64 noundef %8545, i32 noundef %8546)
  %8547 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8547, ptr %37, align 4, !tbaa !9
  %8548 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8548, ptr %38, align 4, !tbaa !9
  %8549 = load ptr, ptr %8, align 8, !tbaa !5
  %8550 = getelementptr inbounds %struct.w2c_hermes, ptr %8549, i32 0, i32 6
  %8551 = load i32, ptr %37, align 4, !tbaa !9
  %8552 = zext i32 %8551 to i64
  %8553 = add i64 %8552, 4
  %8554 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8550, i64 noundef %8553, i32 noundef %8554)
  %8555 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8555, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8556 = load ptr, ptr %8, align 8, !tbaa !5
  %8557 = getelementptr inbounds %struct.w2c_hermes, ptr %8556, i32 0, i32 6
  %8558 = load i32, ptr %37, align 4, !tbaa !9
  %8559 = zext i32 %8558 to i64
  %8560 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8557, i64 noundef %8559, i32 noundef %8560)
  %8561 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8561, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8562 = load ptr, ptr %8, align 8, !tbaa !5
  %8563 = getelementptr inbounds %struct.w2c_hermes, ptr %8562, i32 0, i32 6
  %8564 = load i32, ptr %37, align 4, !tbaa !9
  %8565 = zext i32 %8564 to i64
  %8566 = add i64 %8565, 36
  %8567 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8563, i64 noundef %8566, i32 noundef %8567)
  %8568 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8568, ptr %37, align 4, !tbaa !9
  %8569 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8569, ptr %38, align 4, !tbaa !9
  %8570 = load ptr, ptr %8, align 8, !tbaa !5
  %8571 = getelementptr inbounds %struct.w2c_hermes, ptr %8570, i32 0, i32 6
  %8572 = load i32, ptr %38, align 4, !tbaa !9
  %8573 = zext i32 %8572 to i64
  %8574 = add i64 %8573, 16
  %8575 = call i32 @i32_load(ptr noundef %8571, i64 noundef %8574)
  store i32 %8575, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8576 = load i32, ptr %39, align 4, !tbaa !9
  %8577 = load i32, ptr %38, align 4, !tbaa !9
  %8578 = add i32 %8577, %8576
  store i32 %8578, ptr %38, align 4, !tbaa !9
  %8579 = load ptr, ptr %8, align 8, !tbaa !5
  %8580 = getelementptr inbounds %struct.w2c_hermes, ptr %8579, i32 0, i32 6
  %8581 = load i32, ptr %37, align 4, !tbaa !9
  %8582 = zext i32 %8581 to i64
  %8583 = add i64 %8582, 16
  %8584 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8580, i64 noundef %8583, i32 noundef %8584)
  br label %8585

8585:                                             ; preds = %8487, %8407, %8406, %8267, %8136, %5495, %5250, %4993, %4765, %4620, %1424, %1423, %1336, %660
  %8586 = load ptr, ptr %8, align 8, !tbaa !5
  %8587 = getelementptr inbounds %struct.w2c_hermes, ptr %8586, i32 0, i32 3
  %8588 = load i32, ptr %8587, align 8, !tbaa !13
  store i32 %8588, ptr %37, align 4, !tbaa !9
  store i32 80, ptr %38, align 4, !tbaa !9
  %8589 = load i32, ptr %38, align 4, !tbaa !9
  %8590 = load i32, ptr %37, align 4, !tbaa !9
  %8591 = sub i32 %8590, %8589
  store i32 %8591, ptr %37, align 4, !tbaa !9
  %8592 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8592, ptr %17, align 4, !tbaa !9
  %8593 = load i32, ptr %37, align 4, !tbaa !9
  %8594 = load ptr, ptr %8, align 8, !tbaa !5
  %8595 = getelementptr inbounds %struct.w2c_hermes, ptr %8594, i32 0, i32 3
  store i32 %8593, ptr %8595, align 8, !tbaa !13
  %8596 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8596, ptr %37, align 4, !tbaa !9
  %8597 = load ptr, ptr %8, align 8, !tbaa !5
  %8598 = getelementptr inbounds %struct.w2c_hermes, ptr %8597, i32 0, i32 6
  %8599 = load i32, ptr %37, align 4, !tbaa !9
  %8600 = zext i32 %8599 to i64
  %8601 = add i64 %8600, 4
  %8602 = call i32 @i32_load(ptr noundef %8598, i64 noundef %8601)
  store i32 %8602, ptr %37, align 4, !tbaa !9
  %8603 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8603, ptr %11, align 4, !tbaa !9
  %8604 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8604, ptr %38, align 4, !tbaa !9
  %8605 = load ptr, ptr %8, align 8, !tbaa !5
  %8606 = getelementptr inbounds %struct.w2c_hermes, ptr %8605, i32 0, i32 6
  %8607 = load i32, ptr %38, align 4, !tbaa !9
  %8608 = zext i32 %8607 to i64
  %8609 = add i64 %8608, 8
  %8610 = call i32 @i32_load(ptr noundef %8606, i64 noundef %8609)
  store i32 %8610, ptr %38, align 4, !tbaa !9
  %8611 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8611, ptr %14, align 4, !tbaa !9
  %8612 = load i32, ptr %37, align 4, !tbaa !9
  %8613 = load i32, ptr %38, align 4, !tbaa !9
  %8614 = icmp eq i32 %8612, %8613
  %8615 = zext i1 %8614 to i32
  store i32 %8615, ptr %37, align 4, !tbaa !9
  %8616 = load i32, ptr %37, align 4, !tbaa !9
  %8617 = icmp ne i32 %8616, 0
  br i1 %8617, label %8618, label %8619

8618:                                             ; preds = %8585
  br label %15193

8619:                                             ; preds = %8585
  %8620 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8620, ptr %37, align 4, !tbaa !9
  store i32 60, ptr %38, align 4, !tbaa !9
  %8621 = load i32, ptr %38, align 4, !tbaa !9
  %8622 = load i32, ptr %37, align 4, !tbaa !9
  %8623 = add i32 %8622, %8621
  store i32 %8623, ptr %37, align 4, !tbaa !9
  %8624 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8624, ptr %22, align 4, !tbaa !9
  br label %8625

8625:                                             ; preds = %15191, %8619
  %8626 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8626, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8627 = load ptr, ptr %8, align 8, !tbaa !5
  %8628 = getelementptr inbounds %struct.w2c_hermes, ptr %8627, i32 0, i32 6
  %8629 = load i32, ptr %37, align 4, !tbaa !9
  %8630 = zext i32 %8629 to i64
  %8631 = add i64 %8630, 36
  %8632 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8628, i64 noundef %8631, i32 noundef %8632)
  %8633 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8633, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %8634 = load ptr, ptr %8, align 8, !tbaa !5
  %8635 = getelementptr inbounds %struct.w2c_hermes, ptr %8634, i32 0, i32 6
  %8636 = load i32, ptr %37, align 4, !tbaa !9
  %8637 = zext i32 %8636 to i64
  %8638 = add i64 %8637, 28
  %8639 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8635, i64 noundef %8638, i64 noundef %8639)
  %8640 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8640, ptr %37, align 4, !tbaa !9
  %8641 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %8641, ptr %38, align 4, !tbaa !9
  %8642 = load ptr, ptr %8, align 8, !tbaa !5
  %8643 = getelementptr inbounds %struct.w2c_hermes, ptr %8642, i32 0, i32 6
  %8644 = load i32, ptr %38, align 4, !tbaa !9
  %8645 = zext i32 %8644 to i64
  %8646 = call i32 @i32_load(ptr noundef %8643, i64 noundef %8645)
  store i32 %8646, ptr %38, align 4, !tbaa !9
  %8647 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8647, ptr %10, align 4, !tbaa !9
  %8648 = load ptr, ptr %8, align 8, !tbaa !5
  %8649 = getelementptr inbounds %struct.w2c_hermes, ptr %8648, i32 0, i32 6
  %8650 = load i32, ptr %38, align 4, !tbaa !9
  %8651 = zext i32 %8650 to i64
  %8652 = add i64 %8651, 138
  %8653 = call i32 @i32_load16_u(ptr noundef %8649, i64 noundef %8652)
  store i32 %8653, ptr %38, align 4, !tbaa !9
  %8654 = load ptr, ptr %8, align 8, !tbaa !5
  %8655 = getelementptr inbounds %struct.w2c_hermes, ptr %8654, i32 0, i32 6
  %8656 = load i32, ptr %37, align 4, !tbaa !9
  %8657 = zext i32 %8656 to i64
  %8658 = add i64 %8657, 38
  %8659 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %8655, i64 noundef %8658, i32 noundef %8659)
  %8660 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8660, ptr %37, align 4, !tbaa !9
  %8661 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8661, ptr %38, align 4, !tbaa !9
  %8662 = load ptr, ptr %8, align 8, !tbaa !5
  %8663 = getelementptr inbounds %struct.w2c_hermes, ptr %8662, i32 0, i32 6
  %8664 = load i32, ptr %38, align 4, !tbaa !9
  %8665 = zext i32 %8664 to i64
  %8666 = add i64 %8665, 148
  %8667 = call i32 @i32_load(ptr noundef %8663, i64 noundef %8666)
  store i32 %8667, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %8668 = load i32, ptr %39, align 4, !tbaa !9
  %8669 = load i32, ptr %38, align 4, !tbaa !9
  %8670 = sub i32 %8669, %8668
  store i32 %8670, ptr %38, align 4, !tbaa !9
  %8671 = load ptr, ptr %8, align 8, !tbaa !5
  %8672 = getelementptr inbounds %struct.w2c_hermes, ptr %8671, i32 0, i32 6
  %8673 = load i32, ptr %38, align 4, !tbaa !9
  %8674 = zext i32 %8673 to i64
  %8675 = call i32 @i32_load(ptr noundef %8672, i64 noundef %8674)
  store i32 %8675, ptr %38, align 4, !tbaa !9
  %8676 = load ptr, ptr %8, align 8, !tbaa !5
  %8677 = getelementptr inbounds %struct.w2c_hermes, ptr %8676, i32 0, i32 6
  %8678 = load i32, ptr %37, align 4, !tbaa !9
  %8679 = zext i32 %8678 to i64
  %8680 = add i64 %8679, 40
  %8681 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8677, i64 noundef %8680, i32 noundef %8681)
  %8682 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8682, ptr %37, align 4, !tbaa !9
  %8683 = load ptr, ptr %8, align 8, !tbaa !5
  %8684 = getelementptr inbounds %struct.w2c_hermes, ptr %8683, i32 0, i32 6
  %8685 = load i32, ptr %37, align 4, !tbaa !9
  %8686 = zext i32 %8685 to i64
  %8687 = call i32 @i32_load16_u(ptr noundef %8684, i64 noundef %8686)
  store i32 %8687, ptr %37, align 4, !tbaa !9
  %8688 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8688, ptr %12, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %8689 = load i32, ptr %38, align 4, !tbaa !9
  %8690 = load i32, ptr %37, align 4, !tbaa !9
  %8691 = sub i32 %8690, %8689
  store i32 %8691, ptr %37, align 4, !tbaa !9
  %8692 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %8692, label %8783 [
    i32 0, label %8693
    i32 1, label %8694
    i32 2, label %8695
    i32 3, label %8696
    i32 4, label %8697
    i32 5, label %8698
    i32 6, label %8699
    i32 7, label %8700
    i32 8, label %8701
    i32 9, label %8702
    i32 10, label %8703
    i32 11, label %8704
    i32 12, label %8705
    i32 13, label %8706
    i32 14, label %8707
    i32 15, label %8708
    i32 16, label %8709
    i32 17, label %8710
    i32 18, label %8711
    i32 19, label %8712
    i32 20, label %8713
    i32 21, label %8714
    i32 22, label %8715
    i32 23, label %8716
    i32 24, label %8717
    i32 25, label %8718
    i32 26, label %8719
    i32 27, label %8720
    i32 28, label %8721
    i32 29, label %8722
    i32 30, label %8723
    i32 31, label %8724
    i32 32, label %8725
    i32 33, label %8726
    i32 34, label %8727
    i32 35, label %8728
    i32 36, label %8729
    i32 37, label %8730
    i32 38, label %8731
    i32 39, label %8732
    i32 40, label %8733
    i32 41, label %8734
    i32 42, label %8735
    i32 43, label %8736
    i32 44, label %8737
    i32 45, label %8738
    i32 46, label %8739
    i32 47, label %8740
    i32 48, label %8741
    i32 49, label %8742
    i32 50, label %8743
    i32 51, label %8744
    i32 52, label %8745
    i32 53, label %8746
    i32 54, label %8747
    i32 55, label %8748
    i32 56, label %8749
    i32 57, label %8750
    i32 58, label %8751
    i32 59, label %8752
    i32 60, label %8753
    i32 61, label %8754
    i32 62, label %8755
    i32 63, label %8756
    i32 64, label %8757
    i32 65, label %8758
    i32 66, label %8759
    i32 67, label %8760
    i32 68, label %8761
    i32 69, label %8762
    i32 70, label %8763
    i32 71, label %8764
    i32 72, label %8765
    i32 73, label %8766
    i32 74, label %8767
    i32 75, label %8768
    i32 76, label %8769
    i32 77, label %8770
    i32 78, label %8771
    i32 79, label %8772
    i32 80, label %8773
    i32 81, label %8774
    i32 82, label %8775
    i32 83, label %8776
    i32 84, label %8777
    i32 85, label %8778
    i32 86, label %8779
    i32 87, label %8780
    i32 88, label %8781
    i32 89, label %8782
  ]

8693:                                             ; preds = %8625
  br label %9234

8694:                                             ; preds = %8625
  br label %14635

8695:                                             ; preds = %8625
  br label %14635

8696:                                             ; preds = %8625
  br label %14635

8697:                                             ; preds = %8625
  br label %15193

8698:                                             ; preds = %8625
  br label %15193

8699:                                             ; preds = %8625
  br label %14299

8700:                                             ; preds = %8625
  br label %14299

8701:                                             ; preds = %8625
  br label %14635

8702:                                             ; preds = %8625
  br label %14635

8703:                                             ; preds = %8625
  br label %12211

8704:                                             ; preds = %8625
  br label %14635

8705:                                             ; preds = %8625
  br label %14635

8706:                                             ; preds = %8625
  br label %14635

8707:                                             ; preds = %8625
  br label %14635

8708:                                             ; preds = %8625
  br label %14635

8709:                                             ; preds = %8625
  br label %14635

8710:                                             ; preds = %8625
  br label %14635

8711:                                             ; preds = %8625
  br label %14635

8712:                                             ; preds = %8625
  br label %14635

8713:                                             ; preds = %8625
  br label %14635

8714:                                             ; preds = %8625
  br label %14635

8715:                                             ; preds = %8625
  br label %14635

8716:                                             ; preds = %8625
  br label %14635

8717:                                             ; preds = %8625
  br label %14635

8718:                                             ; preds = %8625
  br label %14635

8719:                                             ; preds = %8625
  br label %14635

8720:                                             ; preds = %8625
  br label %14299

8721:                                             ; preds = %8625
  br label %14635

8722:                                             ; preds = %8625
  br label %14635

8723:                                             ; preds = %8625
  br label %14635

8724:                                             ; preds = %8625
  br label %14635

8725:                                             ; preds = %8625
  br label %14635

8726:                                             ; preds = %8625
  br label %14635

8727:                                             ; preds = %8625
  br label %14635

8728:                                             ; preds = %8625
  br label %14635

8729:                                             ; preds = %8625
  br label %14635

8730:                                             ; preds = %8625
  br label %14635

8731:                                             ; preds = %8625
  br label %14635

8732:                                             ; preds = %8625
  br label %14635

8733:                                             ; preds = %8625
  br label %14635

8734:                                             ; preds = %8625
  br label %14635

8735:                                             ; preds = %8625
  br label %14635

8736:                                             ; preds = %8625
  br label %14635

8737:                                             ; preds = %8625
  br label %14635

8738:                                             ; preds = %8625
  br label %14635

8739:                                             ; preds = %8625
  br label %14635

8740:                                             ; preds = %8625
  br label %14635

8741:                                             ; preds = %8625
  br label %14635

8742:                                             ; preds = %8625
  br label %14635

8743:                                             ; preds = %8625
  br label %14635

8744:                                             ; preds = %8625
  br label %14635

8745:                                             ; preds = %8625
  br label %14635

8746:                                             ; preds = %8625
  br label %14635

8747:                                             ; preds = %8625
  br label %14635

8748:                                             ; preds = %8625
  br label %12670

8749:                                             ; preds = %8625
  br label %9646

8750:                                             ; preds = %8625
  br label %14577

8751:                                             ; preds = %8625
  br label %8784

8752:                                             ; preds = %8625
  br label %14635

8753:                                             ; preds = %8625
  br label %14635

8754:                                             ; preds = %8625
  br label %14635

8755:                                             ; preds = %8625
  br label %14635

8756:                                             ; preds = %8625
  br label %14635

8757:                                             ; preds = %8625
  br label %14635

8758:                                             ; preds = %8625
  br label %14635

8759:                                             ; preds = %8625
  br label %14635

8760:                                             ; preds = %8625
  br label %14635

8761:                                             ; preds = %8625
  br label %14635

8762:                                             ; preds = %8625
  br label %14635

8763:                                             ; preds = %8625
  br label %14635

8764:                                             ; preds = %8625
  br label %14635

8765:                                             ; preds = %8625
  br label %14635

8766:                                             ; preds = %8625
  br label %14635

8767:                                             ; preds = %8625
  br label %14635

8768:                                             ; preds = %8625
  br label %14635

8769:                                             ; preds = %8625
  br label %14635

8770:                                             ; preds = %8625
  br label %14635

8771:                                             ; preds = %8625
  br label %14635

8772:                                             ; preds = %8625
  br label %14635

8773:                                             ; preds = %8625
  br label %14635

8774:                                             ; preds = %8625
  br label %14635

8775:                                             ; preds = %8625
  br label %14635

8776:                                             ; preds = %8625
  br label %14635

8777:                                             ; preds = %8625
  br label %14635

8778:                                             ; preds = %8625
  br label %14635

8779:                                             ; preds = %8625
  br label %14635

8780:                                             ; preds = %8625
  br label %14326

8781:                                             ; preds = %8625
  br label %15193

8782:                                             ; preds = %8625
  br label %14577

8783:                                             ; preds = %8625
  br label %14635

8784:                                             ; preds = %8751
  %8785 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8785, ptr %37, align 4, !tbaa !9
  %8786 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8786, ptr %38, align 4, !tbaa !9
  %8787 = load ptr, ptr %8, align 8, !tbaa !5
  %8788 = getelementptr inbounds %struct.w2c_hermes, ptr %8787, i32 0, i32 6
  %8789 = load i32, ptr %38, align 4, !tbaa !9
  %8790 = zext i32 %8789 to i64
  %8791 = add i64 %8790, 136
  %8792 = call i32 @i32_load8_u(ptr noundef %8788, i64 noundef %8791)
  store i32 %8792, ptr %38, align 4, !tbaa !9
  %8793 = load ptr, ptr %8, align 8, !tbaa !5
  %8794 = getelementptr inbounds %struct.w2c_hermes, ptr %8793, i32 0, i32 6
  %8795 = load i32, ptr %37, align 4, !tbaa !9
  %8796 = zext i32 %8795 to i64
  %8797 = add i64 %8796, 48
  %8798 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8794, i64 noundef %8797, i32 noundef %8798)
  %8799 = load ptr, ptr %8, align 8, !tbaa !5
  %8800 = getelementptr inbounds %struct.w2c_hermes, ptr %8799, i32 0, i32 3
  %8801 = load i32, ptr %8800, align 8, !tbaa !13
  store i32 %8801, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %8802 = load i32, ptr %38, align 4, !tbaa !9
  %8803 = load i32, ptr %37, align 4, !tbaa !9
  %8804 = sub i32 %8803, %8802
  store i32 %8804, ptr %37, align 4, !tbaa !9
  %8805 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8805, ptr %11, align 4, !tbaa !9
  %8806 = load i32, ptr %37, align 4, !tbaa !9
  %8807 = load ptr, ptr %8, align 8, !tbaa !5
  %8808 = getelementptr inbounds %struct.w2c_hermes, ptr %8807, i32 0, i32 3
  store i32 %8806, ptr %8808, align 8, !tbaa !13
  store i32 8, ptr %37, align 4, !tbaa !9
  %8809 = load ptr, ptr %8, align 8, !tbaa !5
  %8810 = load i32, ptr %37, align 4, !tbaa !9
  %8811 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %8809, i32 noundef %8810)
  store i32 %8811, ptr %37, align 4, !tbaa !9
  %8812 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8812, ptr %12, align 4, !tbaa !9
  %8813 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8813, ptr %37, align 4, !tbaa !9
  %8814 = load ptr, ptr %8, align 8, !tbaa !5
  %8815 = getelementptr inbounds %struct.w2c_hermes, ptr %8814, i32 0, i32 6
  %8816 = load i32, ptr %37, align 4, !tbaa !9
  %8817 = zext i32 %8816 to i64
  %8818 = add i64 %8817, 48
  %8819 = call i32 @i32_load8_u(ptr noundef %8815, i64 noundef %8818)
  store i32 %8819, ptr %37, align 4, !tbaa !9
  %8820 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8820, ptr %13, align 4, !tbaa !9
  %8821 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8821, ptr %37, align 4, !tbaa !9
  store i32 112192, ptr %38, align 4, !tbaa !9
  %8822 = load ptr, ptr %8, align 8, !tbaa !5
  %8823 = getelementptr inbounds %struct.w2c_hermes, ptr %8822, i32 0, i32 6
  %8824 = load i32, ptr %37, align 4, !tbaa !9
  %8825 = zext i32 %8824 to i64
  %8826 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8823, i64 noundef %8825, i32 noundef %8826)
  %8827 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8827, ptr %37, align 4, !tbaa !9
  %8828 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8828, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %8829 = load i32, ptr %39, align 4, !tbaa !9
  %8830 = and i32 %8829, 31
  %8831 = load i32, ptr %38, align 4, !tbaa !9
  %8832 = lshr i32 %8831, %8830
  store i32 %8832, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8833 = load i32, ptr %39, align 4, !tbaa !9
  %8834 = load i32, ptr %38, align 4, !tbaa !9
  %8835 = and i32 %8834, %8833
  store i32 %8835, ptr %38, align 4, !tbaa !9
  %8836 = load ptr, ptr %8, align 8, !tbaa !5
  %8837 = getelementptr inbounds %struct.w2c_hermes, ptr %8836, i32 0, i32 6
  %8838 = load i32, ptr %37, align 4, !tbaa !9
  %8839 = zext i32 %8838 to i64
  %8840 = add i64 %8839, 4
  %8841 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8837, i64 noundef %8840, i32 noundef %8841)
  %8842 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8842, ptr %37, align 4, !tbaa !9
  %8843 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8843, ptr %38, align 4, !tbaa !9
  %8844 = load ptr, ptr %8, align 8, !tbaa !5
  %8845 = getelementptr inbounds %struct.w2c_hermes, ptr %8844, i32 0, i32 6
  %8846 = load i32, ptr %37, align 4, !tbaa !9
  %8847 = zext i32 %8846 to i64
  %8848 = add i64 %8847, 12
  %8849 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8845, i64 noundef %8848, i32 noundef %8849)
  %8850 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8850, ptr %37, align 4, !tbaa !9
  %8851 = load ptr, ptr %8, align 8, !tbaa !5
  %8852 = getelementptr inbounds %struct.w2c_hermes, ptr %8851, i32 0, i32 6
  %8853 = load i32, ptr %37, align 4, !tbaa !9
  %8854 = zext i32 %8853 to i64
  %8855 = add i64 %8854, 160
  %8856 = call i32 @i32_load(ptr noundef %8852, i64 noundef %8855)
  store i32 %8856, ptr %37, align 4, !tbaa !9
  %8857 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8857, ptr %13, align 4, !tbaa !9
  %8858 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8858, ptr %38, align 4, !tbaa !9
  %8859 = load ptr, ptr %8, align 8, !tbaa !5
  %8860 = getelementptr inbounds %struct.w2c_hermes, ptr %8859, i32 0, i32 6
  %8861 = load i32, ptr %38, align 4, !tbaa !9
  %8862 = zext i32 %8861 to i64
  %8863 = add i64 %8862, 164
  %8864 = call i32 @i32_load(ptr noundef %8860, i64 noundef %8863)
  store i32 %8864, ptr %38, align 4, !tbaa !9
  %8865 = load i32, ptr %37, align 4, !tbaa !9
  %8866 = load i32, ptr %38, align 4, !tbaa !9
  %8867 = icmp ult i32 %8865, %8866
  %8868 = zext i1 %8867 to i32
  store i32 %8868, ptr %37, align 4, !tbaa !9
  %8869 = load i32, ptr %37, align 4, !tbaa !9
  %8870 = icmp ne i32 %8869, 0
  br i1 %8870, label %8871, label %8897

8871:                                             ; preds = %8784
  %8872 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8872, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8873 = load ptr, ptr %8, align 8, !tbaa !5
  %8874 = getelementptr inbounds %struct.w2c_hermes, ptr %8873, i32 0, i32 6
  %8875 = load i32, ptr %37, align 4, !tbaa !9
  %8876 = zext i32 %8875 to i64
  %8877 = add i64 %8876, 12
  %8878 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8874, i64 noundef %8877, i32 noundef %8878)
  %8879 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8879, ptr %37, align 4, !tbaa !9
  %8880 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8880, ptr %38, align 4, !tbaa !9
  %8881 = load ptr, ptr %8, align 8, !tbaa !5
  %8882 = getelementptr inbounds %struct.w2c_hermes, ptr %8881, i32 0, i32 6
  %8883 = load i32, ptr %37, align 4, !tbaa !9
  %8884 = zext i32 %8883 to i64
  %8885 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8882, i64 noundef %8884, i32 noundef %8885)
  %8886 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8886, ptr %37, align 4, !tbaa !9
  %8887 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8887, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %8888 = load i32, ptr %39, align 4, !tbaa !9
  %8889 = load i32, ptr %38, align 4, !tbaa !9
  %8890 = add i32 %8889, %8888
  store i32 %8890, ptr %38, align 4, !tbaa !9
  %8891 = load ptr, ptr %8, align 8, !tbaa !5
  %8892 = getelementptr inbounds %struct.w2c_hermes, ptr %8891, i32 0, i32 6
  %8893 = load i32, ptr %37, align 4, !tbaa !9
  %8894 = zext i32 %8893 to i64
  %8895 = add i64 %8894, 160
  %8896 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8892, i64 noundef %8895, i32 noundef %8896)
  br label %8909

8897:                                             ; preds = %8784
  %8898 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8898, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %8899 = load i32, ptr %38, align 4, !tbaa !9
  %8900 = load i32, ptr %37, align 4, !tbaa !9
  %8901 = add i32 %8900, %8899
  store i32 %8901, ptr %37, align 4, !tbaa !9
  %8902 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8902, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %8903 = load i32, ptr %39, align 4, !tbaa !9
  %8904 = load i32, ptr %38, align 4, !tbaa !9
  %8905 = add i32 %8904, %8903
  store i32 %8905, ptr %38, align 4, !tbaa !9
  %8906 = load ptr, ptr %8, align 8, !tbaa !5
  %8907 = load i32, ptr %37, align 4, !tbaa !9
  %8908 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %8906, i32 noundef %8907, i32 noundef %8908)
  br label %8909

8909:                                             ; preds = %8897, %8871
  %8910 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8910, ptr %37, align 4, !tbaa !9
  %8911 = load ptr, ptr %8, align 8, !tbaa !5
  %8912 = getelementptr inbounds %struct.w2c_hermes, ptr %8911, i32 0, i32 6
  %8913 = load i32, ptr %37, align 4, !tbaa !9
  %8914 = zext i32 %8913 to i64
  %8915 = add i64 %8914, 12
  %8916 = call i32 @i32_load(ptr noundef %8912, i64 noundef %8915)
  store i32 %8916, ptr %37, align 4, !tbaa !9
  %8917 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8917, ptr %13, align 4, !tbaa !9
  %8918 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8918, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8919 = load ptr, ptr %8, align 8, !tbaa !5
  %8920 = getelementptr inbounds %struct.w2c_hermes, ptr %8919, i32 0, i32 6
  %8921 = load i32, ptr %37, align 4, !tbaa !9
  %8922 = zext i32 %8921 to i64
  %8923 = add i64 %8922, 12
  %8924 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8920, i64 noundef %8923, i32 noundef %8924)
  %8925 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8925, ptr %37, align 4, !tbaa !9
  %8926 = load i32, ptr %37, align 4, !tbaa !9
  %8927 = icmp ne i32 %8926, 0
  br i1 %8927, label %8928, label %9003

8928:                                             ; preds = %8909
  %8929 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8929, ptr %37, align 4, !tbaa !9
  %8930 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8930, ptr %38, align 4, !tbaa !9
  %8931 = load ptr, ptr %8, align 8, !tbaa !5
  %8932 = getelementptr inbounds %struct.w2c_hermes, ptr %8931, i32 0, i32 6
  %8933 = load i32, ptr %38, align 4, !tbaa !9
  %8934 = zext i32 %8933 to i64
  %8935 = call i32 @i32_load(ptr noundef %8932, i64 noundef %8934)
  store i32 %8935, ptr %38, align 4, !tbaa !9
  %8936 = load ptr, ptr %8, align 8, !tbaa !5
  %8937 = getelementptr inbounds %struct.w2c_hermes, ptr %8936, i32 0, i32 6
  %8938 = load i32, ptr %38, align 4, !tbaa !9
  %8939 = zext i32 %8938 to i64
  %8940 = add i64 %8939, 4
  %8941 = call i32 @i32_load(ptr noundef %8937, i64 noundef %8940)
  store i32 %8941, ptr %38, align 4, !tbaa !9
  %8942 = load i32, ptr %38, align 4, !tbaa !9
  %8943 = load ptr, ptr %8, align 8, !tbaa !5
  %8944 = getelementptr inbounds %struct.w2c_hermes, ptr %8943, i32 0, i32 7
  %8945 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %8944, i32 0, i32 2
  %8946 = load i32, ptr %8945, align 4, !tbaa !18
  %8947 = icmp ult i32 %8942, %8946
  br i1 %8947, label %8948, label %8971

8948:                                             ; preds = %8928
  %8949 = load ptr, ptr %8, align 8, !tbaa !5
  %8950 = getelementptr inbounds %struct.w2c_hermes, ptr %8949, i32 0, i32 7
  %8951 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %8950, i32 0, i32 0
  %8952 = load ptr, ptr %8951, align 8, !tbaa !19
  %8953 = load i32, ptr %38, align 4, !tbaa !9
  %8954 = zext i32 %8953 to i64
  %8955 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8952, i64 %8954
  %8956 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8955, i32 0, i32 1
  %8957 = load ptr, ptr %8956, align 8, !tbaa !20
  %8958 = icmp ne ptr %8957, null
  br i1 %8958, label %8959, label %8971

8959:                                             ; preds = %8948
  %8960 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %8961 = load ptr, ptr %8, align 8, !tbaa !5
  %8962 = getelementptr inbounds %struct.w2c_hermes, ptr %8961, i32 0, i32 7
  %8963 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %8962, i32 0, i32 0
  %8964 = load ptr, ptr %8963, align 8, !tbaa !19
  %8965 = load i32, ptr %38, align 4, !tbaa !9
  %8966 = zext i32 %8965 to i64
  %8967 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8964, i64 %8966
  %8968 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8967, i32 0, i32 0
  %8969 = load ptr, ptr %8968, align 8, !tbaa !22
  %8970 = call zeroext i1 @func_types_eq(ptr noundef %8960, ptr noundef %8969)
  br label %8971

8971:                                             ; preds = %8959, %8948, %8928
  %8972 = phi i1 [ false, %8948 ], [ false, %8928 ], [ %8970, %8959 ]
  %8973 = xor i1 %8972, true
  %8974 = xor i1 %8973, true
  %8975 = zext i1 %8974 to i32
  %8976 = sext i32 %8975 to i64
  %8977 = call i64 @llvm.expect.i64(i64 %8976, i64 1)
  %8978 = icmp ne i64 %8977, 0
  br i1 %8978, label %8981, label %8979

8979:                                             ; preds = %8971
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

8980:                                             ; No predecessors!
  br label %8981

8981:                                             ; preds = %8980, %8971
  %8982 = phi i1 [ true, %8971 ], [ false, %8980 ]
  %8983 = zext i1 %8982 to i32
  %8984 = load ptr, ptr %8, align 8, !tbaa !5
  %8985 = getelementptr inbounds %struct.w2c_hermes, ptr %8984, i32 0, i32 7
  %8986 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %8985, i32 0, i32 0
  %8987 = load ptr, ptr %8986, align 8, !tbaa !19
  %8988 = load i32, ptr %38, align 4, !tbaa !9
  %8989 = zext i32 %8988 to i64
  %8990 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8987, i64 %8989
  %8991 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8990, i32 0, i32 1
  %8992 = load ptr, ptr %8991, align 8, !tbaa !20
  %8993 = load ptr, ptr %8, align 8, !tbaa !5
  %8994 = getelementptr inbounds %struct.w2c_hermes, ptr %8993, i32 0, i32 7
  %8995 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %8994, i32 0, i32 0
  %8996 = load ptr, ptr %8995, align 8, !tbaa !19
  %8997 = load i32, ptr %38, align 4, !tbaa !9
  %8998 = zext i32 %8997 to i64
  %8999 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8996, i64 %8998
  %9000 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %8999, i32 0, i32 2
  %9001 = load ptr, ptr %9000, align 8, !tbaa !23
  %9002 = load i32, ptr %37, align 4, !tbaa !9
  call void %8992(ptr noundef %9001, i32 noundef %9002)
  br label %9003

9003:                                             ; preds = %8981, %8909
  %9004 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9004, ptr %37, align 4, !tbaa !9
  %9005 = load ptr, ptr %8, align 8, !tbaa !5
  %9006 = getelementptr inbounds %struct.w2c_hermes, ptr %9005, i32 0, i32 6
  %9007 = load i32, ptr %37, align 4, !tbaa !9
  %9008 = zext i32 %9007 to i64
  %9009 = add i64 %9008, 148
  %9010 = call i32 @i32_load(ptr noundef %9006, i64 noundef %9009)
  store i32 %9010, ptr %37, align 4, !tbaa !9
  %9011 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9011, ptr %13, align 4, !tbaa !9
  %9012 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9012, ptr %38, align 4, !tbaa !9
  %9013 = load ptr, ptr %8, align 8, !tbaa !5
  %9014 = getelementptr inbounds %struct.w2c_hermes, ptr %9013, i32 0, i32 6
  %9015 = load i32, ptr %38, align 4, !tbaa !9
  %9016 = zext i32 %9015 to i64
  %9017 = add i64 %9016, 152
  %9018 = call i32 @i32_load(ptr noundef %9014, i64 noundef %9017)
  store i32 %9018, ptr %38, align 4, !tbaa !9
  %9019 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9019, ptr %15, align 4, !tbaa !9
  %9020 = load i32, ptr %37, align 4, !tbaa !9
  %9021 = load i32, ptr %38, align 4, !tbaa !9
  %9022 = icmp ult i32 %9020, %9021
  %9023 = zext i1 %9022 to i32
  store i32 %9023, ptr %37, align 4, !tbaa !9
  %9024 = load i32, ptr %37, align 4, !tbaa !9
  %9025 = icmp ne i32 %9024, 0
  br i1 %9025, label %9026, label %9045

9026:                                             ; preds = %9003
  %9027 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9027, ptr %37, align 4, !tbaa !9
  %9028 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9028, ptr %38, align 4, !tbaa !9
  %9029 = load ptr, ptr %8, align 8, !tbaa !5
  %9030 = getelementptr inbounds %struct.w2c_hermes, ptr %9029, i32 0, i32 6
  %9031 = load i32, ptr %37, align 4, !tbaa !9
  %9032 = zext i32 %9031 to i64
  %9033 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9030, i64 noundef %9032, i32 noundef %9033)
  %9034 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9034, ptr %37, align 4, !tbaa !9
  %9035 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9035, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9036 = load i32, ptr %39, align 4, !tbaa !9
  %9037 = load i32, ptr %38, align 4, !tbaa !9
  %9038 = add i32 %9037, %9036
  store i32 %9038, ptr %38, align 4, !tbaa !9
  %9039 = load ptr, ptr %8, align 8, !tbaa !5
  %9040 = getelementptr inbounds %struct.w2c_hermes, ptr %9039, i32 0, i32 6
  %9041 = load i32, ptr %37, align 4, !tbaa !9
  %9042 = zext i32 %9041 to i64
  %9043 = add i64 %9042, 148
  %9044 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9040, i64 noundef %9043, i32 noundef %9044)
  br label %9209

9045:                                             ; preds = %9003
  %9046 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9046, ptr %37, align 4, !tbaa !9
  %9047 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9047, ptr %38, align 4, !tbaa !9
  %9048 = load ptr, ptr %8, align 8, !tbaa !5
  %9049 = getelementptr inbounds %struct.w2c_hermes, ptr %9048, i32 0, i32 6
  %9050 = load i32, ptr %38, align 4, !tbaa !9
  %9051 = zext i32 %9050 to i64
  %9052 = add i64 %9051, 144
  %9053 = call i32 @i32_load(ptr noundef %9049, i64 noundef %9052)
  store i32 %9053, ptr %38, align 4, !tbaa !9
  %9054 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9054, ptr %13, align 4, !tbaa !9
  %9055 = load i32, ptr %38, align 4, !tbaa !9
  %9056 = load i32, ptr %37, align 4, !tbaa !9
  %9057 = sub i32 %9056, %9055
  store i32 %9057, ptr %37, align 4, !tbaa !9
  %9058 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9058, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9059 = load i32, ptr %37, align 4, !tbaa !9
  %9060 = load i32, ptr %38, align 4, !tbaa !9
  %9061 = and i32 %9060, 31
  %9062 = ashr i32 %9059, %9061
  store i32 %9062, ptr %37, align 4, !tbaa !9
  %9063 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9063, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9064 = load i32, ptr %38, align 4, !tbaa !9
  %9065 = load i32, ptr %37, align 4, !tbaa !9
  %9066 = add i32 %9065, %9064
  store i32 %9066, ptr %37, align 4, !tbaa !9
  %9067 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9067, ptr %14, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9068 = load i32, ptr %37, align 4, !tbaa !9
  %9069 = load i32, ptr %38, align 4, !tbaa !9
  %9070 = icmp uge i32 %9068, %9069
  %9071 = zext i1 %9070 to i32
  store i32 %9071, ptr %37, align 4, !tbaa !9
  %9072 = load i32, ptr %37, align 4, !tbaa !9
  %9073 = icmp ne i32 %9072, 0
  br i1 %9073, label %9074, label %9075

9074:                                             ; preds = %9045
  br label %18024

9075:                                             ; preds = %9045
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %9076 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9076, ptr %38, align 4, !tbaa !9
  %9077 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9077, ptr %39, align 4, !tbaa !9
  %9078 = load i32, ptr %39, align 4, !tbaa !9
  %9079 = load i32, ptr %38, align 4, !tbaa !9
  %9080 = sub i32 %9079, %9078
  store i32 %9080, ptr %38, align 4, !tbaa !9
  %9081 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9081, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %9082 = load i32, ptr %38, align 4, !tbaa !9
  %9083 = load i32, ptr %39, align 4, !tbaa !9
  %9084 = and i32 %9083, 31
  %9085 = ashr i32 %9082, %9084
  store i32 %9085, ptr %38, align 4, !tbaa !9
  %9086 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9086, ptr %21, align 4, !tbaa !9
  %9087 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9087, ptr %39, align 4, !tbaa !9
  %9088 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9088, ptr %40, align 4, !tbaa !9
  %9089 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %9089, ptr %41, align 4, !tbaa !9
  %9090 = load i32, ptr %40, align 4, !tbaa !9
  %9091 = load i32, ptr %41, align 4, !tbaa !9
  %9092 = icmp ult i32 %9090, %9091
  %9093 = zext i1 %9092 to i32
  store i32 %9093, ptr %40, align 4, !tbaa !9
  %9094 = load i32, ptr %40, align 4, !tbaa !9
  %9095 = icmp ne i32 %9094, 0
  br i1 %9095, label %9096, label %9098

9096:                                             ; preds = %9075
  %9097 = load i32, ptr %38, align 4, !tbaa !9
  br label %9100

9098:                                             ; preds = %9075
  %9099 = load i32, ptr %39, align 4, !tbaa !9
  br label %9100

9100:                                             ; preds = %9098, %9096
  %9101 = phi i32 [ %9097, %9096 ], [ %9099, %9098 ]
  store i32 %9101, ptr %38, align 4, !tbaa !9
  %9102 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9102, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %9103 = load i32, ptr %39, align 4, !tbaa !9
  %9104 = load i32, ptr %40, align 4, !tbaa !9
  %9105 = icmp uge i32 %9103, %9104
  %9106 = zext i1 %9105 to i32
  store i32 %9106, ptr %39, align 4, !tbaa !9
  %9107 = load i32, ptr %39, align 4, !tbaa !9
  %9108 = icmp ne i32 %9107, 0
  br i1 %9108, label %9109, label %9111

9109:                                             ; preds = %9100
  %9110 = load i32, ptr %37, align 4, !tbaa !9
  br label %9113

9111:                                             ; preds = %9100
  %9112 = load i32, ptr %38, align 4, !tbaa !9
  br label %9113

9113:                                             ; preds = %9111, %9109
  %9114 = phi i32 [ %9110, %9109 ], [ %9112, %9111 ]
  store i32 %9114, ptr %37, align 4, !tbaa !9
  %9115 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9115, ptr %14, align 4, !tbaa !9
  %9116 = load i32, ptr %37, align 4, !tbaa !9
  %9117 = icmp ne i32 %9116, 0
  br i1 %9117, label %9118, label %9136

9118:                                             ; preds = %9113
  %9119 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9119, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9120 = load i32, ptr %37, align 4, !tbaa !9
  %9121 = load i32, ptr %38, align 4, !tbaa !9
  %9122 = icmp uge i32 %9120, %9121
  %9123 = zext i1 %9122 to i32
  store i32 %9123, ptr %37, align 4, !tbaa !9
  %9124 = load i32, ptr %37, align 4, !tbaa !9
  %9125 = icmp ne i32 %9124, 0
  br i1 %9125, label %9126, label %9127

9126:                                             ; preds = %9118
  br label %15466

9127:                                             ; preds = %9118
  %9128 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9128, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9129 = load i32, ptr %38, align 4, !tbaa !9
  %9130 = and i32 %9129, 31
  %9131 = load i32, ptr %37, align 4, !tbaa !9
  %9132 = shl i32 %9131, %9130
  store i32 %9132, ptr %37, align 4, !tbaa !9
  %9133 = load ptr, ptr %8, align 8, !tbaa !5
  %9134 = load i32, ptr %37, align 4, !tbaa !9
  %9135 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9133, i32 noundef %9134)
  store i32 %9135, ptr %37, align 4, !tbaa !9
  br label %9137

9136:                                             ; preds = %9113
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %9137

9137:                                             ; preds = %9136, %9127
  %9138 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9138, ptr %15, align 4, !tbaa !9
  %9139 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9139, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9140 = load i32, ptr %39, align 4, !tbaa !9
  %9141 = and i32 %9140, 31
  %9142 = load i32, ptr %38, align 4, !tbaa !9
  %9143 = shl i32 %9142, %9141
  store i32 %9143, ptr %38, align 4, !tbaa !9
  %9144 = load i32, ptr %38, align 4, !tbaa !9
  %9145 = load i32, ptr %37, align 4, !tbaa !9
  %9146 = add i32 %9145, %9144
  store i32 %9146, ptr %37, align 4, !tbaa !9
  %9147 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9147, ptr %20, align 4, !tbaa !9
  %9148 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9148, ptr %38, align 4, !tbaa !9
  %9149 = load ptr, ptr %8, align 8, !tbaa !5
  %9150 = getelementptr inbounds %struct.w2c_hermes, ptr %9149, i32 0, i32 6
  %9151 = load i32, ptr %37, align 4, !tbaa !9
  %9152 = zext i32 %9151 to i64
  %9153 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9150, i64 noundef %9152, i32 noundef %9153)
  %9154 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9154, ptr %37, align 4, !tbaa !9
  %9155 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9155, ptr %38, align 4, !tbaa !9
  %9156 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9156, ptr %39, align 4, !tbaa !9
  %9157 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %9157, ptr %40, align 4, !tbaa !9
  %9158 = load ptr, ptr %8, align 8, !tbaa !5
  %9159 = load i32, ptr %38, align 4, !tbaa !9
  %9160 = load i32, ptr %39, align 4, !tbaa !9
  %9161 = load i32, ptr %40, align 4, !tbaa !9
  %9162 = call i32 @w2c_hermes_memmove(ptr noundef %9158, i32 noundef %9159, i32 noundef %9160, i32 noundef %9161)
  store i32 %9162, ptr %38, align 4, !tbaa !9
  %9163 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9163, ptr %12, align 4, !tbaa !9
  %9164 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9164, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %9165 = load i32, ptr %40, align 4, !tbaa !9
  %9166 = and i32 %9165, 31
  %9167 = load i32, ptr %39, align 4, !tbaa !9
  %9168 = shl i32 %9167, %9166
  store i32 %9168, ptr %39, align 4, !tbaa !9
  %9169 = load i32, ptr %39, align 4, !tbaa !9
  %9170 = load i32, ptr %38, align 4, !tbaa !9
  %9171 = add i32 %9170, %9169
  store i32 %9171, ptr %38, align 4, !tbaa !9
  %9172 = load ptr, ptr %8, align 8, !tbaa !5
  %9173 = getelementptr inbounds %struct.w2c_hermes, ptr %9172, i32 0, i32 6
  %9174 = load i32, ptr %37, align 4, !tbaa !9
  %9175 = zext i32 %9174 to i64
  %9176 = add i64 %9175, 152
  %9177 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9173, i64 noundef %9176, i32 noundef %9177)
  %9178 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9178, ptr %37, align 4, !tbaa !9
  %9179 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9179, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9180 = load i32, ptr %39, align 4, !tbaa !9
  %9181 = load i32, ptr %38, align 4, !tbaa !9
  %9182 = add i32 %9181, %9180
  store i32 %9182, ptr %38, align 4, !tbaa !9
  %9183 = load ptr, ptr %8, align 8, !tbaa !5
  %9184 = getelementptr inbounds %struct.w2c_hermes, ptr %9183, i32 0, i32 6
  %9185 = load i32, ptr %37, align 4, !tbaa !9
  %9186 = zext i32 %9185 to i64
  %9187 = add i64 %9186, 148
  %9188 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9184, i64 noundef %9187, i32 noundef %9188)
  %9189 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9189, ptr %37, align 4, !tbaa !9
  %9190 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9190, ptr %38, align 4, !tbaa !9
  %9191 = load ptr, ptr %8, align 8, !tbaa !5
  %9192 = getelementptr inbounds %struct.w2c_hermes, ptr %9191, i32 0, i32 6
  %9193 = load i32, ptr %37, align 4, !tbaa !9
  %9194 = zext i32 %9193 to i64
  %9195 = add i64 %9194, 144
  %9196 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9192, i64 noundef %9195, i32 noundef %9196)
  %9197 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9197, ptr %37, align 4, !tbaa !9
  %9198 = load i32, ptr %37, align 4, !tbaa !9
  %9199 = icmp ne i32 %9198, 0
  %9200 = xor i1 %9199, true
  %9201 = zext i1 %9200 to i32
  store i32 %9201, ptr %37, align 4, !tbaa !9
  %9202 = load i32, ptr %37, align 4, !tbaa !9
  %9203 = icmp ne i32 %9202, 0
  br i1 %9203, label %9204, label %9205

9204:                                             ; preds = %9137
  br label %9209

9205:                                             ; preds = %9137
  %9206 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9206, ptr %37, align 4, !tbaa !9
  %9207 = load ptr, ptr %8, align 8, !tbaa !5
  %9208 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %9207, i32 noundef %9208)
  br label %9209

9209:                                             ; preds = %9205, %9204, %9026
  %9210 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9210, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %9211 = load i32, ptr %38, align 4, !tbaa !9
  %9212 = load i32, ptr %37, align 4, !tbaa !9
  %9213 = add i32 %9212, %9211
  store i32 %9213, ptr %37, align 4, !tbaa !9
  %9214 = load i32, ptr %37, align 4, !tbaa !9
  %9215 = load ptr, ptr %8, align 8, !tbaa !5
  %9216 = getelementptr inbounds %struct.w2c_hermes, ptr %9215, i32 0, i32 3
  store i32 %9214, ptr %9216, align 8, !tbaa !13
  %9217 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9217, ptr %37, align 4, !tbaa !9
  %9218 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9218, ptr %38, align 4, !tbaa !9
  %9219 = load ptr, ptr %8, align 8, !tbaa !5
  %9220 = getelementptr inbounds %struct.w2c_hermes, ptr %9219, i32 0, i32 6
  %9221 = load i32, ptr %38, align 4, !tbaa !9
  %9222 = zext i32 %9221 to i64
  %9223 = add i64 %9222, 4
  %9224 = call i32 @i32_load(ptr noundef %9220, i64 noundef %9223)
  store i32 %9224, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9225 = load i32, ptr %39, align 4, !tbaa !9
  %9226 = load i32, ptr %38, align 4, !tbaa !9
  %9227 = add i32 %9226, %9225
  store i32 %9227, ptr %38, align 4, !tbaa !9
  %9228 = load ptr, ptr %8, align 8, !tbaa !5
  %9229 = getelementptr inbounds %struct.w2c_hermes, ptr %9228, i32 0, i32 6
  %9230 = load i32, ptr %37, align 4, !tbaa !9
  %9231 = zext i32 %9230 to i64
  %9232 = add i64 %9231, 4
  %9233 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9229, i64 noundef %9232, i32 noundef %9233)
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %15051

9234:                                             ; preds = %8693
  %9235 = load ptr, ptr %8, align 8, !tbaa !5
  %9236 = getelementptr inbounds %struct.w2c_hermes, ptr %9235, i32 0, i32 3
  %9237 = load i32, ptr %9236, align 8, !tbaa !13
  store i32 %9237, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %9238 = load i32, ptr %38, align 4, !tbaa !9
  %9239 = load i32, ptr %37, align 4, !tbaa !9
  %9240 = sub i32 %9239, %9238
  store i32 %9240, ptr %37, align 4, !tbaa !9
  %9241 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9241, ptr %11, align 4, !tbaa !9
  %9242 = load i32, ptr %37, align 4, !tbaa !9
  %9243 = load ptr, ptr %8, align 8, !tbaa !5
  %9244 = getelementptr inbounds %struct.w2c_hermes, ptr %9243, i32 0, i32 3
  store i32 %9242, ptr %9244, align 8, !tbaa !13
  store i32 4, ptr %37, align 4, !tbaa !9
  %9245 = load ptr, ptr %8, align 8, !tbaa !5
  %9246 = load i32, ptr %37, align 4, !tbaa !9
  %9247 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9245, i32 noundef %9246)
  store i32 %9247, ptr %37, align 4, !tbaa !9
  %9248 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9248, ptr %12, align 4, !tbaa !9
  store i32 112236, ptr %38, align 4, !tbaa !9
  %9249 = load ptr, ptr %8, align 8, !tbaa !5
  %9250 = getelementptr inbounds %struct.w2c_hermes, ptr %9249, i32 0, i32 6
  %9251 = load i32, ptr %37, align 4, !tbaa !9
  %9252 = zext i32 %9251 to i64
  %9253 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9250, i64 noundef %9252, i32 noundef %9253)
  %9254 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9254, ptr %37, align 4, !tbaa !9
  %9255 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9255, ptr %38, align 4, !tbaa !9
  %9256 = load ptr, ptr %8, align 8, !tbaa !5
  %9257 = getelementptr inbounds %struct.w2c_hermes, ptr %9256, i32 0, i32 6
  %9258 = load i32, ptr %37, align 4, !tbaa !9
  %9259 = zext i32 %9258 to i64
  %9260 = add i64 %9259, 12
  %9261 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9257, i64 noundef %9260, i32 noundef %9261)
  %9262 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9262, ptr %37, align 4, !tbaa !9
  %9263 = load ptr, ptr %8, align 8, !tbaa !5
  %9264 = getelementptr inbounds %struct.w2c_hermes, ptr %9263, i32 0, i32 6
  %9265 = load i32, ptr %37, align 4, !tbaa !9
  %9266 = zext i32 %9265 to i64
  %9267 = add i64 %9266, 160
  %9268 = call i32 @i32_load(ptr noundef %9264, i64 noundef %9267)
  store i32 %9268, ptr %37, align 4, !tbaa !9
  %9269 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9269, ptr %13, align 4, !tbaa !9
  %9270 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9270, ptr %38, align 4, !tbaa !9
  %9271 = load ptr, ptr %8, align 8, !tbaa !5
  %9272 = getelementptr inbounds %struct.w2c_hermes, ptr %9271, i32 0, i32 6
  %9273 = load i32, ptr %38, align 4, !tbaa !9
  %9274 = zext i32 %9273 to i64
  %9275 = add i64 %9274, 164
  %9276 = call i32 @i32_load(ptr noundef %9272, i64 noundef %9275)
  store i32 %9276, ptr %38, align 4, !tbaa !9
  %9277 = load i32, ptr %37, align 4, !tbaa !9
  %9278 = load i32, ptr %38, align 4, !tbaa !9
  %9279 = icmp ult i32 %9277, %9278
  %9280 = zext i1 %9279 to i32
  store i32 %9280, ptr %37, align 4, !tbaa !9
  %9281 = load i32, ptr %37, align 4, !tbaa !9
  %9282 = icmp ne i32 %9281, 0
  br i1 %9282, label %9283, label %9309

9283:                                             ; preds = %9234
  %9284 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9284, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %9285 = load ptr, ptr %8, align 8, !tbaa !5
  %9286 = getelementptr inbounds %struct.w2c_hermes, ptr %9285, i32 0, i32 6
  %9287 = load i32, ptr %37, align 4, !tbaa !9
  %9288 = zext i32 %9287 to i64
  %9289 = add i64 %9288, 12
  %9290 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9286, i64 noundef %9289, i32 noundef %9290)
  %9291 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9291, ptr %37, align 4, !tbaa !9
  %9292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9292, ptr %38, align 4, !tbaa !9
  %9293 = load ptr, ptr %8, align 8, !tbaa !5
  %9294 = getelementptr inbounds %struct.w2c_hermes, ptr %9293, i32 0, i32 6
  %9295 = load i32, ptr %37, align 4, !tbaa !9
  %9296 = zext i32 %9295 to i64
  %9297 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9294, i64 noundef %9296, i32 noundef %9297)
  %9298 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9298, ptr %37, align 4, !tbaa !9
  %9299 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9299, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9300 = load i32, ptr %39, align 4, !tbaa !9
  %9301 = load i32, ptr %38, align 4, !tbaa !9
  %9302 = add i32 %9301, %9300
  store i32 %9302, ptr %38, align 4, !tbaa !9
  %9303 = load ptr, ptr %8, align 8, !tbaa !5
  %9304 = getelementptr inbounds %struct.w2c_hermes, ptr %9303, i32 0, i32 6
  %9305 = load i32, ptr %37, align 4, !tbaa !9
  %9306 = zext i32 %9305 to i64
  %9307 = add i64 %9306, 160
  %9308 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9304, i64 noundef %9307, i32 noundef %9308)
  br label %9321

9309:                                             ; preds = %9234
  %9310 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9310, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %9311 = load i32, ptr %38, align 4, !tbaa !9
  %9312 = load i32, ptr %37, align 4, !tbaa !9
  %9313 = add i32 %9312, %9311
  store i32 %9313, ptr %37, align 4, !tbaa !9
  %9314 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9314, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %9315 = load i32, ptr %39, align 4, !tbaa !9
  %9316 = load i32, ptr %38, align 4, !tbaa !9
  %9317 = add i32 %9316, %9315
  store i32 %9317, ptr %38, align 4, !tbaa !9
  %9318 = load ptr, ptr %8, align 8, !tbaa !5
  %9319 = load i32, ptr %37, align 4, !tbaa !9
  %9320 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %9318, i32 noundef %9319, i32 noundef %9320)
  br label %9321

9321:                                             ; preds = %9309, %9283
  %9322 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9322, ptr %37, align 4, !tbaa !9
  %9323 = load ptr, ptr %8, align 8, !tbaa !5
  %9324 = getelementptr inbounds %struct.w2c_hermes, ptr %9323, i32 0, i32 6
  %9325 = load i32, ptr %37, align 4, !tbaa !9
  %9326 = zext i32 %9325 to i64
  %9327 = add i64 %9326, 12
  %9328 = call i32 @i32_load(ptr noundef %9324, i64 noundef %9327)
  store i32 %9328, ptr %37, align 4, !tbaa !9
  %9329 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9329, ptr %13, align 4, !tbaa !9
  %9330 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9330, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %9331 = load ptr, ptr %8, align 8, !tbaa !5
  %9332 = getelementptr inbounds %struct.w2c_hermes, ptr %9331, i32 0, i32 6
  %9333 = load i32, ptr %37, align 4, !tbaa !9
  %9334 = zext i32 %9333 to i64
  %9335 = add i64 %9334, 12
  %9336 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9332, i64 noundef %9335, i32 noundef %9336)
  %9337 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9337, ptr %37, align 4, !tbaa !9
  %9338 = load i32, ptr %37, align 4, !tbaa !9
  %9339 = icmp ne i32 %9338, 0
  br i1 %9339, label %9340, label %9415

9340:                                             ; preds = %9321
  %9341 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9341, ptr %37, align 4, !tbaa !9
  %9342 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9342, ptr %38, align 4, !tbaa !9
  %9343 = load ptr, ptr %8, align 8, !tbaa !5
  %9344 = getelementptr inbounds %struct.w2c_hermes, ptr %9343, i32 0, i32 6
  %9345 = load i32, ptr %38, align 4, !tbaa !9
  %9346 = zext i32 %9345 to i64
  %9347 = call i32 @i32_load(ptr noundef %9344, i64 noundef %9346)
  store i32 %9347, ptr %38, align 4, !tbaa !9
  %9348 = load ptr, ptr %8, align 8, !tbaa !5
  %9349 = getelementptr inbounds %struct.w2c_hermes, ptr %9348, i32 0, i32 6
  %9350 = load i32, ptr %38, align 4, !tbaa !9
  %9351 = zext i32 %9350 to i64
  %9352 = add i64 %9351, 4
  %9353 = call i32 @i32_load(ptr noundef %9349, i64 noundef %9352)
  store i32 %9353, ptr %38, align 4, !tbaa !9
  %9354 = load i32, ptr %38, align 4, !tbaa !9
  %9355 = load ptr, ptr %8, align 8, !tbaa !5
  %9356 = getelementptr inbounds %struct.w2c_hermes, ptr %9355, i32 0, i32 7
  %9357 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9356, i32 0, i32 2
  %9358 = load i32, ptr %9357, align 4, !tbaa !18
  %9359 = icmp ult i32 %9354, %9358
  br i1 %9359, label %9360, label %9383

9360:                                             ; preds = %9340
  %9361 = load ptr, ptr %8, align 8, !tbaa !5
  %9362 = getelementptr inbounds %struct.w2c_hermes, ptr %9361, i32 0, i32 7
  %9363 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9362, i32 0, i32 0
  %9364 = load ptr, ptr %9363, align 8, !tbaa !19
  %9365 = load i32, ptr %38, align 4, !tbaa !9
  %9366 = zext i32 %9365 to i64
  %9367 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9364, i64 %9366
  %9368 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9367, i32 0, i32 1
  %9369 = load ptr, ptr %9368, align 8, !tbaa !20
  %9370 = icmp ne ptr %9369, null
  br i1 %9370, label %9371, label %9383

9371:                                             ; preds = %9360
  %9372 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %9373 = load ptr, ptr %8, align 8, !tbaa !5
  %9374 = getelementptr inbounds %struct.w2c_hermes, ptr %9373, i32 0, i32 7
  %9375 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9374, i32 0, i32 0
  %9376 = load ptr, ptr %9375, align 8, !tbaa !19
  %9377 = load i32, ptr %38, align 4, !tbaa !9
  %9378 = zext i32 %9377 to i64
  %9379 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9376, i64 %9378
  %9380 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9379, i32 0, i32 0
  %9381 = load ptr, ptr %9380, align 8, !tbaa !22
  %9382 = call zeroext i1 @func_types_eq(ptr noundef %9372, ptr noundef %9381)
  br label %9383

9383:                                             ; preds = %9371, %9360, %9340
  %9384 = phi i1 [ false, %9360 ], [ false, %9340 ], [ %9382, %9371 ]
  %9385 = xor i1 %9384, true
  %9386 = xor i1 %9385, true
  %9387 = zext i1 %9386 to i32
  %9388 = sext i32 %9387 to i64
  %9389 = call i64 @llvm.expect.i64(i64 %9388, i64 1)
  %9390 = icmp ne i64 %9389, 0
  br i1 %9390, label %9393, label %9391

9391:                                             ; preds = %9383
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

9392:                                             ; No predecessors!
  br label %9393

9393:                                             ; preds = %9392, %9383
  %9394 = phi i1 [ true, %9383 ], [ false, %9392 ]
  %9395 = zext i1 %9394 to i32
  %9396 = load ptr, ptr %8, align 8, !tbaa !5
  %9397 = getelementptr inbounds %struct.w2c_hermes, ptr %9396, i32 0, i32 7
  %9398 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9397, i32 0, i32 0
  %9399 = load ptr, ptr %9398, align 8, !tbaa !19
  %9400 = load i32, ptr %38, align 4, !tbaa !9
  %9401 = zext i32 %9400 to i64
  %9402 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9399, i64 %9401
  %9403 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9402, i32 0, i32 1
  %9404 = load ptr, ptr %9403, align 8, !tbaa !20
  %9405 = load ptr, ptr %8, align 8, !tbaa !5
  %9406 = getelementptr inbounds %struct.w2c_hermes, ptr %9405, i32 0, i32 7
  %9407 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9406, i32 0, i32 0
  %9408 = load ptr, ptr %9407, align 8, !tbaa !19
  %9409 = load i32, ptr %38, align 4, !tbaa !9
  %9410 = zext i32 %9409 to i64
  %9411 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9408, i64 %9410
  %9412 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9411, i32 0, i32 2
  %9413 = load ptr, ptr %9412, align 8, !tbaa !23
  %9414 = load i32, ptr %37, align 4, !tbaa !9
  call void %9404(ptr noundef %9413, i32 noundef %9414)
  br label %9415

9415:                                             ; preds = %9393, %9321
  %9416 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9416, ptr %37, align 4, !tbaa !9
  %9417 = load ptr, ptr %8, align 8, !tbaa !5
  %9418 = getelementptr inbounds %struct.w2c_hermes, ptr %9417, i32 0, i32 6
  %9419 = load i32, ptr %37, align 4, !tbaa !9
  %9420 = zext i32 %9419 to i64
  %9421 = add i64 %9420, 148
  %9422 = call i32 @i32_load(ptr noundef %9418, i64 noundef %9421)
  store i32 %9422, ptr %37, align 4, !tbaa !9
  %9423 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9423, ptr %13, align 4, !tbaa !9
  %9424 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9424, ptr %38, align 4, !tbaa !9
  %9425 = load ptr, ptr %8, align 8, !tbaa !5
  %9426 = getelementptr inbounds %struct.w2c_hermes, ptr %9425, i32 0, i32 6
  %9427 = load i32, ptr %38, align 4, !tbaa !9
  %9428 = zext i32 %9427 to i64
  %9429 = add i64 %9428, 152
  %9430 = call i32 @i32_load(ptr noundef %9426, i64 noundef %9429)
  store i32 %9430, ptr %38, align 4, !tbaa !9
  %9431 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9431, ptr %15, align 4, !tbaa !9
  %9432 = load i32, ptr %37, align 4, !tbaa !9
  %9433 = load i32, ptr %38, align 4, !tbaa !9
  %9434 = icmp ult i32 %9432, %9433
  %9435 = zext i1 %9434 to i32
  store i32 %9435, ptr %37, align 4, !tbaa !9
  %9436 = load i32, ptr %37, align 4, !tbaa !9
  %9437 = icmp ne i32 %9436, 0
  br i1 %9437, label %9438, label %9457

9438:                                             ; preds = %9415
  %9439 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9439, ptr %37, align 4, !tbaa !9
  %9440 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9440, ptr %38, align 4, !tbaa !9
  %9441 = load ptr, ptr %8, align 8, !tbaa !5
  %9442 = getelementptr inbounds %struct.w2c_hermes, ptr %9441, i32 0, i32 6
  %9443 = load i32, ptr %37, align 4, !tbaa !9
  %9444 = zext i32 %9443 to i64
  %9445 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9442, i64 noundef %9444, i32 noundef %9445)
  %9446 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9446, ptr %37, align 4, !tbaa !9
  %9447 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9447, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9448 = load i32, ptr %39, align 4, !tbaa !9
  %9449 = load i32, ptr %38, align 4, !tbaa !9
  %9450 = add i32 %9449, %9448
  store i32 %9450, ptr %38, align 4, !tbaa !9
  %9451 = load ptr, ptr %8, align 8, !tbaa !5
  %9452 = getelementptr inbounds %struct.w2c_hermes, ptr %9451, i32 0, i32 6
  %9453 = load i32, ptr %37, align 4, !tbaa !9
  %9454 = zext i32 %9453 to i64
  %9455 = add i64 %9454, 148
  %9456 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9452, i64 noundef %9455, i32 noundef %9456)
  br label %9621

9457:                                             ; preds = %9415
  %9458 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9458, ptr %37, align 4, !tbaa !9
  %9459 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9459, ptr %38, align 4, !tbaa !9
  %9460 = load ptr, ptr %8, align 8, !tbaa !5
  %9461 = getelementptr inbounds %struct.w2c_hermes, ptr %9460, i32 0, i32 6
  %9462 = load i32, ptr %38, align 4, !tbaa !9
  %9463 = zext i32 %9462 to i64
  %9464 = add i64 %9463, 144
  %9465 = call i32 @i32_load(ptr noundef %9461, i64 noundef %9464)
  store i32 %9465, ptr %38, align 4, !tbaa !9
  %9466 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9466, ptr %13, align 4, !tbaa !9
  %9467 = load i32, ptr %38, align 4, !tbaa !9
  %9468 = load i32, ptr %37, align 4, !tbaa !9
  %9469 = sub i32 %9468, %9467
  store i32 %9469, ptr %37, align 4, !tbaa !9
  %9470 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9470, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9471 = load i32, ptr %37, align 4, !tbaa !9
  %9472 = load i32, ptr %38, align 4, !tbaa !9
  %9473 = and i32 %9472, 31
  %9474 = ashr i32 %9471, %9473
  store i32 %9474, ptr %37, align 4, !tbaa !9
  %9475 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9475, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9476 = load i32, ptr %38, align 4, !tbaa !9
  %9477 = load i32, ptr %37, align 4, !tbaa !9
  %9478 = add i32 %9477, %9476
  store i32 %9478, ptr %37, align 4, !tbaa !9
  %9479 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9479, ptr %14, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9480 = load i32, ptr %37, align 4, !tbaa !9
  %9481 = load i32, ptr %38, align 4, !tbaa !9
  %9482 = icmp uge i32 %9480, %9481
  %9483 = zext i1 %9482 to i32
  store i32 %9483, ptr %37, align 4, !tbaa !9
  %9484 = load i32, ptr %37, align 4, !tbaa !9
  %9485 = icmp ne i32 %9484, 0
  br i1 %9485, label %9486, label %9487

9486:                                             ; preds = %9457
  br label %18024

9487:                                             ; preds = %9457
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %9488 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9488, ptr %38, align 4, !tbaa !9
  %9489 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9489, ptr %39, align 4, !tbaa !9
  %9490 = load i32, ptr %39, align 4, !tbaa !9
  %9491 = load i32, ptr %38, align 4, !tbaa !9
  %9492 = sub i32 %9491, %9490
  store i32 %9492, ptr %38, align 4, !tbaa !9
  %9493 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9493, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %9494 = load i32, ptr %38, align 4, !tbaa !9
  %9495 = load i32, ptr %39, align 4, !tbaa !9
  %9496 = and i32 %9495, 31
  %9497 = ashr i32 %9494, %9496
  store i32 %9497, ptr %38, align 4, !tbaa !9
  %9498 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9498, ptr %21, align 4, !tbaa !9
  %9499 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9499, ptr %39, align 4, !tbaa !9
  %9500 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9500, ptr %40, align 4, !tbaa !9
  %9501 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %9501, ptr %41, align 4, !tbaa !9
  %9502 = load i32, ptr %40, align 4, !tbaa !9
  %9503 = load i32, ptr %41, align 4, !tbaa !9
  %9504 = icmp ult i32 %9502, %9503
  %9505 = zext i1 %9504 to i32
  store i32 %9505, ptr %40, align 4, !tbaa !9
  %9506 = load i32, ptr %40, align 4, !tbaa !9
  %9507 = icmp ne i32 %9506, 0
  br i1 %9507, label %9508, label %9510

9508:                                             ; preds = %9487
  %9509 = load i32, ptr %38, align 4, !tbaa !9
  br label %9512

9510:                                             ; preds = %9487
  %9511 = load i32, ptr %39, align 4, !tbaa !9
  br label %9512

9512:                                             ; preds = %9510, %9508
  %9513 = phi i32 [ %9509, %9508 ], [ %9511, %9510 ]
  store i32 %9513, ptr %38, align 4, !tbaa !9
  %9514 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9514, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %9515 = load i32, ptr %39, align 4, !tbaa !9
  %9516 = load i32, ptr %40, align 4, !tbaa !9
  %9517 = icmp uge i32 %9515, %9516
  %9518 = zext i1 %9517 to i32
  store i32 %9518, ptr %39, align 4, !tbaa !9
  %9519 = load i32, ptr %39, align 4, !tbaa !9
  %9520 = icmp ne i32 %9519, 0
  br i1 %9520, label %9521, label %9523

9521:                                             ; preds = %9512
  %9522 = load i32, ptr %37, align 4, !tbaa !9
  br label %9525

9523:                                             ; preds = %9512
  %9524 = load i32, ptr %38, align 4, !tbaa !9
  br label %9525

9525:                                             ; preds = %9523, %9521
  %9526 = phi i32 [ %9522, %9521 ], [ %9524, %9523 ]
  store i32 %9526, ptr %37, align 4, !tbaa !9
  %9527 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9527, ptr %14, align 4, !tbaa !9
  %9528 = load i32, ptr %37, align 4, !tbaa !9
  %9529 = icmp ne i32 %9528, 0
  br i1 %9529, label %9530, label %9548

9530:                                             ; preds = %9525
  %9531 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9531, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9532 = load i32, ptr %37, align 4, !tbaa !9
  %9533 = load i32, ptr %38, align 4, !tbaa !9
  %9534 = icmp uge i32 %9532, %9533
  %9535 = zext i1 %9534 to i32
  store i32 %9535, ptr %37, align 4, !tbaa !9
  %9536 = load i32, ptr %37, align 4, !tbaa !9
  %9537 = icmp ne i32 %9536, 0
  br i1 %9537, label %9538, label %9539

9538:                                             ; preds = %9530
  br label %15466

9539:                                             ; preds = %9530
  %9540 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9540, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9541 = load i32, ptr %38, align 4, !tbaa !9
  %9542 = and i32 %9541, 31
  %9543 = load i32, ptr %37, align 4, !tbaa !9
  %9544 = shl i32 %9543, %9542
  store i32 %9544, ptr %37, align 4, !tbaa !9
  %9545 = load ptr, ptr %8, align 8, !tbaa !5
  %9546 = load i32, ptr %37, align 4, !tbaa !9
  %9547 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9545, i32 noundef %9546)
  store i32 %9547, ptr %37, align 4, !tbaa !9
  br label %9549

9548:                                             ; preds = %9525
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %9549

9549:                                             ; preds = %9548, %9539
  %9550 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9550, ptr %15, align 4, !tbaa !9
  %9551 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9551, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9552 = load i32, ptr %39, align 4, !tbaa !9
  %9553 = and i32 %9552, 31
  %9554 = load i32, ptr %38, align 4, !tbaa !9
  %9555 = shl i32 %9554, %9553
  store i32 %9555, ptr %38, align 4, !tbaa !9
  %9556 = load i32, ptr %38, align 4, !tbaa !9
  %9557 = load i32, ptr %37, align 4, !tbaa !9
  %9558 = add i32 %9557, %9556
  store i32 %9558, ptr %37, align 4, !tbaa !9
  %9559 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9559, ptr %20, align 4, !tbaa !9
  %9560 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9560, ptr %38, align 4, !tbaa !9
  %9561 = load ptr, ptr %8, align 8, !tbaa !5
  %9562 = getelementptr inbounds %struct.w2c_hermes, ptr %9561, i32 0, i32 6
  %9563 = load i32, ptr %37, align 4, !tbaa !9
  %9564 = zext i32 %9563 to i64
  %9565 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9562, i64 noundef %9564, i32 noundef %9565)
  %9566 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9566, ptr %37, align 4, !tbaa !9
  %9567 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9567, ptr %38, align 4, !tbaa !9
  %9568 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9568, ptr %39, align 4, !tbaa !9
  %9569 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %9569, ptr %40, align 4, !tbaa !9
  %9570 = load ptr, ptr %8, align 8, !tbaa !5
  %9571 = load i32, ptr %38, align 4, !tbaa !9
  %9572 = load i32, ptr %39, align 4, !tbaa !9
  %9573 = load i32, ptr %40, align 4, !tbaa !9
  %9574 = call i32 @w2c_hermes_memmove(ptr noundef %9570, i32 noundef %9571, i32 noundef %9572, i32 noundef %9573)
  store i32 %9574, ptr %38, align 4, !tbaa !9
  %9575 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9575, ptr %12, align 4, !tbaa !9
  %9576 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9576, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %9577 = load i32, ptr %40, align 4, !tbaa !9
  %9578 = and i32 %9577, 31
  %9579 = load i32, ptr %39, align 4, !tbaa !9
  %9580 = shl i32 %9579, %9578
  store i32 %9580, ptr %39, align 4, !tbaa !9
  %9581 = load i32, ptr %39, align 4, !tbaa !9
  %9582 = load i32, ptr %38, align 4, !tbaa !9
  %9583 = add i32 %9582, %9581
  store i32 %9583, ptr %38, align 4, !tbaa !9
  %9584 = load ptr, ptr %8, align 8, !tbaa !5
  %9585 = getelementptr inbounds %struct.w2c_hermes, ptr %9584, i32 0, i32 6
  %9586 = load i32, ptr %37, align 4, !tbaa !9
  %9587 = zext i32 %9586 to i64
  %9588 = add i64 %9587, 152
  %9589 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9585, i64 noundef %9588, i32 noundef %9589)
  %9590 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9590, ptr %37, align 4, !tbaa !9
  %9591 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9591, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9592 = load i32, ptr %39, align 4, !tbaa !9
  %9593 = load i32, ptr %38, align 4, !tbaa !9
  %9594 = add i32 %9593, %9592
  store i32 %9594, ptr %38, align 4, !tbaa !9
  %9595 = load ptr, ptr %8, align 8, !tbaa !5
  %9596 = getelementptr inbounds %struct.w2c_hermes, ptr %9595, i32 0, i32 6
  %9597 = load i32, ptr %37, align 4, !tbaa !9
  %9598 = zext i32 %9597 to i64
  %9599 = add i64 %9598, 148
  %9600 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9596, i64 noundef %9599, i32 noundef %9600)
  %9601 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9601, ptr %37, align 4, !tbaa !9
  %9602 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9602, ptr %38, align 4, !tbaa !9
  %9603 = load ptr, ptr %8, align 8, !tbaa !5
  %9604 = getelementptr inbounds %struct.w2c_hermes, ptr %9603, i32 0, i32 6
  %9605 = load i32, ptr %37, align 4, !tbaa !9
  %9606 = zext i32 %9605 to i64
  %9607 = add i64 %9606, 144
  %9608 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9604, i64 noundef %9607, i32 noundef %9608)
  %9609 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9609, ptr %37, align 4, !tbaa !9
  %9610 = load i32, ptr %37, align 4, !tbaa !9
  %9611 = icmp ne i32 %9610, 0
  %9612 = xor i1 %9611, true
  %9613 = zext i1 %9612 to i32
  store i32 %9613, ptr %37, align 4, !tbaa !9
  %9614 = load i32, ptr %37, align 4, !tbaa !9
  %9615 = icmp ne i32 %9614, 0
  br i1 %9615, label %9616, label %9617

9616:                                             ; preds = %9549
  br label %9621

9617:                                             ; preds = %9549
  %9618 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9618, ptr %37, align 4, !tbaa !9
  %9619 = load ptr, ptr %8, align 8, !tbaa !5
  %9620 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %9619, i32 noundef %9620)
  br label %9621

9621:                                             ; preds = %9617, %9616, %9438
  %9622 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9622, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %9623 = load i32, ptr %38, align 4, !tbaa !9
  %9624 = load i32, ptr %37, align 4, !tbaa !9
  %9625 = add i32 %9624, %9623
  store i32 %9625, ptr %37, align 4, !tbaa !9
  %9626 = load i32, ptr %37, align 4, !tbaa !9
  %9627 = load ptr, ptr %8, align 8, !tbaa !5
  %9628 = getelementptr inbounds %struct.w2c_hermes, ptr %9627, i32 0, i32 3
  store i32 %9626, ptr %9628, align 8, !tbaa !13
  %9629 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9629, ptr %37, align 4, !tbaa !9
  %9630 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9630, ptr %38, align 4, !tbaa !9
  %9631 = load ptr, ptr %8, align 8, !tbaa !5
  %9632 = getelementptr inbounds %struct.w2c_hermes, ptr %9631, i32 0, i32 6
  %9633 = load i32, ptr %38, align 4, !tbaa !9
  %9634 = zext i32 %9633 to i64
  %9635 = add i64 %9634, 4
  %9636 = call i32 @i32_load(ptr noundef %9632, i64 noundef %9635)
  store i32 %9636, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9637 = load i32, ptr %39, align 4, !tbaa !9
  %9638 = load i32, ptr %38, align 4, !tbaa !9
  %9639 = add i32 %9638, %9637
  store i32 %9639, ptr %38, align 4, !tbaa !9
  %9640 = load ptr, ptr %8, align 8, !tbaa !5
  %9641 = getelementptr inbounds %struct.w2c_hermes, ptr %9640, i32 0, i32 6
  %9642 = load i32, ptr %37, align 4, !tbaa !9
  %9643 = zext i32 %9642 to i64
  %9644 = add i64 %9643, 4
  %9645 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9641, i64 noundef %9644, i32 noundef %9645)
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %15051

9646:                                             ; preds = %8749
  %9647 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9647, ptr %37, align 4, !tbaa !9
  %9648 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9648, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9649 = load i32, ptr %39, align 4, !tbaa !9
  %9650 = load i32, ptr %38, align 4, !tbaa !9
  %9651 = add i32 %9650, %9649
  store i32 %9651, ptr %38, align 4, !tbaa !9
  %9652 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9652, ptr %11, align 4, !tbaa !9
  %9653 = load ptr, ptr %8, align 8, !tbaa !5
  %9654 = getelementptr inbounds %struct.w2c_hermes, ptr %9653, i32 0, i32 6
  %9655 = load i32, ptr %37, align 4, !tbaa !9
  %9656 = zext i32 %9655 to i64
  %9657 = add i64 %9656, 4
  %9658 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9654, i64 noundef %9657, i32 noundef %9658)
  %9659 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9659, ptr %37, align 4, !tbaa !9
  %9660 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9660, ptr %38, align 4, !tbaa !9
  %9661 = load i32, ptr %37, align 4, !tbaa !9
  %9662 = load i32, ptr %38, align 4, !tbaa !9
  %9663 = icmp eq i32 %9661, %9662
  %9664 = zext i1 %9663 to i32
  store i32 %9664, ptr %37, align 4, !tbaa !9
  %9665 = load i32, ptr %37, align 4, !tbaa !9
  %9666 = icmp ne i32 %9665, 0
  br i1 %9666, label %9667, label %9694

9667:                                             ; preds = %9646
  %9668 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9668, ptr %37, align 4, !tbaa !9
  %9669 = load ptr, ptr %8, align 8, !tbaa !5
  %9670 = getelementptr inbounds %struct.w2c_hermes, ptr %9669, i32 0, i32 6
  %9671 = load i32, ptr %37, align 4, !tbaa !9
  %9672 = zext i32 %9671 to i64
  %9673 = add i64 %9672, 12
  %9674 = call i32 @i32_load(ptr noundef %9670, i64 noundef %9673)
  store i32 %9674, ptr %37, align 4, !tbaa !9
  %9675 = load i32, ptr %37, align 4, !tbaa !9
  %9676 = icmp ne i32 %9675, 0
  br i1 %9676, label %9677, label %9678

9677:                                             ; preds = %9667
  br label %15193

9678:                                             ; preds = %9667
  %9679 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9679, ptr %37, align 4, !tbaa !9
  %9680 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9680, ptr %38, align 4, !tbaa !9
  %9681 = load ptr, ptr %8, align 8, !tbaa !5
  %9682 = getelementptr inbounds %struct.w2c_hermes, ptr %9681, i32 0, i32 6
  %9683 = load i32, ptr %37, align 4, !tbaa !9
  %9684 = zext i32 %9683 to i64
  %9685 = add i64 %9684, 4
  %9686 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9682, i64 noundef %9685, i32 noundef %9686)
  %9687 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9687, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9688 = load ptr, ptr %8, align 8, !tbaa !5
  %9689 = getelementptr inbounds %struct.w2c_hermes, ptr %9688, i32 0, i32 6
  %9690 = load i32, ptr %37, align 4, !tbaa !9
  %9691 = zext i32 %9690 to i64
  %9692 = add i64 %9691, 12
  %9693 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9689, i64 noundef %9692, i32 noundef %9693)
  br label %15193

9694:                                             ; preds = %9646
  %9695 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9695, ptr %37, align 4, !tbaa !9
  %9696 = load ptr, ptr %8, align 8, !tbaa !5
  %9697 = getelementptr inbounds %struct.w2c_hermes, ptr %9696, i32 0, i32 6
  %9698 = load i32, ptr %37, align 4, !tbaa !9
  %9699 = zext i32 %9698 to i64
  %9700 = call i32 @i32_load16_u(ptr noundef %9697, i64 noundef %9699)
  store i32 %9700, ptr %37, align 4, !tbaa !9
  %9701 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9701, ptr %11, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %9702 = load i32, ptr %38, align 4, !tbaa !9
  %9703 = load i32, ptr %37, align 4, !tbaa !9
  %9704 = or i32 %9703, %9702
  store i32 %9704, ptr %37, align 4, !tbaa !9
  store i32 98, ptr %38, align 4, !tbaa !9
  %9705 = load i32, ptr %37, align 4, !tbaa !9
  %9706 = load i32, ptr %38, align 4, !tbaa !9
  %9707 = icmp eq i32 %9705, %9706
  %9708 = zext i1 %9707 to i32
  store i32 %9708, ptr %37, align 4, !tbaa !9
  %9709 = load i32, ptr %37, align 4, !tbaa !9
  %9710 = icmp ne i32 %9709, 0
  br i1 %9710, label %9711, label %10149

9711:                                             ; preds = %9694
  %9712 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9712, ptr %37, align 4, !tbaa !9
  %9713 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9713, ptr %38, align 4, !tbaa !9
  store i32 66, ptr %39, align 4, !tbaa !9
  %9714 = load i32, ptr %38, align 4, !tbaa !9
  %9715 = load i32, ptr %39, align 4, !tbaa !9
  %9716 = icmp eq i32 %9714, %9715
  %9717 = zext i1 %9716 to i32
  store i32 %9717, ptr %38, align 4, !tbaa !9
  %9718 = load ptr, ptr %8, align 8, !tbaa !5
  %9719 = getelementptr inbounds %struct.w2c_hermes, ptr %9718, i32 0, i32 6
  %9720 = load i32, ptr %37, align 4, !tbaa !9
  %9721 = zext i32 %9720 to i64
  %9722 = add i64 %9721, 48
  %9723 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %9719, i64 noundef %9722, i32 noundef %9723)
  %9724 = load ptr, ptr %8, align 8, !tbaa !5
  %9725 = getelementptr inbounds %struct.w2c_hermes, ptr %9724, i32 0, i32 3
  %9726 = load i32, ptr %9725, align 8, !tbaa !13
  store i32 %9726, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %9727 = load i32, ptr %38, align 4, !tbaa !9
  %9728 = load i32, ptr %37, align 4, !tbaa !9
  %9729 = sub i32 %9728, %9727
  store i32 %9729, ptr %37, align 4, !tbaa !9
  %9730 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9730, ptr %11, align 4, !tbaa !9
  %9731 = load i32, ptr %37, align 4, !tbaa !9
  %9732 = load ptr, ptr %8, align 8, !tbaa !5
  %9733 = getelementptr inbounds %struct.w2c_hermes, ptr %9732, i32 0, i32 3
  store i32 %9731, ptr %9733, align 8, !tbaa !13
  store i32 8, ptr %37, align 4, !tbaa !9
  %9734 = load ptr, ptr %8, align 8, !tbaa !5
  %9735 = load i32, ptr %37, align 4, !tbaa !9
  %9736 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9734, i32 noundef %9735)
  store i32 %9736, ptr %37, align 4, !tbaa !9
  %9737 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9737, ptr %12, align 4, !tbaa !9
  %9738 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9738, ptr %38, align 4, !tbaa !9
  %9739 = load ptr, ptr %8, align 8, !tbaa !5
  %9740 = getelementptr inbounds %struct.w2c_hermes, ptr %9739, i32 0, i32 6
  %9741 = load i32, ptr %38, align 4, !tbaa !9
  %9742 = zext i32 %9741 to i64
  %9743 = add i64 %9742, 48
  %9744 = call i32 @i32_load8_u(ptr noundef %9740, i64 noundef %9743)
  store i32 %9744, ptr %38, align 4, !tbaa !9
  %9745 = load ptr, ptr %8, align 8, !tbaa !5
  %9746 = getelementptr inbounds %struct.w2c_hermes, ptr %9745, i32 0, i32 6
  %9747 = load i32, ptr %37, align 4, !tbaa !9
  %9748 = zext i32 %9747 to i64
  %9749 = add i64 %9748, 4
  %9750 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %9746, i64 noundef %9749, i32 noundef %9750)
  %9751 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9751, ptr %37, align 4, !tbaa !9
  store i32 112280, ptr %38, align 4, !tbaa !9
  %9752 = load ptr, ptr %8, align 8, !tbaa !5
  %9753 = getelementptr inbounds %struct.w2c_hermes, ptr %9752, i32 0, i32 6
  %9754 = load i32, ptr %37, align 4, !tbaa !9
  %9755 = zext i32 %9754 to i64
  %9756 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9753, i64 noundef %9755, i32 noundef %9756)
  %9757 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9757, ptr %37, align 4, !tbaa !9
  %9758 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9758, ptr %38, align 4, !tbaa !9
  %9759 = load ptr, ptr %8, align 8, !tbaa !5
  %9760 = getelementptr inbounds %struct.w2c_hermes, ptr %9759, i32 0, i32 6
  %9761 = load i32, ptr %37, align 4, !tbaa !9
  %9762 = zext i32 %9761 to i64
  %9763 = add i64 %9762, 12
  %9764 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9760, i64 noundef %9763, i32 noundef %9764)
  %9765 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9765, ptr %37, align 4, !tbaa !9
  %9766 = load ptr, ptr %8, align 8, !tbaa !5
  %9767 = getelementptr inbounds %struct.w2c_hermes, ptr %9766, i32 0, i32 6
  %9768 = load i32, ptr %37, align 4, !tbaa !9
  %9769 = zext i32 %9768 to i64
  %9770 = add i64 %9769, 160
  %9771 = call i32 @i32_load(ptr noundef %9767, i64 noundef %9770)
  store i32 %9771, ptr %37, align 4, !tbaa !9
  %9772 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9772, ptr %13, align 4, !tbaa !9
  %9773 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9773, ptr %38, align 4, !tbaa !9
  %9774 = load ptr, ptr %8, align 8, !tbaa !5
  %9775 = getelementptr inbounds %struct.w2c_hermes, ptr %9774, i32 0, i32 6
  %9776 = load i32, ptr %38, align 4, !tbaa !9
  %9777 = zext i32 %9776 to i64
  %9778 = add i64 %9777, 164
  %9779 = call i32 @i32_load(ptr noundef %9775, i64 noundef %9778)
  store i32 %9779, ptr %38, align 4, !tbaa !9
  %9780 = load i32, ptr %37, align 4, !tbaa !9
  %9781 = load i32, ptr %38, align 4, !tbaa !9
  %9782 = icmp ult i32 %9780, %9781
  %9783 = zext i1 %9782 to i32
  store i32 %9783, ptr %37, align 4, !tbaa !9
  %9784 = load i32, ptr %37, align 4, !tbaa !9
  %9785 = icmp ne i32 %9784, 0
  br i1 %9785, label %9786, label %9812

9786:                                             ; preds = %9711
  %9787 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9787, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %9788 = load ptr, ptr %8, align 8, !tbaa !5
  %9789 = getelementptr inbounds %struct.w2c_hermes, ptr %9788, i32 0, i32 6
  %9790 = load i32, ptr %37, align 4, !tbaa !9
  %9791 = zext i32 %9790 to i64
  %9792 = add i64 %9791, 12
  %9793 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9789, i64 noundef %9792, i32 noundef %9793)
  %9794 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9794, ptr %37, align 4, !tbaa !9
  %9795 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9795, ptr %38, align 4, !tbaa !9
  %9796 = load ptr, ptr %8, align 8, !tbaa !5
  %9797 = getelementptr inbounds %struct.w2c_hermes, ptr %9796, i32 0, i32 6
  %9798 = load i32, ptr %37, align 4, !tbaa !9
  %9799 = zext i32 %9798 to i64
  %9800 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9797, i64 noundef %9799, i32 noundef %9800)
  %9801 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9801, ptr %37, align 4, !tbaa !9
  %9802 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9802, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9803 = load i32, ptr %39, align 4, !tbaa !9
  %9804 = load i32, ptr %38, align 4, !tbaa !9
  %9805 = add i32 %9804, %9803
  store i32 %9805, ptr %38, align 4, !tbaa !9
  %9806 = load ptr, ptr %8, align 8, !tbaa !5
  %9807 = getelementptr inbounds %struct.w2c_hermes, ptr %9806, i32 0, i32 6
  %9808 = load i32, ptr %37, align 4, !tbaa !9
  %9809 = zext i32 %9808 to i64
  %9810 = add i64 %9809, 160
  %9811 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9807, i64 noundef %9810, i32 noundef %9811)
  br label %9824

9812:                                             ; preds = %9711
  %9813 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9813, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %9814 = load i32, ptr %38, align 4, !tbaa !9
  %9815 = load i32, ptr %37, align 4, !tbaa !9
  %9816 = add i32 %9815, %9814
  store i32 %9816, ptr %37, align 4, !tbaa !9
  %9817 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9817, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %9818 = load i32, ptr %39, align 4, !tbaa !9
  %9819 = load i32, ptr %38, align 4, !tbaa !9
  %9820 = add i32 %9819, %9818
  store i32 %9820, ptr %38, align 4, !tbaa !9
  %9821 = load ptr, ptr %8, align 8, !tbaa !5
  %9822 = load i32, ptr %37, align 4, !tbaa !9
  %9823 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %9821, i32 noundef %9822, i32 noundef %9823)
  br label %9824

9824:                                             ; preds = %9812, %9786
  %9825 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9825, ptr %37, align 4, !tbaa !9
  %9826 = load ptr, ptr %8, align 8, !tbaa !5
  %9827 = getelementptr inbounds %struct.w2c_hermes, ptr %9826, i32 0, i32 6
  %9828 = load i32, ptr %37, align 4, !tbaa !9
  %9829 = zext i32 %9828 to i64
  %9830 = add i64 %9829, 12
  %9831 = call i32 @i32_load(ptr noundef %9827, i64 noundef %9830)
  store i32 %9831, ptr %37, align 4, !tbaa !9
  %9832 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9832, ptr %13, align 4, !tbaa !9
  %9833 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9833, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %9834 = load ptr, ptr %8, align 8, !tbaa !5
  %9835 = getelementptr inbounds %struct.w2c_hermes, ptr %9834, i32 0, i32 6
  %9836 = load i32, ptr %37, align 4, !tbaa !9
  %9837 = zext i32 %9836 to i64
  %9838 = add i64 %9837, 12
  %9839 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9835, i64 noundef %9838, i32 noundef %9839)
  %9840 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9840, ptr %37, align 4, !tbaa !9
  %9841 = load i32, ptr %37, align 4, !tbaa !9
  %9842 = icmp ne i32 %9841, 0
  br i1 %9842, label %9843, label %9918

9843:                                             ; preds = %9824
  %9844 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9844, ptr %37, align 4, !tbaa !9
  %9845 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9845, ptr %38, align 4, !tbaa !9
  %9846 = load ptr, ptr %8, align 8, !tbaa !5
  %9847 = getelementptr inbounds %struct.w2c_hermes, ptr %9846, i32 0, i32 6
  %9848 = load i32, ptr %38, align 4, !tbaa !9
  %9849 = zext i32 %9848 to i64
  %9850 = call i32 @i32_load(ptr noundef %9847, i64 noundef %9849)
  store i32 %9850, ptr %38, align 4, !tbaa !9
  %9851 = load ptr, ptr %8, align 8, !tbaa !5
  %9852 = getelementptr inbounds %struct.w2c_hermes, ptr %9851, i32 0, i32 6
  %9853 = load i32, ptr %38, align 4, !tbaa !9
  %9854 = zext i32 %9853 to i64
  %9855 = add i64 %9854, 4
  %9856 = call i32 @i32_load(ptr noundef %9852, i64 noundef %9855)
  store i32 %9856, ptr %38, align 4, !tbaa !9
  %9857 = load i32, ptr %38, align 4, !tbaa !9
  %9858 = load ptr, ptr %8, align 8, !tbaa !5
  %9859 = getelementptr inbounds %struct.w2c_hermes, ptr %9858, i32 0, i32 7
  %9860 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9859, i32 0, i32 2
  %9861 = load i32, ptr %9860, align 4, !tbaa !18
  %9862 = icmp ult i32 %9857, %9861
  br i1 %9862, label %9863, label %9886

9863:                                             ; preds = %9843
  %9864 = load ptr, ptr %8, align 8, !tbaa !5
  %9865 = getelementptr inbounds %struct.w2c_hermes, ptr %9864, i32 0, i32 7
  %9866 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9865, i32 0, i32 0
  %9867 = load ptr, ptr %9866, align 8, !tbaa !19
  %9868 = load i32, ptr %38, align 4, !tbaa !9
  %9869 = zext i32 %9868 to i64
  %9870 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9867, i64 %9869
  %9871 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9870, i32 0, i32 1
  %9872 = load ptr, ptr %9871, align 8, !tbaa !20
  %9873 = icmp ne ptr %9872, null
  br i1 %9873, label %9874, label %9886

9874:                                             ; preds = %9863
  %9875 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %9876 = load ptr, ptr %8, align 8, !tbaa !5
  %9877 = getelementptr inbounds %struct.w2c_hermes, ptr %9876, i32 0, i32 7
  %9878 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9877, i32 0, i32 0
  %9879 = load ptr, ptr %9878, align 8, !tbaa !19
  %9880 = load i32, ptr %38, align 4, !tbaa !9
  %9881 = zext i32 %9880 to i64
  %9882 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9879, i64 %9881
  %9883 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9882, i32 0, i32 0
  %9884 = load ptr, ptr %9883, align 8, !tbaa !22
  %9885 = call zeroext i1 @func_types_eq(ptr noundef %9875, ptr noundef %9884)
  br label %9886

9886:                                             ; preds = %9874, %9863, %9843
  %9887 = phi i1 [ false, %9863 ], [ false, %9843 ], [ %9885, %9874 ]
  %9888 = xor i1 %9887, true
  %9889 = xor i1 %9888, true
  %9890 = zext i1 %9889 to i32
  %9891 = sext i32 %9890 to i64
  %9892 = call i64 @llvm.expect.i64(i64 %9891, i64 1)
  %9893 = icmp ne i64 %9892, 0
  br i1 %9893, label %9896, label %9894

9894:                                             ; preds = %9886
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

9895:                                             ; No predecessors!
  br label %9896

9896:                                             ; preds = %9895, %9886
  %9897 = phi i1 [ true, %9886 ], [ false, %9895 ]
  %9898 = zext i1 %9897 to i32
  %9899 = load ptr, ptr %8, align 8, !tbaa !5
  %9900 = getelementptr inbounds %struct.w2c_hermes, ptr %9899, i32 0, i32 7
  %9901 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9900, i32 0, i32 0
  %9902 = load ptr, ptr %9901, align 8, !tbaa !19
  %9903 = load i32, ptr %38, align 4, !tbaa !9
  %9904 = zext i32 %9903 to i64
  %9905 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9902, i64 %9904
  %9906 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9905, i32 0, i32 1
  %9907 = load ptr, ptr %9906, align 8, !tbaa !20
  %9908 = load ptr, ptr %8, align 8, !tbaa !5
  %9909 = getelementptr inbounds %struct.w2c_hermes, ptr %9908, i32 0, i32 7
  %9910 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %9909, i32 0, i32 0
  %9911 = load ptr, ptr %9910, align 8, !tbaa !19
  %9912 = load i32, ptr %38, align 4, !tbaa !9
  %9913 = zext i32 %9912 to i64
  %9914 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9911, i64 %9913
  %9915 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %9914, i32 0, i32 2
  %9916 = load ptr, ptr %9915, align 8, !tbaa !23
  %9917 = load i32, ptr %37, align 4, !tbaa !9
  call void %9907(ptr noundef %9916, i32 noundef %9917)
  br label %9918

9918:                                             ; preds = %9896, %9824
  %9919 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9919, ptr %37, align 4, !tbaa !9
  %9920 = load ptr, ptr %8, align 8, !tbaa !5
  %9921 = getelementptr inbounds %struct.w2c_hermes, ptr %9920, i32 0, i32 6
  %9922 = load i32, ptr %37, align 4, !tbaa !9
  %9923 = zext i32 %9922 to i64
  %9924 = add i64 %9923, 148
  %9925 = call i32 @i32_load(ptr noundef %9921, i64 noundef %9924)
  store i32 %9925, ptr %37, align 4, !tbaa !9
  %9926 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9926, ptr %13, align 4, !tbaa !9
  %9927 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9927, ptr %38, align 4, !tbaa !9
  %9928 = load ptr, ptr %8, align 8, !tbaa !5
  %9929 = getelementptr inbounds %struct.w2c_hermes, ptr %9928, i32 0, i32 6
  %9930 = load i32, ptr %38, align 4, !tbaa !9
  %9931 = zext i32 %9930 to i64
  %9932 = add i64 %9931, 152
  %9933 = call i32 @i32_load(ptr noundef %9929, i64 noundef %9932)
  store i32 %9933, ptr %38, align 4, !tbaa !9
  %9934 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9934, ptr %15, align 4, !tbaa !9
  %9935 = load i32, ptr %37, align 4, !tbaa !9
  %9936 = load i32, ptr %38, align 4, !tbaa !9
  %9937 = icmp ult i32 %9935, %9936
  %9938 = zext i1 %9937 to i32
  store i32 %9938, ptr %37, align 4, !tbaa !9
  %9939 = load i32, ptr %37, align 4, !tbaa !9
  %9940 = icmp ne i32 %9939, 0
  br i1 %9940, label %9941, label %9960

9941:                                             ; preds = %9918
  %9942 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9942, ptr %37, align 4, !tbaa !9
  %9943 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9943, ptr %38, align 4, !tbaa !9
  %9944 = load ptr, ptr %8, align 8, !tbaa !5
  %9945 = getelementptr inbounds %struct.w2c_hermes, ptr %9944, i32 0, i32 6
  %9946 = load i32, ptr %37, align 4, !tbaa !9
  %9947 = zext i32 %9946 to i64
  %9948 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9945, i64 noundef %9947, i32 noundef %9948)
  %9949 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9949, ptr %37, align 4, !tbaa !9
  %9950 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9950, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9951 = load i32, ptr %39, align 4, !tbaa !9
  %9952 = load i32, ptr %38, align 4, !tbaa !9
  %9953 = add i32 %9952, %9951
  store i32 %9953, ptr %38, align 4, !tbaa !9
  %9954 = load ptr, ptr %8, align 8, !tbaa !5
  %9955 = getelementptr inbounds %struct.w2c_hermes, ptr %9954, i32 0, i32 6
  %9956 = load i32, ptr %37, align 4, !tbaa !9
  %9957 = zext i32 %9956 to i64
  %9958 = add i64 %9957, 148
  %9959 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9955, i64 noundef %9958, i32 noundef %9959)
  br label %10124

9960:                                             ; preds = %9918
  %9961 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9961, ptr %37, align 4, !tbaa !9
  %9962 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9962, ptr %38, align 4, !tbaa !9
  %9963 = load ptr, ptr %8, align 8, !tbaa !5
  %9964 = getelementptr inbounds %struct.w2c_hermes, ptr %9963, i32 0, i32 6
  %9965 = load i32, ptr %38, align 4, !tbaa !9
  %9966 = zext i32 %9965 to i64
  %9967 = add i64 %9966, 144
  %9968 = call i32 @i32_load(ptr noundef %9964, i64 noundef %9967)
  store i32 %9968, ptr %38, align 4, !tbaa !9
  %9969 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9969, ptr %13, align 4, !tbaa !9
  %9970 = load i32, ptr %38, align 4, !tbaa !9
  %9971 = load i32, ptr %37, align 4, !tbaa !9
  %9972 = sub i32 %9971, %9970
  store i32 %9972, ptr %37, align 4, !tbaa !9
  %9973 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9973, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9974 = load i32, ptr %37, align 4, !tbaa !9
  %9975 = load i32, ptr %38, align 4, !tbaa !9
  %9976 = and i32 %9975, 31
  %9977 = ashr i32 %9974, %9976
  store i32 %9977, ptr %37, align 4, !tbaa !9
  %9978 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9978, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9979 = load i32, ptr %38, align 4, !tbaa !9
  %9980 = load i32, ptr %37, align 4, !tbaa !9
  %9981 = add i32 %9980, %9979
  store i32 %9981, ptr %37, align 4, !tbaa !9
  %9982 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9982, ptr %14, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9983 = load i32, ptr %37, align 4, !tbaa !9
  %9984 = load i32, ptr %38, align 4, !tbaa !9
  %9985 = icmp uge i32 %9983, %9984
  %9986 = zext i1 %9985 to i32
  store i32 %9986, ptr %37, align 4, !tbaa !9
  %9987 = load i32, ptr %37, align 4, !tbaa !9
  %9988 = icmp ne i32 %9987, 0
  br i1 %9988, label %9989, label %9990

9989:                                             ; preds = %9960
  br label %18024

9990:                                             ; preds = %9960
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %9991 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9991, ptr %38, align 4, !tbaa !9
  %9992 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9992, ptr %39, align 4, !tbaa !9
  %9993 = load i32, ptr %39, align 4, !tbaa !9
  %9994 = load i32, ptr %38, align 4, !tbaa !9
  %9995 = sub i32 %9994, %9993
  store i32 %9995, ptr %38, align 4, !tbaa !9
  %9996 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9996, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %9997 = load i32, ptr %38, align 4, !tbaa !9
  %9998 = load i32, ptr %39, align 4, !tbaa !9
  %9999 = and i32 %9998, 31
  %10000 = ashr i32 %9997, %9999
  store i32 %10000, ptr %38, align 4, !tbaa !9
  %10001 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10001, ptr %21, align 4, !tbaa !9
  %10002 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10002, ptr %39, align 4, !tbaa !9
  %10003 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10003, ptr %40, align 4, !tbaa !9
  %10004 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10004, ptr %41, align 4, !tbaa !9
  %10005 = load i32, ptr %40, align 4, !tbaa !9
  %10006 = load i32, ptr %41, align 4, !tbaa !9
  %10007 = icmp ult i32 %10005, %10006
  %10008 = zext i1 %10007 to i32
  store i32 %10008, ptr %40, align 4, !tbaa !9
  %10009 = load i32, ptr %40, align 4, !tbaa !9
  %10010 = icmp ne i32 %10009, 0
  br i1 %10010, label %10011, label %10013

10011:                                            ; preds = %9990
  %10012 = load i32, ptr %38, align 4, !tbaa !9
  br label %10015

10013:                                            ; preds = %9990
  %10014 = load i32, ptr %39, align 4, !tbaa !9
  br label %10015

10015:                                            ; preds = %10013, %10011
  %10016 = phi i32 [ %10012, %10011 ], [ %10014, %10013 ]
  store i32 %10016, ptr %38, align 4, !tbaa !9
  %10017 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10017, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %10018 = load i32, ptr %39, align 4, !tbaa !9
  %10019 = load i32, ptr %40, align 4, !tbaa !9
  %10020 = icmp uge i32 %10018, %10019
  %10021 = zext i1 %10020 to i32
  store i32 %10021, ptr %39, align 4, !tbaa !9
  %10022 = load i32, ptr %39, align 4, !tbaa !9
  %10023 = icmp ne i32 %10022, 0
  br i1 %10023, label %10024, label %10026

10024:                                            ; preds = %10015
  %10025 = load i32, ptr %37, align 4, !tbaa !9
  br label %10028

10026:                                            ; preds = %10015
  %10027 = load i32, ptr %38, align 4, !tbaa !9
  br label %10028

10028:                                            ; preds = %10026, %10024
  %10029 = phi i32 [ %10025, %10024 ], [ %10027, %10026 ]
  store i32 %10029, ptr %37, align 4, !tbaa !9
  %10030 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10030, ptr %14, align 4, !tbaa !9
  %10031 = load i32, ptr %37, align 4, !tbaa !9
  %10032 = icmp ne i32 %10031, 0
  br i1 %10032, label %10033, label %10051

10033:                                            ; preds = %10028
  %10034 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10034, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %10035 = load i32, ptr %37, align 4, !tbaa !9
  %10036 = load i32, ptr %38, align 4, !tbaa !9
  %10037 = icmp uge i32 %10035, %10036
  %10038 = zext i1 %10037 to i32
  store i32 %10038, ptr %37, align 4, !tbaa !9
  %10039 = load i32, ptr %37, align 4, !tbaa !9
  %10040 = icmp ne i32 %10039, 0
  br i1 %10040, label %10041, label %10042

10041:                                            ; preds = %10033
  br label %15466

10042:                                            ; preds = %10033
  %10043 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10043, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %10044 = load i32, ptr %38, align 4, !tbaa !9
  %10045 = and i32 %10044, 31
  %10046 = load i32, ptr %37, align 4, !tbaa !9
  %10047 = shl i32 %10046, %10045
  store i32 %10047, ptr %37, align 4, !tbaa !9
  %10048 = load ptr, ptr %8, align 8, !tbaa !5
  %10049 = load i32, ptr %37, align 4, !tbaa !9
  %10050 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %10048, i32 noundef %10049)
  store i32 %10050, ptr %37, align 4, !tbaa !9
  br label %10052

10051:                                            ; preds = %10028
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %10052

10052:                                            ; preds = %10051, %10042
  %10053 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10053, ptr %15, align 4, !tbaa !9
  %10054 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %10054, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10055 = load i32, ptr %39, align 4, !tbaa !9
  %10056 = and i32 %10055, 31
  %10057 = load i32, ptr %38, align 4, !tbaa !9
  %10058 = shl i32 %10057, %10056
  store i32 %10058, ptr %38, align 4, !tbaa !9
  %10059 = load i32, ptr %38, align 4, !tbaa !9
  %10060 = load i32, ptr %37, align 4, !tbaa !9
  %10061 = add i32 %10060, %10059
  store i32 %10061, ptr %37, align 4, !tbaa !9
  %10062 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10062, ptr %20, align 4, !tbaa !9
  %10063 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10063, ptr %38, align 4, !tbaa !9
  %10064 = load ptr, ptr %8, align 8, !tbaa !5
  %10065 = getelementptr inbounds %struct.w2c_hermes, ptr %10064, i32 0, i32 6
  %10066 = load i32, ptr %37, align 4, !tbaa !9
  %10067 = zext i32 %10066 to i64
  %10068 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10065, i64 noundef %10067, i32 noundef %10068)
  %10069 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10069, ptr %37, align 4, !tbaa !9
  %10070 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10070, ptr %38, align 4, !tbaa !9
  %10071 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10071, ptr %39, align 4, !tbaa !9
  %10072 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10072, ptr %40, align 4, !tbaa !9
  %10073 = load ptr, ptr %8, align 8, !tbaa !5
  %10074 = load i32, ptr %38, align 4, !tbaa !9
  %10075 = load i32, ptr %39, align 4, !tbaa !9
  %10076 = load i32, ptr %40, align 4, !tbaa !9
  %10077 = call i32 @w2c_hermes_memmove(ptr noundef %10073, i32 noundef %10074, i32 noundef %10075, i32 noundef %10076)
  store i32 %10077, ptr %38, align 4, !tbaa !9
  %10078 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10078, ptr %12, align 4, !tbaa !9
  %10079 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10079, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %10080 = load i32, ptr %40, align 4, !tbaa !9
  %10081 = and i32 %10080, 31
  %10082 = load i32, ptr %39, align 4, !tbaa !9
  %10083 = shl i32 %10082, %10081
  store i32 %10083, ptr %39, align 4, !tbaa !9
  %10084 = load i32, ptr %39, align 4, !tbaa !9
  %10085 = load i32, ptr %38, align 4, !tbaa !9
  %10086 = add i32 %10085, %10084
  store i32 %10086, ptr %38, align 4, !tbaa !9
  %10087 = load ptr, ptr %8, align 8, !tbaa !5
  %10088 = getelementptr inbounds %struct.w2c_hermes, ptr %10087, i32 0, i32 6
  %10089 = load i32, ptr %37, align 4, !tbaa !9
  %10090 = zext i32 %10089 to i64
  %10091 = add i64 %10090, 152
  %10092 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10088, i64 noundef %10091, i32 noundef %10092)
  %10093 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10093, ptr %37, align 4, !tbaa !9
  %10094 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %10094, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %10095 = load i32, ptr %39, align 4, !tbaa !9
  %10096 = load i32, ptr %38, align 4, !tbaa !9
  %10097 = add i32 %10096, %10095
  store i32 %10097, ptr %38, align 4, !tbaa !9
  %10098 = load ptr, ptr %8, align 8, !tbaa !5
  %10099 = getelementptr inbounds %struct.w2c_hermes, ptr %10098, i32 0, i32 6
  %10100 = load i32, ptr %37, align 4, !tbaa !9
  %10101 = zext i32 %10100 to i64
  %10102 = add i64 %10101, 148
  %10103 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10099, i64 noundef %10102, i32 noundef %10103)
  %10104 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10104, ptr %37, align 4, !tbaa !9
  %10105 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10105, ptr %38, align 4, !tbaa !9
  %10106 = load ptr, ptr %8, align 8, !tbaa !5
  %10107 = getelementptr inbounds %struct.w2c_hermes, ptr %10106, i32 0, i32 6
  %10108 = load i32, ptr %37, align 4, !tbaa !9
  %10109 = zext i32 %10108 to i64
  %10110 = add i64 %10109, 144
  %10111 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10107, i64 noundef %10110, i32 noundef %10111)
  %10112 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10112, ptr %37, align 4, !tbaa !9
  %10113 = load i32, ptr %37, align 4, !tbaa !9
  %10114 = icmp ne i32 %10113, 0
  %10115 = xor i1 %10114, true
  %10116 = zext i1 %10115 to i32
  store i32 %10116, ptr %37, align 4, !tbaa !9
  %10117 = load i32, ptr %37, align 4, !tbaa !9
  %10118 = icmp ne i32 %10117, 0
  br i1 %10118, label %10119, label %10120

10119:                                            ; preds = %10052
  br label %10124

10120:                                            ; preds = %10052
  %10121 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10121, ptr %37, align 4, !tbaa !9
  %10122 = load ptr, ptr %8, align 8, !tbaa !5
  %10123 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10122, i32 noundef %10123)
  br label %10124

10124:                                            ; preds = %10120, %10119, %9941
  %10125 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10125, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %10126 = load i32, ptr %38, align 4, !tbaa !9
  %10127 = load i32, ptr %37, align 4, !tbaa !9
  %10128 = add i32 %10127, %10126
  store i32 %10128, ptr %37, align 4, !tbaa !9
  %10129 = load i32, ptr %37, align 4, !tbaa !9
  %10130 = load ptr, ptr %8, align 8, !tbaa !5
  %10131 = getelementptr inbounds %struct.w2c_hermes, ptr %10130, i32 0, i32 3
  store i32 %10129, ptr %10131, align 8, !tbaa !13
  %10132 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10132, ptr %37, align 4, !tbaa !9
  %10133 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10133, ptr %38, align 4, !tbaa !9
  %10134 = load ptr, ptr %8, align 8, !tbaa !5
  %10135 = getelementptr inbounds %struct.w2c_hermes, ptr %10134, i32 0, i32 6
  %10136 = load i32, ptr %38, align 4, !tbaa !9
  %10137 = zext i32 %10136 to i64
  %10138 = add i64 %10137, 4
  %10139 = call i32 @i32_load(ptr noundef %10135, i64 noundef %10138)
  store i32 %10139, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10140 = load i32, ptr %39, align 4, !tbaa !9
  %10141 = load i32, ptr %38, align 4, !tbaa !9
  %10142 = add i32 %10141, %10140
  store i32 %10142, ptr %38, align 4, !tbaa !9
  %10143 = load ptr, ptr %8, align 8, !tbaa !5
  %10144 = getelementptr inbounds %struct.w2c_hermes, ptr %10143, i32 0, i32 6
  %10145 = load i32, ptr %37, align 4, !tbaa !9
  %10146 = zext i32 %10145 to i64
  %10147 = add i64 %10146, 4
  %10148 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10144, i64 noundef %10147, i32 noundef %10148)
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %15051

10149:                                            ; preds = %9694
  store i64 0, ptr %43, align 8, !tbaa !11
  %10150 = load i64, ptr %43, align 8, !tbaa !11
  store i64 %10150, ptr %36, align 8, !tbaa !11
  store i32 0, ptr %37, align 4, !tbaa !9
  %10151 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10151, ptr %13, align 4, !tbaa !9
  %10152 = load ptr, ptr %8, align 8, !tbaa !5
  %10153 = getelementptr inbounds %struct.w2c_hermes, ptr %10152, i32 0, i32 3
  %10154 = load i32, ptr %10153, align 8, !tbaa !13
  store i32 %10154, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10155 = load i32, ptr %38, align 4, !tbaa !9
  %10156 = load i32, ptr %37, align 4, !tbaa !9
  %10157 = sub i32 %10156, %10155
  store i32 %10157, ptr %37, align 4, !tbaa !9
  %10158 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10158, ptr %15, align 4, !tbaa !9
  %10159 = load i32, ptr %37, align 4, !tbaa !9
  %10160 = load ptr, ptr %8, align 8, !tbaa !5
  %10161 = getelementptr inbounds %struct.w2c_hermes, ptr %10160, i32 0, i32 3
  store i32 %10159, ptr %10161, align 8, !tbaa !13
  %10162 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10162, ptr %37, align 4, !tbaa !9
  %10163 = load ptr, ptr %8, align 8, !tbaa !5
  %10164 = getelementptr inbounds %struct.w2c_hermes, ptr %10163, i32 0, i32 6
  %10165 = load i32, ptr %37, align 4, !tbaa !9
  %10166 = zext i32 %10165 to i64
  %10167 = add i64 %10166, 4
  %10168 = call i32 @i32_load(ptr noundef %10164, i64 noundef %10167)
  store i32 %10168, ptr %37, align 4, !tbaa !9
  %10169 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10169, ptr %11, align 4, !tbaa !9
  %10170 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10170, ptr %38, align 4, !tbaa !9
  %10171 = load ptr, ptr %8, align 8, !tbaa !5
  %10172 = getelementptr inbounds %struct.w2c_hermes, ptr %10171, i32 0, i32 6
  %10173 = load i32, ptr %38, align 4, !tbaa !9
  %10174 = zext i32 %10173 to i64
  %10175 = add i64 %10174, 8
  %10176 = call i32 @i32_load(ptr noundef %10172, i64 noundef %10175)
  store i32 %10176, ptr %38, align 4, !tbaa !9
  %10177 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10177, ptr %12, align 4, !tbaa !9
  %10178 = load i32, ptr %37, align 4, !tbaa !9
  %10179 = load i32, ptr %38, align 4, !tbaa !9
  %10180 = icmp eq i32 %10178, %10179
  %10181 = zext i1 %10180 to i32
  store i32 %10181, ptr %37, align 4, !tbaa !9
  %10182 = load i32, ptr %37, align 4, !tbaa !9
  %10183 = icmp ne i32 %10182, 0
  br i1 %10183, label %10184, label %10203

10184:                                            ; preds = %10149
  %10185 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10185, ptr %37, align 4, !tbaa !9
  %10186 = load ptr, ptr %8, align 8, !tbaa !5
  %10187 = getelementptr inbounds %struct.w2c_hermes, ptr %10186, i32 0, i32 6
  %10188 = load i32, ptr %37, align 4, !tbaa !9
  %10189 = zext i32 %10188 to i64
  %10190 = add i64 %10189, 12
  %10191 = call i32 @i32_load(ptr noundef %10187, i64 noundef %10190)
  store i32 %10191, ptr %37, align 4, !tbaa !9
  %10192 = load i32, ptr %37, align 4, !tbaa !9
  %10193 = icmp ne i32 %10192, 0
  br i1 %10193, label %10194, label %10195

10194:                                            ; preds = %10184
  br label %12203

10195:                                            ; preds = %10184
  %10196 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10196, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %10197 = load ptr, ptr %8, align 8, !tbaa !5
  %10198 = getelementptr inbounds %struct.w2c_hermes, ptr %10197, i32 0, i32 6
  %10199 = load i32, ptr %37, align 4, !tbaa !9
  %10200 = zext i32 %10199 to i64
  %10201 = add i64 %10200, 12
  %10202 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10198, i64 noundef %10201, i32 noundef %10202)
  br label %12203

10203:                                            ; preds = %10149
  %10204 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10204, ptr %37, align 4, !tbaa !9
  %10205 = load ptr, ptr %8, align 8, !tbaa !5
  %10206 = getelementptr inbounds %struct.w2c_hermes, ptr %10205, i32 0, i32 6
  %10207 = load i32, ptr %37, align 4, !tbaa !9
  %10208 = zext i32 %10207 to i64
  %10209 = call i32 @i32_load16_u(ptr noundef %10206, i64 noundef %10208)
  store i32 %10209, ptr %37, align 4, !tbaa !9
  %10210 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10210, ptr %14, align 4, !tbaa !9
  store i32 49, ptr %38, align 4, !tbaa !9
  %10211 = load i32, ptr %38, align 4, !tbaa !9
  %10212 = load i32, ptr %37, align 4, !tbaa !9
  %10213 = sub i32 %10212, %10211
  store i32 %10213, ptr %37, align 4, !tbaa !9
  %10214 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %10214, label %10286 [
    i32 0, label %10215
    i32 1, label %10216
    i32 2, label %10217
    i32 3, label %10218
    i32 4, label %10219
    i32 5, label %10220
    i32 6, label %10221
    i32 7, label %10222
    i32 8, label %10223
    i32 9, label %10224
    i32 10, label %10225
    i32 11, label %10226
    i32 12, label %10227
    i32 13, label %10228
    i32 14, label %10229
    i32 15, label %10230
    i32 16, label %10231
    i32 17, label %10232
    i32 18, label %10233
    i32 19, label %10234
    i32 20, label %10235
    i32 21, label %10236
    i32 22, label %10237
    i32 23, label %10238
    i32 24, label %10239
    i32 25, label %10240
    i32 26, label %10241
    i32 27, label %10242
    i32 28, label %10243
    i32 29, label %10244
    i32 30, label %10245
    i32 31, label %10246
    i32 32, label %10247
    i32 33, label %10248
    i32 34, label %10249
    i32 35, label %10250
    i32 36, label %10251
    i32 37, label %10252
    i32 38, label %10253
    i32 39, label %10254
    i32 40, label %10255
    i32 41, label %10256
    i32 42, label %10257
    i32 43, label %10258
    i32 44, label %10259
    i32 45, label %10260
    i32 46, label %10261
    i32 47, label %10262
    i32 48, label %10263
    i32 49, label %10264
    i32 50, label %10265
    i32 51, label %10266
    i32 52, label %10267
    i32 53, label %10268
    i32 54, label %10269
    i32 55, label %10270
    i32 56, label %10271
    i32 57, label %10272
    i32 58, label %10273
    i32 59, label %10274
    i32 60, label %10275
    i32 61, label %10276
    i32 62, label %10277
    i32 63, label %10278
    i32 64, label %10279
    i32 65, label %10280
    i32 66, label %10281
    i32 67, label %10282
    i32 68, label %10283
    i32 69, label %10284
    i32 70, label %10285
  ]

10215:                                            ; preds = %10203
  br label %10475

10216:                                            ; preds = %10203
  br label %10475

10217:                                            ; preds = %10203
  br label %10475

10218:                                            ; preds = %10203
  br label %10475

10219:                                            ; preds = %10203
  br label %10475

10220:                                            ; preds = %10203
  br label %10475

10221:                                            ; preds = %10203
  br label %10475

10222:                                            ; preds = %10203
  br label %10475

10223:                                            ; preds = %10203
  br label %10475

10224:                                            ; preds = %10203
  br label %10287

10225:                                            ; preds = %10203
  br label %10287

10226:                                            ; preds = %10203
  br label %10287

10227:                                            ; preds = %10203
  br label %10287

10228:                                            ; preds = %10203
  br label %10287

10229:                                            ; preds = %10203
  br label %10287

10230:                                            ; preds = %10203
  br label %10287

10231:                                            ; preds = %10203
  br label %10287

10232:                                            ; preds = %10203
  br label %10287

10233:                                            ; preds = %10203
  br label %10287

10234:                                            ; preds = %10203
  br label %10295

10235:                                            ; preds = %10203
  br label %10287

10236:                                            ; preds = %10203
  br label %10287

10237:                                            ; preds = %10203
  br label %10287

10238:                                            ; preds = %10203
  br label %10287

10239:                                            ; preds = %10203
  br label %10287

10240:                                            ; preds = %10203
  br label %10287

10241:                                            ; preds = %10203
  br label %10287

10242:                                            ; preds = %10203
  br label %10287

10243:                                            ; preds = %10203
  br label %10287

10244:                                            ; preds = %10203
  br label %10287

10245:                                            ; preds = %10203
  br label %10287

10246:                                            ; preds = %10203
  br label %10287

10247:                                            ; preds = %10203
  br label %10287

10248:                                            ; preds = %10203
  br label %10287

10249:                                            ; preds = %10203
  br label %10355

10250:                                            ; preds = %10203
  br label %10287

10251:                                            ; preds = %10203
  br label %10287

10252:                                            ; preds = %10203
  br label %10287

10253:                                            ; preds = %10203
  br label %10415

10254:                                            ; preds = %10203
  br label %10287

10255:                                            ; preds = %10203
  br label %10287

10256:                                            ; preds = %10203
  br label %10287

10257:                                            ; preds = %10203
  br label %10287

10258:                                            ; preds = %10203
  br label %10287

10259:                                            ; preds = %10203
  br label %10287

10260:                                            ; preds = %10203
  br label %10287

10261:                                            ; preds = %10203
  br label %10287

10262:                                            ; preds = %10203
  br label %10287

10263:                                            ; preds = %10203
  br label %10287

10264:                                            ; preds = %10203
  br label %10287

10265:                                            ; preds = %10203
  br label %10287

10266:                                            ; preds = %10203
  br label %10295

10267:                                            ; preds = %10203
  br label %10287

10268:                                            ; preds = %10203
  br label %10287

10269:                                            ; preds = %10203
  br label %10287

10270:                                            ; preds = %10203
  br label %10287

10271:                                            ; preds = %10203
  br label %10287

10272:                                            ; preds = %10203
  br label %10287

10273:                                            ; preds = %10203
  br label %11150

10274:                                            ; preds = %10203
  br label %10287

10275:                                            ; preds = %10203
  br label %10287

10276:                                            ; preds = %10203
  br label %10287

10277:                                            ; preds = %10203
  br label %10287

10278:                                            ; preds = %10203
  br label %10287

10279:                                            ; preds = %10203
  br label %10287

10280:                                            ; preds = %10203
  br label %10287

10281:                                            ; preds = %10203
  br label %10355

10282:                                            ; preds = %10203
  br label %10287

10283:                                            ; preds = %10203
  br label %10287

10284:                                            ; preds = %10203
  br label %10287

10285:                                            ; preds = %10203
  br label %10415

10286:                                            ; preds = %10203
  br label %10287

10287:                                            ; preds = %10286, %10284, %10283, %10282, %10280, %10279, %10278, %10277, %10276, %10275, %10274, %10272, %10271, %10270, %10269, %10268, %10267, %10265, %10264, %10263, %10262, %10261, %10260, %10259, %10258, %10257, %10256, %10255, %10254, %10252, %10251, %10250, %10248, %10247, %10246, %10245, %10244, %10243, %10242, %10241, %10240, %10239, %10238, %10237, %10236, %10235, %10233, %10232, %10231, %10230, %10229, %10228, %10227, %10226, %10225, %10224
  %10288 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10288, ptr %37, align 4, !tbaa !9
  %10289 = load ptr, ptr %8, align 8, !tbaa !5
  %10290 = getelementptr inbounds %struct.w2c_hermes, ptr %10289, i32 0, i32 6
  %10291 = load i32, ptr %37, align 4, !tbaa !9
  %10292 = zext i32 %10291 to i64
  %10293 = call i32 @i32_load(ptr noundef %10290, i64 noundef %10292)
  store i32 %10293, ptr %37, align 4, !tbaa !9
  %10294 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10294, ptr %19, align 4, !tbaa !9
  br label %12045

10295:                                            ; preds = %10266, %10234
  %10296 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10296, ptr %37, align 4, !tbaa !9
  %10297 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10297, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10298 = load i32, ptr %39, align 4, !tbaa !9
  %10299 = load i32, ptr %38, align 4, !tbaa !9
  %10300 = add i32 %10299, %10298
  store i32 %10300, ptr %38, align 4, !tbaa !9
  %10301 = load ptr, ptr %8, align 8, !tbaa !5
  %10302 = getelementptr inbounds %struct.w2c_hermes, ptr %10301, i32 0, i32 6
  %10303 = load i32, ptr %37, align 4, !tbaa !9
  %10304 = zext i32 %10303 to i64
  %10305 = add i64 %10304, 4
  %10306 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10302, i64 noundef %10305, i32 noundef %10306)
  %10307 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10307, ptr %37, align 4, !tbaa !9
  %10308 = load ptr, ptr %8, align 8, !tbaa !5
  %10309 = getelementptr inbounds %struct.w2c_hermes, ptr %10308, i32 0, i32 6
  %10310 = load i32, ptr %37, align 4, !tbaa !9
  %10311 = zext i32 %10310 to i64
  %10312 = call i32 @i32_load(ptr noundef %10309, i64 noundef %10311)
  store i32 %10312, ptr %37, align 4, !tbaa !9
  %10313 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10313, ptr %10, align 4, !tbaa !9
  %10314 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10314, ptr %37, align 4, !tbaa !9
  %10315 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10315, ptr %38, align 4, !tbaa !9
  store i32 68, ptr %39, align 4, !tbaa !9
  %10316 = load i32, ptr %38, align 4, !tbaa !9
  %10317 = load i32, ptr %39, align 4, !tbaa !9
  %10318 = icmp eq i32 %10316, %10317
  %10319 = zext i1 %10318 to i32
  store i32 %10319, ptr %38, align 4, !tbaa !9
  %10320 = load ptr, ptr %8, align 8, !tbaa !5
  %10321 = getelementptr inbounds %struct.w2c_hermes, ptr %10320, i32 0, i32 6
  %10322 = load i32, ptr %37, align 4, !tbaa !9
  %10323 = zext i32 %10322 to i64
  %10324 = add i64 %10323, 14
  %10325 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10321, i64 noundef %10324, i32 noundef %10325)
  %10326 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10326, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %10327 = load ptr, ptr %8, align 8, !tbaa !5
  %10328 = getelementptr inbounds %struct.w2c_hermes, ptr %10327, i32 0, i32 6
  %10329 = load i32, ptr %37, align 4, !tbaa !9
  %10330 = zext i32 %10329 to i64
  %10331 = add i64 %10330, 13
  %10332 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10328, i64 noundef %10331, i32 noundef %10332)
  %10333 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10333, ptr %37, align 4, !tbaa !9
  %10334 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10334, ptr %38, align 4, !tbaa !9
  %10335 = load ptr, ptr %8, align 8, !tbaa !5
  %10336 = getelementptr inbounds %struct.w2c_hermes, ptr %10335, i32 0, i32 6
  %10337 = load i32, ptr %38, align 4, !tbaa !9
  %10338 = zext i32 %10337 to i64
  %10339 = add i64 %10338, 13
  %10340 = call i32 @i32_load16_u(ptr noundef %10336, i64 noundef %10339)
  store i32 %10340, ptr %38, align 4, !tbaa !9
  %10341 = load ptr, ptr %8, align 8, !tbaa !5
  %10342 = getelementptr inbounds %struct.w2c_hermes, ptr %10341, i32 0, i32 6
  %10343 = load i32, ptr %37, align 4, !tbaa !9
  %10344 = zext i32 %10343 to i64
  %10345 = add i64 %10344, 2
  %10346 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %10342, i64 noundef %10345, i32 noundef %10346)
  %10347 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10347, ptr %37, align 4, !tbaa !9
  %10348 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10348, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10349 = load i32, ptr %39, align 4, !tbaa !9
  %10350 = load i32, ptr %38, align 4, !tbaa !9
  %10351 = add i32 %10350, %10349
  store i32 %10351, ptr %38, align 4, !tbaa !9
  %10352 = load ptr, ptr %8, align 8, !tbaa !5
  %10353 = load i32, ptr %37, align 4, !tbaa !9
  %10354 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef %10352, i32 noundef %10353, i32 noundef %10354)
  br label %12203

10355:                                            ; preds = %10281, %10249
  %10356 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10356, ptr %37, align 4, !tbaa !9
  %10357 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10357, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10358 = load i32, ptr %39, align 4, !tbaa !9
  %10359 = load i32, ptr %38, align 4, !tbaa !9
  %10360 = add i32 %10359, %10358
  store i32 %10360, ptr %38, align 4, !tbaa !9
  %10361 = load ptr, ptr %8, align 8, !tbaa !5
  %10362 = getelementptr inbounds %struct.w2c_hermes, ptr %10361, i32 0, i32 6
  %10363 = load i32, ptr %37, align 4, !tbaa !9
  %10364 = zext i32 %10363 to i64
  %10365 = add i64 %10364, 4
  %10366 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10362, i64 noundef %10365, i32 noundef %10366)
  %10367 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10367, ptr %37, align 4, !tbaa !9
  %10368 = load ptr, ptr %8, align 8, !tbaa !5
  %10369 = getelementptr inbounds %struct.w2c_hermes, ptr %10368, i32 0, i32 6
  %10370 = load i32, ptr %37, align 4, !tbaa !9
  %10371 = zext i32 %10370 to i64
  %10372 = call i32 @i32_load(ptr noundef %10369, i64 noundef %10371)
  store i32 %10372, ptr %37, align 4, !tbaa !9
  %10373 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10373, ptr %10, align 4, !tbaa !9
  %10374 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10374, ptr %37, align 4, !tbaa !9
  %10375 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10375, ptr %38, align 4, !tbaa !9
  store i32 83, ptr %39, align 4, !tbaa !9
  %10376 = load i32, ptr %38, align 4, !tbaa !9
  %10377 = load i32, ptr %39, align 4, !tbaa !9
  %10378 = icmp eq i32 %10376, %10377
  %10379 = zext i1 %10378 to i32
  store i32 %10379, ptr %38, align 4, !tbaa !9
  %10380 = load ptr, ptr %8, align 8, !tbaa !5
  %10381 = getelementptr inbounds %struct.w2c_hermes, ptr %10380, i32 0, i32 6
  %10382 = load i32, ptr %37, align 4, !tbaa !9
  %10383 = zext i32 %10382 to i64
  %10384 = add i64 %10383, 12
  %10385 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10381, i64 noundef %10384, i32 noundef %10385)
  %10386 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10386, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %10387 = load ptr, ptr %8, align 8, !tbaa !5
  %10388 = getelementptr inbounds %struct.w2c_hermes, ptr %10387, i32 0, i32 6
  %10389 = load i32, ptr %37, align 4, !tbaa !9
  %10390 = zext i32 %10389 to i64
  %10391 = add i64 %10390, 11
  %10392 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10388, i64 noundef %10391, i32 noundef %10392)
  %10393 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10393, ptr %37, align 4, !tbaa !9
  %10394 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10394, ptr %38, align 4, !tbaa !9
  %10395 = load ptr, ptr %8, align 8, !tbaa !5
  %10396 = getelementptr inbounds %struct.w2c_hermes, ptr %10395, i32 0, i32 6
  %10397 = load i32, ptr %38, align 4, !tbaa !9
  %10398 = zext i32 %10397 to i64
  %10399 = add i64 %10398, 11
  %10400 = call i32 @i32_load16_u(ptr noundef %10396, i64 noundef %10399)
  store i32 %10400, ptr %38, align 4, !tbaa !9
  %10401 = load ptr, ptr %8, align 8, !tbaa !5
  %10402 = getelementptr inbounds %struct.w2c_hermes, ptr %10401, i32 0, i32 6
  %10403 = load i32, ptr %37, align 4, !tbaa !9
  %10404 = zext i32 %10403 to i64
  %10405 = add i64 %10404, 4
  %10406 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %10402, i64 noundef %10405, i32 noundef %10406)
  %10407 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10407, ptr %37, align 4, !tbaa !9
  %10408 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10408, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %10409 = load i32, ptr %39, align 4, !tbaa !9
  %10410 = load i32, ptr %38, align 4, !tbaa !9
  %10411 = add i32 %10410, %10409
  store i32 %10411, ptr %38, align 4, !tbaa !9
  %10412 = load ptr, ptr %8, align 8, !tbaa !5
  %10413 = load i32, ptr %37, align 4, !tbaa !9
  %10414 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef %10412, i32 noundef %10413, i32 noundef %10414)
  br label %12203

10415:                                            ; preds = %10285, %10253
  %10416 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10416, ptr %37, align 4, !tbaa !9
  %10417 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10417, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10418 = load i32, ptr %39, align 4, !tbaa !9
  %10419 = load i32, ptr %38, align 4, !tbaa !9
  %10420 = add i32 %10419, %10418
  store i32 %10420, ptr %38, align 4, !tbaa !9
  %10421 = load ptr, ptr %8, align 8, !tbaa !5
  %10422 = getelementptr inbounds %struct.w2c_hermes, ptr %10421, i32 0, i32 6
  %10423 = load i32, ptr %37, align 4, !tbaa !9
  %10424 = zext i32 %10423 to i64
  %10425 = add i64 %10424, 4
  %10426 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10422, i64 noundef %10425, i32 noundef %10426)
  %10427 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10427, ptr %37, align 4, !tbaa !9
  %10428 = load ptr, ptr %8, align 8, !tbaa !5
  %10429 = getelementptr inbounds %struct.w2c_hermes, ptr %10428, i32 0, i32 6
  %10430 = load i32, ptr %37, align 4, !tbaa !9
  %10431 = zext i32 %10430 to i64
  %10432 = call i32 @i32_load(ptr noundef %10429, i64 noundef %10431)
  store i32 %10432, ptr %37, align 4, !tbaa !9
  %10433 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10433, ptr %10, align 4, !tbaa !9
  %10434 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10434, ptr %37, align 4, !tbaa !9
  %10435 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10435, ptr %38, align 4, !tbaa !9
  store i32 87, ptr %39, align 4, !tbaa !9
  %10436 = load i32, ptr %38, align 4, !tbaa !9
  %10437 = load i32, ptr %39, align 4, !tbaa !9
  %10438 = icmp eq i32 %10436, %10437
  %10439 = zext i1 %10438 to i32
  store i32 %10439, ptr %38, align 4, !tbaa !9
  %10440 = load ptr, ptr %8, align 8, !tbaa !5
  %10441 = getelementptr inbounds %struct.w2c_hermes, ptr %10440, i32 0, i32 6
  %10442 = load i32, ptr %37, align 4, !tbaa !9
  %10443 = zext i32 %10442 to i64
  %10444 = add i64 %10443, 10
  %10445 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10441, i64 noundef %10444, i32 noundef %10445)
  %10446 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10446, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %10447 = load ptr, ptr %8, align 8, !tbaa !5
  %10448 = getelementptr inbounds %struct.w2c_hermes, ptr %10447, i32 0, i32 6
  %10449 = load i32, ptr %37, align 4, !tbaa !9
  %10450 = zext i32 %10449 to i64
  %10451 = add i64 %10450, 9
  %10452 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10448, i64 noundef %10451, i32 noundef %10452)
  %10453 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10453, ptr %37, align 4, !tbaa !9
  %10454 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10454, ptr %38, align 4, !tbaa !9
  %10455 = load ptr, ptr %8, align 8, !tbaa !5
  %10456 = getelementptr inbounds %struct.w2c_hermes, ptr %10455, i32 0, i32 6
  %10457 = load i32, ptr %38, align 4, !tbaa !9
  %10458 = zext i32 %10457 to i64
  %10459 = add i64 %10458, 9
  %10460 = call i32 @i32_load16_u(ptr noundef %10456, i64 noundef %10459)
  store i32 %10460, ptr %38, align 4, !tbaa !9
  %10461 = load ptr, ptr %8, align 8, !tbaa !5
  %10462 = getelementptr inbounds %struct.w2c_hermes, ptr %10461, i32 0, i32 6
  %10463 = load i32, ptr %37, align 4, !tbaa !9
  %10464 = zext i32 %10463 to i64
  %10465 = add i64 %10464, 6
  %10466 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %10462, i64 noundef %10465, i32 noundef %10466)
  %10467 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10467, ptr %37, align 4, !tbaa !9
  %10468 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10468, ptr %38, align 4, !tbaa !9
  store i32 6, ptr %39, align 4, !tbaa !9
  %10469 = load i32, ptr %39, align 4, !tbaa !9
  %10470 = load i32, ptr %38, align 4, !tbaa !9
  %10471 = add i32 %10470, %10469
  store i32 %10471, ptr %38, align 4, !tbaa !9
  %10472 = load ptr, ptr %8, align 8, !tbaa !5
  %10473 = load i32, ptr %37, align 4, !tbaa !9
  %10474 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef %10472, i32 noundef %10473, i32 noundef %10474)
  br label %12203

10475:                                            ; preds = %10223, %10222, %10221, %10220, %10219, %10218, %10217, %10216, %10215
  %10476 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10476, ptr %37, align 4, !tbaa !9
  %10477 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10477, ptr %10, align 4, !tbaa !9
  br label %10478

10478:                                            ; preds = %10550, %10475
  %10479 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10479, ptr %37, align 4, !tbaa !9
  %10480 = load ptr, ptr %8, align 8, !tbaa !5
  %10481 = getelementptr inbounds %struct.w2c_hermes, ptr %10480, i32 0, i32 6
  %10482 = load i32, ptr %37, align 4, !tbaa !9
  %10483 = zext i32 %10482 to i64
  %10484 = call i32 @i32_load16_u(ptr noundef %10481, i64 noundef %10483)
  store i32 %10484, ptr %37, align 4, !tbaa !9
  %10485 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10485, ptr %19, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10486 = load i32, ptr %38, align 4, !tbaa !9
  %10487 = load i32, ptr %37, align 4, !tbaa !9
  %10488 = sub i32 %10487, %10486
  store i32 %10488, ptr %37, align 4, !tbaa !9
  store i32 65535, ptr %38, align 4, !tbaa !9
  %10489 = load i32, ptr %38, align 4, !tbaa !9
  %10490 = load i32, ptr %37, align 4, !tbaa !9
  %10491 = and i32 %10490, %10489
  store i32 %10491, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %10492 = load i32, ptr %37, align 4, !tbaa !9
  %10493 = load i32, ptr %38, align 4, !tbaa !9
  %10494 = icmp ule i32 %10492, %10493
  %10495 = zext i1 %10494 to i32
  store i32 %10495, ptr %37, align 4, !tbaa !9
  %10496 = load i32, ptr %37, align 4, !tbaa !9
  %10497 = icmp ne i32 %10496, 0
  br i1 %10497, label %10498, label %10552

10498:                                            ; preds = %10478
  %10499 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10499, ptr %37, align 4, !tbaa !9
  %10500 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10500, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10501 = load i32, ptr %39, align 4, !tbaa !9
  %10502 = load i32, ptr %38, align 4, !tbaa !9
  %10503 = add i32 %10502, %10501
  store i32 %10503, ptr %38, align 4, !tbaa !9
  %10504 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10504, ptr %10, align 4, !tbaa !9
  %10505 = load ptr, ptr %8, align 8, !tbaa !5
  %10506 = getelementptr inbounds %struct.w2c_hermes, ptr %10505, i32 0, i32 6
  %10507 = load i32, ptr %37, align 4, !tbaa !9
  %10508 = zext i32 %10507 to i64
  %10509 = add i64 %10508, 4
  %10510 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10506, i64 noundef %10509, i32 noundef %10510)
  store i64 4294967295, ptr %43, align 8, !tbaa !11
  %10511 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %10511, ptr %44, align 8, !tbaa !11
  store i64 10, ptr %45, align 8, !tbaa !11
  %10512 = load i64, ptr %45, align 8, !tbaa !11
  %10513 = load i64, ptr %44, align 8, !tbaa !11
  %10514 = mul i64 %10513, %10512
  store i64 %10514, ptr %44, align 8, !tbaa !11
  %10515 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10515, ptr %39, align 4, !tbaa !9
  %10516 = load i32, ptr %39, align 4, !tbaa !9
  %10517 = zext i32 %10516 to i64
  store i64 %10517, ptr %45, align 8, !tbaa !11
  store i64 65535, ptr %46, align 8, !tbaa !11
  %10518 = load i64, ptr %46, align 8, !tbaa !11
  %10519 = load i64, ptr %45, align 8, !tbaa !11
  %10520 = and i64 %10519, %10518
  store i64 %10520, ptr %45, align 8, !tbaa !11
  %10521 = load i64, ptr %45, align 8, !tbaa !11
  %10522 = load i64, ptr %44, align 8, !tbaa !11
  %10523 = add i64 %10522, %10521
  store i64 %10523, ptr %44, align 8, !tbaa !11
  store i64 48, ptr %45, align 8, !tbaa !11
  %10524 = load i64, ptr %45, align 8, !tbaa !11
  %10525 = load i64, ptr %44, align 8, !tbaa !11
  %10526 = sub i64 %10525, %10524
  store i64 %10526, ptr %44, align 8, !tbaa !11
  %10527 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %10527, ptr %36, align 8, !tbaa !11
  %10528 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %10528, ptr %45, align 8, !tbaa !11
  store i64 4294967295, ptr %46, align 8, !tbaa !11
  %10529 = load i64, ptr %45, align 8, !tbaa !11
  %10530 = load i64, ptr %46, align 8, !tbaa !11
  %10531 = icmp uge i64 %10529, %10530
  %10532 = zext i1 %10531 to i32
  store i32 %10532, ptr %39, align 4, !tbaa !9
  %10533 = load i32, ptr %39, align 4, !tbaa !9
  %10534 = icmp ne i32 %10533, 0
  br i1 %10534, label %10535, label %10537

10535:                                            ; preds = %10498
  %10536 = load i64, ptr %43, align 8, !tbaa !11
  br label %10539

10537:                                            ; preds = %10498
  %10538 = load i64, ptr %44, align 8, !tbaa !11
  br label %10539

10539:                                            ; preds = %10537, %10535
  %10540 = phi i64 [ %10536, %10535 ], [ %10538, %10537 ]
  store i64 %10540, ptr %43, align 8, !tbaa !11
  %10541 = load i64, ptr %43, align 8, !tbaa !11
  store i64 %10541, ptr %36, align 8, !tbaa !11
  %10542 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10542, ptr %37, align 4, !tbaa !9
  %10543 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10543, ptr %38, align 4, !tbaa !9
  %10544 = load i32, ptr %37, align 4, !tbaa !9
  %10545 = load i32, ptr %38, align 4, !tbaa !9
  %10546 = icmp ne i32 %10544, %10545
  %10547 = zext i1 %10546 to i32
  store i32 %10547, ptr %37, align 4, !tbaa !9
  %10548 = load i32, ptr %37, align 4, !tbaa !9
  %10549 = icmp ne i32 %10548, 0
  br i1 %10549, label %10550, label %10551

10550:                                            ; preds = %10539
  br label %10478

10551:                                            ; preds = %10539
  br label %10552

10552:                                            ; preds = %10551, %10478
  %10553 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %10553, ptr %43, align 8, !tbaa !11
  %10554 = load i64, ptr %43, align 8, !tbaa !11
  %10555 = trunc i64 %10554 to i32
  store i32 %10555, ptr %37, align 4, !tbaa !9
  %10556 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10556, ptr %10, align 4, !tbaa !9
  %10557 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10557, ptr %37, align 4, !tbaa !9
  %10558 = load ptr, ptr %8, align 8, !tbaa !5
  %10559 = getelementptr inbounds %struct.w2c_hermes, ptr %10558, i32 0, i32 6
  %10560 = load i32, ptr %37, align 4, !tbaa !9
  %10561 = zext i32 %10560 to i64
  %10562 = add i64 %10561, 16
  %10563 = call i32 @i32_load8_u(ptr noundef %10559, i64 noundef %10562)
  store i32 %10563, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %10564 = load i32, ptr %38, align 4, !tbaa !9
  %10565 = load i32, ptr %37, align 4, !tbaa !9
  %10566 = and i32 %10565, %10564
  store i32 %10566, ptr %37, align 4, !tbaa !9
  %10567 = load i32, ptr %37, align 4, !tbaa !9
  %10568 = icmp ne i32 %10567, 0
  %10569 = xor i1 %10568, true
  %10570 = zext i1 %10569 to i32
  store i32 %10570, ptr %37, align 4, !tbaa !9
  %10571 = load i32, ptr %37, align 4, !tbaa !9
  %10572 = icmp ne i32 %10571, 0
  br i1 %10572, label %10573, label %10590

10573:                                            ; preds = %10552
  %10574 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10574, ptr %37, align 4, !tbaa !9
  %10575 = load ptr, ptr %8, align 8, !tbaa !5
  %10576 = getelementptr inbounds %struct.w2c_hermes, ptr %10575, i32 0, i32 6
  %10577 = load i32, ptr %37, align 4, !tbaa !9
  %10578 = zext i32 %10577 to i64
  %10579 = add i64 %10578, 20
  %10580 = call i32 @i32_load(ptr noundef %10576, i64 noundef %10579)
  store i32 %10580, ptr %37, align 4, !tbaa !9
  %10581 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10581, ptr %38, align 4, !tbaa !9
  %10582 = load i32, ptr %37, align 4, !tbaa !9
  %10583 = load i32, ptr %38, align 4, !tbaa !9
  %10584 = icmp ult i32 %10582, %10583
  %10585 = zext i1 %10584 to i32
  store i32 %10585, ptr %37, align 4, !tbaa !9
  %10586 = load i32, ptr %37, align 4, !tbaa !9
  %10587 = icmp ne i32 %10586, 0
  br i1 %10587, label %10588, label %10589

10588:                                            ; preds = %10573
  br label %10648

10589:                                            ; preds = %10573
  br label %10590

10590:                                            ; preds = %10589, %10552
  %10591 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10591, ptr %37, align 4, !tbaa !9
  %10592 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10592, ptr %38, align 4, !tbaa !9
  %10593 = load ptr, ptr %8, align 8, !tbaa !5
  %10594 = getelementptr inbounds %struct.w2c_hermes, ptr %10593, i32 0, i32 6
  %10595 = load i32, ptr %38, align 4, !tbaa !9
  %10596 = zext i32 %10595 to i64
  %10597 = add i64 %10596, 24
  %10598 = call i32 @i32_load(ptr noundef %10594, i64 noundef %10597)
  store i32 %10598, ptr %38, align 4, !tbaa !9
  %10599 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10599, ptr %11, align 4, !tbaa !9
  %10600 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10600, ptr %39, align 4, !tbaa !9
  %10601 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10601, ptr %40, align 4, !tbaa !9
  %10602 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10602, ptr %41, align 4, !tbaa !9
  %10603 = load i32, ptr %40, align 4, !tbaa !9
  %10604 = load i32, ptr %41, align 4, !tbaa !9
  %10605 = icmp ult i32 %10603, %10604
  %10606 = zext i1 %10605 to i32
  store i32 %10606, ptr %40, align 4, !tbaa !9
  %10607 = load i32, ptr %40, align 4, !tbaa !9
  %10608 = icmp ne i32 %10607, 0
  br i1 %10608, label %10609, label %10611

10609:                                            ; preds = %10590
  %10610 = load i32, ptr %38, align 4, !tbaa !9
  br label %10613

10611:                                            ; preds = %10590
  %10612 = load i32, ptr %39, align 4, !tbaa !9
  br label %10613

10613:                                            ; preds = %10611, %10609
  %10614 = phi i32 [ %10610, %10609 ], [ %10612, %10611 ]
  store i32 %10614, ptr %38, align 4, !tbaa !9
  %10615 = load ptr, ptr %8, align 8, !tbaa !5
  %10616 = getelementptr inbounds %struct.w2c_hermes, ptr %10615, i32 0, i32 6
  %10617 = load i32, ptr %37, align 4, !tbaa !9
  %10618 = zext i32 %10617 to i64
  %10619 = add i64 %10618, 24
  %10620 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10616, i64 noundef %10619, i32 noundef %10620)
  %10621 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10621, ptr %37, align 4, !tbaa !9
  %10622 = load ptr, ptr %8, align 8, !tbaa !5
  %10623 = getelementptr inbounds %struct.w2c_hermes, ptr %10622, i32 0, i32 6
  %10624 = load i32, ptr %37, align 4, !tbaa !9
  %10625 = zext i32 %10624 to i64
  %10626 = call i32 @i32_load(ptr noundef %10623, i64 noundef %10625)
  store i32 %10626, ptr %37, align 4, !tbaa !9
  %10627 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10627, ptr %11, align 4, !tbaa !9
  %10628 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10628, ptr %37, align 4, !tbaa !9
  %10629 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10629, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %10630 = load i32, ptr %39, align 4, !tbaa !9
  %10631 = load i32, ptr %38, align 4, !tbaa !9
  %10632 = sub i32 %10631, %10630
  store i32 %10632, ptr %38, align 4, !tbaa !9
  %10633 = load ptr, ptr %8, align 8, !tbaa !5
  %10634 = getelementptr inbounds %struct.w2c_hermes, ptr %10633, i32 0, i32 6
  %10635 = load i32, ptr %37, align 4, !tbaa !9
  %10636 = zext i32 %10635 to i64
  %10637 = add i64 %10636, 16
  %10638 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10634, i64 noundef %10637, i32 noundef %10638)
  %10639 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10639, ptr %37, align 4, !tbaa !9
  %10640 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10640, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %10641 = load i32, ptr %39, align 4, !tbaa !9
  %10642 = load i32, ptr %38, align 4, !tbaa !9
  %10643 = add i32 %10642, %10641
  store i32 %10643, ptr %38, align 4, !tbaa !9
  %10644 = load ptr, ptr %8, align 8, !tbaa !5
  %10645 = load i32, ptr %37, align 4, !tbaa !9
  %10646 = load i32, ptr %38, align 4, !tbaa !9
  %10647 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef %10644, i32 noundef %10645, i32 noundef %10646)
  store i32 %10647, ptr %37, align 4, !tbaa !9
  br label %12203

10648:                                            ; preds = %10588
  %10649 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10649, ptr %37, align 4, !tbaa !9
  %10650 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10650, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10651 = load i32, ptr %39, align 4, !tbaa !9
  %10652 = load i32, ptr %38, align 4, !tbaa !9
  %10653 = add i32 %10652, %10651
  store i32 %10653, ptr %38, align 4, !tbaa !9
  %10654 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10654, ptr %19, align 4, !tbaa !9
  %10655 = load ptr, ptr %8, align 8, !tbaa !5
  %10656 = getelementptr inbounds %struct.w2c_hermes, ptr %10655, i32 0, i32 6
  %10657 = load i32, ptr %37, align 4, !tbaa !9
  %10658 = zext i32 %10657 to i64
  %10659 = add i64 %10658, 4
  %10660 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10656, i64 noundef %10659, i32 noundef %10660)
  %10661 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10661, ptr %37, align 4, !tbaa !9
  %10662 = load ptr, ptr %8, align 8, !tbaa !5
  %10663 = getelementptr inbounds %struct.w2c_hermes, ptr %10662, i32 0, i32 6
  %10664 = load i32, ptr %37, align 4, !tbaa !9
  %10665 = zext i32 %10664 to i64
  %10666 = call i32 @i32_load(ptr noundef %10663, i64 noundef %10665)
  store i32 %10666, ptr %37, align 4, !tbaa !9
  %10667 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10667, ptr %10, align 4, !tbaa !9
  %10668 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10668, ptr %37, align 4, !tbaa !9
  store i32 55, ptr %38, align 4, !tbaa !9
  %10669 = load i32, ptr %37, align 4, !tbaa !9
  %10670 = load i32, ptr %38, align 4, !tbaa !9
  %10671 = icmp ule i32 %10669, %10670
  %10672 = zext i1 %10671 to i32
  store i32 %10672, ptr %37, align 4, !tbaa !9
  %10673 = load i32, ptr %37, align 4, !tbaa !9
  %10674 = icmp ne i32 %10673, 0
  br i1 %10674, label %10675, label %10997

10675:                                            ; preds = %10648
  %10676 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10676, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10677 = load i32, ptr %38, align 4, !tbaa !9
  %10678 = load i32, ptr %37, align 4, !tbaa !9
  %10679 = sub i32 %10678, %10677
  store i32 %10679, ptr %37, align 4, !tbaa !9
  %10680 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10680, ptr %38, align 4, !tbaa !9
  %10681 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10681, ptr %39, align 4, !tbaa !9
  %10682 = load i32, ptr %38, align 4, !tbaa !9
  %10683 = load i32, ptr %39, align 4, !tbaa !9
  %10684 = icmp eq i32 %10682, %10683
  %10685 = zext i1 %10684 to i32
  store i32 %10685, ptr %38, align 4, !tbaa !9
  %10686 = load i32, ptr %38, align 4, !tbaa !9
  %10687 = icmp ne i32 %10686, 0
  br i1 %10687, label %10688, label %10689

10688:                                            ; preds = %10675
  br label %10836

10689:                                            ; preds = %10675
  %10690 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10690, ptr %37, align 4, !tbaa !9
  %10691 = load ptr, ptr %8, align 8, !tbaa !5
  %10692 = getelementptr inbounds %struct.w2c_hermes, ptr %10691, i32 0, i32 6
  %10693 = load i32, ptr %37, align 4, !tbaa !9
  %10694 = zext i32 %10693 to i64
  %10695 = call i32 @i32_load16_u(ptr noundef %10692, i64 noundef %10694)
  store i32 %10695, ptr %37, align 4, !tbaa !9
  %10696 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10696, ptr %21, align 4, !tbaa !9
  store i32 65528, ptr %38, align 4, !tbaa !9
  %10697 = load i32, ptr %38, align 4, !tbaa !9
  %10698 = load i32, ptr %37, align 4, !tbaa !9
  %10699 = and i32 %10698, %10697
  store i32 %10699, ptr %37, align 4, !tbaa !9
  %10700 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10700, ptr %20, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10701 = load i32, ptr %37, align 4, !tbaa !9
  %10702 = load i32, ptr %38, align 4, !tbaa !9
  %10703 = icmp eq i32 %10701, %10702
  %10704 = zext i1 %10703 to i32
  store i32 %10704, ptr %37, align 4, !tbaa !9
  %10705 = load i32, ptr %37, align 4, !tbaa !9
  %10706 = icmp ne i32 %10705, 0
  br i1 %10706, label %10707, label %10725

10707:                                            ; preds = %10689
  %10708 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10708, ptr %37, align 4, !tbaa !9
  %10709 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10709, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %10710 = load i32, ptr %39, align 4, !tbaa !9
  %10711 = load i32, ptr %38, align 4, !tbaa !9
  %10712 = add i32 %10711, %10710
  store i32 %10712, ptr %38, align 4, !tbaa !9
  %10713 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10713, ptr %19, align 4, !tbaa !9
  %10714 = load ptr, ptr %8, align 8, !tbaa !5
  %10715 = getelementptr inbounds %struct.w2c_hermes, ptr %10714, i32 0, i32 6
  %10716 = load i32, ptr %37, align 4, !tbaa !9
  %10717 = zext i32 %10716 to i64
  %10718 = add i64 %10717, 4
  %10719 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10715, i64 noundef %10718, i32 noundef %10719)
  %10720 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10720, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10721 = load i32, ptr %38, align 4, !tbaa !9
  %10722 = load i32, ptr %37, align 4, !tbaa !9
  %10723 = sub i32 %10722, %10721
  store i32 %10723, ptr %37, align 4, !tbaa !9
  %10724 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10724, ptr %13, align 4, !tbaa !9
  br label %10725

10725:                                            ; preds = %10707, %10689
  %10726 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10726, ptr %37, align 4, !tbaa !9
  store i32 51, ptr %38, align 4, !tbaa !9
  %10727 = load i32, ptr %37, align 4, !tbaa !9
  %10728 = load i32, ptr %38, align 4, !tbaa !9
  %10729 = icmp ugt i32 %10727, %10728
  %10730 = zext i1 %10729 to i32
  store i32 %10730, ptr %37, align 4, !tbaa !9
  %10731 = load i32, ptr %37, align 4, !tbaa !9
  %10732 = icmp ne i32 %10731, 0
  br i1 %10732, label %10733, label %10734

10733:                                            ; preds = %10725
  br label %10812

10734:                                            ; preds = %10725
  %10735 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10735, ptr %37, align 4, !tbaa !9
  %10736 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10736, ptr %38, align 4, !tbaa !9
  %10737 = load i32, ptr %37, align 4, !tbaa !9
  %10738 = load i32, ptr %38, align 4, !tbaa !9
  %10739 = icmp eq i32 %10737, %10738
  %10740 = zext i1 %10739 to i32
  store i32 %10740, ptr %37, align 4, !tbaa !9
  %10741 = load i32, ptr %37, align 4, !tbaa !9
  %10742 = icmp ne i32 %10741, 0
  br i1 %10742, label %10743, label %10744

10743:                                            ; preds = %10734
  br label %10812

10744:                                            ; preds = %10734
  %10745 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10745, ptr %37, align 4, !tbaa !9
  %10746 = load ptr, ptr %8, align 8, !tbaa !5
  %10747 = getelementptr inbounds %struct.w2c_hermes, ptr %10746, i32 0, i32 6
  %10748 = load i32, ptr %37, align 4, !tbaa !9
  %10749 = zext i32 %10748 to i64
  %10750 = call i32 @i32_load16_u(ptr noundef %10747, i64 noundef %10749)
  store i32 %10750, ptr %37, align 4, !tbaa !9
  %10751 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10751, ptr %11, align 4, !tbaa !9
  store i32 65528, ptr %38, align 4, !tbaa !9
  %10752 = load i32, ptr %38, align 4, !tbaa !9
  %10753 = load i32, ptr %37, align 4, !tbaa !9
  %10754 = and i32 %10753, %10752
  store i32 %10754, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10755 = load i32, ptr %37, align 4, !tbaa !9
  %10756 = load i32, ptr %38, align 4, !tbaa !9
  %10757 = icmp ne i32 %10755, %10756
  %10758 = zext i1 %10757 to i32
  store i32 %10758, ptr %37, align 4, !tbaa !9
  %10759 = load i32, ptr %37, align 4, !tbaa !9
  %10760 = icmp ne i32 %10759, 0
  br i1 %10760, label %10761, label %10762

10761:                                            ; preds = %10744
  br label %10812

10762:                                            ; preds = %10744
  %10763 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10763, ptr %37, align 4, !tbaa !9
  %10764 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10764, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10765 = load i32, ptr %39, align 4, !tbaa !9
  %10766 = load i32, ptr %38, align 4, !tbaa !9
  %10767 = add i32 %10766, %10765
  store i32 %10767, ptr %38, align 4, !tbaa !9
  %10768 = load ptr, ptr %8, align 8, !tbaa !5
  %10769 = getelementptr inbounds %struct.w2c_hermes, ptr %10768, i32 0, i32 6
  %10770 = load i32, ptr %37, align 4, !tbaa !9
  %10771 = zext i32 %10770 to i64
  %10772 = add i64 %10771, 4
  %10773 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10769, i64 noundef %10772, i32 noundef %10773)
  %10774 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10774, ptr %37, align 4, !tbaa !9
  %10775 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10775, ptr %38, align 4, !tbaa !9
  %10776 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10776, ptr %39, align 4, !tbaa !9
  store i32 48, ptr %40, align 4, !tbaa !9
  %10777 = load i32, ptr %40, align 4, !tbaa !9
  %10778 = load i32, ptr %39, align 4, !tbaa !9
  %10779 = sub i32 %10778, %10777
  store i32 %10779, ptr %39, align 4, !tbaa !9
  %10780 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %10780, ptr %12, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %10781 = load i32, ptr %40, align 4, !tbaa !9
  %10782 = and i32 %10781, 31
  %10783 = load i32, ptr %39, align 4, !tbaa !9
  %10784 = shl i32 %10783, %10782
  store i32 %10784, ptr %39, align 4, !tbaa !9
  %10785 = load i32, ptr %39, align 4, !tbaa !9
  %10786 = load i32, ptr %38, align 4, !tbaa !9
  %10787 = add i32 %10786, %10785
  store i32 %10787, ptr %38, align 4, !tbaa !9
  %10788 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10788, ptr %39, align 4, !tbaa !9
  %10789 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %10789, ptr %40, align 4, !tbaa !9
  store i32 48, ptr %41, align 4, !tbaa !9
  %10790 = load i32, ptr %40, align 4, !tbaa !9
  %10791 = load i32, ptr %41, align 4, !tbaa !9
  %10792 = icmp eq i32 %10790, %10791
  %10793 = zext i1 %10792 to i32
  store i32 %10793, ptr %40, align 4, !tbaa !9
  %10794 = load i32, ptr %40, align 4, !tbaa !9
  %10795 = icmp ne i32 %10794, 0
  br i1 %10795, label %10796, label %10798

10796:                                            ; preds = %10762
  %10797 = load i32, ptr %38, align 4, !tbaa !9
  br label %10800

10798:                                            ; preds = %10762
  %10799 = load i32, ptr %39, align 4, !tbaa !9
  br label %10800

10800:                                            ; preds = %10798, %10796
  %10801 = phi i32 [ %10797, %10796 ], [ %10799, %10798 ]
  store i32 %10801, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %10802 = load i32, ptr %39, align 4, !tbaa !9
  %10803 = and i32 %10802, 31
  %10804 = load i32, ptr %38, align 4, !tbaa !9
  %10805 = shl i32 %10804, %10803
  store i32 %10805, ptr %38, align 4, !tbaa !9
  %10806 = load i32, ptr %38, align 4, !tbaa !9
  %10807 = load i32, ptr %37, align 4, !tbaa !9
  %10808 = add i32 %10807, %10806
  store i32 %10808, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10809 = load i32, ptr %38, align 4, !tbaa !9
  %10810 = load i32, ptr %37, align 4, !tbaa !9
  %10811 = sub i32 %10810, %10809
  store i32 %10811, ptr %37, align 4, !tbaa !9
  br label %10836

10812:                                            ; preds = %10761, %10743, %10733
  %10813 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10813, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10814 = load i32, ptr %38, align 4, !tbaa !9
  %10815 = load i32, ptr %37, align 4, !tbaa !9
  %10816 = sub i32 %10815, %10814
  store i32 %10816, ptr %37, align 4, !tbaa !9
  %10817 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10817, ptr %11, align 4, !tbaa !9
  %10818 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %10818, ptr %38, align 4, !tbaa !9
  store i32 48, ptr %39, align 4, !tbaa !9
  %10819 = load i32, ptr %38, align 4, !tbaa !9
  %10820 = load i32, ptr %39, align 4, !tbaa !9
  %10821 = icmp ne i32 %10819, %10820
  %10822 = zext i1 %10821 to i32
  store i32 %10822, ptr %38, align 4, !tbaa !9
  %10823 = load i32, ptr %38, align 4, !tbaa !9
  %10824 = icmp ne i32 %10823, 0
  br i1 %10824, label %10825, label %10826

10825:                                            ; preds = %10812
  br label %10836

10826:                                            ; preds = %10812
  %10827 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10827, ptr %37, align 4, !tbaa !9
  %10828 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10828, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %10829 = load i32, ptr %39, align 4, !tbaa !9
  %10830 = and i32 %10829, 31
  %10831 = load i32, ptr %38, align 4, !tbaa !9
  %10832 = shl i32 %10831, %10830
  store i32 %10832, ptr %38, align 4, !tbaa !9
  %10833 = load i32, ptr %38, align 4, !tbaa !9
  %10834 = load i32, ptr %37, align 4, !tbaa !9
  %10835 = add i32 %10834, %10833
  store i32 %10835, ptr %37, align 4, !tbaa !9
  br label %10836

10836:                                            ; preds = %10826, %10825, %10800, %10688
  %10837 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10837, ptr %13, align 4, !tbaa !9
  store i32 65535, ptr %38, align 4, !tbaa !9
  %10838 = load i32, ptr %38, align 4, !tbaa !9
  %10839 = load i32, ptr %37, align 4, !tbaa !9
  %10840 = and i32 %10839, %10838
  store i32 %10840, ptr %37, align 4, !tbaa !9
  %10841 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10841, ptr %11, align 4, !tbaa !9
  %10842 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10842, ptr %37, align 4, !tbaa !9
  %10843 = load ptr, ptr %8, align 8, !tbaa !5
  %10844 = getelementptr inbounds %struct.w2c_hermes, ptr %10843, i32 0, i32 6
  %10845 = load i32, ptr %37, align 4, !tbaa !9
  %10846 = zext i32 %10845 to i64
  %10847 = add i64 %10846, 136
  %10848 = call i32 @i32_load8_u(ptr noundef %10844, i64 noundef %10847)
  store i32 %10848, ptr %37, align 4, !tbaa !9
  %10849 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10849, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %10850 = load i32, ptr %38, align 4, !tbaa !9
  %10851 = load i32, ptr %37, align 4, !tbaa !9
  %10852 = and i32 %10851, %10850
  store i32 %10852, ptr %37, align 4, !tbaa !9
  %10853 = load i32, ptr %37, align 4, !tbaa !9
  %10854 = icmp ne i32 %10853, 0
  %10855 = xor i1 %10854, true
  %10856 = zext i1 %10855 to i32
  store i32 %10856, ptr %37, align 4, !tbaa !9
  %10857 = load i32, ptr %37, align 4, !tbaa !9
  %10858 = icmp ne i32 %10857, 0
  br i1 %10858, label %10859, label %10860

10859:                                            ; preds = %10836
  br label %10928

10860:                                            ; preds = %10836
  %10861 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10861, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %10862 = load i32, ptr %38, align 4, !tbaa !9
  %10863 = load i32, ptr %37, align 4, !tbaa !9
  %10864 = and i32 %10863, %10862
  store i32 %10864, ptr %37, align 4, !tbaa !9
  %10865 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10865, ptr %12, align 4, !tbaa !9
  %10866 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10866, ptr %37, align 4, !tbaa !9
  store i32 65535, ptr %38, align 4, !tbaa !9
  %10867 = load i32, ptr %38, align 4, !tbaa !9
  %10868 = load i32, ptr %37, align 4, !tbaa !9
  %10869 = and i32 %10868, %10867
  store i32 %10869, ptr %37, align 4, !tbaa !9
  store i32 127, ptr %38, align 4, !tbaa !9
  %10870 = load i32, ptr %37, align 4, !tbaa !9
  %10871 = load i32, ptr %38, align 4, !tbaa !9
  %10872 = icmp ule i32 %10870, %10871
  %10873 = zext i1 %10872 to i32
  store i32 %10873, ptr %37, align 4, !tbaa !9
  %10874 = load i32, ptr %37, align 4, !tbaa !9
  %10875 = icmp ne i32 %10874, 0
  br i1 %10875, label %10876, label %10908

10876:                                            ; preds = %10860
  %10877 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10877, ptr %37, align 4, !tbaa !9
  store i32 65503, ptr %38, align 4, !tbaa !9
  %10878 = load i32, ptr %38, align 4, !tbaa !9
  %10879 = load i32, ptr %37, align 4, !tbaa !9
  %10880 = and i32 %10879, %10878
  store i32 %10880, ptr %37, align 4, !tbaa !9
  %10881 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10881, ptr %13, align 4, !tbaa !9
  %10882 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10882, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %10883 = load i32, ptr %39, align 4, !tbaa !9
  %10884 = and i32 %10883, 31
  %10885 = load i32, ptr %38, align 4, !tbaa !9
  %10886 = shl i32 %10885, %10884
  store i32 %10886, ptr %38, align 4, !tbaa !9
  %10887 = load i32, ptr %38, align 4, !tbaa !9
  %10888 = load i32, ptr %37, align 4, !tbaa !9
  %10889 = or i32 %10888, %10887
  store i32 %10889, ptr %37, align 4, !tbaa !9
  %10890 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10890, ptr %38, align 4, !tbaa !9
  %10891 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %10891, ptr %39, align 4, !tbaa !9
  store i32 65, ptr %40, align 4, !tbaa !9
  %10892 = load i32, ptr %40, align 4, !tbaa !9
  %10893 = load i32, ptr %39, align 4, !tbaa !9
  %10894 = sub i32 %10893, %10892
  store i32 %10894, ptr %39, align 4, !tbaa !9
  store i32 26, ptr %40, align 4, !tbaa !9
  %10895 = load i32, ptr %39, align 4, !tbaa !9
  %10896 = load i32, ptr %40, align 4, !tbaa !9
  %10897 = icmp ult i32 %10895, %10896
  %10898 = zext i1 %10897 to i32
  store i32 %10898, ptr %39, align 4, !tbaa !9
  %10899 = load i32, ptr %39, align 4, !tbaa !9
  %10900 = icmp ne i32 %10899, 0
  br i1 %10900, label %10901, label %10903

10901:                                            ; preds = %10876
  %10902 = load i32, ptr %37, align 4, !tbaa !9
  br label %10905

10903:                                            ; preds = %10876
  %10904 = load i32, ptr %38, align 4, !tbaa !9
  br label %10905

10905:                                            ; preds = %10903, %10901
  %10906 = phi i32 [ %10902, %10901 ], [ %10904, %10903 ]
  store i32 %10906, ptr %37, align 4, !tbaa !9
  %10907 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10907, ptr %11, align 4, !tbaa !9
  br label %10928

10908:                                            ; preds = %10860
  %10909 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10909, ptr %37, align 4, !tbaa !9
  %10910 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10910, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %10911 = load i32, ptr %38, align 4, !tbaa !9
  %10912 = load i32, ptr %39, align 4, !tbaa !9
  %10913 = icmp ne i32 %10911, %10912
  %10914 = zext i1 %10913 to i32
  store i32 %10914, ptr %38, align 4, !tbaa !9
  %10915 = load ptr, ptr %8, align 8, !tbaa !5
  %10916 = load i32, ptr %37, align 4, !tbaa !9
  %10917 = load i32, ptr %38, align 4, !tbaa !9
  %10918 = call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %10915, i32 noundef %10916, i32 noundef %10917)
  store i32 %10918, ptr %37, align 4, !tbaa !9
  %10919 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10919, ptr %11, align 4, !tbaa !9
  %10920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10920, ptr %37, align 4, !tbaa !9
  %10921 = load ptr, ptr %8, align 8, !tbaa !5
  %10922 = getelementptr inbounds %struct.w2c_hermes, ptr %10921, i32 0, i32 6
  %10923 = load i32, ptr %37, align 4, !tbaa !9
  %10924 = zext i32 %10923 to i64
  %10925 = add i64 %10924, 136
  %10926 = call i32 @i32_load8_u(ptr noundef %10922, i64 noundef %10925)
  store i32 %10926, ptr %37, align 4, !tbaa !9
  %10927 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10927, ptr %14, align 4, !tbaa !9
  br label %10928

10928:                                            ; preds = %10908, %10905, %10859
  %10929 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10929, ptr %37, align 4, !tbaa !9
  %10930 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10930, ptr %38, align 4, !tbaa !9
  %10931 = load ptr, ptr %8, align 8, !tbaa !5
  %10932 = getelementptr inbounds %struct.w2c_hermes, ptr %10931, i32 0, i32 6
  %10933 = load i32, ptr %37, align 4, !tbaa !9
  %10934 = zext i32 %10933 to i64
  %10935 = add i64 %10934, 28
  %10936 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10932, i64 noundef %10935, i32 noundef %10936)
  %10937 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10937, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %10938 = load ptr, ptr %8, align 8, !tbaa !5
  %10939 = getelementptr inbounds %struct.w2c_hermes, ptr %10938, i32 0, i32 6
  %10940 = load i32, ptr %37, align 4, !tbaa !9
  %10941 = zext i32 %10940 to i64
  %10942 = add i64 %10941, 20
  %10943 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %10939, i64 noundef %10942, i64 noundef %10943)
  %10944 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10944, ptr %37, align 4, !tbaa !9
  %10945 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10945, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %10946 = load i32, ptr %39, align 4, !tbaa !9
  %10947 = load i32, ptr %38, align 4, !tbaa !9
  %10948 = add i32 %10947, %10946
  store i32 %10948, ptr %38, align 4, !tbaa !9
  %10949 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10949, ptr %11, align 4, !tbaa !9
  %10950 = load ptr, ptr %8, align 8, !tbaa !5
  %10951 = getelementptr inbounds %struct.w2c_hermes, ptr %10950, i32 0, i32 6
  %10952 = load i32, ptr %37, align 4, !tbaa !9
  %10953 = zext i32 %10952 to i64
  %10954 = add i64 %10953, 16
  %10955 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10951, i64 noundef %10954, i32 noundef %10955)
  %10956 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10956, ptr %37, align 4, !tbaa !9
  %10957 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10957, ptr %38, align 4, !tbaa !9
  %10958 = load ptr, ptr %8, align 8, !tbaa !5
  %10959 = getelementptr inbounds %struct.w2c_hermes, ptr %10958, i32 0, i32 6
  %10960 = load i32, ptr %37, align 4, !tbaa !9
  %10961 = zext i32 %10960 to i64
  %10962 = add i64 %10961, 15
  %10963 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %10959, i64 noundef %10962, i32 noundef %10963)
  %10964 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10964, ptr %37, align 4, !tbaa !9
  %10965 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10965, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %10966 = load i32, ptr %39, align 4, !tbaa !9
  %10967 = load i32, ptr %38, align 4, !tbaa !9
  %10968 = add i32 %10967, %10966
  store i32 %10968, ptr %38, align 4, !tbaa !9
  %10969 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10969, ptr %39, align 4, !tbaa !9
  store i32 15, ptr %40, align 4, !tbaa !9
  %10970 = load i32, ptr %40, align 4, !tbaa !9
  %10971 = load i32, ptr %39, align 4, !tbaa !9
  %10972 = add i32 %10971, %10970
  store i32 %10972, ptr %39, align 4, !tbaa !9
  %10973 = load ptr, ptr %8, align 8, !tbaa !5
  %10974 = load i32, ptr %37, align 4, !tbaa !9
  %10975 = load i32, ptr %38, align 4, !tbaa !9
  %10976 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %10973, i32 noundef %10974, i32 noundef %10975, i32 noundef %10976)
  %10977 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10977, ptr %37, align 4, !tbaa !9
  %10978 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10978, ptr %38, align 4, !tbaa !9
  %10979 = load ptr, ptr %8, align 8, !tbaa !5
  %10980 = getelementptr inbounds %struct.w2c_hermes, ptr %10979, i32 0, i32 6
  %10981 = load i32, ptr %38, align 4, !tbaa !9
  %10982 = zext i32 %10981 to i64
  %10983 = add i64 %10982, 16
  %10984 = call i32 @i32_load(ptr noundef %10980, i64 noundef %10983)
  store i32 %10984, ptr %38, align 4, !tbaa !9
  %10985 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10985, ptr %10, align 4, !tbaa !9
  %10986 = load i32, ptr %37, align 4, !tbaa !9
  %10987 = load i32, ptr %38, align 4, !tbaa !9
  %10988 = icmp eq i32 %10986, %10987
  %10989 = zext i1 %10988 to i32
  store i32 %10989, ptr %37, align 4, !tbaa !9
  %10990 = load i32, ptr %37, align 4, !tbaa !9
  %10991 = icmp ne i32 %10990, 0
  br i1 %10991, label %10992, label %10993

10992:                                            ; preds = %10928
  br label %12203

10993:                                            ; preds = %10928
  %10994 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10994, ptr %37, align 4, !tbaa !9
  %10995 = load ptr, ptr %8, align 8, !tbaa !5
  %10996 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10995, i32 noundef %10996)
  br label %12203

10997:                                            ; preds = %10648
  %10998 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %10998, ptr %37, align 4, !tbaa !9
  %10999 = load ptr, ptr %8, align 8, !tbaa !5
  %11000 = getelementptr inbounds %struct.w2c_hermes, ptr %10999, i32 0, i32 6
  %11001 = load i32, ptr %37, align 4, !tbaa !9
  %11002 = zext i32 %11001 to i64
  %11003 = add i64 %11002, 136
  %11004 = call i32 @i32_load8_u(ptr noundef %11000, i64 noundef %11003)
  store i32 %11004, ptr %37, align 4, !tbaa !9
  %11005 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11005, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %11006 = load i32, ptr %38, align 4, !tbaa !9
  %11007 = load i32, ptr %37, align 4, !tbaa !9
  %11008 = and i32 %11007, %11006
  store i32 %11008, ptr %37, align 4, !tbaa !9
  %11009 = load i32, ptr %37, align 4, !tbaa !9
  %11010 = icmp ne i32 %11009, 0
  %11011 = xor i1 %11010, true
  %11012 = zext i1 %11011 to i32
  store i32 %11012, ptr %37, align 4, !tbaa !9
  %11013 = load i32, ptr %37, align 4, !tbaa !9
  %11014 = icmp ne i32 %11013, 0
  br i1 %11014, label %11015, label %11016

11015:                                            ; preds = %10997
  br label %11081

11016:                                            ; preds = %10997
  %11017 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11017, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %11018 = load i32, ptr %38, align 4, !tbaa !9
  %11019 = load i32, ptr %37, align 4, !tbaa !9
  %11020 = and i32 %11019, %11018
  store i32 %11020, ptr %37, align 4, !tbaa !9
  %11021 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11021, ptr %12, align 4, !tbaa !9
  %11022 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11022, ptr %37, align 4, !tbaa !9
  store i32 127, ptr %38, align 4, !tbaa !9
  %11023 = load i32, ptr %37, align 4, !tbaa !9
  %11024 = load i32, ptr %38, align 4, !tbaa !9
  %11025 = icmp ule i32 %11023, %11024
  %11026 = zext i1 %11025 to i32
  store i32 %11026, ptr %37, align 4, !tbaa !9
  %11027 = load i32, ptr %37, align 4, !tbaa !9
  %11028 = icmp ne i32 %11027, 0
  br i1 %11028, label %11029, label %11061

11029:                                            ; preds = %11016
  %11030 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11030, ptr %37, align 4, !tbaa !9
  store i32 65503, ptr %38, align 4, !tbaa !9
  %11031 = load i32, ptr %38, align 4, !tbaa !9
  %11032 = load i32, ptr %37, align 4, !tbaa !9
  %11033 = and i32 %11032, %11031
  store i32 %11033, ptr %37, align 4, !tbaa !9
  %11034 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11034, ptr %13, align 4, !tbaa !9
  %11035 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11035, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %11036 = load i32, ptr %39, align 4, !tbaa !9
  %11037 = and i32 %11036, 31
  %11038 = load i32, ptr %38, align 4, !tbaa !9
  %11039 = shl i32 %11038, %11037
  store i32 %11039, ptr %38, align 4, !tbaa !9
  %11040 = load i32, ptr %38, align 4, !tbaa !9
  %11041 = load i32, ptr %37, align 4, !tbaa !9
  %11042 = or i32 %11041, %11040
  store i32 %11042, ptr %37, align 4, !tbaa !9
  %11043 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11043, ptr %38, align 4, !tbaa !9
  %11044 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11044, ptr %39, align 4, !tbaa !9
  store i32 65, ptr %40, align 4, !tbaa !9
  %11045 = load i32, ptr %40, align 4, !tbaa !9
  %11046 = load i32, ptr %39, align 4, !tbaa !9
  %11047 = sub i32 %11046, %11045
  store i32 %11047, ptr %39, align 4, !tbaa !9
  store i32 26, ptr %40, align 4, !tbaa !9
  %11048 = load i32, ptr %39, align 4, !tbaa !9
  %11049 = load i32, ptr %40, align 4, !tbaa !9
  %11050 = icmp ult i32 %11048, %11049
  %11051 = zext i1 %11050 to i32
  store i32 %11051, ptr %39, align 4, !tbaa !9
  %11052 = load i32, ptr %39, align 4, !tbaa !9
  %11053 = icmp ne i32 %11052, 0
  br i1 %11053, label %11054, label %11056

11054:                                            ; preds = %11029
  %11055 = load i32, ptr %37, align 4, !tbaa !9
  br label %11058

11056:                                            ; preds = %11029
  %11057 = load i32, ptr %38, align 4, !tbaa !9
  br label %11058

11058:                                            ; preds = %11056, %11054
  %11059 = phi i32 [ %11055, %11054 ], [ %11057, %11056 ]
  store i32 %11059, ptr %37, align 4, !tbaa !9
  %11060 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11060, ptr %14, align 4, !tbaa !9
  br label %11081

11061:                                            ; preds = %11016
  %11062 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11062, ptr %37, align 4, !tbaa !9
  %11063 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11063, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %11064 = load i32, ptr %38, align 4, !tbaa !9
  %11065 = load i32, ptr %39, align 4, !tbaa !9
  %11066 = icmp ne i32 %11064, %11065
  %11067 = zext i1 %11066 to i32
  store i32 %11067, ptr %38, align 4, !tbaa !9
  %11068 = load ptr, ptr %8, align 8, !tbaa !5
  %11069 = load i32, ptr %37, align 4, !tbaa !9
  %11070 = load i32, ptr %38, align 4, !tbaa !9
  %11071 = call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %11068, i32 noundef %11069, i32 noundef %11070)
  store i32 %11071, ptr %37, align 4, !tbaa !9
  %11072 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11072, ptr %14, align 4, !tbaa !9
  %11073 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11073, ptr %37, align 4, !tbaa !9
  %11074 = load ptr, ptr %8, align 8, !tbaa !5
  %11075 = getelementptr inbounds %struct.w2c_hermes, ptr %11074, i32 0, i32 6
  %11076 = load i32, ptr %37, align 4, !tbaa !9
  %11077 = zext i32 %11076 to i64
  %11078 = add i64 %11077, 136
  %11079 = call i32 @i32_load8_u(ptr noundef %11075, i64 noundef %11078)
  store i32 %11079, ptr %37, align 4, !tbaa !9
  %11080 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11080, ptr %11, align 4, !tbaa !9
  br label %11081

11081:                                            ; preds = %11061, %11058, %11015
  %11082 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11082, ptr %37, align 4, !tbaa !9
  %11083 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11083, ptr %38, align 4, !tbaa !9
  %11084 = load ptr, ptr %8, align 8, !tbaa !5
  %11085 = getelementptr inbounds %struct.w2c_hermes, ptr %11084, i32 0, i32 6
  %11086 = load i32, ptr %37, align 4, !tbaa !9
  %11087 = zext i32 %11086 to i64
  %11088 = add i64 %11087, 28
  %11089 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11085, i64 noundef %11088, i32 noundef %11089)
  %11090 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11090, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %11091 = load ptr, ptr %8, align 8, !tbaa !5
  %11092 = getelementptr inbounds %struct.w2c_hermes, ptr %11091, i32 0, i32 6
  %11093 = load i32, ptr %37, align 4, !tbaa !9
  %11094 = zext i32 %11093 to i64
  %11095 = add i64 %11094, 20
  %11096 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %11092, i64 noundef %11095, i64 noundef %11096)
  %11097 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11097, ptr %37, align 4, !tbaa !9
  %11098 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11098, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11099 = load i32, ptr %39, align 4, !tbaa !9
  %11100 = load i32, ptr %38, align 4, !tbaa !9
  %11101 = add i32 %11100, %11099
  store i32 %11101, ptr %38, align 4, !tbaa !9
  %11102 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11102, ptr %12, align 4, !tbaa !9
  %11103 = load ptr, ptr %8, align 8, !tbaa !5
  %11104 = getelementptr inbounds %struct.w2c_hermes, ptr %11103, i32 0, i32 6
  %11105 = load i32, ptr %37, align 4, !tbaa !9
  %11106 = zext i32 %11105 to i64
  %11107 = add i64 %11106, 16
  %11108 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11104, i64 noundef %11107, i32 noundef %11108)
  %11109 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11109, ptr %37, align 4, !tbaa !9
  %11110 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11110, ptr %38, align 4, !tbaa !9
  %11111 = load ptr, ptr %8, align 8, !tbaa !5
  %11112 = getelementptr inbounds %struct.w2c_hermes, ptr %11111, i32 0, i32 6
  %11113 = load i32, ptr %37, align 4, !tbaa !9
  %11114 = zext i32 %11113 to i64
  %11115 = add i64 %11114, 15
  %11116 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %11112, i64 noundef %11115, i32 noundef %11116)
  %11117 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11117, ptr %37, align 4, !tbaa !9
  %11118 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11118, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %11119 = load i32, ptr %39, align 4, !tbaa !9
  %11120 = load i32, ptr %38, align 4, !tbaa !9
  %11121 = add i32 %11120, %11119
  store i32 %11121, ptr %38, align 4, !tbaa !9
  %11122 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11122, ptr %39, align 4, !tbaa !9
  store i32 15, ptr %40, align 4, !tbaa !9
  %11123 = load i32, ptr %40, align 4, !tbaa !9
  %11124 = load i32, ptr %39, align 4, !tbaa !9
  %11125 = add i32 %11124, %11123
  store i32 %11125, ptr %39, align 4, !tbaa !9
  %11126 = load ptr, ptr %8, align 8, !tbaa !5
  %11127 = load i32, ptr %37, align 4, !tbaa !9
  %11128 = load i32, ptr %38, align 4, !tbaa !9
  %11129 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %11126, i32 noundef %11127, i32 noundef %11128, i32 noundef %11129)
  %11130 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11130, ptr %37, align 4, !tbaa !9
  %11131 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11131, ptr %38, align 4, !tbaa !9
  %11132 = load ptr, ptr %8, align 8, !tbaa !5
  %11133 = getelementptr inbounds %struct.w2c_hermes, ptr %11132, i32 0, i32 6
  %11134 = load i32, ptr %38, align 4, !tbaa !9
  %11135 = zext i32 %11134 to i64
  %11136 = add i64 %11135, 16
  %11137 = call i32 @i32_load(ptr noundef %11133, i64 noundef %11136)
  store i32 %11137, ptr %38, align 4, !tbaa !9
  %11138 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11138, ptr %10, align 4, !tbaa !9
  %11139 = load i32, ptr %37, align 4, !tbaa !9
  %11140 = load i32, ptr %38, align 4, !tbaa !9
  %11141 = icmp eq i32 %11139, %11140
  %11142 = zext i1 %11141 to i32
  store i32 %11142, ptr %37, align 4, !tbaa !9
  %11143 = load i32, ptr %37, align 4, !tbaa !9
  %11144 = icmp ne i32 %11143, 0
  br i1 %11144, label %11145, label %11146

11145:                                            ; preds = %11081
  br label %12203

11146:                                            ; preds = %11081
  %11147 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11147, ptr %37, align 4, !tbaa !9
  %11148 = load ptr, ptr %8, align 8, !tbaa !5
  %11149 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %11148, i32 noundef %11149)
  br label %12203

11150:                                            ; preds = %10273
  %11151 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11151, ptr %37, align 4, !tbaa !9
  %11152 = load ptr, ptr %8, align 8, !tbaa !5
  %11153 = getelementptr inbounds %struct.w2c_hermes, ptr %11152, i32 0, i32 6
  %11154 = load i32, ptr %37, align 4, !tbaa !9
  %11155 = zext i32 %11154 to i64
  %11156 = add i64 %11155, 28
  %11157 = call i32 @i32_load8_u(ptr noundef %11153, i64 noundef %11156)
  store i32 %11157, ptr %37, align 4, !tbaa !9
  %11158 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11158, ptr %38, align 4, !tbaa !9
  %11159 = load ptr, ptr %8, align 8, !tbaa !5
  %11160 = getelementptr inbounds %struct.w2c_hermes, ptr %11159, i32 0, i32 6
  %11161 = load i32, ptr %38, align 4, !tbaa !9
  %11162 = zext i32 %11161 to i64
  %11163 = add i64 %11162, 16
  %11164 = call i32 @i32_load8_u(ptr noundef %11160, i64 noundef %11163)
  store i32 %11164, ptr %38, align 4, !tbaa !9
  store i32 8, ptr %39, align 4, !tbaa !9
  %11165 = load i32, ptr %39, align 4, !tbaa !9
  %11166 = load i32, ptr %38, align 4, !tbaa !9
  %11167 = and i32 %11166, %11165
  store i32 %11167, ptr %38, align 4, !tbaa !9
  %11168 = load i32, ptr %38, align 4, !tbaa !9
  %11169 = load i32, ptr %37, align 4, !tbaa !9
  %11170 = or i32 %11169, %11168
  store i32 %11170, ptr %37, align 4, !tbaa !9
  %11171 = load i32, ptr %37, align 4, !tbaa !9
  %11172 = icmp ne i32 %11171, 0
  br i1 %11172, label %11173, label %12031

11173:                                            ; preds = %11150
  %11174 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11174, ptr %37, align 4, !tbaa !9
  %11175 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11175, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %11176 = load i32, ptr %39, align 4, !tbaa !9
  %11177 = load i32, ptr %38, align 4, !tbaa !9
  %11178 = add i32 %11177, %11176
  store i32 %11178, ptr %38, align 4, !tbaa !9
  %11179 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11179, ptr %10, align 4, !tbaa !9
  %11180 = load ptr, ptr %8, align 8, !tbaa !5
  %11181 = getelementptr inbounds %struct.w2c_hermes, ptr %11180, i32 0, i32 6
  %11182 = load i32, ptr %37, align 4, !tbaa !9
  %11183 = zext i32 %11182 to i64
  %11184 = add i64 %11183, 4
  %11185 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11181, i64 noundef %11184, i32 noundef %11185)
  %11186 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11186, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %11187 = load ptr, ptr %8, align 8, !tbaa !5
  %11188 = getelementptr inbounds %struct.w2c_hermes, ptr %11187, i32 0, i32 6
  %11189 = load i32, ptr %37, align 4, !tbaa !9
  %11190 = zext i32 %11189 to i64
  %11191 = add i64 %11190, 20
  %11192 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %11188, i64 noundef %11191, i64 noundef %11192)
  %11193 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11193, ptr %37, align 4, !tbaa !9
  %11194 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11194, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11195 = load i32, ptr %39, align 4, !tbaa !9
  %11196 = load i32, ptr %38, align 4, !tbaa !9
  %11197 = add i32 %11196, %11195
  store i32 %11197, ptr %38, align 4, !tbaa !9
  %11198 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11198, ptr %21, align 4, !tbaa !9
  %11199 = load ptr, ptr %8, align 8, !tbaa !5
  %11200 = getelementptr inbounds %struct.w2c_hermes, ptr %11199, i32 0, i32 6
  %11201 = load i32, ptr %37, align 4, !tbaa !9
  %11202 = zext i32 %11201 to i64
  %11203 = add i64 %11202, 16
  %11204 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11200, i64 noundef %11203, i32 noundef %11204)
  %11205 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11205, ptr %37, align 4, !tbaa !9
  %11206 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11206, ptr %38, align 4, !tbaa !9
  %11207 = load i32, ptr %37, align 4, !tbaa !9
  %11208 = load i32, ptr %38, align 4, !tbaa !9
  %11209 = icmp eq i32 %11207, %11208
  %11210 = zext i1 %11209 to i32
  store i32 %11210, ptr %37, align 4, !tbaa !9
  %11211 = load i32, ptr %37, align 4, !tbaa !9
  %11212 = icmp ne i32 %11211, 0
  br i1 %11212, label %11213, label %11214

11213:                                            ; preds = %11173
  br label %11253

11214:                                            ; preds = %11173
  %11215 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11215, ptr %37, align 4, !tbaa !9
  %11216 = load ptr, ptr %8, align 8, !tbaa !5
  %11217 = getelementptr inbounds %struct.w2c_hermes, ptr %11216, i32 0, i32 6
  %11218 = load i32, ptr %37, align 4, !tbaa !9
  %11219 = zext i32 %11218 to i64
  %11220 = call i32 @i32_load16_u(ptr noundef %11217, i64 noundef %11219)
  store i32 %11220, ptr %37, align 4, !tbaa !9
  store i32 60, ptr %38, align 4, !tbaa !9
  %11221 = load i32, ptr %37, align 4, !tbaa !9
  %11222 = load i32, ptr %38, align 4, !tbaa !9
  %11223 = icmp ne i32 %11221, %11222
  %11224 = zext i1 %11223 to i32
  store i32 %11224, ptr %37, align 4, !tbaa !9
  %11225 = load i32, ptr %37, align 4, !tbaa !9
  %11226 = icmp ne i32 %11225, 0
  br i1 %11226, label %11227, label %11228

11227:                                            ; preds = %11214
  br label %11253

11228:                                            ; preds = %11214
  %11229 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11229, ptr %37, align 4, !tbaa !9
  %11230 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11230, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %11231 = load i32, ptr %39, align 4, !tbaa !9
  %11232 = load i32, ptr %38, align 4, !tbaa !9
  %11233 = add i32 %11232, %11231
  store i32 %11233, ptr %38, align 4, !tbaa !9
  %11234 = load ptr, ptr %8, align 8, !tbaa !5
  %11235 = getelementptr inbounds %struct.w2c_hermes, ptr %11234, i32 0, i32 6
  %11236 = load i32, ptr %37, align 4, !tbaa !9
  %11237 = zext i32 %11236 to i64
  %11238 = add i64 %11237, 4
  %11239 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11235, i64 noundef %11238, i32 noundef %11239)
  %11240 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11240, ptr %37, align 4, !tbaa !9
  %11241 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11241, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %11242 = load i32, ptr %39, align 4, !tbaa !9
  %11243 = load i32, ptr %38, align 4, !tbaa !9
  %11244 = add i32 %11243, %11242
  store i32 %11244, ptr %38, align 4, !tbaa !9
  %11245 = load ptr, ptr %8, align 8, !tbaa !5
  %11246 = load i32, ptr %37, align 4, !tbaa !9
  %11247 = load i32, ptr %38, align 4, !tbaa !9
  %11248 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeGroupName0x28llvh0x3A0x3ASmallVector0x3Cchar16_t0x2C0x205u0x3E0x260x29(ptr noundef %11245, i32 noundef %11246, i32 noundef %11247)
  store i32 %11248, ptr %37, align 4, !tbaa !9
  %11249 = load i32, ptr %37, align 4, !tbaa !9
  %11250 = icmp ne i32 %11249, 0
  br i1 %11250, label %11251, label %11252

11251:                                            ; preds = %11228
  br label %11310

11252:                                            ; preds = %11228
  br label %11253

11253:                                            ; preds = %11252, %11227, %11213
  %11254 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11254, ptr %37, align 4, !tbaa !9
  %11255 = load ptr, ptr %8, align 8, !tbaa !5
  %11256 = getelementptr inbounds %struct.w2c_hermes, ptr %11255, i32 0, i32 6
  %11257 = load i32, ptr %37, align 4, !tbaa !9
  %11258 = zext i32 %11257 to i64
  %11259 = add i64 %11258, 12
  %11260 = call i32 @i32_load(ptr noundef %11256, i64 noundef %11259)
  store i32 %11260, ptr %37, align 4, !tbaa !9
  %11261 = load i32, ptr %37, align 4, !tbaa !9
  %11262 = icmp ne i32 %11261, 0
  %11263 = xor i1 %11262, true
  %11264 = zext i1 %11263 to i32
  store i32 %11264, ptr %37, align 4, !tbaa !9
  %11265 = load i32, ptr %37, align 4, !tbaa !9
  %11266 = icmp ne i32 %11265, 0
  br i1 %11266, label %11267, label %11289

11267:                                            ; preds = %11253
  %11268 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11268, ptr %37, align 4, !tbaa !9
  store i32 14, ptr %38, align 4, !tbaa !9
  %11269 = load ptr, ptr %8, align 8, !tbaa !5
  %11270 = getelementptr inbounds %struct.w2c_hermes, ptr %11269, i32 0, i32 6
  %11271 = load i32, ptr %37, align 4, !tbaa !9
  %11272 = zext i32 %11271 to i64
  %11273 = add i64 %11272, 12
  %11274 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11270, i64 noundef %11273, i32 noundef %11274)
  %11275 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11275, ptr %37, align 4, !tbaa !9
  %11276 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11276, ptr %38, align 4, !tbaa !9
  %11277 = load ptr, ptr %8, align 8, !tbaa !5
  %11278 = getelementptr inbounds %struct.w2c_hermes, ptr %11277, i32 0, i32 6
  %11279 = load i32, ptr %38, align 4, !tbaa !9
  %11280 = zext i32 %11279 to i64
  %11281 = add i64 %11280, 8
  %11282 = call i32 @i32_load(ptr noundef %11278, i64 noundef %11281)
  store i32 %11282, ptr %38, align 4, !tbaa !9
  %11283 = load ptr, ptr %8, align 8, !tbaa !5
  %11284 = getelementptr inbounds %struct.w2c_hermes, ptr %11283, i32 0, i32 6
  %11285 = load i32, ptr %37, align 4, !tbaa !9
  %11286 = zext i32 %11285 to i64
  %11287 = add i64 %11286, 4
  %11288 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11284, i64 noundef %11287, i32 noundef %11288)
  br label %11289

11289:                                            ; preds = %11267, %11253
  %11290 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11290, ptr %37, align 4, !tbaa !9
  %11291 = load ptr, ptr %8, align 8, !tbaa !5
  %11292 = getelementptr inbounds %struct.w2c_hermes, ptr %11291, i32 0, i32 6
  %11293 = load i32, ptr %37, align 4, !tbaa !9
  %11294 = zext i32 %11293 to i64
  %11295 = add i64 %11294, 16
  %11296 = call i32 @i32_load(ptr noundef %11292, i64 noundef %11295)
  store i32 %11296, ptr %37, align 4, !tbaa !9
  %11297 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11297, ptr %10, align 4, !tbaa !9
  %11298 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %11298, ptr %38, align 4, !tbaa !9
  %11299 = load i32, ptr %37, align 4, !tbaa !9
  %11300 = load i32, ptr %38, align 4, !tbaa !9
  %11301 = icmp eq i32 %11299, %11300
  %11302 = zext i1 %11301 to i32
  store i32 %11302, ptr %37, align 4, !tbaa !9
  %11303 = load i32, ptr %37, align 4, !tbaa !9
  %11304 = icmp ne i32 %11303, 0
  br i1 %11304, label %11305, label %11306

11305:                                            ; preds = %11289
  br label %12203

11306:                                            ; preds = %11289
  %11307 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11307, ptr %37, align 4, !tbaa !9
  %11308 = load ptr, ptr %8, align 8, !tbaa !5
  %11309 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %11308, i32 noundef %11309)
  br label %12203

11310:                                            ; preds = %11251
  %11311 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %11311, ptr %37, align 4, !tbaa !9
  %11312 = load ptr, ptr %8, align 8, !tbaa !5
  %11313 = getelementptr inbounds %struct.w2c_hermes, ptr %11312, i32 0, i32 6
  %11314 = load i32, ptr %37, align 4, !tbaa !9
  %11315 = zext i32 %11314 to i64
  %11316 = call i32 @i32_load(ptr noundef %11313, i64 noundef %11315)
  store i32 %11316, ptr %37, align 4, !tbaa !9
  %11317 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11317, ptr %14, align 4, !tbaa !9
  %11318 = load ptr, ptr %8, align 8, !tbaa !5
  %11319 = getelementptr inbounds %struct.w2c_hermes, ptr %11318, i32 0, i32 3
  %11320 = load i32, ptr %11319, align 8, !tbaa !13
  store i32 %11320, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %11321 = load i32, ptr %38, align 4, !tbaa !9
  %11322 = load i32, ptr %37, align 4, !tbaa !9
  %11323 = sub i32 %11322, %11321
  store i32 %11323, ptr %37, align 4, !tbaa !9
  %11324 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11324, ptr %19, align 4, !tbaa !9
  %11325 = load i32, ptr %37, align 4, !tbaa !9
  %11326 = load ptr, ptr %8, align 8, !tbaa !5
  %11327 = getelementptr inbounds %struct.w2c_hermes, ptr %11326, i32 0, i32 3
  store i32 %11325, ptr %11327, align 8, !tbaa !13
  %11328 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11328, ptr %37, align 4, !tbaa !9
  %11329 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %11329, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %11330 = load i32, ptr %39, align 4, !tbaa !9
  %11331 = load i32, ptr %38, align 4, !tbaa !9
  %11332 = add i32 %11331, %11330
  store i32 %11332, ptr %38, align 4, !tbaa !9
  %11333 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11333, ptr %11, align 4, !tbaa !9
  %11334 = load ptr, ptr %8, align 8, !tbaa !5
  %11335 = getelementptr inbounds %struct.w2c_hermes, ptr %11334, i32 0, i32 6
  %11336 = load i32, ptr %38, align 4, !tbaa !9
  %11337 = zext i32 %11336 to i64
  %11338 = call i32 @i32_load(ptr noundef %11335, i64 noundef %11337)
  store i32 %11338, ptr %38, align 4, !tbaa !9
  %11339 = load ptr, ptr %8, align 8, !tbaa !5
  %11340 = getelementptr inbounds %struct.w2c_hermes, ptr %11339, i32 0, i32 6
  %11341 = load i32, ptr %37, align 4, !tbaa !9
  %11342 = zext i32 %11341 to i64
  %11343 = add i64 %11342, 4
  %11344 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11340, i64 noundef %11343, i32 noundef %11344)
  %11345 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11345, ptr %37, align 4, !tbaa !9
  %11346 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11346, ptr %38, align 4, !tbaa !9
  %11347 = load ptr, ptr %8, align 8, !tbaa !5
  %11348 = getelementptr inbounds %struct.w2c_hermes, ptr %11347, i32 0, i32 6
  %11349 = load i32, ptr %38, align 4, !tbaa !9
  %11350 = zext i32 %11349 to i64
  %11351 = add i64 %11350, 4
  %11352 = call i32 @i32_load(ptr noundef %11348, i64 noundef %11351)
  store i32 %11352, ptr %38, align 4, !tbaa !9
  %11353 = load ptr, ptr %8, align 8, !tbaa !5
  %11354 = getelementptr inbounds %struct.w2c_hermes, ptr %11353, i32 0, i32 6
  %11355 = load i32, ptr %37, align 4, !tbaa !9
  %11356 = zext i32 %11355 to i64
  %11357 = add i64 %11356, 8
  %11358 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11354, i64 noundef %11357, i32 noundef %11358)
  %11359 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11359, ptr %37, align 4, !tbaa !9
  store i32 200, ptr %38, align 4, !tbaa !9
  %11360 = load i32, ptr %38, align 4, !tbaa !9
  %11361 = load i32, ptr %37, align 4, !tbaa !9
  %11362 = add i32 %11361, %11360
  store i32 %11362, ptr %37, align 4, !tbaa !9
  %11363 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11363, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %11364 = load i32, ptr %39, align 4, !tbaa !9
  %11365 = load i32, ptr %38, align 4, !tbaa !9
  %11366 = add i32 %11365, %11364
  store i32 %11366, ptr %38, align 4, !tbaa !9
  %11367 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11367, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %11368 = load i32, ptr %40, align 4, !tbaa !9
  %11369 = load i32, ptr %39, align 4, !tbaa !9
  %11370 = add i32 %11369, %11368
  store i32 %11370, ptr %39, align 4, !tbaa !9
  %11371 = load ptr, ptr %8, align 8, !tbaa !5
  %11372 = load i32, ptr %37, align 4, !tbaa !9
  %11373 = load i32, ptr %38, align 4, !tbaa !9
  %11374 = load i32, ptr %39, align 4, !tbaa !9
  %11375 = call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef %11371, i32 noundef %11372, i32 noundef %11373, i32 noundef %11374)
  store i32 %11375, ptr %37, align 4, !tbaa !9
  %11376 = load i32, ptr %37, align 4, !tbaa !9
  %11377 = icmp ne i32 %11376, 0
  br i1 %11377, label %11378, label %11415

11378:                                            ; preds = %11310
  %11379 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11379, ptr %37, align 4, !tbaa !9
  %11380 = load ptr, ptr %8, align 8, !tbaa !5
  %11381 = getelementptr inbounds %struct.w2c_hermes, ptr %11380, i32 0, i32 6
  %11382 = load i32, ptr %37, align 4, !tbaa !9
  %11383 = zext i32 %11382 to i64
  %11384 = add i64 %11383, 12
  %11385 = call i32 @i32_load(ptr noundef %11381, i64 noundef %11384)
  store i32 %11385, ptr %37, align 4, !tbaa !9
  %11386 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11386, ptr %10, align 4, !tbaa !9
  %11387 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11387, ptr %38, align 4, !tbaa !9
  %11388 = load ptr, ptr %8, align 8, !tbaa !5
  %11389 = getelementptr inbounds %struct.w2c_hermes, ptr %11388, i32 0, i32 6
  %11390 = load i32, ptr %38, align 4, !tbaa !9
  %11391 = zext i32 %11390 to i64
  %11392 = add i64 %11391, 200
  %11393 = call i32 @i32_load(ptr noundef %11389, i64 noundef %11392)
  store i32 %11393, ptr %38, align 4, !tbaa !9
  %11394 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11394, ptr %39, align 4, !tbaa !9
  %11395 = load ptr, ptr %8, align 8, !tbaa !5
  %11396 = getelementptr inbounds %struct.w2c_hermes, ptr %11395, i32 0, i32 6
  %11397 = load i32, ptr %39, align 4, !tbaa !9
  %11398 = zext i32 %11397 to i64
  %11399 = add i64 %11398, 212
  %11400 = call i32 @i32_load(ptr noundef %11396, i64 noundef %11399)
  store i32 %11400, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %11401 = load i32, ptr %40, align 4, !tbaa !9
  %11402 = load i32, ptr %39, align 4, !tbaa !9
  %11403 = mul i32 %11402, %11401
  store i32 %11403, ptr %39, align 4, !tbaa !9
  %11404 = load i32, ptr %39, align 4, !tbaa !9
  %11405 = load i32, ptr %38, align 4, !tbaa !9
  %11406 = add i32 %11405, %11404
  store i32 %11406, ptr %38, align 4, !tbaa !9
  %11407 = load i32, ptr %37, align 4, !tbaa !9
  %11408 = load i32, ptr %38, align 4, !tbaa !9
  %11409 = icmp ne i32 %11407, %11408
  %11410 = zext i1 %11409 to i32
  store i32 %11410, ptr %37, align 4, !tbaa !9
  %11411 = load i32, ptr %37, align 4, !tbaa !9
  %11412 = icmp ne i32 %11411, 0
  br i1 %11412, label %11413, label %11414

11413:                                            ; preds = %11378
  br label %11976

11414:                                            ; preds = %11378
  br label %11415

11415:                                            ; preds = %11414, %11310
  %11416 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11416, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %11417 = load ptr, ptr %8, align 8, !tbaa !5
  %11418 = getelementptr inbounds %struct.w2c_hermes, ptr %11417, i32 0, i32 6
  %11419 = load i32, ptr %37, align 4, !tbaa !9
  %11420 = zext i32 %11419 to i64
  %11421 = add i64 %11420, 12
  %11422 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11418, i64 noundef %11421, i32 noundef %11422)
  %11423 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11423, ptr %37, align 4, !tbaa !9
  %11424 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11424, ptr %38, align 4, !tbaa !9
  %11425 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11425, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %11426 = load i32, ptr %40, align 4, !tbaa !9
  %11427 = load i32, ptr %39, align 4, !tbaa !9
  %11428 = add i32 %11427, %11426
  store i32 %11428, ptr %39, align 4, !tbaa !9
  %11429 = load ptr, ptr %8, align 8, !tbaa !5
  %11430 = load i32, ptr %38, align 4, !tbaa !9
  %11431 = load i32, ptr %39, align 4, !tbaa !9
  %11432 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef %11429, i32 noundef %11430, i32 noundef %11431)
  store i32 %11432, ptr %38, align 4, !tbaa !9
  %11433 = load ptr, ptr %8, align 8, !tbaa !5
  %11434 = getelementptr inbounds %struct.w2c_hermes, ptr %11433, i32 0, i32 6
  %11435 = load i32, ptr %37, align 4, !tbaa !9
  %11436 = zext i32 %11435 to i64
  %11437 = add i64 %11436, 4
  %11438 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11434, i64 noundef %11437, i32 noundef %11438)
  %11439 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11439, ptr %37, align 4, !tbaa !9
  %11440 = load ptr, ptr %8, align 8, !tbaa !5
  %11441 = getelementptr inbounds %struct.w2c_hermes, ptr %11440, i32 0, i32 6
  %11442 = load i32, ptr %37, align 4, !tbaa !9
  %11443 = zext i32 %11442 to i64
  %11444 = add i64 %11443, 224
  %11445 = call i32 @i32_load(ptr noundef %11441, i64 noundef %11444)
  store i32 %11445, ptr %37, align 4, !tbaa !9
  %11446 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11446, ptr %10, align 4, !tbaa !9
  %11447 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11447, ptr %38, align 4, !tbaa !9
  %11448 = load ptr, ptr %8, align 8, !tbaa !5
  %11449 = getelementptr inbounds %struct.w2c_hermes, ptr %11448, i32 0, i32 6
  %11450 = load i32, ptr %38, align 4, !tbaa !9
  %11451 = zext i32 %11450 to i64
  %11452 = add i64 %11451, 228
  %11453 = call i32 @i32_load(ptr noundef %11449, i64 noundef %11452)
  store i32 %11453, ptr %38, align 4, !tbaa !9
  %11454 = load i32, ptr %37, align 4, !tbaa !9
  %11455 = load i32, ptr %38, align 4, !tbaa !9
  %11456 = icmp ult i32 %11454, %11455
  %11457 = zext i1 %11456 to i32
  store i32 %11457, ptr %37, align 4, !tbaa !9
  %11458 = load i32, ptr %37, align 4, !tbaa !9
  %11459 = icmp ne i32 %11458, 0
  br i1 %11459, label %11460, label %11519

11460:                                            ; preds = %11415
  %11461 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11461, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %11462 = load ptr, ptr %8, align 8, !tbaa !5
  %11463 = getelementptr inbounds %struct.w2c_hermes, ptr %11462, i32 0, i32 6
  %11464 = load i32, ptr %37, align 4, !tbaa !9
  %11465 = zext i32 %11464 to i64
  %11466 = add i64 %11465, 4
  %11467 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %11463, i64 noundef %11466, i64 noundef %11467)
  %11468 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11468, ptr %37, align 4, !tbaa !9
  %11469 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11469, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %11470 = load i32, ptr %39, align 4, !tbaa !9
  %11471 = load i32, ptr %38, align 4, !tbaa !9
  %11472 = add i32 %11471, %11470
  store i32 %11472, ptr %38, align 4, !tbaa !9
  %11473 = load ptr, ptr %8, align 8, !tbaa !5
  %11474 = getelementptr inbounds %struct.w2c_hermes, ptr %11473, i32 0, i32 6
  %11475 = load i32, ptr %37, align 4, !tbaa !9
  %11476 = zext i32 %11475 to i64
  %11477 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11474, i64 noundef %11476, i32 noundef %11477)
  %11478 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11478, ptr %37, align 4, !tbaa !9
  %11479 = load ptr, ptr %8, align 8, !tbaa !5
  %11480 = getelementptr inbounds %struct.w2c_hermes, ptr %11479, i32 0, i32 6
  %11481 = load i32, ptr %37, align 4, !tbaa !9
  %11482 = zext i32 %11481 to i64
  %11483 = add i64 %11482, 4
  %11484 = call i32 @i32_load(ptr noundef %11480, i64 noundef %11483)
  store i32 %11484, ptr %37, align 4, !tbaa !9
  %11485 = load i32, ptr %37, align 4, !tbaa !9
  %11486 = icmp ne i32 %11485, 0
  br i1 %11486, label %11487, label %11493

11487:                                            ; preds = %11460
  %11488 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11488, ptr %37, align 4, !tbaa !9
  %11489 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11489, ptr %38, align 4, !tbaa !9
  %11490 = load ptr, ptr %8, align 8, !tbaa !5
  %11491 = load i32, ptr %37, align 4, !tbaa !9
  %11492 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef %11490, i32 noundef %11491, i32 noundef %11492)
  br label %11493

11493:                                            ; preds = %11487, %11460
  %11494 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11494, ptr %37, align 4, !tbaa !9
  %11495 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11495, ptr %38, align 4, !tbaa !9
  %11496 = load ptr, ptr %8, align 8, !tbaa !5
  %11497 = getelementptr inbounds %struct.w2c_hermes, ptr %11496, i32 0, i32 6
  %11498 = load i32, ptr %38, align 4, !tbaa !9
  %11499 = zext i32 %11498 to i64
  %11500 = add i64 %11499, 4
  %11501 = call i32 @i32_load(ptr noundef %11497, i64 noundef %11500)
  store i32 %11501, ptr %38, align 4, !tbaa !9
  %11502 = load ptr, ptr %8, align 8, !tbaa !5
  %11503 = getelementptr inbounds %struct.w2c_hermes, ptr %11502, i32 0, i32 6
  %11504 = load i32, ptr %37, align 4, !tbaa !9
  %11505 = zext i32 %11504 to i64
  %11506 = add i64 %11505, 24
  %11507 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11503, i64 noundef %11506, i32 noundef %11507)
  %11508 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11508, ptr %37, align 4, !tbaa !9
  %11509 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11509, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11510 = load i32, ptr %39, align 4, !tbaa !9
  %11511 = load i32, ptr %38, align 4, !tbaa !9
  %11512 = add i32 %11511, %11510
  store i32 %11512, ptr %38, align 4, !tbaa !9
  %11513 = load ptr, ptr %8, align 8, !tbaa !5
  %11514 = getelementptr inbounds %struct.w2c_hermes, ptr %11513, i32 0, i32 6
  %11515 = load i32, ptr %37, align 4, !tbaa !9
  %11516 = zext i32 %11515 to i64
  %11517 = add i64 %11516, 224
  %11518 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11514, i64 noundef %11517, i32 noundef %11518)
  br label %12003

11519:                                            ; preds = %11415
  %11520 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11520, ptr %37, align 4, !tbaa !9
  %11521 = load ptr, ptr %8, align 8, !tbaa !5
  %11522 = getelementptr inbounds %struct.w2c_hermes, ptr %11521, i32 0, i32 6
  %11523 = load i32, ptr %37, align 4, !tbaa !9
  %11524 = zext i32 %11523 to i64
  %11525 = add i64 %11524, 224
  %11526 = call i32 @i32_load(ptr noundef %11522, i64 noundef %11525)
  store i32 %11526, ptr %37, align 4, !tbaa !9
  %11527 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11527, ptr %13, align 4, !tbaa !9
  %11528 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11528, ptr %38, align 4, !tbaa !9
  %11529 = load ptr, ptr %8, align 8, !tbaa !5
  %11530 = getelementptr inbounds %struct.w2c_hermes, ptr %11529, i32 0, i32 6
  %11531 = load i32, ptr %38, align 4, !tbaa !9
  %11532 = zext i32 %11531 to i64
  %11533 = add i64 %11532, 220
  %11534 = call i32 @i32_load(ptr noundef %11530, i64 noundef %11533)
  store i32 %11534, ptr %38, align 4, !tbaa !9
  %11535 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11535, ptr %20, align 4, !tbaa !9
  %11536 = load i32, ptr %38, align 4, !tbaa !9
  %11537 = load i32, ptr %37, align 4, !tbaa !9
  %11538 = sub i32 %11537, %11536
  store i32 %11538, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11539 = load i32, ptr %38, align 4, !tbaa !9
  %11540 = icmp eq i32 %11539, 0
  %11541 = xor i1 %11540, true
  %11542 = xor i1 %11541, true
  %11543 = zext i1 %11542 to i32
  %11544 = sext i32 %11543 to i64
  %11545 = call i64 @llvm.expect.i64(i64 %11544, i64 0)
  %11546 = icmp ne i64 %11545, 0
  br i1 %11546, label %11547, label %11549

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

11548:                                            ; No predecessors!
  br label %11571

11549:                                            ; preds = %11519
  %11550 = load i32, ptr %37, align 4, !tbaa !9
  %11551 = icmp eq i32 %11550, -2147483648
  br i1 %11551, label %11552, label %11555

11552:                                            ; preds = %11549
  %11553 = load i32, ptr %38, align 4, !tbaa !9
  %11554 = icmp eq i32 %11553, -1
  br label %11555

11555:                                            ; preds = %11552, %11549
  %11556 = phi i1 [ false, %11549 ], [ %11554, %11552 ]
  %11557 = xor i1 %11556, true
  %11558 = xor i1 %11557, true
  %11559 = zext i1 %11558 to i32
  %11560 = sext i32 %11559 to i64
  %11561 = call i64 @llvm.expect.i64(i64 %11560, i64 0)
  %11562 = icmp ne i64 %11561, 0
  br i1 %11562, label %11563, label %11565

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

11564:                                            ; No predecessors!
  br label %11569

11565:                                            ; preds = %11555
  %11566 = load i32, ptr %37, align 4, !tbaa !9
  %11567 = load i32, ptr %38, align 4, !tbaa !9
  %11568 = sdiv i32 %11566, %11567
  br label %11569

11569:                                            ; preds = %11565, %11564
  %11570 = phi i32 [ 0, %11564 ], [ %11568, %11565 ]
  br label %11571

11571:                                            ; preds = %11569, %11548
  %11572 = phi i32 [ 0, %11548 ], [ %11570, %11569 ]
  store i32 %11572, ptr %37, align 4, !tbaa !9
  %11573 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11573, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %11574 = load i32, ptr %38, align 4, !tbaa !9
  %11575 = load i32, ptr %37, align 4, !tbaa !9
  %11576 = add i32 %11575, %11574
  store i32 %11576, ptr %37, align 4, !tbaa !9
  %11577 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11577, ptr %10, align 4, !tbaa !9
  store i32 153391690, ptr %38, align 4, !tbaa !9
  %11578 = load i32, ptr %37, align 4, !tbaa !9
  %11579 = load i32, ptr %38, align 4, !tbaa !9
  %11580 = icmp ult i32 %11578, %11579
  %11581 = zext i1 %11580 to i32
  store i32 %11581, ptr %37, align 4, !tbaa !9
  %11582 = load i32, ptr %37, align 4, !tbaa !9
  %11583 = icmp ne i32 %11582, 0
  br i1 %11583, label %11584, label %11941

11584:                                            ; preds = %11571
  store i32 153391689, ptr %37, align 4, !tbaa !9
  %11585 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11585, ptr %38, align 4, !tbaa !9
  %11586 = load ptr, ptr %8, align 8, !tbaa !5
  %11587 = getelementptr inbounds %struct.w2c_hermes, ptr %11586, i32 0, i32 6
  %11588 = load i32, ptr %38, align 4, !tbaa !9
  %11589 = zext i32 %11588 to i64
  %11590 = add i64 %11589, 228
  %11591 = call i32 @i32_load(ptr noundef %11587, i64 noundef %11590)
  store i32 %11591, ptr %38, align 4, !tbaa !9
  %11592 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11592, ptr %39, align 4, !tbaa !9
  %11593 = load i32, ptr %39, align 4, !tbaa !9
  %11594 = load i32, ptr %38, align 4, !tbaa !9
  %11595 = sub i32 %11594, %11593
  store i32 %11595, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11596 = load i32, ptr %39, align 4, !tbaa !9
  %11597 = icmp eq i32 %11596, 0
  %11598 = xor i1 %11597, true
  %11599 = xor i1 %11598, true
  %11600 = zext i1 %11599 to i32
  %11601 = sext i32 %11600 to i64
  %11602 = call i64 @llvm.expect.i64(i64 %11601, i64 0)
  %11603 = icmp ne i64 %11602, 0
  br i1 %11603, label %11604, label %11606

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

11605:                                            ; No predecessors!
  br label %11628

11606:                                            ; preds = %11584
  %11607 = load i32, ptr %38, align 4, !tbaa !9
  %11608 = icmp eq i32 %11607, -2147483648
  br i1 %11608, label %11609, label %11612

11609:                                            ; preds = %11606
  %11610 = load i32, ptr %39, align 4, !tbaa !9
  %11611 = icmp eq i32 %11610, -1
  br label %11612

11612:                                            ; preds = %11609, %11606
  %11613 = phi i1 [ false, %11606 ], [ %11611, %11609 ]
  %11614 = xor i1 %11613, true
  %11615 = xor i1 %11614, true
  %11616 = zext i1 %11615 to i32
  %11617 = sext i32 %11616 to i64
  %11618 = call i64 @llvm.expect.i64(i64 %11617, i64 0)
  %11619 = icmp ne i64 %11618, 0
  br i1 %11619, label %11620, label %11622

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

11621:                                            ; No predecessors!
  br label %11626

11622:                                            ; preds = %11612
  %11623 = load i32, ptr %38, align 4, !tbaa !9
  %11624 = load i32, ptr %39, align 4, !tbaa !9
  %11625 = sdiv i32 %11623, %11624
  br label %11626

11626:                                            ; preds = %11622, %11621
  %11627 = phi i32 [ 0, %11621 ], [ %11625, %11622 ]
  br label %11628

11628:                                            ; preds = %11626, %11605
  %11629 = phi i32 [ 0, %11605 ], [ %11627, %11626 ]
  store i32 %11629, ptr %38, align 4, !tbaa !9
  %11630 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11630, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %11631 = load i32, ptr %39, align 4, !tbaa !9
  %11632 = and i32 %11631, 31
  %11633 = load i32, ptr %38, align 4, !tbaa !9
  %11634 = shl i32 %11633, %11632
  store i32 %11634, ptr %38, align 4, !tbaa !9
  %11635 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11635, ptr %25, align 4, !tbaa !9
  %11636 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11636, ptr %39, align 4, !tbaa !9
  %11637 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11637, ptr %40, align 4, !tbaa !9
  %11638 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %11638, ptr %41, align 4, !tbaa !9
  %11639 = load i32, ptr %40, align 4, !tbaa !9
  %11640 = load i32, ptr %41, align 4, !tbaa !9
  %11641 = icmp ult i32 %11639, %11640
  %11642 = zext i1 %11641 to i32
  store i32 %11642, ptr %40, align 4, !tbaa !9
  %11643 = load i32, ptr %40, align 4, !tbaa !9
  %11644 = icmp ne i32 %11643, 0
  br i1 %11644, label %11645, label %11647

11645:                                            ; preds = %11628
  %11646 = load i32, ptr %38, align 4, !tbaa !9
  br label %11649

11647:                                            ; preds = %11628
  %11648 = load i32, ptr %39, align 4, !tbaa !9
  br label %11649

11649:                                            ; preds = %11647, %11645
  %11650 = phi i32 [ %11646, %11645 ], [ %11648, %11647 ]
  store i32 %11650, ptr %38, align 4, !tbaa !9
  %11651 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %11651, ptr %39, align 4, !tbaa !9
  store i32 76695844, ptr %40, align 4, !tbaa !9
  %11652 = load i32, ptr %39, align 4, !tbaa !9
  %11653 = load i32, ptr %40, align 4, !tbaa !9
  %11654 = icmp uge i32 %11652, %11653
  %11655 = zext i1 %11654 to i32
  store i32 %11655, ptr %39, align 4, !tbaa !9
  %11656 = load i32, ptr %39, align 4, !tbaa !9
  %11657 = icmp ne i32 %11656, 0
  br i1 %11657, label %11658, label %11660

11658:                                            ; preds = %11649
  %11659 = load i32, ptr %37, align 4, !tbaa !9
  br label %11662

11660:                                            ; preds = %11649
  %11661 = load i32, ptr %38, align 4, !tbaa !9
  br label %11662

11662:                                            ; preds = %11660, %11658
  %11663 = phi i32 [ %11659, %11658 ], [ %11661, %11660 ]
  store i32 %11663, ptr %37, align 4, !tbaa !9
  %11664 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11664, ptr %10, align 4, !tbaa !9
  %11665 = load i32, ptr %37, align 4, !tbaa !9
  %11666 = icmp ne i32 %11665, 0
  br i1 %11666, label %11667, label %11684

11667:                                            ; preds = %11662
  %11668 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11668, ptr %37, align 4, !tbaa !9
  store i32 153391690, ptr %38, align 4, !tbaa !9
  %11669 = load i32, ptr %37, align 4, !tbaa !9
  %11670 = load i32, ptr %38, align 4, !tbaa !9
  %11671 = icmp uge i32 %11669, %11670
  %11672 = zext i1 %11671 to i32
  store i32 %11672, ptr %37, align 4, !tbaa !9
  %11673 = load i32, ptr %37, align 4, !tbaa !9
  %11674 = icmp ne i32 %11673, 0
  br i1 %11674, label %11675, label %11676

11675:                                            ; preds = %11667
  br label %18026

11676:                                            ; preds = %11667
  %11677 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11677, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11678 = load i32, ptr %38, align 4, !tbaa !9
  %11679 = load i32, ptr %37, align 4, !tbaa !9
  %11680 = mul i32 %11679, %11678
  store i32 %11680, ptr %37, align 4, !tbaa !9
  %11681 = load ptr, ptr %8, align 8, !tbaa !5
  %11682 = load i32, ptr %37, align 4, !tbaa !9
  %11683 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %11681, i32 noundef %11682)
  store i32 %11683, ptr %37, align 4, !tbaa !9
  br label %11685

11684:                                            ; preds = %11662
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %11685

11685:                                            ; preds = %11684, %11676
  %11686 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11686, ptr %23, align 4, !tbaa !9
  %11687 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11687, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11688 = load i32, ptr %39, align 4, !tbaa !9
  %11689 = load i32, ptr %38, align 4, !tbaa !9
  %11690 = mul i32 %11689, %11688
  store i32 %11690, ptr %38, align 4, !tbaa !9
  %11691 = load i32, ptr %38, align 4, !tbaa !9
  %11692 = load i32, ptr %37, align 4, !tbaa !9
  %11693 = add i32 %11692, %11691
  store i32 %11693, ptr %37, align 4, !tbaa !9
  %11694 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11694, ptr %12, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %11695 = load ptr, ptr %8, align 8, !tbaa !5
  %11696 = getelementptr inbounds %struct.w2c_hermes, ptr %11695, i32 0, i32 6
  %11697 = load i32, ptr %37, align 4, !tbaa !9
  %11698 = zext i32 %11697 to i64
  %11699 = add i64 %11698, 4
  %11700 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %11696, i64 noundef %11699, i64 noundef %11700)
  %11701 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11701, ptr %37, align 4, !tbaa !9
  %11702 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11702, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %11703 = load i32, ptr %39, align 4, !tbaa !9
  %11704 = load i32, ptr %38, align 4, !tbaa !9
  %11705 = add i32 %11704, %11703
  store i32 %11705, ptr %38, align 4, !tbaa !9
  %11706 = load ptr, ptr %8, align 8, !tbaa !5
  %11707 = getelementptr inbounds %struct.w2c_hermes, ptr %11706, i32 0, i32 6
  %11708 = load i32, ptr %37, align 4, !tbaa !9
  %11709 = zext i32 %11708 to i64
  %11710 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11707, i64 noundef %11709, i32 noundef %11710)
  %11711 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11711, ptr %37, align 4, !tbaa !9
  %11712 = load ptr, ptr %8, align 8, !tbaa !5
  %11713 = getelementptr inbounds %struct.w2c_hermes, ptr %11712, i32 0, i32 6
  %11714 = load i32, ptr %37, align 4, !tbaa !9
  %11715 = zext i32 %11714 to i64
  %11716 = add i64 %11715, 4
  %11717 = call i32 @i32_load(ptr noundef %11713, i64 noundef %11716)
  store i32 %11717, ptr %37, align 4, !tbaa !9
  %11718 = load i32, ptr %37, align 4, !tbaa !9
  %11719 = icmp ne i32 %11718, 0
  br i1 %11719, label %11720, label %11742

11720:                                            ; preds = %11685
  %11721 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11721, ptr %37, align 4, !tbaa !9
  %11722 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11722, ptr %38, align 4, !tbaa !9
  %11723 = load ptr, ptr %8, align 8, !tbaa !5
  %11724 = load i32, ptr %37, align 4, !tbaa !9
  %11725 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef %11723, i32 noundef %11724, i32 noundef %11725)
  %11726 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11726, ptr %37, align 4, !tbaa !9
  %11727 = load ptr, ptr %8, align 8, !tbaa !5
  %11728 = getelementptr inbounds %struct.w2c_hermes, ptr %11727, i32 0, i32 6
  %11729 = load i32, ptr %37, align 4, !tbaa !9
  %11730 = zext i32 %11729 to i64
  %11731 = add i64 %11730, 220
  %11732 = call i32 @i32_load(ptr noundef %11728, i64 noundef %11731)
  store i32 %11732, ptr %37, align 4, !tbaa !9
  %11733 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11733, ptr %20, align 4, !tbaa !9
  %11734 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11734, ptr %37, align 4, !tbaa !9
  %11735 = load ptr, ptr %8, align 8, !tbaa !5
  %11736 = getelementptr inbounds %struct.w2c_hermes, ptr %11735, i32 0, i32 6
  %11737 = load i32, ptr %37, align 4, !tbaa !9
  %11738 = zext i32 %11737 to i64
  %11739 = add i64 %11738, 224
  %11740 = call i32 @i32_load(ptr noundef %11736, i64 noundef %11739)
  store i32 %11740, ptr %37, align 4, !tbaa !9
  %11741 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11741, ptr %13, align 4, !tbaa !9
  br label %11742

11742:                                            ; preds = %11720, %11685
  %11743 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11743, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11744 = load i32, ptr %38, align 4, !tbaa !9
  %11745 = load i32, ptr %37, align 4, !tbaa !9
  %11746 = mul i32 %11745, %11744
  store i32 %11746, ptr %37, align 4, !tbaa !9
  %11747 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %11747, ptr %38, align 4, !tbaa !9
  %11748 = load i32, ptr %38, align 4, !tbaa !9
  %11749 = load i32, ptr %37, align 4, !tbaa !9
  %11750 = add i32 %11749, %11748
  store i32 %11750, ptr %37, align 4, !tbaa !9
  %11751 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11751, ptr %23, align 4, !tbaa !9
  %11752 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11752, ptr %37, align 4, !tbaa !9
  %11753 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11753, ptr %38, align 4, !tbaa !9
  %11754 = load ptr, ptr %8, align 8, !tbaa !5
  %11755 = getelementptr inbounds %struct.w2c_hermes, ptr %11754, i32 0, i32 6
  %11756 = load i32, ptr %38, align 4, !tbaa !9
  %11757 = zext i32 %11756 to i64
  %11758 = add i64 %11757, 4
  %11759 = call i32 @i32_load(ptr noundef %11755, i64 noundef %11758)
  store i32 %11759, ptr %38, align 4, !tbaa !9
  %11760 = load ptr, ptr %8, align 8, !tbaa !5
  %11761 = getelementptr inbounds %struct.w2c_hermes, ptr %11760, i32 0, i32 6
  %11762 = load i32, ptr %37, align 4, !tbaa !9
  %11763 = zext i32 %11762 to i64
  %11764 = add i64 %11763, 24
  %11765 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11761, i64 noundef %11764, i32 noundef %11765)
  %11766 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11766, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11767 = load i32, ptr %38, align 4, !tbaa !9
  %11768 = load i32, ptr %37, align 4, !tbaa !9
  %11769 = add i32 %11768, %11767
  store i32 %11769, ptr %37, align 4, !tbaa !9
  %11770 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11770, ptr %25, align 4, !tbaa !9
  %11771 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11771, ptr %37, align 4, !tbaa !9
  %11772 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11772, ptr %38, align 4, !tbaa !9
  %11773 = load i32, ptr %37, align 4, !tbaa !9
  %11774 = load i32, ptr %38, align 4, !tbaa !9
  %11775 = icmp eq i32 %11773, %11774
  %11776 = zext i1 %11775 to i32
  store i32 %11776, ptr %37, align 4, !tbaa !9
  %11777 = load i32, ptr %37, align 4, !tbaa !9
  %11778 = icmp ne i32 %11777, 0
  br i1 %11778, label %11779, label %11780

11779:                                            ; preds = %11742
  br label %11942

11780:                                            ; preds = %11742
  br label %11781

11781:                                            ; preds = %11852, %11780
  %11782 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11782, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11783 = load i32, ptr %38, align 4, !tbaa !9
  %11784 = load i32, ptr %37, align 4, !tbaa !9
  %11785 = sub i32 %11784, %11783
  store i32 %11785, ptr %37, align 4, !tbaa !9
  %11786 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11786, ptr %10, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %11787 = load ptr, ptr %8, align 8, !tbaa !5
  %11788 = getelementptr inbounds %struct.w2c_hermes, ptr %11787, i32 0, i32 6
  %11789 = load i32, ptr %37, align 4, !tbaa !9
  %11790 = zext i32 %11789 to i64
  %11791 = add i64 %11790, 4
  %11792 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %11788, i64 noundef %11791, i64 noundef %11792)
  %11793 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11793, ptr %37, align 4, !tbaa !9
  %11794 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11794, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %11795 = load i32, ptr %39, align 4, !tbaa !9
  %11796 = load i32, ptr %38, align 4, !tbaa !9
  %11797 = add i32 %11796, %11795
  store i32 %11797, ptr %38, align 4, !tbaa !9
  %11798 = load ptr, ptr %8, align 8, !tbaa !5
  %11799 = getelementptr inbounds %struct.w2c_hermes, ptr %11798, i32 0, i32 6
  %11800 = load i32, ptr %37, align 4, !tbaa !9
  %11801 = zext i32 %11800 to i64
  %11802 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11799, i64 noundef %11801, i32 noundef %11802)
  %11803 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11803, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %11804 = load i32, ptr %38, align 4, !tbaa !9
  %11805 = load i32, ptr %37, align 4, !tbaa !9
  %11806 = sub i32 %11805, %11804
  store i32 %11806, ptr %37, align 4, !tbaa !9
  %11807 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11807, ptr %11, align 4, !tbaa !9
  %11808 = load ptr, ptr %8, align 8, !tbaa !5
  %11809 = getelementptr inbounds %struct.w2c_hermes, ptr %11808, i32 0, i32 6
  %11810 = load i32, ptr %37, align 4, !tbaa !9
  %11811 = zext i32 %11810 to i64
  %11812 = add i64 %11811, 4
  %11813 = call i32 @i32_load(ptr noundef %11809, i64 noundef %11812)
  store i32 %11813, ptr %37, align 4, !tbaa !9
  %11814 = load i32, ptr %37, align 4, !tbaa !9
  %11815 = icmp ne i32 %11814, 0
  br i1 %11815, label %11816, label %11822

11816:                                            ; preds = %11781
  %11817 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11817, ptr %37, align 4, !tbaa !9
  %11818 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11818, ptr %38, align 4, !tbaa !9
  %11819 = load ptr, ptr %8, align 8, !tbaa !5
  %11820 = load i32, ptr %37, align 4, !tbaa !9
  %11821 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef %11819, i32 noundef %11820, i32 noundef %11821)
  br label %11822

11822:                                            ; preds = %11816, %11781
  %11823 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11823, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %11824 = load i32, ptr %38, align 4, !tbaa !9
  %11825 = load i32, ptr %37, align 4, !tbaa !9
  %11826 = sub i32 %11825, %11824
  store i32 %11826, ptr %37, align 4, !tbaa !9
  %11827 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11827, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %11828 = load i32, ptr %39, align 4, !tbaa !9
  %11829 = load i32, ptr %38, align 4, !tbaa !9
  %11830 = sub i32 %11829, %11828
  store i32 %11830, ptr %38, align 4, !tbaa !9
  %11831 = load ptr, ptr %8, align 8, !tbaa !5
  %11832 = getelementptr inbounds %struct.w2c_hermes, ptr %11831, i32 0, i32 6
  %11833 = load i32, ptr %38, align 4, !tbaa !9
  %11834 = zext i32 %11833 to i64
  %11835 = call i32 @i32_load(ptr noundef %11832, i64 noundef %11834)
  store i32 %11835, ptr %38, align 4, !tbaa !9
  %11836 = load ptr, ptr %8, align 8, !tbaa !5
  %11837 = getelementptr inbounds %struct.w2c_hermes, ptr %11836, i32 0, i32 6
  %11838 = load i32, ptr %37, align 4, !tbaa !9
  %11839 = zext i32 %11838 to i64
  %11840 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11837, i64 noundef %11839, i32 noundef %11840)
  %11841 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11841, ptr %37, align 4, !tbaa !9
  %11842 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11842, ptr %12, align 4, !tbaa !9
  %11843 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %11843, ptr %37, align 4, !tbaa !9
  %11844 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11844, ptr %13, align 4, !tbaa !9
  %11845 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11845, ptr %38, align 4, !tbaa !9
  %11846 = load i32, ptr %37, align 4, !tbaa !9
  %11847 = load i32, ptr %38, align 4, !tbaa !9
  %11848 = icmp ne i32 %11846, %11847
  %11849 = zext i1 %11848 to i32
  store i32 %11849, ptr %37, align 4, !tbaa !9
  %11850 = load i32, ptr %37, align 4, !tbaa !9
  %11851 = icmp ne i32 %11850, 0
  br i1 %11851, label %11852, label %11853

11852:                                            ; preds = %11822
  br label %11781

11853:                                            ; preds = %11822
  %11854 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11854, ptr %37, align 4, !tbaa !9
  %11855 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %11855, ptr %38, align 4, !tbaa !9
  %11856 = load ptr, ptr %8, align 8, !tbaa !5
  %11857 = getelementptr inbounds %struct.w2c_hermes, ptr %11856, i32 0, i32 6
  %11858 = load i32, ptr %37, align 4, !tbaa !9
  %11859 = zext i32 %11858 to i64
  %11860 = add i64 %11859, 228
  %11861 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11857, i64 noundef %11860, i32 noundef %11861)
  %11862 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11862, ptr %37, align 4, !tbaa !9
  %11863 = load ptr, ptr %8, align 8, !tbaa !5
  %11864 = getelementptr inbounds %struct.w2c_hermes, ptr %11863, i32 0, i32 6
  %11865 = load i32, ptr %37, align 4, !tbaa !9
  %11866 = zext i32 %11865 to i64
  %11867 = add i64 %11866, 224
  %11868 = call i32 @i32_load(ptr noundef %11864, i64 noundef %11867)
  store i32 %11868, ptr %37, align 4, !tbaa !9
  %11869 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11869, ptr %13, align 4, !tbaa !9
  %11870 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11870, ptr %37, align 4, !tbaa !9
  %11871 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %11871, ptr %38, align 4, !tbaa !9
  %11872 = load ptr, ptr %8, align 8, !tbaa !5
  %11873 = getelementptr inbounds %struct.w2c_hermes, ptr %11872, i32 0, i32 6
  %11874 = load i32, ptr %37, align 4, !tbaa !9
  %11875 = zext i32 %11874 to i64
  %11876 = add i64 %11875, 224
  %11877 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11873, i64 noundef %11876, i32 noundef %11877)
  %11878 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11878, ptr %37, align 4, !tbaa !9
  %11879 = load ptr, ptr %8, align 8, !tbaa !5
  %11880 = getelementptr inbounds %struct.w2c_hermes, ptr %11879, i32 0, i32 6
  %11881 = load i32, ptr %37, align 4, !tbaa !9
  %11882 = zext i32 %11881 to i64
  %11883 = add i64 %11882, 220
  %11884 = call i32 @i32_load(ptr noundef %11880, i64 noundef %11883)
  store i32 %11884, ptr %37, align 4, !tbaa !9
  %11885 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %11885, ptr %20, align 4, !tbaa !9
  %11886 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11886, ptr %37, align 4, !tbaa !9
  %11887 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11887, ptr %38, align 4, !tbaa !9
  %11888 = load ptr, ptr %8, align 8, !tbaa !5
  %11889 = getelementptr inbounds %struct.w2c_hermes, ptr %11888, i32 0, i32 6
  %11890 = load i32, ptr %37, align 4, !tbaa !9
  %11891 = zext i32 %11890 to i64
  %11892 = add i64 %11891, 220
  %11893 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11889, i64 noundef %11892, i32 noundef %11893)
  %11894 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11894, ptr %37, align 4, !tbaa !9
  %11895 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11895, ptr %38, align 4, !tbaa !9
  %11896 = load i32, ptr %37, align 4, !tbaa !9
  %11897 = load i32, ptr %38, align 4, !tbaa !9
  %11898 = icmp eq i32 %11896, %11897
  %11899 = zext i1 %11898 to i32
  store i32 %11899, ptr %37, align 4, !tbaa !9
  %11900 = load i32, ptr %37, align 4, !tbaa !9
  %11901 = icmp ne i32 %11900, 0
  br i1 %11901, label %11902, label %11903

11902:                                            ; preds = %11853
  br label %11967

11903:                                            ; preds = %11853
  br label %11904

11904:                                            ; preds = %11939, %11903
  %11905 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11905, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %11906 = load i32, ptr %38, align 4, !tbaa !9
  %11907 = load i32, ptr %37, align 4, !tbaa !9
  %11908 = sub i32 %11907, %11906
  store i32 %11908, ptr %37, align 4, !tbaa !9
  %11909 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11909, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %11910 = load i32, ptr %39, align 4, !tbaa !9
  %11911 = load i32, ptr %38, align 4, !tbaa !9
  %11912 = sub i32 %11911, %11910
  store i32 %11912, ptr %38, align 4, !tbaa !9
  %11913 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11913, ptr %13, align 4, !tbaa !9
  %11914 = load ptr, ptr %8, align 8, !tbaa !5
  %11915 = getelementptr inbounds %struct.w2c_hermes, ptr %11914, i32 0, i32 6
  %11916 = load i32, ptr %38, align 4, !tbaa !9
  %11917 = zext i32 %11916 to i64
  %11918 = call i32 @i32_load(ptr noundef %11915, i64 noundef %11917)
  store i32 %11918, ptr %38, align 4, !tbaa !9
  %11919 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %11919, ptr %10, align 4, !tbaa !9
  %11920 = load i32, ptr %37, align 4, !tbaa !9
  %11921 = load i32, ptr %38, align 4, !tbaa !9
  %11922 = icmp ne i32 %11920, %11921
  %11923 = zext i1 %11922 to i32
  store i32 %11923, ptr %37, align 4, !tbaa !9
  %11924 = load i32, ptr %37, align 4, !tbaa !9
  %11925 = icmp ne i32 %11924, 0
  br i1 %11925, label %11926, label %11930

11926:                                            ; preds = %11904
  %11927 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11927, ptr %37, align 4, !tbaa !9
  %11928 = load ptr, ptr %8, align 8, !tbaa !5
  %11929 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %11928, i32 noundef %11929)
  br label %11930

11930:                                            ; preds = %11926, %11904
  %11931 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %11931, ptr %37, align 4, !tbaa !9
  %11932 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11932, ptr %38, align 4, !tbaa !9
  %11933 = load i32, ptr %37, align 4, !tbaa !9
  %11934 = load i32, ptr %38, align 4, !tbaa !9
  %11935 = icmp ne i32 %11933, %11934
  %11936 = zext i1 %11935 to i32
  store i32 %11936, ptr %37, align 4, !tbaa !9
  %11937 = load i32, ptr %37, align 4, !tbaa !9
  %11938 = icmp ne i32 %11937, 0
  br i1 %11938, label %11939, label %11940

11939:                                            ; preds = %11930
  br label %11904

11940:                                            ; preds = %11930
  br label %11967

11941:                                            ; preds = %11571
  br label %18024

11942:                                            ; preds = %11779
  %11943 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11943, ptr %37, align 4, !tbaa !9
  %11944 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %11944, ptr %38, align 4, !tbaa !9
  %11945 = load ptr, ptr %8, align 8, !tbaa !5
  %11946 = getelementptr inbounds %struct.w2c_hermes, ptr %11945, i32 0, i32 6
  %11947 = load i32, ptr %37, align 4, !tbaa !9
  %11948 = zext i32 %11947 to i64
  %11949 = add i64 %11948, 228
  %11950 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11946, i64 noundef %11949, i32 noundef %11950)
  %11951 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11951, ptr %37, align 4, !tbaa !9
  %11952 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %11952, ptr %38, align 4, !tbaa !9
  %11953 = load ptr, ptr %8, align 8, !tbaa !5
  %11954 = getelementptr inbounds %struct.w2c_hermes, ptr %11953, i32 0, i32 6
  %11955 = load i32, ptr %37, align 4, !tbaa !9
  %11956 = zext i32 %11955 to i64
  %11957 = add i64 %11956, 224
  %11958 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11954, i64 noundef %11957, i32 noundef %11958)
  %11959 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11959, ptr %37, align 4, !tbaa !9
  %11960 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %11960, ptr %38, align 4, !tbaa !9
  %11961 = load ptr, ptr %8, align 8, !tbaa !5
  %11962 = getelementptr inbounds %struct.w2c_hermes, ptr %11961, i32 0, i32 6
  %11963 = load i32, ptr %37, align 4, !tbaa !9
  %11964 = zext i32 %11963 to i64
  %11965 = add i64 %11964, 220
  %11966 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11962, i64 noundef %11965, i32 noundef %11966)
  br label %11967

11967:                                            ; preds = %11942, %11940, %11902
  %11968 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11968, ptr %37, align 4, !tbaa !9
  %11969 = load i32, ptr %37, align 4, !tbaa !9
  %11970 = icmp ne i32 %11969, 0
  br i1 %11970, label %11971, label %11975

11971:                                            ; preds = %11967
  %11972 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %11972, ptr %37, align 4, !tbaa !9
  %11973 = load ptr, ptr %8, align 8, !tbaa !5
  %11974 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %11973, i32 noundef %11974)
  br label %11975

11975:                                            ; preds = %11971, %11967
  br label %12003

11976:                                            ; preds = %11413
  %11977 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11977, ptr %37, align 4, !tbaa !9
  %11978 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %11978, ptr %38, align 4, !tbaa !9
  %11979 = load ptr, ptr %8, align 8, !tbaa !5
  %11980 = getelementptr inbounds %struct.w2c_hermes, ptr %11979, i32 0, i32 6
  %11981 = load i32, ptr %38, align 4, !tbaa !9
  %11982 = zext i32 %11981 to i64
  %11983 = add i64 %11982, 8
  %11984 = call i32 @i32_load(ptr noundef %11980, i64 noundef %11983)
  store i32 %11984, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %11985 = load i32, ptr %39, align 4, !tbaa !9
  %11986 = load i32, ptr %38, align 4, !tbaa !9
  %11987 = sub i32 %11986, %11985
  store i32 %11987, ptr %38, align 4, !tbaa !9
  %11988 = load ptr, ptr %8, align 8, !tbaa !5
  %11989 = getelementptr inbounds %struct.w2c_hermes, ptr %11988, i32 0, i32 6
  %11990 = load i32, ptr %37, align 4, !tbaa !9
  %11991 = zext i32 %11990 to i64
  %11992 = add i64 %11991, 4
  %11993 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %11989, i64 noundef %11992, i32 noundef %11993)
  %11994 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %11994, ptr %37, align 4, !tbaa !9
  %11995 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %11995, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %11996 = load i32, ptr %39, align 4, !tbaa !9
  %11997 = load i32, ptr %38, align 4, !tbaa !9
  %11998 = add i32 %11997, %11996
  store i32 %11998, ptr %38, align 4, !tbaa !9
  %11999 = load ptr, ptr %8, align 8, !tbaa !5
  %12000 = load i32, ptr %37, align 4, !tbaa !9
  %12001 = load i32, ptr %38, align 4, !tbaa !9
  %12002 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef %11999, i32 noundef %12000, i32 noundef %12001)
  store i32 %12002, ptr %37, align 4, !tbaa !9
  br label %12003

12003:                                            ; preds = %11976, %11975, %11493
  %12004 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12004, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %12005 = load i32, ptr %38, align 4, !tbaa !9
  %12006 = load i32, ptr %37, align 4, !tbaa !9
  %12007 = add i32 %12006, %12005
  store i32 %12007, ptr %37, align 4, !tbaa !9
  %12008 = load i32, ptr %37, align 4, !tbaa !9
  %12009 = load ptr, ptr %8, align 8, !tbaa !5
  %12010 = getelementptr inbounds %struct.w2c_hermes, ptr %12009, i32 0, i32 3
  store i32 %12008, ptr %12010, align 8, !tbaa !13
  %12011 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12011, ptr %37, align 4, !tbaa !9
  %12012 = load ptr, ptr %8, align 8, !tbaa !5
  %12013 = getelementptr inbounds %struct.w2c_hermes, ptr %12012, i32 0, i32 6
  %12014 = load i32, ptr %37, align 4, !tbaa !9
  %12015 = zext i32 %12014 to i64
  %12016 = add i64 %12015, 16
  %12017 = call i32 @i32_load(ptr noundef %12013, i64 noundef %12016)
  store i32 %12017, ptr %37, align 4, !tbaa !9
  %12018 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12018, ptr %10, align 4, !tbaa !9
  %12019 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %12019, ptr %38, align 4, !tbaa !9
  %12020 = load i32, ptr %37, align 4, !tbaa !9
  %12021 = load i32, ptr %38, align 4, !tbaa !9
  %12022 = icmp eq i32 %12020, %12021
  %12023 = zext i1 %12022 to i32
  store i32 %12023, ptr %37, align 4, !tbaa !9
  %12024 = load i32, ptr %37, align 4, !tbaa !9
  %12025 = icmp ne i32 %12024, 0
  br i1 %12025, label %12026, label %12027

12026:                                            ; preds = %12003
  br label %12203

12027:                                            ; preds = %12003
  %12028 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12028, ptr %37, align 4, !tbaa !9
  %12029 = load ptr, ptr %8, align 8, !tbaa !5
  %12030 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %12029, i32 noundef %12030)
  br label %12203

12031:                                            ; preds = %11150
  %12032 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12032, ptr %37, align 4, !tbaa !9
  %12033 = load ptr, ptr %8, align 8, !tbaa !5
  %12034 = getelementptr inbounds %struct.w2c_hermes, ptr %12033, i32 0, i32 6
  %12035 = load i32, ptr %37, align 4, !tbaa !9
  %12036 = zext i32 %12035 to i64
  %12037 = call i32 @i32_load(ptr noundef %12034, i64 noundef %12036)
  store i32 %12037, ptr %37, align 4, !tbaa !9
  %12038 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12038, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %12039 = load ptr, ptr %8, align 8, !tbaa !5
  %12040 = getelementptr inbounds %struct.w2c_hermes, ptr %12039, i32 0, i32 6
  %12041 = load i32, ptr %37, align 4, !tbaa !9
  %12042 = zext i32 %12041 to i64
  %12043 = add i64 %12042, 216
  %12044 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12040, i64 noundef %12043, i32 noundef %12044)
  br label %12045

12045:                                            ; preds = %12031, %10287
  %12046 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12046, ptr %37, align 4, !tbaa !9
  %12047 = load ptr, ptr %8, align 8, !tbaa !5
  %12048 = load i32, ptr %37, align 4, !tbaa !9
  %12049 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AconsumeCharacterEscape0x280x29(ptr noundef %12047, i32 noundef %12048)
  store i32 %12049, ptr %37, align 4, !tbaa !9
  %12050 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12050, ptr %10, align 4, !tbaa !9
  %12051 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12051, ptr %37, align 4, !tbaa !9
  %12052 = load ptr, ptr %8, align 8, !tbaa !5
  %12053 = getelementptr inbounds %struct.w2c_hermes, ptr %12052, i32 0, i32 6
  %12054 = load i32, ptr %37, align 4, !tbaa !9
  %12055 = zext i32 %12054 to i64
  %12056 = add i64 %12055, 136
  %12057 = call i32 @i32_load8_u(ptr noundef %12053, i64 noundef %12056)
  store i32 %12057, ptr %37, align 4, !tbaa !9
  %12058 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12058, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %12059 = load i32, ptr %38, align 4, !tbaa !9
  %12060 = load i32, ptr %37, align 4, !tbaa !9
  %12061 = and i32 %12060, %12059
  store i32 %12061, ptr %37, align 4, !tbaa !9
  %12062 = load i32, ptr %37, align 4, !tbaa !9
  %12063 = icmp ne i32 %12062, 0
  %12064 = xor i1 %12063, true
  %12065 = zext i1 %12064 to i32
  store i32 %12065, ptr %37, align 4, !tbaa !9
  %12066 = load i32, ptr %37, align 4, !tbaa !9
  %12067 = icmp ne i32 %12066, 0
  br i1 %12067, label %12068, label %12069

12068:                                            ; preds = %12045
  br label %12134

12069:                                            ; preds = %12045
  %12070 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12070, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %12071 = load i32, ptr %38, align 4, !tbaa !9
  %12072 = load i32, ptr %37, align 4, !tbaa !9
  %12073 = and i32 %12072, %12071
  store i32 %12073, ptr %37, align 4, !tbaa !9
  %12074 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12074, ptr %12, align 4, !tbaa !9
  %12075 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12075, ptr %37, align 4, !tbaa !9
  store i32 127, ptr %38, align 4, !tbaa !9
  %12076 = load i32, ptr %37, align 4, !tbaa !9
  %12077 = load i32, ptr %38, align 4, !tbaa !9
  %12078 = icmp ule i32 %12076, %12077
  %12079 = zext i1 %12078 to i32
  store i32 %12079, ptr %37, align 4, !tbaa !9
  %12080 = load i32, ptr %37, align 4, !tbaa !9
  %12081 = icmp ne i32 %12080, 0
  br i1 %12081, label %12082, label %12114

12082:                                            ; preds = %12069
  %12083 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12083, ptr %37, align 4, !tbaa !9
  store i32 -33, ptr %38, align 4, !tbaa !9
  %12084 = load i32, ptr %38, align 4, !tbaa !9
  %12085 = load i32, ptr %37, align 4, !tbaa !9
  %12086 = and i32 %12085, %12084
  store i32 %12086, ptr %37, align 4, !tbaa !9
  %12087 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12087, ptr %13, align 4, !tbaa !9
  %12088 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12088, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12089 = load i32, ptr %39, align 4, !tbaa !9
  %12090 = and i32 %12089, 31
  %12091 = load i32, ptr %38, align 4, !tbaa !9
  %12092 = shl i32 %12091, %12090
  store i32 %12092, ptr %38, align 4, !tbaa !9
  %12093 = load i32, ptr %38, align 4, !tbaa !9
  %12094 = load i32, ptr %37, align 4, !tbaa !9
  %12095 = or i32 %12094, %12093
  store i32 %12095, ptr %37, align 4, !tbaa !9
  %12096 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12096, ptr %38, align 4, !tbaa !9
  %12097 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12097, ptr %39, align 4, !tbaa !9
  store i32 65, ptr %40, align 4, !tbaa !9
  %12098 = load i32, ptr %40, align 4, !tbaa !9
  %12099 = load i32, ptr %39, align 4, !tbaa !9
  %12100 = sub i32 %12099, %12098
  store i32 %12100, ptr %39, align 4, !tbaa !9
  store i32 26, ptr %40, align 4, !tbaa !9
  %12101 = load i32, ptr %39, align 4, !tbaa !9
  %12102 = load i32, ptr %40, align 4, !tbaa !9
  %12103 = icmp ult i32 %12101, %12102
  %12104 = zext i1 %12103 to i32
  store i32 %12104, ptr %39, align 4, !tbaa !9
  %12105 = load i32, ptr %39, align 4, !tbaa !9
  %12106 = icmp ne i32 %12105, 0
  br i1 %12106, label %12107, label %12109

12107:                                            ; preds = %12082
  %12108 = load i32, ptr %37, align 4, !tbaa !9
  br label %12111

12109:                                            ; preds = %12082
  %12110 = load i32, ptr %38, align 4, !tbaa !9
  br label %12111

12111:                                            ; preds = %12109, %12107
  %12112 = phi i32 [ %12108, %12107 ], [ %12110, %12109 ]
  store i32 %12112, ptr %37, align 4, !tbaa !9
  %12113 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12113, ptr %10, align 4, !tbaa !9
  br label %12134

12114:                                            ; preds = %12069
  %12115 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12115, ptr %37, align 4, !tbaa !9
  %12116 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12116, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %12117 = load i32, ptr %38, align 4, !tbaa !9
  %12118 = load i32, ptr %39, align 4, !tbaa !9
  %12119 = icmp ne i32 %12117, %12118
  %12120 = zext i1 %12119 to i32
  store i32 %12120, ptr %38, align 4, !tbaa !9
  %12121 = load ptr, ptr %8, align 8, !tbaa !5
  %12122 = load i32, ptr %37, align 4, !tbaa !9
  %12123 = load i32, ptr %38, align 4, !tbaa !9
  %12124 = call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %12121, i32 noundef %12122, i32 noundef %12123)
  store i32 %12124, ptr %37, align 4, !tbaa !9
  %12125 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12125, ptr %10, align 4, !tbaa !9
  %12126 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12126, ptr %37, align 4, !tbaa !9
  %12127 = load ptr, ptr %8, align 8, !tbaa !5
  %12128 = getelementptr inbounds %struct.w2c_hermes, ptr %12127, i32 0, i32 6
  %12129 = load i32, ptr %37, align 4, !tbaa !9
  %12130 = zext i32 %12129 to i64
  %12131 = add i64 %12130, 136
  %12132 = call i32 @i32_load8_u(ptr noundef %12128, i64 noundef %12131)
  store i32 %12132, ptr %37, align 4, !tbaa !9
  %12133 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12133, ptr %11, align 4, !tbaa !9
  br label %12134

12134:                                            ; preds = %12114, %12111, %12068
  %12135 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12135, ptr %37, align 4, !tbaa !9
  %12136 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12136, ptr %38, align 4, !tbaa !9
  %12137 = load ptr, ptr %8, align 8, !tbaa !5
  %12138 = getelementptr inbounds %struct.w2c_hermes, ptr %12137, i32 0, i32 6
  %12139 = load i32, ptr %37, align 4, !tbaa !9
  %12140 = zext i32 %12139 to i64
  %12141 = add i64 %12140, 28
  %12142 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12138, i64 noundef %12141, i32 noundef %12142)
  %12143 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12143, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %12144 = load ptr, ptr %8, align 8, !tbaa !5
  %12145 = getelementptr inbounds %struct.w2c_hermes, ptr %12144, i32 0, i32 6
  %12146 = load i32, ptr %37, align 4, !tbaa !9
  %12147 = zext i32 %12146 to i64
  %12148 = add i64 %12147, 20
  %12149 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %12145, i64 noundef %12148, i64 noundef %12149)
  %12150 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12150, ptr %37, align 4, !tbaa !9
  %12151 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12151, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %12152 = load i32, ptr %39, align 4, !tbaa !9
  %12153 = load i32, ptr %38, align 4, !tbaa !9
  %12154 = add i32 %12153, %12152
  store i32 %12154, ptr %38, align 4, !tbaa !9
  %12155 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12155, ptr %10, align 4, !tbaa !9
  %12156 = load ptr, ptr %8, align 8, !tbaa !5
  %12157 = getelementptr inbounds %struct.w2c_hermes, ptr %12156, i32 0, i32 6
  %12158 = load i32, ptr %37, align 4, !tbaa !9
  %12159 = zext i32 %12158 to i64
  %12160 = add i64 %12159, 16
  %12161 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12157, i64 noundef %12160, i32 noundef %12161)
  %12162 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12162, ptr %37, align 4, !tbaa !9
  %12163 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12163, ptr %38, align 4, !tbaa !9
  %12164 = load ptr, ptr %8, align 8, !tbaa !5
  %12165 = getelementptr inbounds %struct.w2c_hermes, ptr %12164, i32 0, i32 6
  %12166 = load i32, ptr %37, align 4, !tbaa !9
  %12167 = zext i32 %12166 to i64
  %12168 = add i64 %12167, 15
  %12169 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12165, i64 noundef %12168, i32 noundef %12169)
  %12170 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12170, ptr %37, align 4, !tbaa !9
  %12171 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12171, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %12172 = load i32, ptr %39, align 4, !tbaa !9
  %12173 = load i32, ptr %38, align 4, !tbaa !9
  %12174 = add i32 %12173, %12172
  store i32 %12174, ptr %38, align 4, !tbaa !9
  %12175 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12175, ptr %39, align 4, !tbaa !9
  store i32 15, ptr %40, align 4, !tbaa !9
  %12176 = load i32, ptr %40, align 4, !tbaa !9
  %12177 = load i32, ptr %39, align 4, !tbaa !9
  %12178 = add i32 %12177, %12176
  store i32 %12178, ptr %39, align 4, !tbaa !9
  %12179 = load ptr, ptr %8, align 8, !tbaa !5
  %12180 = load i32, ptr %37, align 4, !tbaa !9
  %12181 = load i32, ptr %38, align 4, !tbaa !9
  %12182 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %12179, i32 noundef %12180, i32 noundef %12181, i32 noundef %12182)
  %12183 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12183, ptr %37, align 4, !tbaa !9
  %12184 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12184, ptr %38, align 4, !tbaa !9
  %12185 = load ptr, ptr %8, align 8, !tbaa !5
  %12186 = getelementptr inbounds %struct.w2c_hermes, ptr %12185, i32 0, i32 6
  %12187 = load i32, ptr %38, align 4, !tbaa !9
  %12188 = zext i32 %12187 to i64
  %12189 = add i64 %12188, 16
  %12190 = call i32 @i32_load(ptr noundef %12186, i64 noundef %12189)
  store i32 %12190, ptr %38, align 4, !tbaa !9
  %12191 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12191, ptr %11, align 4, !tbaa !9
  %12192 = load i32, ptr %37, align 4, !tbaa !9
  %12193 = load i32, ptr %38, align 4, !tbaa !9
  %12194 = icmp eq i32 %12192, %12193
  %12195 = zext i1 %12194 to i32
  store i32 %12195, ptr %37, align 4, !tbaa !9
  %12196 = load i32, ptr %37, align 4, !tbaa !9
  %12197 = icmp ne i32 %12196, 0
  br i1 %12197, label %12198, label %12199

12198:                                            ; preds = %12134
  br label %12203

12199:                                            ; preds = %12134
  %12200 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12200, ptr %37, align 4, !tbaa !9
  %12201 = load ptr, ptr %8, align 8, !tbaa !5
  %12202 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %12201, i32 noundef %12202)
  br label %12203

12203:                                            ; preds = %12199, %12198, %12027, %12026, %11306, %11305, %11146, %11145, %10993, %10992, %10613, %10415, %10355, %10295, %10195, %10194
  %12204 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12204, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %12205 = load i32, ptr %38, align 4, !tbaa !9
  %12206 = load i32, ptr %37, align 4, !tbaa !9
  %12207 = add i32 %12206, %12205
  store i32 %12207, ptr %37, align 4, !tbaa !9
  %12208 = load i32, ptr %37, align 4, !tbaa !9
  %12209 = load ptr, ptr %8, align 8, !tbaa !5
  %12210 = getelementptr inbounds %struct.w2c_hermes, ptr %12209, i32 0, i32 3
  store i32 %12208, ptr %12210, align 8, !tbaa !13
  br label %15050

12211:                                            ; preds = %8703
  %12212 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12212, ptr %37, align 4, !tbaa !9
  %12213 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12213, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12214 = load i32, ptr %39, align 4, !tbaa !9
  %12215 = load i32, ptr %38, align 4, !tbaa !9
  %12216 = add i32 %12215, %12214
  store i32 %12216, ptr %38, align 4, !tbaa !9
  %12217 = load ptr, ptr %8, align 8, !tbaa !5
  %12218 = getelementptr inbounds %struct.w2c_hermes, ptr %12217, i32 0, i32 6
  %12219 = load i32, ptr %37, align 4, !tbaa !9
  %12220 = zext i32 %12219 to i64
  %12221 = add i64 %12220, 4
  %12222 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12218, i64 noundef %12221, i32 noundef %12222)
  %12223 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %12223, ptr %37, align 4, !tbaa !9
  %12224 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12224, ptr %38, align 4, !tbaa !9
  %12225 = load ptr, ptr %8, align 8, !tbaa !5
  %12226 = getelementptr inbounds %struct.w2c_hermes, ptr %12225, i32 0, i32 6
  %12227 = load i32, ptr %38, align 4, !tbaa !9
  %12228 = zext i32 %12227 to i64
  %12229 = add i64 %12228, 136
  %12230 = call i32 @i32_load8_u(ptr noundef %12226, i64 noundef %12229)
  store i32 %12230, ptr %38, align 4, !tbaa !9
  %12231 = load ptr, ptr %8, align 8, !tbaa !5
  %12232 = getelementptr inbounds %struct.w2c_hermes, ptr %12231, i32 0, i32 6
  %12233 = load i32, ptr %37, align 4, !tbaa !9
  %12234 = zext i32 %12233 to i64
  %12235 = add i64 %12234, 48
  %12236 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12232, i64 noundef %12235, i32 noundef %12236)
  %12237 = load ptr, ptr %8, align 8, !tbaa !5
  %12238 = getelementptr inbounds %struct.w2c_hermes, ptr %12237, i32 0, i32 3
  %12239 = load i32, ptr %12238, align 8, !tbaa !13
  store i32 %12239, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %12240 = load i32, ptr %38, align 4, !tbaa !9
  %12241 = load i32, ptr %37, align 4, !tbaa !9
  %12242 = sub i32 %12241, %12240
  store i32 %12242, ptr %37, align 4, !tbaa !9
  %12243 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12243, ptr %12, align 4, !tbaa !9
  %12244 = load i32, ptr %37, align 4, !tbaa !9
  %12245 = load ptr, ptr %8, align 8, !tbaa !5
  %12246 = getelementptr inbounds %struct.w2c_hermes, ptr %12245, i32 0, i32 3
  store i32 %12244, ptr %12246, align 8, !tbaa !13
  store i32 8, ptr %37, align 4, !tbaa !9
  %12247 = load ptr, ptr %8, align 8, !tbaa !5
  %12248 = load i32, ptr %37, align 4, !tbaa !9
  %12249 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %12247, i32 noundef %12248)
  store i32 %12249, ptr %37, align 4, !tbaa !9
  %12250 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12250, ptr %11, align 4, !tbaa !9
  %12251 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %12251, ptr %37, align 4, !tbaa !9
  %12252 = load ptr, ptr %8, align 8, !tbaa !5
  %12253 = getelementptr inbounds %struct.w2c_hermes, ptr %12252, i32 0, i32 6
  %12254 = load i32, ptr %37, align 4, !tbaa !9
  %12255 = zext i32 %12254 to i64
  %12256 = add i64 %12255, 48
  %12257 = call i32 @i32_load8_u(ptr noundef %12253, i64 noundef %12256)
  store i32 %12257, ptr %37, align 4, !tbaa !9
  %12258 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12258, ptr %13, align 4, !tbaa !9
  %12259 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12259, ptr %37, align 4, !tbaa !9
  store i32 112412, ptr %38, align 4, !tbaa !9
  %12260 = load ptr, ptr %8, align 8, !tbaa !5
  %12261 = getelementptr inbounds %struct.w2c_hermes, ptr %12260, i32 0, i32 6
  %12262 = load i32, ptr %37, align 4, !tbaa !9
  %12263 = zext i32 %12262 to i64
  %12264 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12261, i64 noundef %12263, i32 noundef %12264)
  %12265 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12265, ptr %37, align 4, !tbaa !9
  %12266 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12266, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %12267 = load i32, ptr %39, align 4, !tbaa !9
  %12268 = and i32 %12267, 31
  %12269 = load i32, ptr %38, align 4, !tbaa !9
  %12270 = lshr i32 %12269, %12268
  store i32 %12270, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %12271 = load i32, ptr %39, align 4, !tbaa !9
  %12272 = load i32, ptr %38, align 4, !tbaa !9
  %12273 = and i32 %12272, %12271
  store i32 %12273, ptr %38, align 4, !tbaa !9
  %12274 = load ptr, ptr %8, align 8, !tbaa !5
  %12275 = getelementptr inbounds %struct.w2c_hermes, ptr %12274, i32 0, i32 6
  %12276 = load i32, ptr %37, align 4, !tbaa !9
  %12277 = zext i32 %12276 to i64
  %12278 = add i64 %12277, 5
  %12279 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12275, i64 noundef %12278, i32 noundef %12279)
  %12280 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12280, ptr %37, align 4, !tbaa !9
  %12281 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12281, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %12282 = load i32, ptr %39, align 4, !tbaa !9
  %12283 = and i32 %12282, 31
  %12284 = load i32, ptr %38, align 4, !tbaa !9
  %12285 = lshr i32 %12284, %12283
  store i32 %12285, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %12286 = load i32, ptr %39, align 4, !tbaa !9
  %12287 = load i32, ptr %38, align 4, !tbaa !9
  %12288 = and i32 %12287, %12286
  store i32 %12288, ptr %38, align 4, !tbaa !9
  %12289 = load ptr, ptr %8, align 8, !tbaa !5
  %12290 = getelementptr inbounds %struct.w2c_hermes, ptr %12289, i32 0, i32 6
  %12291 = load i32, ptr %37, align 4, !tbaa !9
  %12292 = zext i32 %12291 to i64
  %12293 = add i64 %12292, 4
  %12294 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12290, i64 noundef %12293, i32 noundef %12294)
  %12295 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12295, ptr %37, align 4, !tbaa !9
  %12296 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12296, ptr %38, align 4, !tbaa !9
  %12297 = load ptr, ptr %8, align 8, !tbaa !5
  %12298 = getelementptr inbounds %struct.w2c_hermes, ptr %12297, i32 0, i32 6
  %12299 = load i32, ptr %37, align 4, !tbaa !9
  %12300 = zext i32 %12299 to i64
  %12301 = add i64 %12300, 12
  %12302 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12298, i64 noundef %12301, i32 noundef %12302)
  %12303 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12303, ptr %37, align 4, !tbaa !9
  %12304 = load ptr, ptr %8, align 8, !tbaa !5
  %12305 = getelementptr inbounds %struct.w2c_hermes, ptr %12304, i32 0, i32 6
  %12306 = load i32, ptr %37, align 4, !tbaa !9
  %12307 = zext i32 %12306 to i64
  %12308 = add i64 %12307, 160
  %12309 = call i32 @i32_load(ptr noundef %12305, i64 noundef %12308)
  store i32 %12309, ptr %37, align 4, !tbaa !9
  %12310 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12310, ptr %13, align 4, !tbaa !9
  %12311 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12311, ptr %38, align 4, !tbaa !9
  %12312 = load ptr, ptr %8, align 8, !tbaa !5
  %12313 = getelementptr inbounds %struct.w2c_hermes, ptr %12312, i32 0, i32 6
  %12314 = load i32, ptr %38, align 4, !tbaa !9
  %12315 = zext i32 %12314 to i64
  %12316 = add i64 %12315, 164
  %12317 = call i32 @i32_load(ptr noundef %12313, i64 noundef %12316)
  store i32 %12317, ptr %38, align 4, !tbaa !9
  %12318 = load i32, ptr %37, align 4, !tbaa !9
  %12319 = load i32, ptr %38, align 4, !tbaa !9
  %12320 = icmp ult i32 %12318, %12319
  %12321 = zext i1 %12320 to i32
  store i32 %12321, ptr %37, align 4, !tbaa !9
  %12322 = load i32, ptr %37, align 4, !tbaa !9
  %12323 = icmp ne i32 %12322, 0
  br i1 %12323, label %12324, label %12350

12324:                                            ; preds = %12211
  %12325 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12325, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %12326 = load ptr, ptr %8, align 8, !tbaa !5
  %12327 = getelementptr inbounds %struct.w2c_hermes, ptr %12326, i32 0, i32 6
  %12328 = load i32, ptr %37, align 4, !tbaa !9
  %12329 = zext i32 %12328 to i64
  %12330 = add i64 %12329, 12
  %12331 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12327, i64 noundef %12330, i32 noundef %12331)
  %12332 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12332, ptr %37, align 4, !tbaa !9
  %12333 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12333, ptr %38, align 4, !tbaa !9
  %12334 = load ptr, ptr %8, align 8, !tbaa !5
  %12335 = getelementptr inbounds %struct.w2c_hermes, ptr %12334, i32 0, i32 6
  %12336 = load i32, ptr %37, align 4, !tbaa !9
  %12337 = zext i32 %12336 to i64
  %12338 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12335, i64 noundef %12337, i32 noundef %12338)
  %12339 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12339, ptr %37, align 4, !tbaa !9
  %12340 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12340, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %12341 = load i32, ptr %39, align 4, !tbaa !9
  %12342 = load i32, ptr %38, align 4, !tbaa !9
  %12343 = add i32 %12342, %12341
  store i32 %12343, ptr %38, align 4, !tbaa !9
  %12344 = load ptr, ptr %8, align 8, !tbaa !5
  %12345 = getelementptr inbounds %struct.w2c_hermes, ptr %12344, i32 0, i32 6
  %12346 = load i32, ptr %37, align 4, !tbaa !9
  %12347 = zext i32 %12346 to i64
  %12348 = add i64 %12347, 160
  %12349 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12345, i64 noundef %12348, i32 noundef %12349)
  br label %12362

12350:                                            ; preds = %12211
  %12351 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12351, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %12352 = load i32, ptr %38, align 4, !tbaa !9
  %12353 = load i32, ptr %37, align 4, !tbaa !9
  %12354 = add i32 %12353, %12352
  store i32 %12354, ptr %37, align 4, !tbaa !9
  %12355 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12355, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %12356 = load i32, ptr %39, align 4, !tbaa !9
  %12357 = load i32, ptr %38, align 4, !tbaa !9
  %12358 = add i32 %12357, %12356
  store i32 %12358, ptr %38, align 4, !tbaa !9
  %12359 = load ptr, ptr %8, align 8, !tbaa !5
  %12360 = load i32, ptr %37, align 4, !tbaa !9
  %12361 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %12359, i32 noundef %12360, i32 noundef %12361)
  br label %12362

12362:                                            ; preds = %12350, %12324
  %12363 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12363, ptr %37, align 4, !tbaa !9
  %12364 = load ptr, ptr %8, align 8, !tbaa !5
  %12365 = getelementptr inbounds %struct.w2c_hermes, ptr %12364, i32 0, i32 6
  %12366 = load i32, ptr %37, align 4, !tbaa !9
  %12367 = zext i32 %12366 to i64
  %12368 = add i64 %12367, 12
  %12369 = call i32 @i32_load(ptr noundef %12365, i64 noundef %12368)
  store i32 %12369, ptr %37, align 4, !tbaa !9
  %12370 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12370, ptr %13, align 4, !tbaa !9
  %12371 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12371, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %12372 = load ptr, ptr %8, align 8, !tbaa !5
  %12373 = getelementptr inbounds %struct.w2c_hermes, ptr %12372, i32 0, i32 6
  %12374 = load i32, ptr %37, align 4, !tbaa !9
  %12375 = zext i32 %12374 to i64
  %12376 = add i64 %12375, 12
  %12377 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12373, i64 noundef %12376, i32 noundef %12377)
  %12378 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12378, ptr %37, align 4, !tbaa !9
  %12379 = load i32, ptr %37, align 4, !tbaa !9
  %12380 = icmp ne i32 %12379, 0
  br i1 %12380, label %12381, label %12456

12381:                                            ; preds = %12362
  %12382 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12382, ptr %37, align 4, !tbaa !9
  %12383 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12383, ptr %38, align 4, !tbaa !9
  %12384 = load ptr, ptr %8, align 8, !tbaa !5
  %12385 = getelementptr inbounds %struct.w2c_hermes, ptr %12384, i32 0, i32 6
  %12386 = load i32, ptr %38, align 4, !tbaa !9
  %12387 = zext i32 %12386 to i64
  %12388 = call i32 @i32_load(ptr noundef %12385, i64 noundef %12387)
  store i32 %12388, ptr %38, align 4, !tbaa !9
  %12389 = load ptr, ptr %8, align 8, !tbaa !5
  %12390 = getelementptr inbounds %struct.w2c_hermes, ptr %12389, i32 0, i32 6
  %12391 = load i32, ptr %38, align 4, !tbaa !9
  %12392 = zext i32 %12391 to i64
  %12393 = add i64 %12392, 4
  %12394 = call i32 @i32_load(ptr noundef %12390, i64 noundef %12393)
  store i32 %12394, ptr %38, align 4, !tbaa !9
  %12395 = load i32, ptr %38, align 4, !tbaa !9
  %12396 = load ptr, ptr %8, align 8, !tbaa !5
  %12397 = getelementptr inbounds %struct.w2c_hermes, ptr %12396, i32 0, i32 7
  %12398 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %12397, i32 0, i32 2
  %12399 = load i32, ptr %12398, align 4, !tbaa !18
  %12400 = icmp ult i32 %12395, %12399
  br i1 %12400, label %12401, label %12424

12401:                                            ; preds = %12381
  %12402 = load ptr, ptr %8, align 8, !tbaa !5
  %12403 = getelementptr inbounds %struct.w2c_hermes, ptr %12402, i32 0, i32 7
  %12404 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %12403, i32 0, i32 0
  %12405 = load ptr, ptr %12404, align 8, !tbaa !19
  %12406 = load i32, ptr %38, align 4, !tbaa !9
  %12407 = zext i32 %12406 to i64
  %12408 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12405, i64 %12407
  %12409 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12408, i32 0, i32 1
  %12410 = load ptr, ptr %12409, align 8, !tbaa !20
  %12411 = icmp ne ptr %12410, null
  br i1 %12411, label %12412, label %12424

12412:                                            ; preds = %12401
  %12413 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %12414 = load ptr, ptr %8, align 8, !tbaa !5
  %12415 = getelementptr inbounds %struct.w2c_hermes, ptr %12414, i32 0, i32 7
  %12416 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %12415, i32 0, i32 0
  %12417 = load ptr, ptr %12416, align 8, !tbaa !19
  %12418 = load i32, ptr %38, align 4, !tbaa !9
  %12419 = zext i32 %12418 to i64
  %12420 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12417, i64 %12419
  %12421 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12420, i32 0, i32 0
  %12422 = load ptr, ptr %12421, align 8, !tbaa !22
  %12423 = call zeroext i1 @func_types_eq(ptr noundef %12413, ptr noundef %12422)
  br label %12424

12424:                                            ; preds = %12412, %12401, %12381
  %12425 = phi i1 [ false, %12401 ], [ false, %12381 ], [ %12423, %12412 ]
  %12426 = xor i1 %12425, true
  %12427 = xor i1 %12426, true
  %12428 = zext i1 %12427 to i32
  %12429 = sext i32 %12428 to i64
  %12430 = call i64 @llvm.expect.i64(i64 %12429, i64 1)
  %12431 = icmp ne i64 %12430, 0
  br i1 %12431, label %12434, label %12432

12432:                                            ; preds = %12424
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

12433:                                            ; No predecessors!
  br label %12434

12434:                                            ; preds = %12433, %12424
  %12435 = phi i1 [ true, %12424 ], [ false, %12433 ]
  %12436 = zext i1 %12435 to i32
  %12437 = load ptr, ptr %8, align 8, !tbaa !5
  %12438 = getelementptr inbounds %struct.w2c_hermes, ptr %12437, i32 0, i32 7
  %12439 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %12438, i32 0, i32 0
  %12440 = load ptr, ptr %12439, align 8, !tbaa !19
  %12441 = load i32, ptr %38, align 4, !tbaa !9
  %12442 = zext i32 %12441 to i64
  %12443 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12440, i64 %12442
  %12444 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12443, i32 0, i32 1
  %12445 = load ptr, ptr %12444, align 8, !tbaa !20
  %12446 = load ptr, ptr %8, align 8, !tbaa !5
  %12447 = getelementptr inbounds %struct.w2c_hermes, ptr %12446, i32 0, i32 7
  %12448 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %12447, i32 0, i32 0
  %12449 = load ptr, ptr %12448, align 8, !tbaa !19
  %12450 = load i32, ptr %38, align 4, !tbaa !9
  %12451 = zext i32 %12450 to i64
  %12452 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12449, i64 %12451
  %12453 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %12452, i32 0, i32 2
  %12454 = load ptr, ptr %12453, align 8, !tbaa !23
  %12455 = load i32, ptr %37, align 4, !tbaa !9
  call void %12445(ptr noundef %12454, i32 noundef %12455)
  br label %12456

12456:                                            ; preds = %12434, %12362
  %12457 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12457, ptr %37, align 4, !tbaa !9
  %12458 = load ptr, ptr %8, align 8, !tbaa !5
  %12459 = getelementptr inbounds %struct.w2c_hermes, ptr %12458, i32 0, i32 6
  %12460 = load i32, ptr %37, align 4, !tbaa !9
  %12461 = zext i32 %12460 to i64
  %12462 = add i64 %12461, 148
  %12463 = call i32 @i32_load(ptr noundef %12459, i64 noundef %12462)
  store i32 %12463, ptr %37, align 4, !tbaa !9
  %12464 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12464, ptr %13, align 4, !tbaa !9
  %12465 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12465, ptr %38, align 4, !tbaa !9
  %12466 = load ptr, ptr %8, align 8, !tbaa !5
  %12467 = getelementptr inbounds %struct.w2c_hermes, ptr %12466, i32 0, i32 6
  %12468 = load i32, ptr %38, align 4, !tbaa !9
  %12469 = zext i32 %12468 to i64
  %12470 = add i64 %12469, 152
  %12471 = call i32 @i32_load(ptr noundef %12467, i64 noundef %12470)
  store i32 %12471, ptr %38, align 4, !tbaa !9
  %12472 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12472, ptr %15, align 4, !tbaa !9
  %12473 = load i32, ptr %37, align 4, !tbaa !9
  %12474 = load i32, ptr %38, align 4, !tbaa !9
  %12475 = icmp ult i32 %12473, %12474
  %12476 = zext i1 %12475 to i32
  store i32 %12476, ptr %37, align 4, !tbaa !9
  %12477 = load i32, ptr %37, align 4, !tbaa !9
  %12478 = icmp ne i32 %12477, 0
  br i1 %12478, label %12479, label %12498

12479:                                            ; preds = %12456
  %12480 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12480, ptr %37, align 4, !tbaa !9
  %12481 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12481, ptr %38, align 4, !tbaa !9
  %12482 = load ptr, ptr %8, align 8, !tbaa !5
  %12483 = getelementptr inbounds %struct.w2c_hermes, ptr %12482, i32 0, i32 6
  %12484 = load i32, ptr %37, align 4, !tbaa !9
  %12485 = zext i32 %12484 to i64
  %12486 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12483, i64 noundef %12485, i32 noundef %12486)
  %12487 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12487, ptr %37, align 4, !tbaa !9
  %12488 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12488, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %12489 = load i32, ptr %39, align 4, !tbaa !9
  %12490 = load i32, ptr %38, align 4, !tbaa !9
  %12491 = add i32 %12490, %12489
  store i32 %12491, ptr %38, align 4, !tbaa !9
  %12492 = load ptr, ptr %8, align 8, !tbaa !5
  %12493 = getelementptr inbounds %struct.w2c_hermes, ptr %12492, i32 0, i32 6
  %12494 = load i32, ptr %37, align 4, !tbaa !9
  %12495 = zext i32 %12494 to i64
  %12496 = add i64 %12495, 148
  %12497 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12493, i64 noundef %12496, i32 noundef %12497)
  br label %12662

12498:                                            ; preds = %12456
  %12499 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12499, ptr %37, align 4, !tbaa !9
  %12500 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12500, ptr %38, align 4, !tbaa !9
  %12501 = load ptr, ptr %8, align 8, !tbaa !5
  %12502 = getelementptr inbounds %struct.w2c_hermes, ptr %12501, i32 0, i32 6
  %12503 = load i32, ptr %38, align 4, !tbaa !9
  %12504 = zext i32 %12503 to i64
  %12505 = add i64 %12504, 144
  %12506 = call i32 @i32_load(ptr noundef %12502, i64 noundef %12505)
  store i32 %12506, ptr %38, align 4, !tbaa !9
  %12507 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12507, ptr %13, align 4, !tbaa !9
  %12508 = load i32, ptr %38, align 4, !tbaa !9
  %12509 = load i32, ptr %37, align 4, !tbaa !9
  %12510 = sub i32 %12509, %12508
  store i32 %12510, ptr %37, align 4, !tbaa !9
  %12511 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12511, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %12512 = load i32, ptr %37, align 4, !tbaa !9
  %12513 = load i32, ptr %38, align 4, !tbaa !9
  %12514 = and i32 %12513, 31
  %12515 = ashr i32 %12512, %12514
  store i32 %12515, ptr %37, align 4, !tbaa !9
  %12516 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12516, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %12517 = load i32, ptr %38, align 4, !tbaa !9
  %12518 = load i32, ptr %37, align 4, !tbaa !9
  %12519 = add i32 %12518, %12517
  store i32 %12519, ptr %37, align 4, !tbaa !9
  %12520 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12520, ptr %14, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %12521 = load i32, ptr %37, align 4, !tbaa !9
  %12522 = load i32, ptr %38, align 4, !tbaa !9
  %12523 = icmp uge i32 %12521, %12522
  %12524 = zext i1 %12523 to i32
  store i32 %12524, ptr %37, align 4, !tbaa !9
  %12525 = load i32, ptr %37, align 4, !tbaa !9
  %12526 = icmp ne i32 %12525, 0
  br i1 %12526, label %12527, label %12528

12527:                                            ; preds = %12498
  br label %18024

12528:                                            ; preds = %12498
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %12529 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12529, ptr %38, align 4, !tbaa !9
  %12530 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12530, ptr %39, align 4, !tbaa !9
  %12531 = load i32, ptr %39, align 4, !tbaa !9
  %12532 = load i32, ptr %38, align 4, !tbaa !9
  %12533 = sub i32 %12532, %12531
  store i32 %12533, ptr %38, align 4, !tbaa !9
  %12534 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12534, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %12535 = load i32, ptr %38, align 4, !tbaa !9
  %12536 = load i32, ptr %39, align 4, !tbaa !9
  %12537 = and i32 %12536, 31
  %12538 = ashr i32 %12535, %12537
  store i32 %12538, ptr %38, align 4, !tbaa !9
  %12539 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12539, ptr %21, align 4, !tbaa !9
  %12540 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12540, ptr %39, align 4, !tbaa !9
  %12541 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12541, ptr %40, align 4, !tbaa !9
  %12542 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %12542, ptr %41, align 4, !tbaa !9
  %12543 = load i32, ptr %40, align 4, !tbaa !9
  %12544 = load i32, ptr %41, align 4, !tbaa !9
  %12545 = icmp ult i32 %12543, %12544
  %12546 = zext i1 %12545 to i32
  store i32 %12546, ptr %40, align 4, !tbaa !9
  %12547 = load i32, ptr %40, align 4, !tbaa !9
  %12548 = icmp ne i32 %12547, 0
  br i1 %12548, label %12549, label %12551

12549:                                            ; preds = %12528
  %12550 = load i32, ptr %38, align 4, !tbaa !9
  br label %12553

12551:                                            ; preds = %12528
  %12552 = load i32, ptr %39, align 4, !tbaa !9
  br label %12553

12553:                                            ; preds = %12551, %12549
  %12554 = phi i32 [ %12550, %12549 ], [ %12552, %12551 ]
  store i32 %12554, ptr %38, align 4, !tbaa !9
  %12555 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12555, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %12556 = load i32, ptr %39, align 4, !tbaa !9
  %12557 = load i32, ptr %40, align 4, !tbaa !9
  %12558 = icmp uge i32 %12556, %12557
  %12559 = zext i1 %12558 to i32
  store i32 %12559, ptr %39, align 4, !tbaa !9
  %12560 = load i32, ptr %39, align 4, !tbaa !9
  %12561 = icmp ne i32 %12560, 0
  br i1 %12561, label %12562, label %12564

12562:                                            ; preds = %12553
  %12563 = load i32, ptr %37, align 4, !tbaa !9
  br label %12566

12564:                                            ; preds = %12553
  %12565 = load i32, ptr %38, align 4, !tbaa !9
  br label %12566

12566:                                            ; preds = %12564, %12562
  %12567 = phi i32 [ %12563, %12562 ], [ %12565, %12564 ]
  store i32 %12567, ptr %37, align 4, !tbaa !9
  %12568 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12568, ptr %14, align 4, !tbaa !9
  %12569 = load i32, ptr %37, align 4, !tbaa !9
  %12570 = icmp ne i32 %12569, 0
  br i1 %12570, label %12571, label %12589

12571:                                            ; preds = %12566
  %12572 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12572, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %12573 = load i32, ptr %37, align 4, !tbaa !9
  %12574 = load i32, ptr %38, align 4, !tbaa !9
  %12575 = icmp uge i32 %12573, %12574
  %12576 = zext i1 %12575 to i32
  store i32 %12576, ptr %37, align 4, !tbaa !9
  %12577 = load i32, ptr %37, align 4, !tbaa !9
  %12578 = icmp ne i32 %12577, 0
  br i1 %12578, label %12579, label %12580

12579:                                            ; preds = %12571
  br label %15466

12580:                                            ; preds = %12571
  %12581 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12581, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %12582 = load i32, ptr %38, align 4, !tbaa !9
  %12583 = and i32 %12582, 31
  %12584 = load i32, ptr %37, align 4, !tbaa !9
  %12585 = shl i32 %12584, %12583
  store i32 %12585, ptr %37, align 4, !tbaa !9
  %12586 = load ptr, ptr %8, align 8, !tbaa !5
  %12587 = load i32, ptr %37, align 4, !tbaa !9
  %12588 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %12586, i32 noundef %12587)
  store i32 %12588, ptr %37, align 4, !tbaa !9
  br label %12590

12589:                                            ; preds = %12566
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %12590

12590:                                            ; preds = %12589, %12580
  %12591 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12591, ptr %15, align 4, !tbaa !9
  %12592 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %12592, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12593 = load i32, ptr %39, align 4, !tbaa !9
  %12594 = and i32 %12593, 31
  %12595 = load i32, ptr %38, align 4, !tbaa !9
  %12596 = shl i32 %12595, %12594
  store i32 %12596, ptr %38, align 4, !tbaa !9
  %12597 = load i32, ptr %38, align 4, !tbaa !9
  %12598 = load i32, ptr %37, align 4, !tbaa !9
  %12599 = add i32 %12598, %12597
  store i32 %12599, ptr %37, align 4, !tbaa !9
  %12600 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12600, ptr %20, align 4, !tbaa !9
  %12601 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12601, ptr %38, align 4, !tbaa !9
  %12602 = load ptr, ptr %8, align 8, !tbaa !5
  %12603 = getelementptr inbounds %struct.w2c_hermes, ptr %12602, i32 0, i32 6
  %12604 = load i32, ptr %37, align 4, !tbaa !9
  %12605 = zext i32 %12604 to i64
  %12606 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12603, i64 noundef %12605, i32 noundef %12606)
  %12607 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12607, ptr %37, align 4, !tbaa !9
  %12608 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %12608, ptr %38, align 4, !tbaa !9
  %12609 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12609, ptr %39, align 4, !tbaa !9
  %12610 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12610, ptr %40, align 4, !tbaa !9
  %12611 = load ptr, ptr %8, align 8, !tbaa !5
  %12612 = load i32, ptr %38, align 4, !tbaa !9
  %12613 = load i32, ptr %39, align 4, !tbaa !9
  %12614 = load i32, ptr %40, align 4, !tbaa !9
  %12615 = call i32 @w2c_hermes_memmove(ptr noundef %12611, i32 noundef %12612, i32 noundef %12613, i32 noundef %12614)
  store i32 %12615, ptr %38, align 4, !tbaa !9
  %12616 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12616, ptr %11, align 4, !tbaa !9
  %12617 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12617, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %12618 = load i32, ptr %40, align 4, !tbaa !9
  %12619 = and i32 %12618, 31
  %12620 = load i32, ptr %39, align 4, !tbaa !9
  %12621 = shl i32 %12620, %12619
  store i32 %12621, ptr %39, align 4, !tbaa !9
  %12622 = load i32, ptr %39, align 4, !tbaa !9
  %12623 = load i32, ptr %38, align 4, !tbaa !9
  %12624 = add i32 %12623, %12622
  store i32 %12624, ptr %38, align 4, !tbaa !9
  %12625 = load ptr, ptr %8, align 8, !tbaa !5
  %12626 = getelementptr inbounds %struct.w2c_hermes, ptr %12625, i32 0, i32 6
  %12627 = load i32, ptr %37, align 4, !tbaa !9
  %12628 = zext i32 %12627 to i64
  %12629 = add i64 %12628, 152
  %12630 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12626, i64 noundef %12629, i32 noundef %12630)
  %12631 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12631, ptr %37, align 4, !tbaa !9
  %12632 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %12632, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %12633 = load i32, ptr %39, align 4, !tbaa !9
  %12634 = load i32, ptr %38, align 4, !tbaa !9
  %12635 = add i32 %12634, %12633
  store i32 %12635, ptr %38, align 4, !tbaa !9
  %12636 = load ptr, ptr %8, align 8, !tbaa !5
  %12637 = getelementptr inbounds %struct.w2c_hermes, ptr %12636, i32 0, i32 6
  %12638 = load i32, ptr %37, align 4, !tbaa !9
  %12639 = zext i32 %12638 to i64
  %12640 = add i64 %12639, 148
  %12641 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12637, i64 noundef %12640, i32 noundef %12641)
  %12642 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12642, ptr %37, align 4, !tbaa !9
  %12643 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12643, ptr %38, align 4, !tbaa !9
  %12644 = load ptr, ptr %8, align 8, !tbaa !5
  %12645 = getelementptr inbounds %struct.w2c_hermes, ptr %12644, i32 0, i32 6
  %12646 = load i32, ptr %37, align 4, !tbaa !9
  %12647 = zext i32 %12646 to i64
  %12648 = add i64 %12647, 144
  %12649 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12645, i64 noundef %12648, i32 noundef %12649)
  %12650 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12650, ptr %37, align 4, !tbaa !9
  %12651 = load i32, ptr %37, align 4, !tbaa !9
  %12652 = icmp ne i32 %12651, 0
  %12653 = xor i1 %12652, true
  %12654 = zext i1 %12653 to i32
  store i32 %12654, ptr %37, align 4, !tbaa !9
  %12655 = load i32, ptr %37, align 4, !tbaa !9
  %12656 = icmp ne i32 %12655, 0
  br i1 %12656, label %12657, label %12658

12657:                                            ; preds = %12590
  br label %12662

12658:                                            ; preds = %12590
  %12659 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12659, ptr %37, align 4, !tbaa !9
  %12660 = load ptr, ptr %8, align 8, !tbaa !5
  %12661 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %12660, i32 noundef %12661)
  br label %12662

12662:                                            ; preds = %12658, %12657, %12479
  %12663 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12663, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %12664 = load i32, ptr %38, align 4, !tbaa !9
  %12665 = load i32, ptr %37, align 4, !tbaa !9
  %12666 = add i32 %12665, %12664
  store i32 %12666, ptr %37, align 4, !tbaa !9
  %12667 = load i32, ptr %37, align 4, !tbaa !9
  %12668 = load ptr, ptr %8, align 8, !tbaa !5
  %12669 = getelementptr inbounds %struct.w2c_hermes, ptr %12668, i32 0, i32 3
  store i32 %12667, ptr %12669, align 8, !tbaa !13
  br label %15050

12670:                                            ; preds = %8748
  store i32 0, ptr %37, align 4, !tbaa !9
  %12671 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12671, ptr %12, align 4, !tbaa !9
  %12672 = load ptr, ptr %8, align 8, !tbaa !5
  %12673 = getelementptr inbounds %struct.w2c_hermes, ptr %12672, i32 0, i32 3
  %12674 = load i32, ptr %12673, align 8, !tbaa !13
  store i32 %12674, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %12675 = load i32, ptr %38, align 4, !tbaa !9
  %12676 = load i32, ptr %37, align 4, !tbaa !9
  %12677 = sub i32 %12676, %12675
  store i32 %12677, ptr %37, align 4, !tbaa !9
  %12678 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12678, ptr %11, align 4, !tbaa !9
  %12679 = load i32, ptr %37, align 4, !tbaa !9
  %12680 = load ptr, ptr %8, align 8, !tbaa !5
  %12681 = getelementptr inbounds %struct.w2c_hermes, ptr %12680, i32 0, i32 3
  store i32 %12679, ptr %12681, align 8, !tbaa !13
  %12682 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12682, ptr %37, align 4, !tbaa !9
  %12683 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12683, ptr %38, align 4, !tbaa !9
  %12684 = load ptr, ptr %8, align 8, !tbaa !5
  %12685 = getelementptr inbounds %struct.w2c_hermes, ptr %12684, i32 0, i32 6
  %12686 = load i32, ptr %38, align 4, !tbaa !9
  %12687 = zext i32 %12686 to i64
  %12688 = add i64 %12687, 4
  %12689 = call i32 @i32_load(ptr noundef %12685, i64 noundef %12688)
  store i32 %12689, ptr %38, align 4, !tbaa !9
  %12690 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12690, ptr %13, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12691 = load i32, ptr %39, align 4, !tbaa !9
  %12692 = load i32, ptr %38, align 4, !tbaa !9
  %12693 = add i32 %12692, %12691
  store i32 %12693, ptr %38, align 4, !tbaa !9
  %12694 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12694, ptr %10, align 4, !tbaa !9
  %12695 = load ptr, ptr %8, align 8, !tbaa !5
  %12696 = getelementptr inbounds %struct.w2c_hermes, ptr %12695, i32 0, i32 6
  %12697 = load i32, ptr %37, align 4, !tbaa !9
  %12698 = zext i32 %12697 to i64
  %12699 = add i64 %12698, 4
  %12700 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12696, i64 noundef %12699, i32 noundef %12700)
  %12701 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12701, ptr %37, align 4, !tbaa !9
  %12702 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12702, ptr %38, align 4, !tbaa !9
  %12703 = load ptr, ptr %8, align 8, !tbaa !5
  %12704 = getelementptr inbounds %struct.w2c_hermes, ptr %12703, i32 0, i32 6
  %12705 = load i32, ptr %38, align 4, !tbaa !9
  %12706 = zext i32 %12705 to i64
  %12707 = add i64 %12706, 8
  %12708 = call i32 @i32_load(ptr noundef %12704, i64 noundef %12707)
  store i32 %12708, ptr %38, align 4, !tbaa !9
  %12709 = load i32, ptr %37, align 4, !tbaa !9
  %12710 = load i32, ptr %38, align 4, !tbaa !9
  %12711 = icmp eq i32 %12709, %12710
  %12712 = zext i1 %12711 to i32
  store i32 %12712, ptr %37, align 4, !tbaa !9
  %12713 = load i32, ptr %37, align 4, !tbaa !9
  %12714 = icmp ne i32 %12713, 0
  br i1 %12714, label %12715, label %12716

12715:                                            ; preds = %12670
  br label %12743

12716:                                            ; preds = %12670
  %12717 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12717, ptr %37, align 4, !tbaa !9
  %12718 = load ptr, ptr %8, align 8, !tbaa !5
  %12719 = getelementptr inbounds %struct.w2c_hermes, ptr %12718, i32 0, i32 6
  %12720 = load i32, ptr %37, align 4, !tbaa !9
  %12721 = zext i32 %12720 to i64
  %12722 = call i32 @i32_load16_u(ptr noundef %12719, i64 noundef %12721)
  store i32 %12722, ptr %37, align 4, !tbaa !9
  store i32 94, ptr %38, align 4, !tbaa !9
  %12723 = load i32, ptr %37, align 4, !tbaa !9
  %12724 = load i32, ptr %38, align 4, !tbaa !9
  %12725 = icmp ne i32 %12723, %12724
  %12726 = zext i1 %12725 to i32
  store i32 %12726, ptr %37, align 4, !tbaa !9
  %12727 = load i32, ptr %37, align 4, !tbaa !9
  %12728 = icmp ne i32 %12727, 0
  br i1 %12728, label %12729, label %12730

12729:                                            ; preds = %12716
  br label %12743

12730:                                            ; preds = %12716
  %12731 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12731, ptr %37, align 4, !tbaa !9
  %12732 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12732, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %12733 = load i32, ptr %39, align 4, !tbaa !9
  %12734 = load i32, ptr %38, align 4, !tbaa !9
  %12735 = add i32 %12734, %12733
  store i32 %12735, ptr %38, align 4, !tbaa !9
  %12736 = load ptr, ptr %8, align 8, !tbaa !5
  %12737 = getelementptr inbounds %struct.w2c_hermes, ptr %12736, i32 0, i32 6
  %12738 = load i32, ptr %37, align 4, !tbaa !9
  %12739 = zext i32 %12738 to i64
  %12740 = add i64 %12739, 4
  %12741 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12737, i64 noundef %12740, i32 noundef %12741)
  store i32 1, ptr %37, align 4, !tbaa !9
  %12742 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12742, ptr %12, align 4, !tbaa !9
  br label %12743

12743:                                            ; preds = %12730, %12729, %12715
  %12744 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12744, ptr %37, align 4, !tbaa !9
  %12745 = load ptr, ptr %8, align 8, !tbaa !5
  %12746 = getelementptr inbounds %struct.w2c_hermes, ptr %12745, i32 0, i32 6
  %12747 = load i32, ptr %37, align 4, !tbaa !9
  %12748 = zext i32 %12747 to i64
  %12749 = add i64 %12748, 16
  %12750 = call i32 @i32_load8_u(ptr noundef %12746, i64 noundef %12749)
  store i32 %12750, ptr %37, align 4, !tbaa !9
  %12751 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12751, ptr %13, align 4, !tbaa !9
  %12752 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12752, ptr %37, align 4, !tbaa !9
  %12753 = load ptr, ptr %8, align 8, !tbaa !5
  %12754 = getelementptr inbounds %struct.w2c_hermes, ptr %12753, i32 0, i32 6
  %12755 = load i32, ptr %37, align 4, !tbaa !9
  %12756 = zext i32 %12755 to i64
  %12757 = call i32 @i32_load(ptr noundef %12754, i64 noundef %12756)
  store i32 %12757, ptr %37, align 4, !tbaa !9
  %12758 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12758, ptr %10, align 4, !tbaa !9
  %12759 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12759, ptr %37, align 4, !tbaa !9
  %12760 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12760, ptr %38, align 4, !tbaa !9
  %12761 = load ptr, ptr %8, align 8, !tbaa !5
  %12762 = getelementptr inbounds %struct.w2c_hermes, ptr %12761, i32 0, i32 6
  %12763 = load i32, ptr %37, align 4, !tbaa !9
  %12764 = zext i32 %12763 to i64
  %12765 = add i64 %12764, 20
  %12766 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %12762, i64 noundef %12765, i32 noundef %12766)
  %12767 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12767, ptr %37, align 4, !tbaa !9
  %12768 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12768, ptr %38, align 4, !tbaa !9
  %12769 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12769, ptr %39, align 4, !tbaa !9
  store i32 20, ptr %40, align 4, !tbaa !9
  %12770 = load i32, ptr %40, align 4, !tbaa !9
  %12771 = load i32, ptr %39, align 4, !tbaa !9
  %12772 = add i32 %12771, %12770
  store i32 %12772, ptr %39, align 4, !tbaa !9
  %12773 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12773, ptr %40, align 4, !tbaa !9
  store i32 136, ptr %41, align 4, !tbaa !9
  %12774 = load i32, ptr %41, align 4, !tbaa !9
  %12775 = load i32, ptr %40, align 4, !tbaa !9
  %12776 = add i32 %12775, %12774
  store i32 %12776, ptr %40, align 4, !tbaa !9
  %12777 = load ptr, ptr %8, align 8, !tbaa !5
  %12778 = load i32, ptr %37, align 4, !tbaa !9
  %12779 = load i32, ptr %38, align 4, !tbaa !9
  %12780 = load i32, ptr %39, align 4, !tbaa !9
  %12781 = load i32, ptr %40, align 4, !tbaa !9
  %12782 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABracketNode0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABracketNode0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x260x2C0x20bool0x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x3E0x28hermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x260x2C0x20bool0x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x29(ptr noundef %12777, i32 noundef %12778, i32 noundef %12779, i32 noundef %12780, i32 noundef %12781)
  store i32 %12782, ptr %37, align 4, !tbaa !9
  %12783 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12783, ptr %10, align 4, !tbaa !9
  %12784 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12784, ptr %37, align 4, !tbaa !9
  %12785 = load ptr, ptr %8, align 8, !tbaa !5
  %12786 = getelementptr inbounds %struct.w2c_hermes, ptr %12785, i32 0, i32 6
  %12787 = load i32, ptr %37, align 4, !tbaa !9
  %12788 = zext i32 %12787 to i64
  %12789 = add i64 %12788, 4
  %12790 = call i32 @i32_load(ptr noundef %12786, i64 noundef %12789)
  store i32 %12790, ptr %37, align 4, !tbaa !9
  %12791 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12791, ptr %14, align 4, !tbaa !9
  %12792 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12792, ptr %38, align 4, !tbaa !9
  %12793 = load ptr, ptr %8, align 8, !tbaa !5
  %12794 = getelementptr inbounds %struct.w2c_hermes, ptr %12793, i32 0, i32 6
  %12795 = load i32, ptr %38, align 4, !tbaa !9
  %12796 = zext i32 %12795 to i64
  %12797 = add i64 %12796, 8
  %12798 = call i32 @i32_load(ptr noundef %12794, i64 noundef %12797)
  store i32 %12798, ptr %38, align 4, !tbaa !9
  %12799 = load i32, ptr %37, align 4, !tbaa !9
  %12800 = load i32, ptr %38, align 4, !tbaa !9
  %12801 = icmp eq i32 %12799, %12800
  %12802 = zext i1 %12801 to i32
  store i32 %12802, ptr %37, align 4, !tbaa !9
  %12803 = load i32, ptr %37, align 4, !tbaa !9
  %12804 = icmp ne i32 %12803, 0
  br i1 %12804, label %12805, label %12806

12805:                                            ; preds = %12743
  br label %14264

12806:                                            ; preds = %12743
  %12807 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %12807, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %12808 = load i32, ptr %38, align 4, !tbaa !9
  %12809 = load i32, ptr %37, align 4, !tbaa !9
  %12810 = and i32 %12809, %12808
  store i32 %12810, ptr %37, align 4, !tbaa !9
  %12811 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12811, ptr %21, align 4, !tbaa !9
  %12812 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12812, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %12813 = load i32, ptr %38, align 4, !tbaa !9
  %12814 = load i32, ptr %37, align 4, !tbaa !9
  %12815 = add i32 %12814, %12813
  store i32 %12815, ptr %37, align 4, !tbaa !9
  %12816 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12816, ptr %13, align 4, !tbaa !9
  br label %12817

12817:                                            ; preds = %14260, %12806
  %12818 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12818, ptr %37, align 4, !tbaa !9
  %12819 = load ptr, ptr %8, align 8, !tbaa !5
  %12820 = getelementptr inbounds %struct.w2c_hermes, ptr %12819, i32 0, i32 6
  %12821 = load i32, ptr %37, align 4, !tbaa !9
  %12822 = zext i32 %12821 to i64
  %12823 = call i32 @i32_load16_u(ptr noundef %12820, i64 noundef %12822)
  store i32 %12823, ptr %37, align 4, !tbaa !9
  store i32 93, ptr %38, align 4, !tbaa !9
  %12824 = load i32, ptr %37, align 4, !tbaa !9
  %12825 = load i32, ptr %38, align 4, !tbaa !9
  %12826 = icmp eq i32 %12824, %12825
  %12827 = zext i1 %12826 to i32
  store i32 %12827, ptr %37, align 4, !tbaa !9
  %12828 = load i32, ptr %37, align 4, !tbaa !9
  %12829 = icmp ne i32 %12828, 0
  br i1 %12829, label %12830, label %12842

12830:                                            ; preds = %12817
  %12831 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12831, ptr %37, align 4, !tbaa !9
  %12832 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %12832, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12833 = load i32, ptr %39, align 4, !tbaa !9
  %12834 = load i32, ptr %38, align 4, !tbaa !9
  %12835 = add i32 %12834, %12833
  store i32 %12835, ptr %38, align 4, !tbaa !9
  %12836 = load ptr, ptr %8, align 8, !tbaa !5
  %12837 = getelementptr inbounds %struct.w2c_hermes, ptr %12836, i32 0, i32 6
  %12838 = load i32, ptr %37, align 4, !tbaa !9
  %12839 = zext i32 %12838 to i64
  %12840 = add i64 %12839, 4
  %12841 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12837, i64 noundef %12840, i32 noundef %12841)
  br label %14291

12842:                                            ; preds = %12817
  %12843 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12843, ptr %37, align 4, !tbaa !9
  store i32 20, ptr %38, align 4, !tbaa !9
  %12844 = load i32, ptr %38, align 4, !tbaa !9
  %12845 = load i32, ptr %37, align 4, !tbaa !9
  %12846 = add i32 %12845, %12844
  store i32 %12846, ptr %37, align 4, !tbaa !9
  %12847 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12847, ptr %38, align 4, !tbaa !9
  %12848 = load ptr, ptr %8, align 8, !tbaa !5
  %12849 = load i32, ptr %37, align 4, !tbaa !9
  %12850 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeBracketClassAtom0x280x29(ptr noundef %12848, i32 noundef %12849, i32 noundef %12850)
  %12851 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12851, ptr %37, align 4, !tbaa !9
  %12852 = load ptr, ptr %8, align 8, !tbaa !5
  %12853 = getelementptr inbounds %struct.w2c_hermes, ptr %12852, i32 0, i32 6
  %12854 = load i32, ptr %37, align 4, !tbaa !9
  %12855 = zext i32 %12854 to i64
  %12856 = add i64 %12855, 28
  %12857 = call i32 @i32_load8_u(ptr noundef %12853, i64 noundef %12856)
  store i32 %12857, ptr %37, align 4, !tbaa !9
  %12858 = load i32, ptr %37, align 4, !tbaa !9
  %12859 = icmp ne i32 %12858, 0
  %12860 = xor i1 %12859, true
  %12861 = zext i1 %12860 to i32
  store i32 %12861, ptr %37, align 4, !tbaa !9
  %12862 = load i32, ptr %37, align 4, !tbaa !9
  %12863 = icmp ne i32 %12862, 0
  br i1 %12863, label %12864, label %12865

12864:                                            ; preds = %12842
  br label %14238

12865:                                            ; preds = %12842
  %12866 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12866, ptr %37, align 4, !tbaa !9
  %12867 = load ptr, ptr %8, align 8, !tbaa !5
  %12868 = getelementptr inbounds %struct.w2c_hermes, ptr %12867, i32 0, i32 6
  %12869 = load i32, ptr %37, align 4, !tbaa !9
  %12870 = zext i32 %12869 to i64
  %12871 = add i64 %12870, 4
  %12872 = call i32 @i32_load(ptr noundef %12868, i64 noundef %12871)
  store i32 %12872, ptr %37, align 4, !tbaa !9
  %12873 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12873, ptr %12, align 4, !tbaa !9
  %12874 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %12874, ptr %38, align 4, !tbaa !9
  %12875 = load ptr, ptr %8, align 8, !tbaa !5
  %12876 = getelementptr inbounds %struct.w2c_hermes, ptr %12875, i32 0, i32 6
  %12877 = load i32, ptr %38, align 4, !tbaa !9
  %12878 = zext i32 %12877 to i64
  %12879 = add i64 %12878, 8
  %12880 = call i32 @i32_load(ptr noundef %12876, i64 noundef %12879)
  store i32 %12880, ptr %38, align 4, !tbaa !9
  %12881 = load i32, ptr %37, align 4, !tbaa !9
  %12882 = load i32, ptr %38, align 4, !tbaa !9
  %12883 = icmp ne i32 %12881, %12882
  %12884 = zext i1 %12883 to i32
  store i32 %12884, ptr %37, align 4, !tbaa !9
  %12885 = load i32, ptr %37, align 4, !tbaa !9
  %12886 = icmp ne i32 %12885, 0
  br i1 %12886, label %12887, label %12902

12887:                                            ; preds = %12865
  %12888 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12888, ptr %37, align 4, !tbaa !9
  %12889 = load ptr, ptr %8, align 8, !tbaa !5
  %12890 = getelementptr inbounds %struct.w2c_hermes, ptr %12889, i32 0, i32 6
  %12891 = load i32, ptr %37, align 4, !tbaa !9
  %12892 = zext i32 %12891 to i64
  %12893 = call i32 @i32_load16_u(ptr noundef %12890, i64 noundef %12892)
  store i32 %12893, ptr %37, align 4, !tbaa !9
  store i32 45, ptr %38, align 4, !tbaa !9
  %12894 = load i32, ptr %37, align 4, !tbaa !9
  %12895 = load i32, ptr %38, align 4, !tbaa !9
  %12896 = icmp eq i32 %12894, %12895
  %12897 = zext i1 %12896 to i32
  store i32 %12897, ptr %37, align 4, !tbaa !9
  %12898 = load i32, ptr %37, align 4, !tbaa !9
  %12899 = icmp ne i32 %12898, 0
  br i1 %12899, label %12900, label %12901

12900:                                            ; preds = %12887
  br label %13121

12901:                                            ; preds = %12887
  br label %12902

12902:                                            ; preds = %12901, %12865
  %12903 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12903, ptr %37, align 4, !tbaa !9
  %12904 = load ptr, ptr %8, align 8, !tbaa !5
  %12905 = getelementptr inbounds %struct.w2c_hermes, ptr %12904, i32 0, i32 6
  %12906 = load i32, ptr %37, align 4, !tbaa !9
  %12907 = zext i32 %12906 to i64
  %12908 = add i64 %12907, 26
  %12909 = call i32 @i32_load8_u(ptr noundef %12905, i64 noundef %12908)
  store i32 %12909, ptr %37, align 4, !tbaa !9
  %12910 = load i32, ptr %37, align 4, !tbaa !9
  %12911 = icmp ne i32 %12910, 0
  %12912 = xor i1 %12911, true
  %12913 = zext i1 %12912 to i32
  store i32 %12913, ptr %37, align 4, !tbaa !9
  %12914 = load i32, ptr %37, align 4, !tbaa !9
  %12915 = icmp ne i32 %12914, 0
  br i1 %12915, label %12916, label %12917

12916:                                            ; preds = %12902
  br label %14214

12917:                                            ; preds = %12902
  %12918 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %12918, ptr %37, align 4, !tbaa !9
  %12919 = load ptr, ptr %8, align 8, !tbaa !5
  %12920 = getelementptr inbounds %struct.w2c_hermes, ptr %12919, i32 0, i32 6
  %12921 = load i32, ptr %37, align 4, !tbaa !9
  %12922 = zext i32 %12921 to i64
  %12923 = add i64 %12922, 24
  %12924 = call i32 @i32_load16_u(ptr noundef %12920, i64 noundef %12923)
  store i32 %12924, ptr %37, align 4, !tbaa !9
  %12925 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12925, ptr %19, align 4, !tbaa !9
  %12926 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12926, ptr %37, align 4, !tbaa !9
  %12927 = load ptr, ptr %8, align 8, !tbaa !5
  %12928 = getelementptr inbounds %struct.w2c_hermes, ptr %12927, i32 0, i32 6
  %12929 = load i32, ptr %37, align 4, !tbaa !9
  %12930 = zext i32 %12929 to i64
  %12931 = add i64 %12930, 56
  %12932 = call i32 @i32_load(ptr noundef %12928, i64 noundef %12931)
  store i32 %12932, ptr %37, align 4, !tbaa !9
  %12933 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12933, ptr %12, align 4, !tbaa !9
  %12934 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12934, ptr %38, align 4, !tbaa !9
  %12935 = load ptr, ptr %8, align 8, !tbaa !5
  %12936 = getelementptr inbounds %struct.w2c_hermes, ptr %12935, i32 0, i32 6
  %12937 = load i32, ptr %38, align 4, !tbaa !9
  %12938 = zext i32 %12937 to i64
  %12939 = add i64 %12938, 60
  %12940 = call i32 @i32_load(ptr noundef %12936, i64 noundef %12939)
  store i32 %12940, ptr %38, align 4, !tbaa !9
  %12941 = load i32, ptr %37, align 4, !tbaa !9
  %12942 = load i32, ptr %38, align 4, !tbaa !9
  %12943 = icmp ne i32 %12941, %12942
  %12944 = zext i1 %12943 to i32
  store i32 %12944, ptr %37, align 4, !tbaa !9
  %12945 = load i32, ptr %37, align 4, !tbaa !9
  %12946 = icmp ne i32 %12945, 0
  br i1 %12946, label %12947, label %12966

12947:                                            ; preds = %12917
  %12948 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12948, ptr %37, align 4, !tbaa !9
  %12949 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %12949, ptr %38, align 4, !tbaa !9
  %12950 = load ptr, ptr %8, align 8, !tbaa !5
  %12951 = getelementptr inbounds %struct.w2c_hermes, ptr %12950, i32 0, i32 6
  %12952 = load i32, ptr %37, align 4, !tbaa !9
  %12953 = zext i32 %12952 to i64
  %12954 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %12951, i64 noundef %12953, i32 noundef %12954)
  %12955 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12955, ptr %37, align 4, !tbaa !9
  %12956 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12956, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %12957 = load i32, ptr %39, align 4, !tbaa !9
  %12958 = load i32, ptr %38, align 4, !tbaa !9
  %12959 = add i32 %12958, %12957
  store i32 %12959, ptr %38, align 4, !tbaa !9
  %12960 = load ptr, ptr %8, align 8, !tbaa !5
  %12961 = getelementptr inbounds %struct.w2c_hermes, ptr %12960, i32 0, i32 6
  %12962 = load i32, ptr %37, align 4, !tbaa !9
  %12963 = zext i32 %12962 to i64
  %12964 = add i64 %12963, 56
  %12965 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %12961, i64 noundef %12964, i32 noundef %12965)
  br label %14238

12966:                                            ; preds = %12917
  %12967 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12967, ptr %37, align 4, !tbaa !9
  %12968 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %12968, ptr %38, align 4, !tbaa !9
  %12969 = load ptr, ptr %8, align 8, !tbaa !5
  %12970 = getelementptr inbounds %struct.w2c_hermes, ptr %12969, i32 0, i32 6
  %12971 = load i32, ptr %38, align 4, !tbaa !9
  %12972 = zext i32 %12971 to i64
  %12973 = add i64 %12972, 52
  %12974 = call i32 @i32_load(ptr noundef %12970, i64 noundef %12973)
  store i32 %12974, ptr %38, align 4, !tbaa !9
  %12975 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %12975, ptr %14, align 4, !tbaa !9
  %12976 = load i32, ptr %38, align 4, !tbaa !9
  %12977 = load i32, ptr %37, align 4, !tbaa !9
  %12978 = sub i32 %12977, %12976
  store i32 %12978, ptr %37, align 4, !tbaa !9
  %12979 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %12979, ptr %12, align 4, !tbaa !9
  store i32 -3, ptr %38, align 4, !tbaa !9
  %12980 = load i32, ptr %37, align 4, !tbaa !9
  %12981 = load i32, ptr %38, align 4, !tbaa !9
  %12982 = icmp sle i32 %12980, %12981
  %12983 = zext i1 %12982 to i32
  store i32 %12983, ptr %37, align 4, !tbaa !9
  %12984 = load i32, ptr %37, align 4, !tbaa !9
  %12985 = icmp ne i32 %12984, 0
  br i1 %12985, label %12986, label %12987

12986:                                            ; preds = %12966
  br label %14262

12987:                                            ; preds = %12966
  store i32 2147483647, ptr %37, align 4, !tbaa !9
  %12988 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12988, ptr %38, align 4, !tbaa !9
  %12989 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12989, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %12990 = load i32, ptr %39, align 4, !tbaa !9
  %12991 = load i32, ptr %40, align 4, !tbaa !9
  %12992 = and i32 %12991, 31
  %12993 = ashr i32 %12990, %12992
  store i32 %12993, ptr %39, align 4, !tbaa !9
  %12994 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %12994, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %12995 = load i32, ptr %40, align 4, !tbaa !9
  %12996 = load i32, ptr %39, align 4, !tbaa !9
  %12997 = add i32 %12996, %12995
  store i32 %12997, ptr %39, align 4, !tbaa !9
  %12998 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %12998, ptr %15, align 4, !tbaa !9
  %12999 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %12999, ptr %40, align 4, !tbaa !9
  %13000 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13000, ptr %41, align 4, !tbaa !9
  %13001 = load i32, ptr %40, align 4, !tbaa !9
  %13002 = load i32, ptr %41, align 4, !tbaa !9
  %13003 = icmp ugt i32 %13001, %13002
  %13004 = zext i1 %13003 to i32
  store i32 %13004, ptr %40, align 4, !tbaa !9
  %13005 = load i32, ptr %40, align 4, !tbaa !9
  %13006 = icmp ne i32 %13005, 0
  br i1 %13006, label %13007, label %13009

13007:                                            ; preds = %12987
  %13008 = load i32, ptr %38, align 4, !tbaa !9
  br label %13011

13009:                                            ; preds = %12987
  %13010 = load i32, ptr %39, align 4, !tbaa !9
  br label %13011

13011:                                            ; preds = %13009, %13007
  %13012 = phi i32 [ %13008, %13007 ], [ %13010, %13009 ]
  store i32 %13012, ptr %38, align 4, !tbaa !9
  %13013 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13013, ptr %39, align 4, !tbaa !9
  store i32 2147483646, ptr %40, align 4, !tbaa !9
  %13014 = load i32, ptr %39, align 4, !tbaa !9
  %13015 = load i32, ptr %40, align 4, !tbaa !9
  %13016 = icmp uge i32 %13014, %13015
  %13017 = zext i1 %13016 to i32
  store i32 %13017, ptr %39, align 4, !tbaa !9
  %13018 = load i32, ptr %39, align 4, !tbaa !9
  %13019 = icmp ne i32 %13018, 0
  br i1 %13019, label %13020, label %13022

13020:                                            ; preds = %13011
  %13021 = load i32, ptr %37, align 4, !tbaa !9
  br label %13024

13022:                                            ; preds = %13011
  %13023 = load i32, ptr %38, align 4, !tbaa !9
  br label %13024

13024:                                            ; preds = %13022, %13020
  %13025 = phi i32 [ %13021, %13020 ], [ %13023, %13022 ]
  store i32 %13025, ptr %37, align 4, !tbaa !9
  %13026 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13026, ptr %15, align 4, !tbaa !9
  %13027 = load i32, ptr %37, align 4, !tbaa !9
  %13028 = icmp ne i32 %13027, 0
  br i1 %13028, label %13029, label %13047

13029:                                            ; preds = %13024
  %13030 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13030, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %13031 = load i32, ptr %37, align 4, !tbaa !9
  %13032 = load i32, ptr %38, align 4, !tbaa !9
  %13033 = icmp slt i32 %13031, %13032
  %13034 = zext i1 %13033 to i32
  store i32 %13034, ptr %37, align 4, !tbaa !9
  %13035 = load i32, ptr %37, align 4, !tbaa !9
  %13036 = icmp ne i32 %13035, 0
  br i1 %13036, label %13037, label %13038

13037:                                            ; preds = %13029
  br label %14263

13038:                                            ; preds = %13029
  %13039 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13039, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %13040 = load i32, ptr %38, align 4, !tbaa !9
  %13041 = and i32 %13040, 31
  %13042 = load i32, ptr %37, align 4, !tbaa !9
  %13043 = shl i32 %13042, %13041
  store i32 %13043, ptr %37, align 4, !tbaa !9
  %13044 = load ptr, ptr %8, align 8, !tbaa !5
  %13045 = load i32, ptr %37, align 4, !tbaa !9
  %13046 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %13044, i32 noundef %13045)
  store i32 %13046, ptr %37, align 4, !tbaa !9
  br label %13048

13047:                                            ; preds = %13024
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %13048

13048:                                            ; preds = %13047, %13038
  %13049 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13049, ptr %20, align 4, !tbaa !9
  %13050 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13050, ptr %37, align 4, !tbaa !9
  %13051 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13051, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %13052 = load i32, ptr %39, align 4, !tbaa !9
  %13053 = and i32 %13052, 31
  %13054 = load i32, ptr %38, align 4, !tbaa !9
  %13055 = shl i32 %13054, %13053
  store i32 %13055, ptr %38, align 4, !tbaa !9
  %13056 = load i32, ptr %38, align 4, !tbaa !9
  %13057 = load i32, ptr %37, align 4, !tbaa !9
  %13058 = add i32 %13057, %13056
  store i32 %13058, ptr %37, align 4, !tbaa !9
  %13059 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13059, ptr %23, align 4, !tbaa !9
  %13060 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13060, ptr %38, align 4, !tbaa !9
  %13061 = load ptr, ptr %8, align 8, !tbaa !5
  %13062 = getelementptr inbounds %struct.w2c_hermes, ptr %13061, i32 0, i32 6
  %13063 = load i32, ptr %37, align 4, !tbaa !9
  %13064 = zext i32 %13063 to i64
  %13065 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13062, i64 noundef %13064, i32 noundef %13065)
  %13066 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13066, ptr %37, align 4, !tbaa !9
  %13067 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13067, ptr %38, align 4, !tbaa !9
  %13068 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13068, ptr %39, align 4, !tbaa !9
  %13069 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13069, ptr %40, align 4, !tbaa !9
  %13070 = load ptr, ptr %8, align 8, !tbaa !5
  %13071 = load i32, ptr %38, align 4, !tbaa !9
  %13072 = load i32, ptr %39, align 4, !tbaa !9
  %13073 = load i32, ptr %40, align 4, !tbaa !9
  %13074 = call i32 @w2c_hermes_memmove(ptr noundef %13070, i32 noundef %13071, i32 noundef %13072, i32 noundef %13073)
  store i32 %13074, ptr %38, align 4, !tbaa !9
  %13075 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13075, ptr %12, align 4, !tbaa !9
  %13076 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13076, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13077 = load i32, ptr %40, align 4, !tbaa !9
  %13078 = and i32 %13077, 31
  %13079 = load i32, ptr %39, align 4, !tbaa !9
  %13080 = shl i32 %13079, %13078
  store i32 %13080, ptr %39, align 4, !tbaa !9
  %13081 = load i32, ptr %39, align 4, !tbaa !9
  %13082 = load i32, ptr %38, align 4, !tbaa !9
  %13083 = add i32 %13082, %13081
  store i32 %13083, ptr %38, align 4, !tbaa !9
  %13084 = load ptr, ptr %8, align 8, !tbaa !5
  %13085 = getelementptr inbounds %struct.w2c_hermes, ptr %13084, i32 0, i32 6
  %13086 = load i32, ptr %37, align 4, !tbaa !9
  %13087 = zext i32 %13086 to i64
  %13088 = add i64 %13087, 60
  %13089 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13085, i64 noundef %13088, i32 noundef %13089)
  %13090 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13090, ptr %37, align 4, !tbaa !9
  %13091 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13091, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13092 = load i32, ptr %39, align 4, !tbaa !9
  %13093 = load i32, ptr %38, align 4, !tbaa !9
  %13094 = add i32 %13093, %13092
  store i32 %13094, ptr %38, align 4, !tbaa !9
  %13095 = load ptr, ptr %8, align 8, !tbaa !5
  %13096 = getelementptr inbounds %struct.w2c_hermes, ptr %13095, i32 0, i32 6
  %13097 = load i32, ptr %37, align 4, !tbaa !9
  %13098 = zext i32 %13097 to i64
  %13099 = add i64 %13098, 56
  %13100 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13096, i64 noundef %13099, i32 noundef %13100)
  %13101 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13101, ptr %37, align 4, !tbaa !9
  %13102 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13102, ptr %38, align 4, !tbaa !9
  %13103 = load ptr, ptr %8, align 8, !tbaa !5
  %13104 = getelementptr inbounds %struct.w2c_hermes, ptr %13103, i32 0, i32 6
  %13105 = load i32, ptr %37, align 4, !tbaa !9
  %13106 = zext i32 %13105 to i64
  %13107 = add i64 %13106, 52
  %13108 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13104, i64 noundef %13107, i32 noundef %13108)
  %13109 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13109, ptr %37, align 4, !tbaa !9
  %13110 = load i32, ptr %37, align 4, !tbaa !9
  %13111 = icmp ne i32 %13110, 0
  %13112 = xor i1 %13111, true
  %13113 = zext i1 %13112 to i32
  store i32 %13113, ptr %37, align 4, !tbaa !9
  %13114 = load i32, ptr %37, align 4, !tbaa !9
  %13115 = icmp ne i32 %13114, 0
  br i1 %13115, label %13116, label %13117

13116:                                            ; preds = %13048
  br label %14238

13117:                                            ; preds = %13048
  %13118 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13118, ptr %37, align 4, !tbaa !9
  %13119 = load ptr, ptr %8, align 8, !tbaa !5
  %13120 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %13119, i32 noundef %13120)
  br label %14238

13121:                                            ; preds = %12900
  %13122 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13122, ptr %37, align 4, !tbaa !9
  %13123 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13123, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13124 = load i32, ptr %39, align 4, !tbaa !9
  %13125 = load i32, ptr %38, align 4, !tbaa !9
  %13126 = add i32 %13125, %13124
  store i32 %13126, ptr %38, align 4, !tbaa !9
  %13127 = load ptr, ptr %8, align 8, !tbaa !5
  %13128 = getelementptr inbounds %struct.w2c_hermes, ptr %13127, i32 0, i32 6
  %13129 = load i32, ptr %37, align 4, !tbaa !9
  %13130 = zext i32 %13129 to i64
  %13131 = add i64 %13130, 4
  %13132 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13128, i64 noundef %13131, i32 noundef %13132)
  %13133 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13133, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %13134 = load i32, ptr %38, align 4, !tbaa !9
  %13135 = load i32, ptr %37, align 4, !tbaa !9
  %13136 = add i32 %13135, %13134
  store i32 %13136, ptr %37, align 4, !tbaa !9
  %13137 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13137, ptr %38, align 4, !tbaa !9
  %13138 = load ptr, ptr %8, align 8, !tbaa !5
  %13139 = load i32, ptr %37, align 4, !tbaa !9
  %13140 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeBracketClassAtom0x280x29(ptr noundef %13138, i32 noundef %13139, i32 noundef %13140)
  %13141 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13141, ptr %37, align 4, !tbaa !9
  %13142 = load ptr, ptr %8, align 8, !tbaa !5
  %13143 = getelementptr inbounds %struct.w2c_hermes, ptr %13142, i32 0, i32 6
  %13144 = load i32, ptr %37, align 4, !tbaa !9
  %13145 = zext i32 %13144 to i64
  %13146 = add i64 %13145, 26
  %13147 = call i32 @i32_load8_u(ptr noundef %13143, i64 noundef %13146)
  store i32 %13147, ptr %37, align 4, !tbaa !9
  %13148 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13148, ptr %12, align 4, !tbaa !9
  %13149 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13149, ptr %37, align 4, !tbaa !9
  %13150 = load ptr, ptr %8, align 8, !tbaa !5
  %13151 = getelementptr inbounds %struct.w2c_hermes, ptr %13150, i32 0, i32 6
  %13152 = load i32, ptr %37, align 4, !tbaa !9
  %13153 = zext i32 %13152 to i64
  %13154 = add i64 %13153, 16
  %13155 = call i32 @i32_load8_u(ptr noundef %13151, i64 noundef %13154)
  store i32 %13155, ptr %37, align 4, !tbaa !9
  %13156 = load i32, ptr %37, align 4, !tbaa !9
  %13157 = icmp ne i32 %13156, 0
  %13158 = xor i1 %13157, true
  %13159 = zext i1 %13158 to i32
  store i32 %13159, ptr %37, align 4, !tbaa !9
  %13160 = load i32, ptr %37, align 4, !tbaa !9
  %13161 = icmp ne i32 %13160, 0
  br i1 %13161, label %13162, label %13395

13162:                                            ; preds = %13121
  %13163 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13163, ptr %37, align 4, !tbaa !9
  %13164 = load i32, ptr %37, align 4, !tbaa !9
  %13165 = icmp ne i32 %13164, 0
  br i1 %13165, label %13166, label %13378

13166:                                            ; preds = %13162
  %13167 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13167, ptr %37, align 4, !tbaa !9
  %13168 = load ptr, ptr %8, align 8, !tbaa !5
  %13169 = getelementptr inbounds %struct.w2c_hermes, ptr %13168, i32 0, i32 6
  %13170 = load i32, ptr %37, align 4, !tbaa !9
  %13171 = zext i32 %13170 to i64
  %13172 = add i64 %13171, 24
  %13173 = call i32 @i32_load16_u(ptr noundef %13169, i64 noundef %13172)
  store i32 %13173, ptr %37, align 4, !tbaa !9
  %13174 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13174, ptr %19, align 4, !tbaa !9
  %13175 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13175, ptr %37, align 4, !tbaa !9
  %13176 = load ptr, ptr %8, align 8, !tbaa !5
  %13177 = getelementptr inbounds %struct.w2c_hermes, ptr %13176, i32 0, i32 6
  %13178 = load i32, ptr %37, align 4, !tbaa !9
  %13179 = zext i32 %13178 to i64
  %13180 = add i64 %13179, 56
  %13181 = call i32 @i32_load(ptr noundef %13177, i64 noundef %13180)
  store i32 %13181, ptr %37, align 4, !tbaa !9
  %13182 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13182, ptr %12, align 4, !tbaa !9
  %13183 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13183, ptr %38, align 4, !tbaa !9
  %13184 = load ptr, ptr %8, align 8, !tbaa !5
  %13185 = getelementptr inbounds %struct.w2c_hermes, ptr %13184, i32 0, i32 6
  %13186 = load i32, ptr %38, align 4, !tbaa !9
  %13187 = zext i32 %13186 to i64
  %13188 = add i64 %13187, 60
  %13189 = call i32 @i32_load(ptr noundef %13185, i64 noundef %13188)
  store i32 %13189, ptr %38, align 4, !tbaa !9
  %13190 = load i32, ptr %37, align 4, !tbaa !9
  %13191 = load i32, ptr %38, align 4, !tbaa !9
  %13192 = icmp ne i32 %13190, %13191
  %13193 = zext i1 %13192 to i32
  store i32 %13193, ptr %37, align 4, !tbaa !9
  %13194 = load i32, ptr %37, align 4, !tbaa !9
  %13195 = icmp ne i32 %13194, 0
  br i1 %13195, label %13196, label %13219

13196:                                            ; preds = %13166
  %13197 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13197, ptr %37, align 4, !tbaa !9
  %13198 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13198, ptr %38, align 4, !tbaa !9
  %13199 = load ptr, ptr %8, align 8, !tbaa !5
  %13200 = getelementptr inbounds %struct.w2c_hermes, ptr %13199, i32 0, i32 6
  %13201 = load i32, ptr %37, align 4, !tbaa !9
  %13202 = zext i32 %13201 to i64
  %13203 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13200, i64 noundef %13202, i32 noundef %13203)
  %13204 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13204, ptr %37, align 4, !tbaa !9
  %13205 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13205, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13206 = load i32, ptr %39, align 4, !tbaa !9
  %13207 = load i32, ptr %38, align 4, !tbaa !9
  %13208 = add i32 %13207, %13206
  store i32 %13208, ptr %38, align 4, !tbaa !9
  %13209 = load ptr, ptr %8, align 8, !tbaa !5
  %13210 = getelementptr inbounds %struct.w2c_hermes, ptr %13209, i32 0, i32 6
  %13211 = load i32, ptr %37, align 4, !tbaa !9
  %13212 = zext i32 %13211 to i64
  %13213 = add i64 %13212, 56
  %13214 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13210, i64 noundef %13213, i32 noundef %13214)
  %13215 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13215, ptr %37, align 4, !tbaa !9
  store i32 45, ptr %38, align 4, !tbaa !9
  %13216 = load ptr, ptr %8, align 8, !tbaa !5
  %13217 = load i32, ptr %37, align 4, !tbaa !9
  %13218 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13216, i32 noundef %13217, i32 noundef %13218)
  br label %14238

13219:                                            ; preds = %13166
  %13220 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13220, ptr %37, align 4, !tbaa !9
  %13221 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13221, ptr %38, align 4, !tbaa !9
  %13222 = load ptr, ptr %8, align 8, !tbaa !5
  %13223 = getelementptr inbounds %struct.w2c_hermes, ptr %13222, i32 0, i32 6
  %13224 = load i32, ptr %38, align 4, !tbaa !9
  %13225 = zext i32 %13224 to i64
  %13226 = add i64 %13225, 52
  %13227 = call i32 @i32_load(ptr noundef %13223, i64 noundef %13226)
  store i32 %13227, ptr %38, align 4, !tbaa !9
  %13228 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13228, ptr %14, align 4, !tbaa !9
  %13229 = load i32, ptr %38, align 4, !tbaa !9
  %13230 = load i32, ptr %37, align 4, !tbaa !9
  %13231 = sub i32 %13230, %13229
  store i32 %13231, ptr %37, align 4, !tbaa !9
  %13232 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13232, ptr %12, align 4, !tbaa !9
  store i32 -3, ptr %38, align 4, !tbaa !9
  %13233 = load i32, ptr %37, align 4, !tbaa !9
  %13234 = load i32, ptr %38, align 4, !tbaa !9
  %13235 = icmp sle i32 %13233, %13234
  %13236 = zext i1 %13235 to i32
  store i32 %13236, ptr %37, align 4, !tbaa !9
  %13237 = load i32, ptr %37, align 4, !tbaa !9
  %13238 = icmp ne i32 %13237, 0
  br i1 %13238, label %13239, label %13240

13239:                                            ; preds = %13219
  br label %14262

13240:                                            ; preds = %13219
  store i32 2147483647, ptr %37, align 4, !tbaa !9
  %13241 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13241, ptr %38, align 4, !tbaa !9
  %13242 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13242, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13243 = load i32, ptr %39, align 4, !tbaa !9
  %13244 = load i32, ptr %40, align 4, !tbaa !9
  %13245 = and i32 %13244, 31
  %13246 = ashr i32 %13243, %13245
  store i32 %13246, ptr %39, align 4, !tbaa !9
  %13247 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13247, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13248 = load i32, ptr %40, align 4, !tbaa !9
  %13249 = load i32, ptr %39, align 4, !tbaa !9
  %13250 = add i32 %13249, %13248
  store i32 %13250, ptr %39, align 4, !tbaa !9
  %13251 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13251, ptr %15, align 4, !tbaa !9
  %13252 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13252, ptr %40, align 4, !tbaa !9
  %13253 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13253, ptr %41, align 4, !tbaa !9
  %13254 = load i32, ptr %40, align 4, !tbaa !9
  %13255 = load i32, ptr %41, align 4, !tbaa !9
  %13256 = icmp ugt i32 %13254, %13255
  %13257 = zext i1 %13256 to i32
  store i32 %13257, ptr %40, align 4, !tbaa !9
  %13258 = load i32, ptr %40, align 4, !tbaa !9
  %13259 = icmp ne i32 %13258, 0
  br i1 %13259, label %13260, label %13262

13260:                                            ; preds = %13240
  %13261 = load i32, ptr %38, align 4, !tbaa !9
  br label %13264

13262:                                            ; preds = %13240
  %13263 = load i32, ptr %39, align 4, !tbaa !9
  br label %13264

13264:                                            ; preds = %13262, %13260
  %13265 = phi i32 [ %13261, %13260 ], [ %13263, %13262 ]
  store i32 %13265, ptr %38, align 4, !tbaa !9
  %13266 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13266, ptr %39, align 4, !tbaa !9
  store i32 2147483646, ptr %40, align 4, !tbaa !9
  %13267 = load i32, ptr %39, align 4, !tbaa !9
  %13268 = load i32, ptr %40, align 4, !tbaa !9
  %13269 = icmp uge i32 %13267, %13268
  %13270 = zext i1 %13269 to i32
  store i32 %13270, ptr %39, align 4, !tbaa !9
  %13271 = load i32, ptr %39, align 4, !tbaa !9
  %13272 = icmp ne i32 %13271, 0
  br i1 %13272, label %13273, label %13275

13273:                                            ; preds = %13264
  %13274 = load i32, ptr %37, align 4, !tbaa !9
  br label %13277

13275:                                            ; preds = %13264
  %13276 = load i32, ptr %38, align 4, !tbaa !9
  br label %13277

13277:                                            ; preds = %13275, %13273
  %13278 = phi i32 [ %13274, %13273 ], [ %13276, %13275 ]
  store i32 %13278, ptr %37, align 4, !tbaa !9
  %13279 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13279, ptr %15, align 4, !tbaa !9
  %13280 = load i32, ptr %37, align 4, !tbaa !9
  %13281 = icmp ne i32 %13280, 0
  br i1 %13281, label %13282, label %13300

13282:                                            ; preds = %13277
  %13283 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13283, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %13284 = load i32, ptr %37, align 4, !tbaa !9
  %13285 = load i32, ptr %38, align 4, !tbaa !9
  %13286 = icmp slt i32 %13284, %13285
  %13287 = zext i1 %13286 to i32
  store i32 %13287, ptr %37, align 4, !tbaa !9
  %13288 = load i32, ptr %37, align 4, !tbaa !9
  %13289 = icmp ne i32 %13288, 0
  br i1 %13289, label %13290, label %13291

13290:                                            ; preds = %13282
  br label %14263

13291:                                            ; preds = %13282
  %13292 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13292, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %13293 = load i32, ptr %38, align 4, !tbaa !9
  %13294 = and i32 %13293, 31
  %13295 = load i32, ptr %37, align 4, !tbaa !9
  %13296 = shl i32 %13295, %13294
  store i32 %13296, ptr %37, align 4, !tbaa !9
  %13297 = load ptr, ptr %8, align 8, !tbaa !5
  %13298 = load i32, ptr %37, align 4, !tbaa !9
  %13299 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %13297, i32 noundef %13298)
  store i32 %13299, ptr %37, align 4, !tbaa !9
  br label %13301

13300:                                            ; preds = %13277
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %13301

13301:                                            ; preds = %13300, %13291
  %13302 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13302, ptr %20, align 4, !tbaa !9
  %13303 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13303, ptr %37, align 4, !tbaa !9
  %13304 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13304, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %13305 = load i32, ptr %39, align 4, !tbaa !9
  %13306 = and i32 %13305, 31
  %13307 = load i32, ptr %38, align 4, !tbaa !9
  %13308 = shl i32 %13307, %13306
  store i32 %13308, ptr %38, align 4, !tbaa !9
  %13309 = load i32, ptr %38, align 4, !tbaa !9
  %13310 = load i32, ptr %37, align 4, !tbaa !9
  %13311 = add i32 %13310, %13309
  store i32 %13311, ptr %37, align 4, !tbaa !9
  %13312 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13312, ptr %23, align 4, !tbaa !9
  %13313 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13313, ptr %38, align 4, !tbaa !9
  %13314 = load ptr, ptr %8, align 8, !tbaa !5
  %13315 = getelementptr inbounds %struct.w2c_hermes, ptr %13314, i32 0, i32 6
  %13316 = load i32, ptr %37, align 4, !tbaa !9
  %13317 = zext i32 %13316 to i64
  %13318 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13315, i64 noundef %13317, i32 noundef %13318)
  %13319 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13319, ptr %37, align 4, !tbaa !9
  %13320 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13320, ptr %38, align 4, !tbaa !9
  %13321 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13321, ptr %39, align 4, !tbaa !9
  %13322 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13322, ptr %40, align 4, !tbaa !9
  %13323 = load ptr, ptr %8, align 8, !tbaa !5
  %13324 = load i32, ptr %38, align 4, !tbaa !9
  %13325 = load i32, ptr %39, align 4, !tbaa !9
  %13326 = load i32, ptr %40, align 4, !tbaa !9
  %13327 = call i32 @w2c_hermes_memmove(ptr noundef %13323, i32 noundef %13324, i32 noundef %13325, i32 noundef %13326)
  store i32 %13327, ptr %38, align 4, !tbaa !9
  %13328 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13328, ptr %12, align 4, !tbaa !9
  %13329 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13329, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13330 = load i32, ptr %40, align 4, !tbaa !9
  %13331 = and i32 %13330, 31
  %13332 = load i32, ptr %39, align 4, !tbaa !9
  %13333 = shl i32 %13332, %13331
  store i32 %13333, ptr %39, align 4, !tbaa !9
  %13334 = load i32, ptr %39, align 4, !tbaa !9
  %13335 = load i32, ptr %38, align 4, !tbaa !9
  %13336 = add i32 %13335, %13334
  store i32 %13336, ptr %38, align 4, !tbaa !9
  %13337 = load ptr, ptr %8, align 8, !tbaa !5
  %13338 = getelementptr inbounds %struct.w2c_hermes, ptr %13337, i32 0, i32 6
  %13339 = load i32, ptr %37, align 4, !tbaa !9
  %13340 = zext i32 %13339 to i64
  %13341 = add i64 %13340, 60
  %13342 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13338, i64 noundef %13341, i32 noundef %13342)
  %13343 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13343, ptr %37, align 4, !tbaa !9
  %13344 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13344, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13345 = load i32, ptr %39, align 4, !tbaa !9
  %13346 = load i32, ptr %38, align 4, !tbaa !9
  %13347 = add i32 %13346, %13345
  store i32 %13347, ptr %38, align 4, !tbaa !9
  %13348 = load ptr, ptr %8, align 8, !tbaa !5
  %13349 = getelementptr inbounds %struct.w2c_hermes, ptr %13348, i32 0, i32 6
  %13350 = load i32, ptr %37, align 4, !tbaa !9
  %13351 = zext i32 %13350 to i64
  %13352 = add i64 %13351, 56
  %13353 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13349, i64 noundef %13352, i32 noundef %13353)
  %13354 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13354, ptr %37, align 4, !tbaa !9
  %13355 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13355, ptr %38, align 4, !tbaa !9
  %13356 = load ptr, ptr %8, align 8, !tbaa !5
  %13357 = getelementptr inbounds %struct.w2c_hermes, ptr %13356, i32 0, i32 6
  %13358 = load i32, ptr %37, align 4, !tbaa !9
  %13359 = zext i32 %13358 to i64
  %13360 = add i64 %13359, 52
  %13361 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13357, i64 noundef %13360, i32 noundef %13361)
  %13362 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13362, ptr %37, align 4, !tbaa !9
  %13363 = load i32, ptr %37, align 4, !tbaa !9
  %13364 = icmp ne i32 %13363, 0
  %13365 = xor i1 %13364, true
  %13366 = zext i1 %13365 to i32
  store i32 %13366, ptr %37, align 4, !tbaa !9
  %13367 = load i32, ptr %37, align 4, !tbaa !9
  %13368 = icmp ne i32 %13367, 0
  br i1 %13368, label %13369, label %13370

13369:                                            ; preds = %13301
  br label %13390

13370:                                            ; preds = %13301
  %13371 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13371, ptr %37, align 4, !tbaa !9
  %13372 = load ptr, ptr %8, align 8, !tbaa !5
  %13373 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %13372, i32 noundef %13373)
  %13374 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13374, ptr %37, align 4, !tbaa !9
  store i32 45, ptr %38, align 4, !tbaa !9
  %13375 = load ptr, ptr %8, align 8, !tbaa !5
  %13376 = load i32, ptr %37, align 4, !tbaa !9
  %13377 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13375, i32 noundef %13376, i32 noundef %13377)
  br label %14238

13378:                                            ; preds = %13162
  %13379 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13379, ptr %37, align 4, !tbaa !9
  %13380 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13380, ptr %38, align 4, !tbaa !9
  %13381 = load ptr, ptr %8, align 8, !tbaa !5
  %13382 = getelementptr inbounds %struct.w2c_hermes, ptr %13381, i32 0, i32 6
  %13383 = load i32, ptr %38, align 4, !tbaa !9
  %13384 = zext i32 %13383 to i64
  %13385 = add i64 %13384, 20
  %13386 = call i32 @i32_load(ptr noundef %13382, i64 noundef %13385)
  store i32 %13386, ptr %38, align 4, !tbaa !9
  %13387 = load ptr, ptr %8, align 8, !tbaa !5
  %13388 = load i32, ptr %37, align 4, !tbaa !9
  %13389 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13387, i32 noundef %13388, i32 noundef %13389)
  br label %13390

13390:                                            ; preds = %13378, %13369
  %13391 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13391, ptr %37, align 4, !tbaa !9
  store i32 45, ptr %38, align 4, !tbaa !9
  %13392 = load ptr, ptr %8, align 8, !tbaa !5
  %13393 = load i32, ptr %37, align 4, !tbaa !9
  %13394 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13392, i32 noundef %13393, i32 noundef %13394)
  br label %14238

13395:                                            ; preds = %13121
  %13396 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13396, ptr %37, align 4, !tbaa !9
  %13397 = load ptr, ptr %8, align 8, !tbaa !5
  %13398 = getelementptr inbounds %struct.w2c_hermes, ptr %13397, i32 0, i32 6
  %13399 = load i32, ptr %37, align 4, !tbaa !9
  %13400 = zext i32 %13399 to i64
  %13401 = add i64 %13400, 14
  %13402 = call i32 @i32_load8_u(ptr noundef %13398, i64 noundef %13401)
  store i32 %13402, ptr %37, align 4, !tbaa !9
  %13403 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13403, ptr %38, align 4, !tbaa !9
  %13404 = load i32, ptr %38, align 4, !tbaa !9
  %13405 = load i32, ptr %37, align 4, !tbaa !9
  %13406 = or i32 %13405, %13404
  store i32 %13406, ptr %37, align 4, !tbaa !9
  %13407 = load i32, ptr %37, align 4, !tbaa !9
  %13408 = icmp ne i32 %13407, 0
  br i1 %13408, label %13409, label %13857

13409:                                            ; preds = %13395
  %13410 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %13410, ptr %37, align 4, !tbaa !9
  %13411 = load i32, ptr %37, align 4, !tbaa !9
  %13412 = icmp ne i32 %13411, 0
  br i1 %13412, label %13413, label %13414

13413:                                            ; preds = %13409
  br label %13882

13414:                                            ; preds = %13409
  %13415 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13415, ptr %37, align 4, !tbaa !9
  %13416 = load i32, ptr %37, align 4, !tbaa !9
  %13417 = icmp ne i32 %13416, 0
  br i1 %13417, label %13418, label %13622

13418:                                            ; preds = %13414
  %13419 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13419, ptr %37, align 4, !tbaa !9
  %13420 = load ptr, ptr %8, align 8, !tbaa !5
  %13421 = getelementptr inbounds %struct.w2c_hermes, ptr %13420, i32 0, i32 6
  %13422 = load i32, ptr %37, align 4, !tbaa !9
  %13423 = zext i32 %13422 to i64
  %13424 = add i64 %13423, 24
  %13425 = call i32 @i32_load16_u(ptr noundef %13421, i64 noundef %13424)
  store i32 %13425, ptr %37, align 4, !tbaa !9
  %13426 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13426, ptr %19, align 4, !tbaa !9
  %13427 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13427, ptr %37, align 4, !tbaa !9
  %13428 = load ptr, ptr %8, align 8, !tbaa !5
  %13429 = getelementptr inbounds %struct.w2c_hermes, ptr %13428, i32 0, i32 6
  %13430 = load i32, ptr %37, align 4, !tbaa !9
  %13431 = zext i32 %13430 to i64
  %13432 = add i64 %13431, 56
  %13433 = call i32 @i32_load(ptr noundef %13429, i64 noundef %13432)
  store i32 %13433, ptr %37, align 4, !tbaa !9
  %13434 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13434, ptr %12, align 4, !tbaa !9
  %13435 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13435, ptr %38, align 4, !tbaa !9
  %13436 = load ptr, ptr %8, align 8, !tbaa !5
  %13437 = getelementptr inbounds %struct.w2c_hermes, ptr %13436, i32 0, i32 6
  %13438 = load i32, ptr %38, align 4, !tbaa !9
  %13439 = zext i32 %13438 to i64
  %13440 = add i64 %13439, 60
  %13441 = call i32 @i32_load(ptr noundef %13437, i64 noundef %13440)
  store i32 %13441, ptr %38, align 4, !tbaa !9
  %13442 = load i32, ptr %37, align 4, !tbaa !9
  %13443 = load i32, ptr %38, align 4, !tbaa !9
  %13444 = icmp ne i32 %13442, %13443
  %13445 = zext i1 %13444 to i32
  store i32 %13445, ptr %37, align 4, !tbaa !9
  %13446 = load i32, ptr %37, align 4, !tbaa !9
  %13447 = icmp ne i32 %13446, 0
  br i1 %13447, label %13448, label %13467

13448:                                            ; preds = %13418
  %13449 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13449, ptr %37, align 4, !tbaa !9
  %13450 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13450, ptr %38, align 4, !tbaa !9
  %13451 = load ptr, ptr %8, align 8, !tbaa !5
  %13452 = getelementptr inbounds %struct.w2c_hermes, ptr %13451, i32 0, i32 6
  %13453 = load i32, ptr %37, align 4, !tbaa !9
  %13454 = zext i32 %13453 to i64
  %13455 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13452, i64 noundef %13454, i32 noundef %13455)
  %13456 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13456, ptr %37, align 4, !tbaa !9
  %13457 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13457, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13458 = load i32, ptr %39, align 4, !tbaa !9
  %13459 = load i32, ptr %38, align 4, !tbaa !9
  %13460 = add i32 %13459, %13458
  store i32 %13460, ptr %38, align 4, !tbaa !9
  %13461 = load ptr, ptr %8, align 8, !tbaa !5
  %13462 = getelementptr inbounds %struct.w2c_hermes, ptr %13461, i32 0, i32 6
  %13463 = load i32, ptr %37, align 4, !tbaa !9
  %13464 = zext i32 %13463 to i64
  %13465 = add i64 %13464, 56
  %13466 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13462, i64 noundef %13465, i32 noundef %13466)
  br label %13634

13467:                                            ; preds = %13418
  %13468 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13468, ptr %37, align 4, !tbaa !9
  %13469 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13469, ptr %38, align 4, !tbaa !9
  %13470 = load ptr, ptr %8, align 8, !tbaa !5
  %13471 = getelementptr inbounds %struct.w2c_hermes, ptr %13470, i32 0, i32 6
  %13472 = load i32, ptr %38, align 4, !tbaa !9
  %13473 = zext i32 %13472 to i64
  %13474 = add i64 %13473, 52
  %13475 = call i32 @i32_load(ptr noundef %13471, i64 noundef %13474)
  store i32 %13475, ptr %38, align 4, !tbaa !9
  %13476 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13476, ptr %14, align 4, !tbaa !9
  %13477 = load i32, ptr %38, align 4, !tbaa !9
  %13478 = load i32, ptr %37, align 4, !tbaa !9
  %13479 = sub i32 %13478, %13477
  store i32 %13479, ptr %37, align 4, !tbaa !9
  %13480 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13480, ptr %12, align 4, !tbaa !9
  store i32 -3, ptr %38, align 4, !tbaa !9
  %13481 = load i32, ptr %37, align 4, !tbaa !9
  %13482 = load i32, ptr %38, align 4, !tbaa !9
  %13483 = icmp sle i32 %13481, %13482
  %13484 = zext i1 %13483 to i32
  store i32 %13484, ptr %37, align 4, !tbaa !9
  %13485 = load i32, ptr %37, align 4, !tbaa !9
  %13486 = icmp ne i32 %13485, 0
  br i1 %13486, label %13487, label %13488

13487:                                            ; preds = %13467
  br label %14262

13488:                                            ; preds = %13467
  store i32 2147483647, ptr %37, align 4, !tbaa !9
  %13489 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13489, ptr %38, align 4, !tbaa !9
  %13490 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13490, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13491 = load i32, ptr %39, align 4, !tbaa !9
  %13492 = load i32, ptr %40, align 4, !tbaa !9
  %13493 = and i32 %13492, 31
  %13494 = ashr i32 %13491, %13493
  store i32 %13494, ptr %39, align 4, !tbaa !9
  %13495 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13495, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13496 = load i32, ptr %40, align 4, !tbaa !9
  %13497 = load i32, ptr %39, align 4, !tbaa !9
  %13498 = add i32 %13497, %13496
  store i32 %13498, ptr %39, align 4, !tbaa !9
  %13499 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13499, ptr %15, align 4, !tbaa !9
  %13500 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13500, ptr %40, align 4, !tbaa !9
  %13501 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13501, ptr %41, align 4, !tbaa !9
  %13502 = load i32, ptr %40, align 4, !tbaa !9
  %13503 = load i32, ptr %41, align 4, !tbaa !9
  %13504 = icmp ugt i32 %13502, %13503
  %13505 = zext i1 %13504 to i32
  store i32 %13505, ptr %40, align 4, !tbaa !9
  %13506 = load i32, ptr %40, align 4, !tbaa !9
  %13507 = icmp ne i32 %13506, 0
  br i1 %13507, label %13508, label %13510

13508:                                            ; preds = %13488
  %13509 = load i32, ptr %38, align 4, !tbaa !9
  br label %13512

13510:                                            ; preds = %13488
  %13511 = load i32, ptr %39, align 4, !tbaa !9
  br label %13512

13512:                                            ; preds = %13510, %13508
  %13513 = phi i32 [ %13509, %13508 ], [ %13511, %13510 ]
  store i32 %13513, ptr %38, align 4, !tbaa !9
  %13514 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13514, ptr %39, align 4, !tbaa !9
  store i32 2147483646, ptr %40, align 4, !tbaa !9
  %13515 = load i32, ptr %39, align 4, !tbaa !9
  %13516 = load i32, ptr %40, align 4, !tbaa !9
  %13517 = icmp uge i32 %13515, %13516
  %13518 = zext i1 %13517 to i32
  store i32 %13518, ptr %39, align 4, !tbaa !9
  %13519 = load i32, ptr %39, align 4, !tbaa !9
  %13520 = icmp ne i32 %13519, 0
  br i1 %13520, label %13521, label %13523

13521:                                            ; preds = %13512
  %13522 = load i32, ptr %37, align 4, !tbaa !9
  br label %13525

13523:                                            ; preds = %13512
  %13524 = load i32, ptr %38, align 4, !tbaa !9
  br label %13525

13525:                                            ; preds = %13523, %13521
  %13526 = phi i32 [ %13522, %13521 ], [ %13524, %13523 ]
  store i32 %13526, ptr %37, align 4, !tbaa !9
  %13527 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13527, ptr %15, align 4, !tbaa !9
  %13528 = load i32, ptr %37, align 4, !tbaa !9
  %13529 = icmp ne i32 %13528, 0
  br i1 %13529, label %13530, label %13548

13530:                                            ; preds = %13525
  %13531 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13531, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %13532 = load i32, ptr %37, align 4, !tbaa !9
  %13533 = load i32, ptr %38, align 4, !tbaa !9
  %13534 = icmp slt i32 %13532, %13533
  %13535 = zext i1 %13534 to i32
  store i32 %13535, ptr %37, align 4, !tbaa !9
  %13536 = load i32, ptr %37, align 4, !tbaa !9
  %13537 = icmp ne i32 %13536, 0
  br i1 %13537, label %13538, label %13539

13538:                                            ; preds = %13530
  br label %14263

13539:                                            ; preds = %13530
  %13540 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13540, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %13541 = load i32, ptr %38, align 4, !tbaa !9
  %13542 = and i32 %13541, 31
  %13543 = load i32, ptr %37, align 4, !tbaa !9
  %13544 = shl i32 %13543, %13542
  store i32 %13544, ptr %37, align 4, !tbaa !9
  %13545 = load ptr, ptr %8, align 8, !tbaa !5
  %13546 = load i32, ptr %37, align 4, !tbaa !9
  %13547 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %13545, i32 noundef %13546)
  store i32 %13547, ptr %37, align 4, !tbaa !9
  br label %13549

13548:                                            ; preds = %13525
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %13549

13549:                                            ; preds = %13548, %13539
  %13550 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13550, ptr %20, align 4, !tbaa !9
  %13551 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13551, ptr %37, align 4, !tbaa !9
  %13552 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13552, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %13553 = load i32, ptr %39, align 4, !tbaa !9
  %13554 = and i32 %13553, 31
  %13555 = load i32, ptr %38, align 4, !tbaa !9
  %13556 = shl i32 %13555, %13554
  store i32 %13556, ptr %38, align 4, !tbaa !9
  %13557 = load i32, ptr %38, align 4, !tbaa !9
  %13558 = load i32, ptr %37, align 4, !tbaa !9
  %13559 = add i32 %13558, %13557
  store i32 %13559, ptr %37, align 4, !tbaa !9
  %13560 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13560, ptr %23, align 4, !tbaa !9
  %13561 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13561, ptr %38, align 4, !tbaa !9
  %13562 = load ptr, ptr %8, align 8, !tbaa !5
  %13563 = getelementptr inbounds %struct.w2c_hermes, ptr %13562, i32 0, i32 6
  %13564 = load i32, ptr %37, align 4, !tbaa !9
  %13565 = zext i32 %13564 to i64
  %13566 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13563, i64 noundef %13565, i32 noundef %13566)
  %13567 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13567, ptr %37, align 4, !tbaa !9
  %13568 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13568, ptr %38, align 4, !tbaa !9
  %13569 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13569, ptr %39, align 4, !tbaa !9
  %13570 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13570, ptr %40, align 4, !tbaa !9
  %13571 = load ptr, ptr %8, align 8, !tbaa !5
  %13572 = load i32, ptr %38, align 4, !tbaa !9
  %13573 = load i32, ptr %39, align 4, !tbaa !9
  %13574 = load i32, ptr %40, align 4, !tbaa !9
  %13575 = call i32 @w2c_hermes_memmove(ptr noundef %13571, i32 noundef %13572, i32 noundef %13573, i32 noundef %13574)
  store i32 %13575, ptr %38, align 4, !tbaa !9
  %13576 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13576, ptr %12, align 4, !tbaa !9
  %13577 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13577, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13578 = load i32, ptr %40, align 4, !tbaa !9
  %13579 = and i32 %13578, 31
  %13580 = load i32, ptr %39, align 4, !tbaa !9
  %13581 = shl i32 %13580, %13579
  store i32 %13581, ptr %39, align 4, !tbaa !9
  %13582 = load i32, ptr %39, align 4, !tbaa !9
  %13583 = load i32, ptr %38, align 4, !tbaa !9
  %13584 = add i32 %13583, %13582
  store i32 %13584, ptr %38, align 4, !tbaa !9
  %13585 = load ptr, ptr %8, align 8, !tbaa !5
  %13586 = getelementptr inbounds %struct.w2c_hermes, ptr %13585, i32 0, i32 6
  %13587 = load i32, ptr %37, align 4, !tbaa !9
  %13588 = zext i32 %13587 to i64
  %13589 = add i64 %13588, 60
  %13590 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13586, i64 noundef %13589, i32 noundef %13590)
  %13591 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13591, ptr %37, align 4, !tbaa !9
  %13592 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13592, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13593 = load i32, ptr %39, align 4, !tbaa !9
  %13594 = load i32, ptr %38, align 4, !tbaa !9
  %13595 = add i32 %13594, %13593
  store i32 %13595, ptr %38, align 4, !tbaa !9
  %13596 = load ptr, ptr %8, align 8, !tbaa !5
  %13597 = getelementptr inbounds %struct.w2c_hermes, ptr %13596, i32 0, i32 6
  %13598 = load i32, ptr %37, align 4, !tbaa !9
  %13599 = zext i32 %13598 to i64
  %13600 = add i64 %13599, 56
  %13601 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13597, i64 noundef %13600, i32 noundef %13601)
  %13602 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13602, ptr %37, align 4, !tbaa !9
  %13603 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13603, ptr %38, align 4, !tbaa !9
  %13604 = load ptr, ptr %8, align 8, !tbaa !5
  %13605 = getelementptr inbounds %struct.w2c_hermes, ptr %13604, i32 0, i32 6
  %13606 = load i32, ptr %37, align 4, !tbaa !9
  %13607 = zext i32 %13606 to i64
  %13608 = add i64 %13607, 52
  %13609 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13605, i64 noundef %13608, i32 noundef %13609)
  %13610 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13610, ptr %37, align 4, !tbaa !9
  %13611 = load i32, ptr %37, align 4, !tbaa !9
  %13612 = icmp ne i32 %13611, 0
  %13613 = xor i1 %13612, true
  %13614 = zext i1 %13613 to i32
  store i32 %13614, ptr %37, align 4, !tbaa !9
  %13615 = load i32, ptr %37, align 4, !tbaa !9
  %13616 = icmp ne i32 %13615, 0
  br i1 %13616, label %13617, label %13618

13617:                                            ; preds = %13549
  br label %13634

13618:                                            ; preds = %13549
  %13619 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13619, ptr %37, align 4, !tbaa !9
  %13620 = load ptr, ptr %8, align 8, !tbaa !5
  %13621 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %13620, i32 noundef %13621)
  br label %13634

13622:                                            ; preds = %13414
  %13623 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13623, ptr %37, align 4, !tbaa !9
  %13624 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13624, ptr %38, align 4, !tbaa !9
  %13625 = load ptr, ptr %8, align 8, !tbaa !5
  %13626 = getelementptr inbounds %struct.w2c_hermes, ptr %13625, i32 0, i32 6
  %13627 = load i32, ptr %38, align 4, !tbaa !9
  %13628 = zext i32 %13627 to i64
  %13629 = add i64 %13628, 20
  %13630 = call i32 @i32_load(ptr noundef %13626, i64 noundef %13629)
  store i32 %13630, ptr %38, align 4, !tbaa !9
  %13631 = load ptr, ptr %8, align 8, !tbaa !5
  %13632 = load i32, ptr %37, align 4, !tbaa !9
  %13633 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13631, i32 noundef %13632, i32 noundef %13633)
  br label %13634

13634:                                            ; preds = %13622, %13618, %13617, %13448
  %13635 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %13635, ptr %37, align 4, !tbaa !9
  store i32 45, ptr %38, align 4, !tbaa !9
  %13636 = load ptr, ptr %8, align 8, !tbaa !5
  %13637 = load i32, ptr %37, align 4, !tbaa !9
  %13638 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %13636, i32 noundef %13637, i32 noundef %13638)
  %13639 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13639, ptr %37, align 4, !tbaa !9
  %13640 = load ptr, ptr %8, align 8, !tbaa !5
  %13641 = getelementptr inbounds %struct.w2c_hermes, ptr %13640, i32 0, i32 6
  %13642 = load i32, ptr %37, align 4, !tbaa !9
  %13643 = zext i32 %13642 to i64
  %13644 = add i64 %13643, 14
  %13645 = call i32 @i32_load8_u(ptr noundef %13641, i64 noundef %13644)
  store i32 %13645, ptr %37, align 4, !tbaa !9
  %13646 = load i32, ptr %37, align 4, !tbaa !9
  %13647 = icmp ne i32 %13646, 0
  %13648 = xor i1 %13647, true
  %13649 = zext i1 %13648 to i32
  store i32 %13649, ptr %37, align 4, !tbaa !9
  %13650 = load i32, ptr %37, align 4, !tbaa !9
  %13651 = icmp ne i32 %13650, 0
  br i1 %13651, label %13652, label %13653

13652:                                            ; preds = %13634
  br label %14226

13653:                                            ; preds = %13634
  %13654 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13654, ptr %37, align 4, !tbaa !9
  %13655 = load ptr, ptr %8, align 8, !tbaa !5
  %13656 = getelementptr inbounds %struct.w2c_hermes, ptr %13655, i32 0, i32 6
  %13657 = load i32, ptr %37, align 4, !tbaa !9
  %13658 = zext i32 %13657 to i64
  %13659 = add i64 %13658, 12
  %13660 = call i32 @i32_load16_u(ptr noundef %13656, i64 noundef %13659)
  store i32 %13660, ptr %37, align 4, !tbaa !9
  %13661 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13661, ptr %19, align 4, !tbaa !9
  %13662 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13662, ptr %37, align 4, !tbaa !9
  %13663 = load ptr, ptr %8, align 8, !tbaa !5
  %13664 = getelementptr inbounds %struct.w2c_hermes, ptr %13663, i32 0, i32 6
  %13665 = load i32, ptr %37, align 4, !tbaa !9
  %13666 = zext i32 %13665 to i64
  %13667 = add i64 %13666, 56
  %13668 = call i32 @i32_load(ptr noundef %13664, i64 noundef %13667)
  store i32 %13668, ptr %37, align 4, !tbaa !9
  %13669 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13669, ptr %12, align 4, !tbaa !9
  %13670 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13670, ptr %38, align 4, !tbaa !9
  %13671 = load ptr, ptr %8, align 8, !tbaa !5
  %13672 = getelementptr inbounds %struct.w2c_hermes, ptr %13671, i32 0, i32 6
  %13673 = load i32, ptr %38, align 4, !tbaa !9
  %13674 = zext i32 %13673 to i64
  %13675 = add i64 %13674, 60
  %13676 = call i32 @i32_load(ptr noundef %13672, i64 noundef %13675)
  store i32 %13676, ptr %38, align 4, !tbaa !9
  %13677 = load i32, ptr %37, align 4, !tbaa !9
  %13678 = load i32, ptr %38, align 4, !tbaa !9
  %13679 = icmp ne i32 %13677, %13678
  %13680 = zext i1 %13679 to i32
  store i32 %13680, ptr %37, align 4, !tbaa !9
  %13681 = load i32, ptr %37, align 4, !tbaa !9
  %13682 = icmp ne i32 %13681, 0
  br i1 %13682, label %13683, label %13702

13683:                                            ; preds = %13653
  %13684 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13684, ptr %37, align 4, !tbaa !9
  %13685 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13685, ptr %38, align 4, !tbaa !9
  %13686 = load ptr, ptr %8, align 8, !tbaa !5
  %13687 = getelementptr inbounds %struct.w2c_hermes, ptr %13686, i32 0, i32 6
  %13688 = load i32, ptr %37, align 4, !tbaa !9
  %13689 = zext i32 %13688 to i64
  %13690 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13687, i64 noundef %13689, i32 noundef %13690)
  %13691 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13691, ptr %37, align 4, !tbaa !9
  %13692 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13692, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13693 = load i32, ptr %39, align 4, !tbaa !9
  %13694 = load i32, ptr %38, align 4, !tbaa !9
  %13695 = add i32 %13694, %13693
  store i32 %13695, ptr %38, align 4, !tbaa !9
  %13696 = load ptr, ptr %8, align 8, !tbaa !5
  %13697 = getelementptr inbounds %struct.w2c_hermes, ptr %13696, i32 0, i32 6
  %13698 = load i32, ptr %37, align 4, !tbaa !9
  %13699 = zext i32 %13698 to i64
  %13700 = add i64 %13699, 56
  %13701 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13697, i64 noundef %13700, i32 noundef %13701)
  br label %14238

13702:                                            ; preds = %13653
  %13703 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13703, ptr %37, align 4, !tbaa !9
  %13704 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13704, ptr %38, align 4, !tbaa !9
  %13705 = load ptr, ptr %8, align 8, !tbaa !5
  %13706 = getelementptr inbounds %struct.w2c_hermes, ptr %13705, i32 0, i32 6
  %13707 = load i32, ptr %38, align 4, !tbaa !9
  %13708 = zext i32 %13707 to i64
  %13709 = add i64 %13708, 52
  %13710 = call i32 @i32_load(ptr noundef %13706, i64 noundef %13709)
  store i32 %13710, ptr %38, align 4, !tbaa !9
  %13711 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13711, ptr %14, align 4, !tbaa !9
  %13712 = load i32, ptr %38, align 4, !tbaa !9
  %13713 = load i32, ptr %37, align 4, !tbaa !9
  %13714 = sub i32 %13713, %13712
  store i32 %13714, ptr %37, align 4, !tbaa !9
  %13715 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13715, ptr %12, align 4, !tbaa !9
  store i32 -3, ptr %38, align 4, !tbaa !9
  %13716 = load i32, ptr %37, align 4, !tbaa !9
  %13717 = load i32, ptr %38, align 4, !tbaa !9
  %13718 = icmp sle i32 %13716, %13717
  %13719 = zext i1 %13718 to i32
  store i32 %13719, ptr %37, align 4, !tbaa !9
  %13720 = load i32, ptr %37, align 4, !tbaa !9
  %13721 = icmp ne i32 %13720, 0
  br i1 %13721, label %13722, label %13723

13722:                                            ; preds = %13702
  br label %14262

13723:                                            ; preds = %13702
  store i32 2147483647, ptr %37, align 4, !tbaa !9
  %13724 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13724, ptr %38, align 4, !tbaa !9
  %13725 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13725, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13726 = load i32, ptr %39, align 4, !tbaa !9
  %13727 = load i32, ptr %40, align 4, !tbaa !9
  %13728 = and i32 %13727, 31
  %13729 = ashr i32 %13726, %13728
  store i32 %13729, ptr %39, align 4, !tbaa !9
  %13730 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13730, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13731 = load i32, ptr %40, align 4, !tbaa !9
  %13732 = load i32, ptr %39, align 4, !tbaa !9
  %13733 = add i32 %13732, %13731
  store i32 %13733, ptr %39, align 4, !tbaa !9
  %13734 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %13734, ptr %15, align 4, !tbaa !9
  %13735 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13735, ptr %40, align 4, !tbaa !9
  %13736 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13736, ptr %41, align 4, !tbaa !9
  %13737 = load i32, ptr %40, align 4, !tbaa !9
  %13738 = load i32, ptr %41, align 4, !tbaa !9
  %13739 = icmp ugt i32 %13737, %13738
  %13740 = zext i1 %13739 to i32
  store i32 %13740, ptr %40, align 4, !tbaa !9
  %13741 = load i32, ptr %40, align 4, !tbaa !9
  %13742 = icmp ne i32 %13741, 0
  br i1 %13742, label %13743, label %13745

13743:                                            ; preds = %13723
  %13744 = load i32, ptr %38, align 4, !tbaa !9
  br label %13747

13745:                                            ; preds = %13723
  %13746 = load i32, ptr %39, align 4, !tbaa !9
  br label %13747

13747:                                            ; preds = %13745, %13743
  %13748 = phi i32 [ %13744, %13743 ], [ %13746, %13745 ]
  store i32 %13748, ptr %38, align 4, !tbaa !9
  %13749 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13749, ptr %39, align 4, !tbaa !9
  store i32 2147483646, ptr %40, align 4, !tbaa !9
  %13750 = load i32, ptr %39, align 4, !tbaa !9
  %13751 = load i32, ptr %40, align 4, !tbaa !9
  %13752 = icmp uge i32 %13750, %13751
  %13753 = zext i1 %13752 to i32
  store i32 %13753, ptr %39, align 4, !tbaa !9
  %13754 = load i32, ptr %39, align 4, !tbaa !9
  %13755 = icmp ne i32 %13754, 0
  br i1 %13755, label %13756, label %13758

13756:                                            ; preds = %13747
  %13757 = load i32, ptr %37, align 4, !tbaa !9
  br label %13760

13758:                                            ; preds = %13747
  %13759 = load i32, ptr %38, align 4, !tbaa !9
  br label %13760

13760:                                            ; preds = %13758, %13756
  %13761 = phi i32 [ %13757, %13756 ], [ %13759, %13758 ]
  store i32 %13761, ptr %37, align 4, !tbaa !9
  %13762 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13762, ptr %15, align 4, !tbaa !9
  %13763 = load i32, ptr %37, align 4, !tbaa !9
  %13764 = icmp ne i32 %13763, 0
  br i1 %13764, label %13765, label %13783

13765:                                            ; preds = %13760
  %13766 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13766, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %13767 = load i32, ptr %37, align 4, !tbaa !9
  %13768 = load i32, ptr %38, align 4, !tbaa !9
  %13769 = icmp slt i32 %13767, %13768
  %13770 = zext i1 %13769 to i32
  store i32 %13770, ptr %37, align 4, !tbaa !9
  %13771 = load i32, ptr %37, align 4, !tbaa !9
  %13772 = icmp ne i32 %13771, 0
  br i1 %13772, label %13773, label %13774

13773:                                            ; preds = %13765
  br label %14263

13774:                                            ; preds = %13765
  %13775 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13775, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %13776 = load i32, ptr %38, align 4, !tbaa !9
  %13777 = and i32 %13776, 31
  %13778 = load i32, ptr %37, align 4, !tbaa !9
  %13779 = shl i32 %13778, %13777
  store i32 %13779, ptr %37, align 4, !tbaa !9
  %13780 = load ptr, ptr %8, align 8, !tbaa !5
  %13781 = load i32, ptr %37, align 4, !tbaa !9
  %13782 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %13780, i32 noundef %13781)
  store i32 %13782, ptr %37, align 4, !tbaa !9
  br label %13784

13783:                                            ; preds = %13760
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %13784

13784:                                            ; preds = %13783, %13774
  %13785 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13785, ptr %20, align 4, !tbaa !9
  %13786 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13786, ptr %37, align 4, !tbaa !9
  %13787 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13787, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %13788 = load i32, ptr %39, align 4, !tbaa !9
  %13789 = and i32 %13788, 31
  %13790 = load i32, ptr %38, align 4, !tbaa !9
  %13791 = shl i32 %13790, %13789
  store i32 %13791, ptr %38, align 4, !tbaa !9
  %13792 = load i32, ptr %38, align 4, !tbaa !9
  %13793 = load i32, ptr %37, align 4, !tbaa !9
  %13794 = add i32 %13793, %13792
  store i32 %13794, ptr %37, align 4, !tbaa !9
  %13795 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13795, ptr %23, align 4, !tbaa !9
  %13796 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %13796, ptr %38, align 4, !tbaa !9
  %13797 = load ptr, ptr %8, align 8, !tbaa !5
  %13798 = getelementptr inbounds %struct.w2c_hermes, ptr %13797, i32 0, i32 6
  %13799 = load i32, ptr %37, align 4, !tbaa !9
  %13800 = zext i32 %13799 to i64
  %13801 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %13798, i64 noundef %13800, i32 noundef %13801)
  %13802 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13802, ptr %37, align 4, !tbaa !9
  %13803 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %13803, ptr %38, align 4, !tbaa !9
  %13804 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13804, ptr %39, align 4, !tbaa !9
  %13805 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13805, ptr %40, align 4, !tbaa !9
  %13806 = load ptr, ptr %8, align 8, !tbaa !5
  %13807 = load i32, ptr %38, align 4, !tbaa !9
  %13808 = load i32, ptr %39, align 4, !tbaa !9
  %13809 = load i32, ptr %40, align 4, !tbaa !9
  %13810 = call i32 @w2c_hermes_memmove(ptr noundef %13806, i32 noundef %13807, i32 noundef %13808, i32 noundef %13809)
  store i32 %13810, ptr %38, align 4, !tbaa !9
  %13811 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13811, ptr %12, align 4, !tbaa !9
  %13812 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13812, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %13813 = load i32, ptr %40, align 4, !tbaa !9
  %13814 = and i32 %13813, 31
  %13815 = load i32, ptr %39, align 4, !tbaa !9
  %13816 = shl i32 %13815, %13814
  store i32 %13816, ptr %39, align 4, !tbaa !9
  %13817 = load i32, ptr %39, align 4, !tbaa !9
  %13818 = load i32, ptr %38, align 4, !tbaa !9
  %13819 = add i32 %13818, %13817
  store i32 %13819, ptr %38, align 4, !tbaa !9
  %13820 = load ptr, ptr %8, align 8, !tbaa !5
  %13821 = getelementptr inbounds %struct.w2c_hermes, ptr %13820, i32 0, i32 6
  %13822 = load i32, ptr %37, align 4, !tbaa !9
  %13823 = zext i32 %13822 to i64
  %13824 = add i64 %13823, 60
  %13825 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13821, i64 noundef %13824, i32 noundef %13825)
  %13826 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13826, ptr %37, align 4, !tbaa !9
  %13827 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %13827, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %13828 = load i32, ptr %39, align 4, !tbaa !9
  %13829 = load i32, ptr %38, align 4, !tbaa !9
  %13830 = add i32 %13829, %13828
  store i32 %13830, ptr %38, align 4, !tbaa !9
  %13831 = load ptr, ptr %8, align 8, !tbaa !5
  %13832 = getelementptr inbounds %struct.w2c_hermes, ptr %13831, i32 0, i32 6
  %13833 = load i32, ptr %37, align 4, !tbaa !9
  %13834 = zext i32 %13833 to i64
  %13835 = add i64 %13834, 56
  %13836 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13832, i64 noundef %13835, i32 noundef %13836)
  %13837 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13837, ptr %37, align 4, !tbaa !9
  %13838 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13838, ptr %38, align 4, !tbaa !9
  %13839 = load ptr, ptr %8, align 8, !tbaa !5
  %13840 = getelementptr inbounds %struct.w2c_hermes, ptr %13839, i32 0, i32 6
  %13841 = load i32, ptr %37, align 4, !tbaa !9
  %13842 = zext i32 %13841 to i64
  %13843 = add i64 %13842, 52
  %13844 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13840, i64 noundef %13843, i32 noundef %13844)
  %13845 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13845, ptr %37, align 4, !tbaa !9
  %13846 = load i32, ptr %37, align 4, !tbaa !9
  %13847 = icmp ne i32 %13846, 0
  %13848 = xor i1 %13847, true
  %13849 = zext i1 %13848 to i32
  store i32 %13849, ptr %37, align 4, !tbaa !9
  %13850 = load i32, ptr %37, align 4, !tbaa !9
  %13851 = icmp ne i32 %13850, 0
  br i1 %13851, label %13852, label %13853

13852:                                            ; preds = %13784
  br label %14238

13853:                                            ; preds = %13784
  %13854 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13854, ptr %37, align 4, !tbaa !9
  %13855 = load ptr, ptr %8, align 8, !tbaa !5
  %13856 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %13855, i32 noundef %13856)
  br label %14238

13857:                                            ; preds = %13395
  %13858 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13858, ptr %37, align 4, !tbaa !9
  %13859 = load ptr, ptr %8, align 8, !tbaa !5
  %13860 = getelementptr inbounds %struct.w2c_hermes, ptr %13859, i32 0, i32 6
  %13861 = load i32, ptr %37, align 4, !tbaa !9
  %13862 = zext i32 %13861 to i64
  %13863 = add i64 %13862, 20
  %13864 = call i32 @i32_load(ptr noundef %13860, i64 noundef %13863)
  store i32 %13864, ptr %37, align 4, !tbaa !9
  %13865 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13865, ptr %14, align 4, !tbaa !9
  %13866 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %13866, ptr %38, align 4, !tbaa !9
  %13867 = load ptr, ptr %8, align 8, !tbaa !5
  %13868 = getelementptr inbounds %struct.w2c_hermes, ptr %13867, i32 0, i32 6
  %13869 = load i32, ptr %38, align 4, !tbaa !9
  %13870 = zext i32 %13869 to i64
  %13871 = add i64 %13870, 8
  %13872 = call i32 @i32_load(ptr noundef %13868, i64 noundef %13871)
  store i32 %13872, ptr %38, align 4, !tbaa !9
  %13873 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13873, ptr %15, align 4, !tbaa !9
  %13874 = load i32, ptr %37, align 4, !tbaa !9
  %13875 = load i32, ptr %38, align 4, !tbaa !9
  %13876 = icmp ule i32 %13874, %13875
  %13877 = zext i1 %13876 to i32
  store i32 %13877, ptr %37, align 4, !tbaa !9
  %13878 = load i32, ptr %37, align 4, !tbaa !9
  %13879 = icmp ne i32 %13878, 0
  br i1 %13879, label %13880, label %13881

13880:                                            ; preds = %13857
  br label %13915

13881:                                            ; preds = %13857
  br label %13882

13882:                                            ; preds = %13881, %13413
  %13883 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13883, ptr %37, align 4, !tbaa !9
  %13884 = load ptr, ptr %8, align 8, !tbaa !5
  %13885 = getelementptr inbounds %struct.w2c_hermes, ptr %13884, i32 0, i32 6
  %13886 = load i32, ptr %37, align 4, !tbaa !9
  %13887 = zext i32 %13886 to i64
  %13888 = add i64 %13887, 12
  %13889 = call i32 @i32_load(ptr noundef %13885, i64 noundef %13888)
  store i32 %13889, ptr %37, align 4, !tbaa !9
  %13890 = load i32, ptr %37, align 4, !tbaa !9
  %13891 = icmp ne i32 %13890, 0
  br i1 %13891, label %13892, label %13893

13892:                                            ; preds = %13882
  br label %14291

13893:                                            ; preds = %13882
  %13894 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13894, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %13895 = load ptr, ptr %8, align 8, !tbaa !5
  %13896 = getelementptr inbounds %struct.w2c_hermes, ptr %13895, i32 0, i32 6
  %13897 = load i32, ptr %37, align 4, !tbaa !9
  %13898 = zext i32 %13897 to i64
  %13899 = add i64 %13898, 12
  %13900 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13896, i64 noundef %13899, i32 noundef %13900)
  %13901 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13901, ptr %37, align 4, !tbaa !9
  %13902 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %13902, ptr %38, align 4, !tbaa !9
  %13903 = load ptr, ptr %8, align 8, !tbaa !5
  %13904 = getelementptr inbounds %struct.w2c_hermes, ptr %13903, i32 0, i32 6
  %13905 = load i32, ptr %38, align 4, !tbaa !9
  %13906 = zext i32 %13905 to i64
  %13907 = add i64 %13906, 8
  %13908 = call i32 @i32_load(ptr noundef %13904, i64 noundef %13907)
  store i32 %13908, ptr %38, align 4, !tbaa !9
  %13909 = load ptr, ptr %8, align 8, !tbaa !5
  %13910 = getelementptr inbounds %struct.w2c_hermes, ptr %13909, i32 0, i32 6
  %13911 = load i32, ptr %37, align 4, !tbaa !9
  %13912 = zext i32 %13911 to i64
  %13913 = add i64 %13912, 4
  %13914 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13910, i64 noundef %13913, i32 noundef %13914)
  br label %14291

13915:                                            ; preds = %13880
  %13916 = load ptr, ptr %8, align 8, !tbaa !5
  %13917 = getelementptr inbounds %struct.w2c_hermes, ptr %13916, i32 0, i32 3
  %13918 = load i32, ptr %13917, align 8, !tbaa !13
  store i32 %13918, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %13919 = load i32, ptr %38, align 4, !tbaa !9
  %13920 = load i32, ptr %37, align 4, !tbaa !9
  %13921 = sub i32 %13920, %13919
  store i32 %13921, ptr %37, align 4, !tbaa !9
  %13922 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %13922, ptr %12, align 4, !tbaa !9
  %13923 = load i32, ptr %37, align 4, !tbaa !9
  %13924 = load ptr, ptr %8, align 8, !tbaa !5
  %13925 = getelementptr inbounds %struct.w2c_hermes, ptr %13924, i32 0, i32 3
  store i32 %13923, ptr %13925, align 8, !tbaa !13
  %13926 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13926, ptr %37, align 4, !tbaa !9
  %13927 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13927, ptr %38, align 4, !tbaa !9
  %13928 = load ptr, ptr %8, align 8, !tbaa !5
  %13929 = getelementptr inbounds %struct.w2c_hermes, ptr %13928, i32 0, i32 6
  %13930 = load i32, ptr %37, align 4, !tbaa !9
  %13931 = zext i32 %13930 to i64
  %13932 = add i64 %13931, 8
  %13933 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13929, i64 noundef %13932, i32 noundef %13933)
  %13934 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13934, ptr %37, align 4, !tbaa !9
  %13935 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %13935, ptr %38, align 4, !tbaa !9
  %13936 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13936, ptr %39, align 4, !tbaa !9
  %13937 = load i32, ptr %39, align 4, !tbaa !9
  %13938 = load i32, ptr %38, align 4, !tbaa !9
  %13939 = sub i32 %13938, %13937
  store i32 %13939, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %13940 = load i32, ptr %39, align 4, !tbaa !9
  %13941 = load i32, ptr %38, align 4, !tbaa !9
  %13942 = add i32 %13941, %13940
  store i32 %13942, ptr %38, align 4, !tbaa !9
  %13943 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13943, ptr %14, align 4, !tbaa !9
  %13944 = load ptr, ptr %8, align 8, !tbaa !5
  %13945 = getelementptr inbounds %struct.w2c_hermes, ptr %13944, i32 0, i32 6
  %13946 = load i32, ptr %37, align 4, !tbaa !9
  %13947 = zext i32 %13946 to i64
  %13948 = add i64 %13947, 12
  %13949 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %13945, i64 noundef %13948, i32 noundef %13949)
  %13950 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13950, ptr %37, align 4, !tbaa !9
  %13951 = load i32, ptr %37, align 4, !tbaa !9
  %13952 = icmp ne i32 %13951, 0
  %13953 = xor i1 %13952, true
  %13954 = zext i1 %13953 to i32
  store i32 %13954, ptr %37, align 4, !tbaa !9
  %13955 = load i32, ptr %37, align 4, !tbaa !9
  %13956 = icmp ne i32 %13955, 0
  br i1 %13956, label %13957, label %13958

13957:                                            ; preds = %13915
  br label %14206

13958:                                            ; preds = %13915
  %13959 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13959, ptr %37, align 4, !tbaa !9
  store i32 20, ptr %38, align 4, !tbaa !9
  %13960 = load i32, ptr %38, align 4, !tbaa !9
  %13961 = load i32, ptr %37, align 4, !tbaa !9
  %13962 = add i32 %13961, %13960
  store i32 %13962, ptr %37, align 4, !tbaa !9
  %13963 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13963, ptr %38, align 4, !tbaa !9
  %13964 = load ptr, ptr %8, align 8, !tbaa !5
  %13965 = getelementptr inbounds %struct.w2c_hermes, ptr %13964, i32 0, i32 6
  %13966 = load i32, ptr %38, align 4, !tbaa !9
  %13967 = zext i32 %13966 to i64
  %13968 = add i64 %13967, 8
  %13969 = call i32 @i32_load(ptr noundef %13965, i64 noundef %13968)
  store i32 %13969, ptr %38, align 4, !tbaa !9
  %13970 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %13970, ptr %14, align 4, !tbaa !9
  %13971 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %13971, ptr %39, align 4, !tbaa !9
  %13972 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %13972, ptr %40, align 4, !tbaa !9
  %13973 = load ptr, ptr %8, align 8, !tbaa !5
  %13974 = getelementptr inbounds %struct.w2c_hermes, ptr %13973, i32 0, i32 6
  %13975 = load i32, ptr %40, align 4, !tbaa !9
  %13976 = zext i32 %13975 to i64
  %13977 = add i64 %13976, 12
  %13978 = call i32 @i32_load(ptr noundef %13974, i64 noundef %13977)
  store i32 %13978, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %13979 = load i32, ptr %41, align 4, !tbaa !9
  %13980 = and i32 %13979, 31
  %13981 = load i32, ptr %40, align 4, !tbaa !9
  %13982 = shl i32 %13981, %13980
  store i32 %13982, ptr %40, align 4, !tbaa !9
  %13983 = load i32, ptr %40, align 4, !tbaa !9
  %13984 = load i32, ptr %39, align 4, !tbaa !9
  %13985 = add i32 %13984, %13983
  store i32 %13985, ptr %39, align 4, !tbaa !9
  %13986 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13986, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %13987 = load i32, ptr %41, align 4, !tbaa !9
  %13988 = load i32, ptr %40, align 4, !tbaa !9
  %13989 = add i32 %13988, %13987
  store i32 %13989, ptr %40, align 4, !tbaa !9
  %13990 = load ptr, ptr %8, align 8, !tbaa !5
  %13991 = load i32, ptr %37, align 4, !tbaa !9
  %13992 = load i32, ptr %38, align 4, !tbaa !9
  %13993 = load i32, ptr %39, align 4, !tbaa !9
  %13994 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apair0x3Chermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x3E0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fequal_range0x5Babi0x3Av150070x5D0x3Cstd0x3A0x3A_0x5F20x3A0x3A_ClassicAlgPolicy0x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x3E0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x260x260x29(ptr noundef %13990, i32 noundef %13991, i32 noundef %13992, i32 noundef %13993, i32 noundef %13994)
  %13995 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %13995, ptr %37, align 4, !tbaa !9
  %13996 = load ptr, ptr %8, align 8, !tbaa !5
  %13997 = getelementptr inbounds %struct.w2c_hermes, ptr %13996, i32 0, i32 6
  %13998 = load i32, ptr %37, align 4, !tbaa !9
  %13999 = zext i32 %13998 to i64
  %14000 = add i64 %13999, 20
  %14001 = call i32 @i32_load(ptr noundef %13997, i64 noundef %14000)
  store i32 %14001, ptr %37, align 4, !tbaa !9
  %14002 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14002, ptr %14, align 4, !tbaa !9
  %14003 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14003, ptr %38, align 4, !tbaa !9
  %14004 = load ptr, ptr %8, align 8, !tbaa !5
  %14005 = getelementptr inbounds %struct.w2c_hermes, ptr %14004, i32 0, i32 6
  %14006 = load i32, ptr %38, align 4, !tbaa !9
  %14007 = zext i32 %14006 to i64
  %14008 = add i64 %14007, 24
  %14009 = call i32 @i32_load(ptr noundef %14005, i64 noundef %14008)
  store i32 %14009, ptr %38, align 4, !tbaa !9
  %14010 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14010, ptr %15, align 4, !tbaa !9
  %14011 = load i32, ptr %37, align 4, !tbaa !9
  %14012 = load i32, ptr %38, align 4, !tbaa !9
  %14013 = icmp eq i32 %14011, %14012
  %14014 = zext i1 %14013 to i32
  store i32 %14014, ptr %37, align 4, !tbaa !9
  %14015 = load i32, ptr %37, align 4, !tbaa !9
  %14016 = icmp ne i32 %14015, 0
  br i1 %14016, label %14017, label %14031

14017:                                            ; preds = %13958
  %14018 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14018, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14019 = load i32, ptr %38, align 4, !tbaa !9
  %14020 = load i32, ptr %37, align 4, !tbaa !9
  %14021 = add i32 %14020, %14019
  store i32 %14021, ptr %37, align 4, !tbaa !9
  %14022 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14022, ptr %38, align 4, !tbaa !9
  %14023 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14023, ptr %39, align 4, !tbaa !9
  store i32 8, ptr %40, align 4, !tbaa !9
  %14024 = load i32, ptr %40, align 4, !tbaa !9
  %14025 = load i32, ptr %39, align 4, !tbaa !9
  %14026 = add i32 %14025, %14024
  store i32 %14026, ptr %39, align 4, !tbaa !9
  %14027 = load ptr, ptr %8, align 8, !tbaa !5
  %14028 = load i32, ptr %37, align 4, !tbaa !9
  %14029 = load i32, ptr %38, align 4, !tbaa !9
  %14030 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Chermes0x3A0x3ACodePointRange0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x29(ptr noundef %14027, i32 noundef %14028, i32 noundef %14029, i32 noundef %14030)
  br label %14206

14031:                                            ; preds = %13958
  %14032 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14032, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14033 = load i32, ptr %38, align 4, !tbaa !9
  %14034 = load i32, ptr %37, align 4, !tbaa !9
  %14035 = sub i32 %14034, %14033
  store i32 %14035, ptr %37, align 4, !tbaa !9
  %14036 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14036, ptr %15, align 4, !tbaa !9
  %14037 = load ptr, ptr %8, align 8, !tbaa !5
  %14038 = getelementptr inbounds %struct.w2c_hermes, ptr %14037, i32 0, i32 6
  %14039 = load i32, ptr %37, align 4, !tbaa !9
  %14040 = zext i32 %14039 to i64
  %14041 = call i32 @i32_load(ptr noundef %14038, i64 noundef %14040)
  store i32 %14041, ptr %37, align 4, !tbaa !9
  %14042 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14042, ptr %19, align 4, !tbaa !9
  %14043 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14043, ptr %37, align 4, !tbaa !9
  %14044 = load ptr, ptr %8, align 8, !tbaa !5
  %14045 = getelementptr inbounds %struct.w2c_hermes, ptr %14044, i32 0, i32 6
  %14046 = load i32, ptr %37, align 4, !tbaa !9
  %14047 = zext i32 %14046 to i64
  %14048 = add i64 %14047, 4
  %14049 = call i32 @i32_load(ptr noundef %14045, i64 noundef %14048)
  store i32 %14049, ptr %37, align 4, !tbaa !9
  %14050 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14050, ptr %20, align 4, !tbaa !9
  %14051 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14051, ptr %37, align 4, !tbaa !9
  %14052 = load ptr, ptr %8, align 8, !tbaa !5
  %14053 = getelementptr inbounds %struct.w2c_hermes, ptr %14052, i32 0, i32 6
  %14054 = load i32, ptr %37, align 4, !tbaa !9
  %14055 = zext i32 %14054 to i64
  %14056 = add i64 %14055, 12
  %14057 = call i32 @i32_load(ptr noundef %14053, i64 noundef %14056)
  store i32 %14057, ptr %37, align 4, !tbaa !9
  %14058 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14058, ptr %23, align 4, !tbaa !9
  %14059 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14059, ptr %37, align 4, !tbaa !9
  %14060 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14060, ptr %38, align 4, !tbaa !9
  %14061 = load ptr, ptr %8, align 8, !tbaa !5
  %14062 = getelementptr inbounds %struct.w2c_hermes, ptr %14061, i32 0, i32 6
  %14063 = load i32, ptr %38, align 4, !tbaa !9
  %14064 = zext i32 %14063 to i64
  %14065 = call i32 @i32_load(ptr noundef %14062, i64 noundef %14064)
  store i32 %14065, ptr %38, align 4, !tbaa !9
  %14066 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14066, ptr %25, align 4, !tbaa !9
  %14067 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14067, ptr %39, align 4, !tbaa !9
  %14068 = load ptr, ptr %8, align 8, !tbaa !5
  %14069 = getelementptr inbounds %struct.w2c_hermes, ptr %14068, i32 0, i32 6
  %14070 = load i32, ptr %39, align 4, !tbaa !9
  %14071 = zext i32 %14070 to i64
  %14072 = add i64 %14071, 8
  %14073 = call i32 @i32_load(ptr noundef %14069, i64 noundef %14072)
  store i32 %14073, ptr %39, align 4, !tbaa !9
  %14074 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %14074, ptr %15, align 4, !tbaa !9
  %14075 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14075, ptr %40, align 4, !tbaa !9
  %14076 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %14076, ptr %41, align 4, !tbaa !9
  %14077 = load i32, ptr %40, align 4, !tbaa !9
  %14078 = load i32, ptr %41, align 4, !tbaa !9
  %14079 = icmp ugt i32 %14077, %14078
  %14080 = zext i1 %14079 to i32
  store i32 %14080, ptr %40, align 4, !tbaa !9
  %14081 = load i32, ptr %40, align 4, !tbaa !9
  %14082 = icmp ne i32 %14081, 0
  br i1 %14082, label %14083, label %14085

14083:                                            ; preds = %14031
  %14084 = load i32, ptr %38, align 4, !tbaa !9
  br label %14087

14085:                                            ; preds = %14031
  %14086 = load i32, ptr %39, align 4, !tbaa !9
  br label %14087

14087:                                            ; preds = %14085, %14083
  %14088 = phi i32 [ %14084, %14083 ], [ %14086, %14085 ]
  store i32 %14088, ptr %38, align 4, !tbaa !9
  %14089 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14089, ptr %25, align 4, !tbaa !9
  %14090 = load ptr, ptr %8, align 8, !tbaa !5
  %14091 = getelementptr inbounds %struct.w2c_hermes, ptr %14090, i32 0, i32 6
  %14092 = load i32, ptr %37, align 4, !tbaa !9
  %14093 = zext i32 %14092 to i64
  %14094 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14091, i64 noundef %14093, i32 noundef %14094)
  %14095 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14095, ptr %37, align 4, !tbaa !9
  %14096 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14096, ptr %38, align 4, !tbaa !9
  %14097 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %14097, ptr %39, align 4, !tbaa !9
  %14098 = load i32, ptr %39, align 4, !tbaa !9
  %14099 = load i32, ptr %38, align 4, !tbaa !9
  %14100 = add i32 %14099, %14098
  store i32 %14100, ptr %38, align 4, !tbaa !9
  %14101 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14101, ptr %14, align 4, !tbaa !9
  %14102 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %14102, ptr %39, align 4, !tbaa !9
  %14103 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %14103, ptr %40, align 4, !tbaa !9
  %14104 = load i32, ptr %40, align 4, !tbaa !9
  %14105 = load i32, ptr %39, align 4, !tbaa !9
  %14106 = add i32 %14105, %14104
  store i32 %14106, ptr %39, align 4, !tbaa !9
  %14107 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %14107, ptr %15, align 4, !tbaa !9
  %14108 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14108, ptr %40, align 4, !tbaa !9
  %14109 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14109, ptr %41, align 4, !tbaa !9
  %14110 = load i32, ptr %40, align 4, !tbaa !9
  %14111 = load i32, ptr %41, align 4, !tbaa !9
  %14112 = icmp ugt i32 %14110, %14111
  %14113 = zext i1 %14112 to i32
  store i32 %14113, ptr %40, align 4, !tbaa !9
  %14114 = load i32, ptr %40, align 4, !tbaa !9
  %14115 = icmp ne i32 %14114, 0
  br i1 %14115, label %14116, label %14118

14116:                                            ; preds = %14087
  %14117 = load i32, ptr %38, align 4, !tbaa !9
  br label %14120

14118:                                            ; preds = %14087
  %14119 = load i32, ptr %39, align 4, !tbaa !9
  br label %14120

14120:                                            ; preds = %14118, %14116
  %14121 = phi i32 [ %14117, %14116 ], [ %14119, %14118 ]
  store i32 %14121, ptr %38, align 4, !tbaa !9
  %14122 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %14122, ptr %39, align 4, !tbaa !9
  %14123 = load i32, ptr %39, align 4, !tbaa !9
  %14124 = load i32, ptr %38, align 4, !tbaa !9
  %14125 = sub i32 %14124, %14123
  store i32 %14125, ptr %38, align 4, !tbaa !9
  %14126 = load ptr, ptr %8, align 8, !tbaa !5
  %14127 = getelementptr inbounds %struct.w2c_hermes, ptr %14126, i32 0, i32 6
  %14128 = load i32, ptr %37, align 4, !tbaa !9
  %14129 = zext i32 %14128 to i64
  %14130 = add i64 %14129, 4
  %14131 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14127, i64 noundef %14130, i32 noundef %14131)
  %14132 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14132, ptr %37, align 4, !tbaa !9
  %14133 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14133, ptr %38, align 4, !tbaa !9
  %14134 = load ptr, ptr %8, align 8, !tbaa !5
  %14135 = getelementptr inbounds %struct.w2c_hermes, ptr %14134, i32 0, i32 6
  %14136 = load i32, ptr %38, align 4, !tbaa !9
  %14137 = zext i32 %14136 to i64
  %14138 = add i64 %14137, 20
  %14139 = call i32 @i32_load(ptr noundef %14135, i64 noundef %14138)
  store i32 %14139, ptr %38, align 4, !tbaa !9
  store i32 8, ptr %39, align 4, !tbaa !9
  %14140 = load i32, ptr %39, align 4, !tbaa !9
  %14141 = load i32, ptr %38, align 4, !tbaa !9
  %14142 = add i32 %14141, %14140
  store i32 %14142, ptr %38, align 4, !tbaa !9
  %14143 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14143, ptr %39, align 4, !tbaa !9
  %14144 = load ptr, ptr %8, align 8, !tbaa !5
  %14145 = getelementptr inbounds %struct.w2c_hermes, ptr %14144, i32 0, i32 6
  %14146 = load i32, ptr %39, align 4, !tbaa !9
  %14147 = zext i32 %14146 to i64
  %14148 = add i64 %14147, 24
  %14149 = call i32 @i32_load(ptr noundef %14145, i64 noundef %14148)
  store i32 %14149, ptr %39, align 4, !tbaa !9
  %14150 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %14150, ptr %14, align 4, !tbaa !9
  %14151 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14151, ptr %40, align 4, !tbaa !9
  %14152 = load ptr, ptr %8, align 8, !tbaa !5
  %14153 = getelementptr inbounds %struct.w2c_hermes, ptr %14152, i32 0, i32 6
  %14154 = load i32, ptr %40, align 4, !tbaa !9
  %14155 = zext i32 %14154 to i64
  %14156 = add i64 %14155, 8
  %14157 = call i32 @i32_load(ptr noundef %14153, i64 noundef %14156)
  store i32 %14157, ptr %40, align 4, !tbaa !9
  %14158 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14158, ptr %41, align 4, !tbaa !9
  %14159 = load ptr, ptr %8, align 8, !tbaa !5
  %14160 = getelementptr inbounds %struct.w2c_hermes, ptr %14159, i32 0, i32 6
  %14161 = load i32, ptr %41, align 4, !tbaa !9
  %14162 = zext i32 %14161 to i64
  %14163 = add i64 %14162, 12
  %14164 = call i32 @i32_load(ptr noundef %14160, i64 noundef %14163)
  store i32 %14164, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %14165 = load i32, ptr %42, align 4, !tbaa !9
  %14166 = and i32 %14165, 31
  %14167 = load i32, ptr %41, align 4, !tbaa !9
  %14168 = shl i32 %14167, %14166
  store i32 %14168, ptr %41, align 4, !tbaa !9
  %14169 = load i32, ptr %41, align 4, !tbaa !9
  %14170 = load i32, ptr %40, align 4, !tbaa !9
  %14171 = add i32 %14170, %14169
  store i32 %14171, ptr %40, align 4, !tbaa !9
  %14172 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14172, ptr %41, align 4, !tbaa !9
  %14173 = load i32, ptr %41, align 4, !tbaa !9
  %14174 = load i32, ptr %40, align 4, !tbaa !9
  %14175 = sub i32 %14174, %14173
  store i32 %14175, ptr %40, align 4, !tbaa !9
  %14176 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %14176, ptr %14, align 4, !tbaa !9
  %14177 = load ptr, ptr %8, align 8, !tbaa !5
  %14178 = load i32, ptr %38, align 4, !tbaa !9
  %14179 = load i32, ptr %39, align 4, !tbaa !9
  %14180 = load i32, ptr %40, align 4, !tbaa !9
  %14181 = call i32 @w2c_hermes_memmove(ptr noundef %14177, i32 noundef %14178, i32 noundef %14179, i32 noundef %14180)
  store i32 %14181, ptr %38, align 4, !tbaa !9
  %14182 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14182, ptr %39, align 4, !tbaa !9
  %14183 = load i32, ptr %39, align 4, !tbaa !9
  %14184 = load i32, ptr %38, align 4, !tbaa !9
  %14185 = add i32 %14184, %14183
  store i32 %14185, ptr %38, align 4, !tbaa !9
  %14186 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14186, ptr %39, align 4, !tbaa !9
  %14187 = load ptr, ptr %8, align 8, !tbaa !5
  %14188 = getelementptr inbounds %struct.w2c_hermes, ptr %14187, i32 0, i32 6
  %14189 = load i32, ptr %39, align 4, !tbaa !9
  %14190 = zext i32 %14189 to i64
  %14191 = add i64 %14190, 8
  %14192 = call i32 @i32_load(ptr noundef %14188, i64 noundef %14191)
  store i32 %14192, ptr %39, align 4, !tbaa !9
  %14193 = load i32, ptr %39, align 4, !tbaa !9
  %14194 = load i32, ptr %38, align 4, !tbaa !9
  %14195 = sub i32 %14194, %14193
  store i32 %14195, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %14196 = load i32, ptr %38, align 4, !tbaa !9
  %14197 = load i32, ptr %39, align 4, !tbaa !9
  %14198 = and i32 %14197, 31
  %14199 = ashr i32 %14196, %14198
  store i32 %14199, ptr %38, align 4, !tbaa !9
  %14200 = load ptr, ptr %8, align 8, !tbaa !5
  %14201 = getelementptr inbounds %struct.w2c_hermes, ptr %14200, i32 0, i32 6
  %14202 = load i32, ptr %37, align 4, !tbaa !9
  %14203 = zext i32 %14202 to i64
  %14204 = add i64 %14203, 12
  %14205 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14201, i64 noundef %14204, i32 noundef %14205)
  br label %14206

14206:                                            ; preds = %14120, %14017, %13957
  %14207 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14207, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %14208 = load i32, ptr %38, align 4, !tbaa !9
  %14209 = load i32, ptr %37, align 4, !tbaa !9
  %14210 = add i32 %14209, %14208
  store i32 %14210, ptr %37, align 4, !tbaa !9
  %14211 = load i32, ptr %37, align 4, !tbaa !9
  %14212 = load ptr, ptr %8, align 8, !tbaa !5
  %14213 = getelementptr inbounds %struct.w2c_hermes, ptr %14212, i32 0, i32 3
  store i32 %14211, ptr %14213, align 8, !tbaa !13
  br label %14238

14214:                                            ; preds = %12916
  %14215 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14215, ptr %37, align 4, !tbaa !9
  %14216 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14216, ptr %38, align 4, !tbaa !9
  %14217 = load ptr, ptr %8, align 8, !tbaa !5
  %14218 = getelementptr inbounds %struct.w2c_hermes, ptr %14217, i32 0, i32 6
  %14219 = load i32, ptr %38, align 4, !tbaa !9
  %14220 = zext i32 %14219 to i64
  %14221 = add i64 %14220, 20
  %14222 = call i32 @i32_load(ptr noundef %14218, i64 noundef %14221)
  store i32 %14222, ptr %38, align 4, !tbaa !9
  %14223 = load ptr, ptr %8, align 8, !tbaa !5
  %14224 = load i32, ptr %37, align 4, !tbaa !9
  %14225 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %14223, i32 noundef %14224, i32 noundef %14225)
  br label %14238

14226:                                            ; preds = %13652
  %14227 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14227, ptr %37, align 4, !tbaa !9
  %14228 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14228, ptr %38, align 4, !tbaa !9
  %14229 = load ptr, ptr %8, align 8, !tbaa !5
  %14230 = getelementptr inbounds %struct.w2c_hermes, ptr %14229, i32 0, i32 6
  %14231 = load i32, ptr %38, align 4, !tbaa !9
  %14232 = zext i32 %14231 to i64
  %14233 = add i64 %14232, 8
  %14234 = call i32 @i32_load(ptr noundef %14230, i64 noundef %14233)
  store i32 %14234, ptr %38, align 4, !tbaa !9
  %14235 = load ptr, ptr %8, align 8, !tbaa !5
  %14236 = load i32, ptr %37, align 4, !tbaa !9
  %14237 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %14235, i32 noundef %14236, i32 noundef %14237)
  br label %14238

14238:                                            ; preds = %14226, %14214, %14206, %13853, %13852, %13683, %13390, %13370, %13196, %13117, %13116, %12947, %12864
  %14239 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14239, ptr %37, align 4, !tbaa !9
  %14240 = load ptr, ptr %8, align 8, !tbaa !5
  %14241 = getelementptr inbounds %struct.w2c_hermes, ptr %14240, i32 0, i32 6
  %14242 = load i32, ptr %37, align 4, !tbaa !9
  %14243 = zext i32 %14242 to i64
  %14244 = add i64 %14243, 4
  %14245 = call i32 @i32_load(ptr noundef %14241, i64 noundef %14244)
  store i32 %14245, ptr %37, align 4, !tbaa !9
  %14246 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14246, ptr %14, align 4, !tbaa !9
  %14247 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14247, ptr %38, align 4, !tbaa !9
  %14248 = load ptr, ptr %8, align 8, !tbaa !5
  %14249 = getelementptr inbounds %struct.w2c_hermes, ptr %14248, i32 0, i32 6
  %14250 = load i32, ptr %38, align 4, !tbaa !9
  %14251 = zext i32 %14250 to i64
  %14252 = add i64 %14251, 8
  %14253 = call i32 @i32_load(ptr noundef %14249, i64 noundef %14252)
  store i32 %14253, ptr %38, align 4, !tbaa !9
  %14254 = load i32, ptr %37, align 4, !tbaa !9
  %14255 = load i32, ptr %38, align 4, !tbaa !9
  %14256 = icmp ne i32 %14254, %14255
  %14257 = zext i1 %14256 to i32
  store i32 %14257, ptr %37, align 4, !tbaa !9
  %14258 = load i32, ptr %37, align 4, !tbaa !9
  %14259 = icmp ne i32 %14258, 0
  br i1 %14259, label %14260, label %14261

14260:                                            ; preds = %14238
  br label %12817

14261:                                            ; preds = %14238
  br label %14264

14262:                                            ; preds = %13722, %13487, %13239, %12986
  br label %18024

14263:                                            ; preds = %13773, %13538, %13290, %13037
  br label %15466

14264:                                            ; preds = %14261, %12805
  %14265 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14265, ptr %37, align 4, !tbaa !9
  %14266 = load ptr, ptr %8, align 8, !tbaa !5
  %14267 = getelementptr inbounds %struct.w2c_hermes, ptr %14266, i32 0, i32 6
  %14268 = load i32, ptr %37, align 4, !tbaa !9
  %14269 = zext i32 %14268 to i64
  %14270 = add i64 %14269, 12
  %14271 = call i32 @i32_load(ptr noundef %14267, i64 noundef %14270)
  store i32 %14271, ptr %37, align 4, !tbaa !9
  %14272 = load i32, ptr %37, align 4, !tbaa !9
  %14273 = icmp ne i32 %14272, 0
  br i1 %14273, label %14274, label %14275

14274:                                            ; preds = %14264
  br label %14291

14275:                                            ; preds = %14264
  %14276 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14276, ptr %37, align 4, !tbaa !9
  %14277 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14277, ptr %38, align 4, !tbaa !9
  %14278 = load ptr, ptr %8, align 8, !tbaa !5
  %14279 = getelementptr inbounds %struct.w2c_hermes, ptr %14278, i32 0, i32 6
  %14280 = load i32, ptr %37, align 4, !tbaa !9
  %14281 = zext i32 %14280 to i64
  %14282 = add i64 %14281, 4
  %14283 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14279, i64 noundef %14282, i32 noundef %14283)
  %14284 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14284, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %14285 = load ptr, ptr %8, align 8, !tbaa !5
  %14286 = getelementptr inbounds %struct.w2c_hermes, ptr %14285, i32 0, i32 6
  %14287 = load i32, ptr %37, align 4, !tbaa !9
  %14288 = zext i32 %14287 to i64
  %14289 = add i64 %14288, 12
  %14290 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14286, i64 noundef %14289, i32 noundef %14290)
  br label %14291

14291:                                            ; preds = %14275, %14274, %13893, %13892, %12830
  %14292 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14292, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %14293 = load i32, ptr %38, align 4, !tbaa !9
  %14294 = load i32, ptr %37, align 4, !tbaa !9
  %14295 = add i32 %14294, %14293
  store i32 %14295, ptr %37, align 4, !tbaa !9
  %14296 = load i32, ptr %37, align 4, !tbaa !9
  %14297 = load ptr, ptr %8, align 8, !tbaa !5
  %14298 = getelementptr inbounds %struct.w2c_hermes, ptr %14297, i32 0, i32 3
  store i32 %14296, ptr %14298, align 8, !tbaa !13
  br label %15050

14299:                                            ; preds = %8720, %8700, %8699
  %14300 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14300, ptr %37, align 4, !tbaa !9
  %14301 = load ptr, ptr %8, align 8, !tbaa !5
  %14302 = getelementptr inbounds %struct.w2c_hermes, ptr %14301, i32 0, i32 6
  %14303 = load i32, ptr %37, align 4, !tbaa !9
  %14304 = zext i32 %14303 to i64
  %14305 = add i64 %14304, 12
  %14306 = call i32 @i32_load(ptr noundef %14302, i64 noundef %14305)
  store i32 %14306, ptr %37, align 4, !tbaa !9
  %14307 = load i32, ptr %37, align 4, !tbaa !9
  %14308 = icmp ne i32 %14307, 0
  br i1 %14308, label %14309, label %14310

14309:                                            ; preds = %14299
  br label %15193

14310:                                            ; preds = %14299
  %14311 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14311, ptr %37, align 4, !tbaa !9
  %14312 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14312, ptr %38, align 4, !tbaa !9
  %14313 = load ptr, ptr %8, align 8, !tbaa !5
  %14314 = getelementptr inbounds %struct.w2c_hermes, ptr %14313, i32 0, i32 6
  %14315 = load i32, ptr %37, align 4, !tbaa !9
  %14316 = zext i32 %14315 to i64
  %14317 = add i64 %14316, 4
  %14318 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14314, i64 noundef %14317, i32 noundef %14318)
  %14319 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14319, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %14320 = load ptr, ptr %8, align 8, !tbaa !5
  %14321 = getelementptr inbounds %struct.w2c_hermes, ptr %14320, i32 0, i32 6
  %14322 = load i32, ptr %37, align 4, !tbaa !9
  %14323 = zext i32 %14322 to i64
  %14324 = add i64 %14323, 12
  %14325 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14321, i64 noundef %14324, i32 noundef %14325)
  br label %15193

14326:                                            ; preds = %8780
  %14327 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14327, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %14328 = load ptr, ptr %8, align 8, !tbaa !5
  %14329 = getelementptr inbounds %struct.w2c_hermes, ptr %14328, i32 0, i32 6
  %14330 = load i32, ptr %37, align 4, !tbaa !9
  %14331 = zext i32 %14330 to i64
  %14332 = add i64 %14331, 24
  %14333 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14329, i64 noundef %14332, i32 noundef %14333)
  %14334 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14334, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %14335 = load ptr, ptr %8, align 8, !tbaa !5
  %14336 = getelementptr inbounds %struct.w2c_hermes, ptr %14335, i32 0, i32 6
  %14337 = load i32, ptr %37, align 4, !tbaa !9
  %14338 = zext i32 %14337 to i64
  %14339 = add i64 %14338, 20
  %14340 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %14336, i64 noundef %14339, i32 noundef %14340)
  %14341 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14341, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %14342 = load ptr, ptr %8, align 8, !tbaa !5
  %14343 = getelementptr inbounds %struct.w2c_hermes, ptr %14342, i32 0, i32 6
  %14344 = load i32, ptr %37, align 4, !tbaa !9
  %14345 = zext i32 %14344 to i64
  %14346 = add i64 %14345, 12
  %14347 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %14343, i64 noundef %14346, i64 noundef %14347)
  %14348 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14348, ptr %37, align 4, !tbaa !9
  %14349 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14349, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %14350 = load i32, ptr %39, align 4, !tbaa !9
  %14351 = load i32, ptr %38, align 4, !tbaa !9
  %14352 = add i32 %14351, %14350
  store i32 %14352, ptr %38, align 4, !tbaa !9
  %14353 = load ptr, ptr %8, align 8, !tbaa !5
  %14354 = load i32, ptr %37, align 4, !tbaa !9
  %14355 = load i32, ptr %38, align 4, !tbaa !9
  %14356 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %14353, i32 noundef %14354, i32 noundef %14355)
  store i32 %14356, ptr %37, align 4, !tbaa !9
  %14357 = load i32, ptr %37, align 4, !tbaa !9
  %14358 = icmp ne i32 %14357, 0
  br i1 %14358, label %14359, label %14436

14359:                                            ; preds = %14326
  %14360 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14360, ptr %37, align 4, !tbaa !9
  %14361 = load ptr, ptr %8, align 8, !tbaa !5
  %14362 = getelementptr inbounds %struct.w2c_hermes, ptr %14361, i32 0, i32 6
  %14363 = load i32, ptr %37, align 4, !tbaa !9
  %14364 = zext i32 %14363 to i64
  %14365 = add i64 %14364, 4
  %14366 = call i32 @i32_load(ptr noundef %14362, i64 noundef %14365)
  store i32 %14366, ptr %37, align 4, !tbaa !9
  %14367 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14367, ptr %10, align 4, !tbaa !9
  %14368 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14368, ptr %38, align 4, !tbaa !9
  %14369 = load ptr, ptr %8, align 8, !tbaa !5
  %14370 = getelementptr inbounds %struct.w2c_hermes, ptr %14369, i32 0, i32 6
  %14371 = load i32, ptr %38, align 4, !tbaa !9
  %14372 = zext i32 %14371 to i64
  %14373 = add i64 %14372, 8
  %14374 = call i32 @i32_load(ptr noundef %14370, i64 noundef %14373)
  store i32 %14374, ptr %38, align 4, !tbaa !9
  %14375 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14375, ptr %11, align 4, !tbaa !9
  %14376 = load i32, ptr %37, align 4, !tbaa !9
  %14377 = load i32, ptr %38, align 4, !tbaa !9
  %14378 = icmp eq i32 %14376, %14377
  %14379 = zext i1 %14378 to i32
  store i32 %14379, ptr %37, align 4, !tbaa !9
  %14380 = load i32, ptr %37, align 4, !tbaa !9
  %14381 = icmp ne i32 %14380, 0
  br i1 %14381, label %14382, label %14383

14382:                                            ; preds = %14359
  br label %14409

14383:                                            ; preds = %14359
  %14384 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14384, ptr %37, align 4, !tbaa !9
  %14385 = load ptr, ptr %8, align 8, !tbaa !5
  %14386 = getelementptr inbounds %struct.w2c_hermes, ptr %14385, i32 0, i32 6
  %14387 = load i32, ptr %37, align 4, !tbaa !9
  %14388 = zext i32 %14387 to i64
  %14389 = call i32 @i32_load16_u(ptr noundef %14386, i64 noundef %14388)
  store i32 %14389, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %14390 = load i32, ptr %37, align 4, !tbaa !9
  %14391 = load i32, ptr %38, align 4, !tbaa !9
  %14392 = icmp ne i32 %14390, %14391
  %14393 = zext i1 %14392 to i32
  store i32 %14393, ptr %37, align 4, !tbaa !9
  %14394 = load i32, ptr %37, align 4, !tbaa !9
  %14395 = icmp ne i32 %14394, 0
  br i1 %14395, label %14396, label %14397

14396:                                            ; preds = %14383
  br label %14409

14397:                                            ; preds = %14383
  %14398 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14398, ptr %37, align 4, !tbaa !9
  %14399 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14399, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14400 = load i32, ptr %39, align 4, !tbaa !9
  %14401 = load i32, ptr %38, align 4, !tbaa !9
  %14402 = add i32 %14401, %14400
  store i32 %14402, ptr %38, align 4, !tbaa !9
  %14403 = load ptr, ptr %8, align 8, !tbaa !5
  %14404 = getelementptr inbounds %struct.w2c_hermes, ptr %14403, i32 0, i32 6
  %14405 = load i32, ptr %37, align 4, !tbaa !9
  %14406 = zext i32 %14405 to i64
  %14407 = add i64 %14406, 4
  %14408 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14404, i64 noundef %14407, i32 noundef %14408)
  br label %14409

14409:                                            ; preds = %14397, %14396, %14382
  %14410 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14410, ptr %37, align 4, !tbaa !9
  %14411 = load ptr, ptr %8, align 8, !tbaa !5
  %14412 = getelementptr inbounds %struct.w2c_hermes, ptr %14411, i32 0, i32 6
  %14413 = load i32, ptr %37, align 4, !tbaa !9
  %14414 = zext i32 %14413 to i64
  %14415 = add i64 %14414, 12
  %14416 = call i32 @i32_load(ptr noundef %14412, i64 noundef %14415)
  store i32 %14416, ptr %37, align 4, !tbaa !9
  %14417 = load i32, ptr %37, align 4, !tbaa !9
  %14418 = icmp ne i32 %14417, 0
  br i1 %14418, label %14419, label %14420

14419:                                            ; preds = %14409
  br label %15193

14420:                                            ; preds = %14409
  %14421 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14421, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %14422 = load ptr, ptr %8, align 8, !tbaa !5
  %14423 = getelementptr inbounds %struct.w2c_hermes, ptr %14422, i32 0, i32 6
  %14424 = load i32, ptr %37, align 4, !tbaa !9
  %14425 = zext i32 %14424 to i64
  %14426 = add i64 %14425, 12
  %14427 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14423, i64 noundef %14426, i32 noundef %14427)
  %14428 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14428, ptr %37, align 4, !tbaa !9
  %14429 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14429, ptr %38, align 4, !tbaa !9
  %14430 = load ptr, ptr %8, align 8, !tbaa !5
  %14431 = getelementptr inbounds %struct.w2c_hermes, ptr %14430, i32 0, i32 6
  %14432 = load i32, ptr %37, align 4, !tbaa !9
  %14433 = zext i32 %14432 to i64
  %14434 = add i64 %14433, 4
  %14435 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14431, i64 noundef %14434, i32 noundef %14435)
  br label %15193

14436:                                            ; preds = %14326
  %14437 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14437, ptr %37, align 4, !tbaa !9
  %14438 = load ptr, ptr %8, align 8, !tbaa !5
  %14439 = getelementptr inbounds %struct.w2c_hermes, ptr %14438, i32 0, i32 6
  %14440 = load i32, ptr %37, align 4, !tbaa !9
  %14441 = zext i32 %14440 to i64
  %14442 = add i64 %14441, 16
  %14443 = call i32 @i32_load8_u(ptr noundef %14439, i64 noundef %14442)
  store i32 %14443, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14444 = load i32, ptr %38, align 4, !tbaa !9
  %14445 = load i32, ptr %37, align 4, !tbaa !9
  %14446 = and i32 %14445, %14444
  store i32 %14446, ptr %37, align 4, !tbaa !9
  %14447 = load i32, ptr %37, align 4, !tbaa !9
  %14448 = icmp ne i32 %14447, 0
  br i1 %14448, label %14449, label %14482

14449:                                            ; preds = %14436
  %14450 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14450, ptr %37, align 4, !tbaa !9
  %14451 = load ptr, ptr %8, align 8, !tbaa !5
  %14452 = getelementptr inbounds %struct.w2c_hermes, ptr %14451, i32 0, i32 6
  %14453 = load i32, ptr %37, align 4, !tbaa !9
  %14454 = zext i32 %14453 to i64
  %14455 = add i64 %14454, 12
  %14456 = call i32 @i32_load(ptr noundef %14452, i64 noundef %14455)
  store i32 %14456, ptr %37, align 4, !tbaa !9
  %14457 = load i32, ptr %37, align 4, !tbaa !9
  %14458 = icmp ne i32 %14457, 0
  br i1 %14458, label %14459, label %14460

14459:                                            ; preds = %14449
  br label %15193

14460:                                            ; preds = %14449
  %14461 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14461, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14462 = load ptr, ptr %8, align 8, !tbaa !5
  %14463 = getelementptr inbounds %struct.w2c_hermes, ptr %14462, i32 0, i32 6
  %14464 = load i32, ptr %37, align 4, !tbaa !9
  %14465 = zext i32 %14464 to i64
  %14466 = add i64 %14465, 12
  %14467 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14463, i64 noundef %14466, i32 noundef %14467)
  %14468 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14468, ptr %37, align 4, !tbaa !9
  %14469 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14469, ptr %38, align 4, !tbaa !9
  %14470 = load ptr, ptr %8, align 8, !tbaa !5
  %14471 = getelementptr inbounds %struct.w2c_hermes, ptr %14470, i32 0, i32 6
  %14472 = load i32, ptr %38, align 4, !tbaa !9
  %14473 = zext i32 %14472 to i64
  %14474 = add i64 %14473, 8
  %14475 = call i32 @i32_load(ptr noundef %14471, i64 noundef %14474)
  store i32 %14475, ptr %38, align 4, !tbaa !9
  %14476 = load ptr, ptr %8, align 8, !tbaa !5
  %14477 = getelementptr inbounds %struct.w2c_hermes, ptr %14476, i32 0, i32 6
  %14478 = load i32, ptr %37, align 4, !tbaa !9
  %14479 = zext i32 %14478 to i64
  %14480 = add i64 %14479, 4
  %14481 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14477, i64 noundef %14480, i32 noundef %14481)
  br label %15193

14482:                                            ; preds = %14436
  %14483 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14483, ptr %37, align 4, !tbaa !9
  %14484 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14484, ptr %38, align 4, !tbaa !9
  %14485 = load ptr, ptr %8, align 8, !tbaa !5
  %14486 = getelementptr inbounds %struct.w2c_hermes, ptr %14485, i32 0, i32 6
  %14487 = load i32, ptr %38, align 4, !tbaa !9
  %14488 = zext i32 %14487 to i64
  %14489 = add i64 %14488, 4
  %14490 = call i32 @i32_load(ptr noundef %14486, i64 noundef %14489)
  store i32 %14490, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14491 = load i32, ptr %39, align 4, !tbaa !9
  %14492 = load i32, ptr %38, align 4, !tbaa !9
  %14493 = add i32 %14492, %14491
  store i32 %14493, ptr %38, align 4, !tbaa !9
  %14494 = load ptr, ptr %8, align 8, !tbaa !5
  %14495 = getelementptr inbounds %struct.w2c_hermes, ptr %14494, i32 0, i32 6
  %14496 = load i32, ptr %37, align 4, !tbaa !9
  %14497 = zext i32 %14496 to i64
  %14498 = add i64 %14497, 4
  %14499 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14495, i64 noundef %14498, i32 noundef %14499)
  %14500 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14500, ptr %37, align 4, !tbaa !9
  %14501 = load ptr, ptr %8, align 8, !tbaa !5
  %14502 = getelementptr inbounds %struct.w2c_hermes, ptr %14501, i32 0, i32 6
  %14503 = load i32, ptr %37, align 4, !tbaa !9
  %14504 = zext i32 %14503 to i64
  %14505 = call i32 @i32_load(ptr noundef %14502, i64 noundef %14504)
  store i32 %14505, ptr %37, align 4, !tbaa !9
  %14506 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14506, ptr %10, align 4, !tbaa !9
  %14507 = load ptr, ptr %8, align 8, !tbaa !5
  %14508 = getelementptr inbounds %struct.w2c_hermes, ptr %14507, i32 0, i32 6
  %14509 = load i32, ptr %37, align 4, !tbaa !9
  %14510 = zext i32 %14509 to i64
  %14511 = add i64 %14510, 136
  %14512 = call i32 @i32_load8_u(ptr noundef %14508, i64 noundef %14511)
  store i32 %14512, ptr %37, align 4, !tbaa !9
  %14513 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14513, ptr %11, align 4, !tbaa !9
  %14514 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14514, ptr %37, align 4, !tbaa !9
  store i32 123, ptr %38, align 4, !tbaa !9
  %14515 = load ptr, ptr %8, align 8, !tbaa !5
  %14516 = getelementptr inbounds %struct.w2c_hermes, ptr %14515, i32 0, i32 6
  %14517 = load i32, ptr %37, align 4, !tbaa !9
  %14518 = zext i32 %14517 to i64
  %14519 = add i64 %14518, 60
  %14520 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14516, i64 noundef %14519, i32 noundef %14520)
  %14521 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14521, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %14522 = load ptr, ptr %8, align 8, !tbaa !5
  %14523 = getelementptr inbounds %struct.w2c_hermes, ptr %14522, i32 0, i32 6
  %14524 = load i32, ptr %37, align 4, !tbaa !9
  %14525 = zext i32 %14524 to i64
  %14526 = add i64 %14525, 52
  %14527 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %14523, i64 noundef %14526, i64 noundef %14527)
  %14528 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14528, ptr %37, align 4, !tbaa !9
  %14529 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %14529, ptr %38, align 4, !tbaa !9
  %14530 = load ptr, ptr %8, align 8, !tbaa !5
  %14531 = getelementptr inbounds %struct.w2c_hermes, ptr %14530, i32 0, i32 6
  %14532 = load i32, ptr %37, align 4, !tbaa !9
  %14533 = zext i32 %14532 to i64
  %14534 = add i64 %14533, 48
  %14535 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14531, i64 noundef %14534, i32 noundef %14535)
  %14536 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14536, ptr %37, align 4, !tbaa !9
  %14537 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14537, ptr %38, align 4, !tbaa !9
  %14538 = load ptr, ptr %8, align 8, !tbaa !5
  %14539 = getelementptr inbounds %struct.w2c_hermes, ptr %14538, i32 0, i32 6
  %14540 = load i32, ptr %37, align 4, !tbaa !9
  %14541 = zext i32 %14540 to i64
  %14542 = add i64 %14541, 47
  %14543 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %14539, i64 noundef %14542, i32 noundef %14543)
  %14544 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14544, ptr %37, align 4, !tbaa !9
  %14545 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14545, ptr %38, align 4, !tbaa !9
  store i32 48, ptr %39, align 4, !tbaa !9
  %14546 = load i32, ptr %39, align 4, !tbaa !9
  %14547 = load i32, ptr %38, align 4, !tbaa !9
  %14548 = add i32 %14547, %14546
  store i32 %14548, ptr %38, align 4, !tbaa !9
  %14549 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14549, ptr %39, align 4, !tbaa !9
  store i32 47, ptr %40, align 4, !tbaa !9
  %14550 = load i32, ptr %40, align 4, !tbaa !9
  %14551 = load i32, ptr %39, align 4, !tbaa !9
  %14552 = add i32 %14551, %14550
  store i32 %14552, ptr %39, align 4, !tbaa !9
  %14553 = load ptr, ptr %8, align 8, !tbaa !5
  %14554 = load i32, ptr %37, align 4, !tbaa !9
  %14555 = load i32, ptr %38, align 4, !tbaa !9
  %14556 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %14553, i32 noundef %14554, i32 noundef %14555, i32 noundef %14556)
  %14557 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14557, ptr %37, align 4, !tbaa !9
  %14558 = load ptr, ptr %8, align 8, !tbaa !5
  %14559 = getelementptr inbounds %struct.w2c_hermes, ptr %14558, i32 0, i32 6
  %14560 = load i32, ptr %37, align 4, !tbaa !9
  %14561 = zext i32 %14560 to i64
  %14562 = add i64 %14561, 48
  %14563 = call i32 @i32_load(ptr noundef %14559, i64 noundef %14562)
  store i32 %14563, ptr %37, align 4, !tbaa !9
  %14564 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14564, ptr %10, align 4, !tbaa !9
  %14565 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %14565, ptr %38, align 4, !tbaa !9
  %14566 = load i32, ptr %37, align 4, !tbaa !9
  %14567 = load i32, ptr %38, align 4, !tbaa !9
  %14568 = icmp eq i32 %14566, %14567
  %14569 = zext i1 %14568 to i32
  store i32 %14569, ptr %37, align 4, !tbaa !9
  %14570 = load i32, ptr %37, align 4, !tbaa !9
  %14571 = icmp ne i32 %14570, 0
  br i1 %14571, label %14572, label %14573

14572:                                            ; preds = %14482
  br label %15050

14573:                                            ; preds = %14482
  %14574 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14574, ptr %37, align 4, !tbaa !9
  %14575 = load ptr, ptr %8, align 8, !tbaa !5
  %14576 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %14575, i32 noundef %14576)
  br label %15050

14577:                                            ; preds = %8782, %8750
  %14578 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14578, ptr %37, align 4, !tbaa !9
  %14579 = load ptr, ptr %8, align 8, !tbaa !5
  %14580 = getelementptr inbounds %struct.w2c_hermes, ptr %14579, i32 0, i32 6
  %14581 = load i32, ptr %37, align 4, !tbaa !9
  %14582 = zext i32 %14581 to i64
  %14583 = add i64 %14582, 16
  %14584 = call i32 @i32_load8_u(ptr noundef %14580, i64 noundef %14583)
  store i32 %14584, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14585 = load i32, ptr %38, align 4, !tbaa !9
  %14586 = load i32, ptr %37, align 4, !tbaa !9
  %14587 = and i32 %14586, %14585
  store i32 %14587, ptr %37, align 4, !tbaa !9
  %14588 = load i32, ptr %37, align 4, !tbaa !9
  %14589 = icmp ne i32 %14588, 0
  %14590 = xor i1 %14589, true
  %14591 = zext i1 %14590 to i32
  store i32 %14591, ptr %37, align 4, !tbaa !9
  %14592 = load i32, ptr %37, align 4, !tbaa !9
  %14593 = icmp ne i32 %14592, 0
  br i1 %14593, label %14594, label %14595

14594:                                            ; preds = %14577
  br label %14890

14595:                                            ; preds = %14577
  %14596 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14596, ptr %37, align 4, !tbaa !9
  %14597 = load ptr, ptr %8, align 8, !tbaa !5
  %14598 = getelementptr inbounds %struct.w2c_hermes, ptr %14597, i32 0, i32 6
  %14599 = load i32, ptr %37, align 4, !tbaa !9
  %14600 = zext i32 %14599 to i64
  %14601 = add i64 %14600, 12
  %14602 = call i32 @i32_load(ptr noundef %14598, i64 noundef %14601)
  store i32 %14602, ptr %37, align 4, !tbaa !9
  %14603 = load i32, ptr %37, align 4, !tbaa !9
  %14604 = icmp ne i32 %14603, 0
  br i1 %14604, label %14605, label %14606

14605:                                            ; preds = %14595
  br label %15193

14606:                                            ; preds = %14595
  %14607 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14607, ptr %37, align 4, !tbaa !9
  %14608 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14608, ptr %38, align 4, !tbaa !9
  %14609 = load ptr, ptr %8, align 8, !tbaa !5
  %14610 = getelementptr inbounds %struct.w2c_hermes, ptr %14609, i32 0, i32 6
  %14611 = load i32, ptr %37, align 4, !tbaa !9
  %14612 = zext i32 %14611 to i64
  %14613 = add i64 %14612, 4
  %14614 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14610, i64 noundef %14613, i32 noundef %14614)
  %14615 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14615, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %14616 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14616, ptr %40, align 4, !tbaa !9
  store i32 125, ptr %41, align 4, !tbaa !9
  %14617 = load i32, ptr %40, align 4, !tbaa !9
  %14618 = load i32, ptr %41, align 4, !tbaa !9
  %14619 = icmp eq i32 %14617, %14618
  %14620 = zext i1 %14619 to i32
  store i32 %14620, ptr %40, align 4, !tbaa !9
  %14621 = load i32, ptr %40, align 4, !tbaa !9
  %14622 = icmp ne i32 %14621, 0
  br i1 %14622, label %14623, label %14625

14623:                                            ; preds = %14606
  %14624 = load i32, ptr %38, align 4, !tbaa !9
  br label %14627

14625:                                            ; preds = %14606
  %14626 = load i32, ptr %39, align 4, !tbaa !9
  br label %14627

14627:                                            ; preds = %14625, %14623
  %14628 = phi i32 [ %14624, %14623 ], [ %14626, %14625 ]
  store i32 %14628, ptr %38, align 4, !tbaa !9
  %14629 = load ptr, ptr %8, align 8, !tbaa !5
  %14630 = getelementptr inbounds %struct.w2c_hermes, ptr %14629, i32 0, i32 6
  %14631 = load i32, ptr %37, align 4, !tbaa !9
  %14632 = zext i32 %14631 to i64
  %14633 = add i64 %14632, 12
  %14634 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14630, i64 noundef %14633, i32 noundef %14634)
  br label %15193

14635:                                            ; preds = %8783, %8779, %8778, %8777, %8776, %8775, %8774, %8773, %8772, %8771, %8770, %8769, %8768, %8767, %8766, %8765, %8764, %8763, %8762, %8761, %8760, %8759, %8758, %8757, %8756, %8755, %8754, %8753, %8752, %8747, %8746, %8745, %8744, %8743, %8742, %8741, %8740, %8739, %8738, %8737, %8736, %8735, %8734, %8733, %8732, %8731, %8730, %8729, %8728, %8727, %8726, %8725, %8724, %8723, %8722, %8721, %8719, %8718, %8717, %8716, %8715, %8714, %8713, %8712, %8711, %8710, %8709, %8708, %8707, %8706, %8705, %8704, %8702, %8701, %8696, %8695, %8694
  %14636 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14636, ptr %37, align 4, !tbaa !9
  %14637 = load ptr, ptr %8, align 8, !tbaa !5
  %14638 = getelementptr inbounds %struct.w2c_hermes, ptr %14637, i32 0, i32 6
  %14639 = load i32, ptr %37, align 4, !tbaa !9
  %14640 = zext i32 %14639 to i64
  %14641 = add i64 %14640, 16
  %14642 = call i32 @i32_load8_u(ptr noundef %14638, i64 noundef %14641)
  store i32 %14642, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14643 = load i32, ptr %38, align 4, !tbaa !9
  %14644 = load i32, ptr %37, align 4, !tbaa !9
  %14645 = and i32 %14644, %14643
  store i32 %14645, ptr %37, align 4, !tbaa !9
  %14646 = load i32, ptr %37, align 4, !tbaa !9
  %14647 = icmp ne i32 %14646, 0
  %14648 = xor i1 %14647, true
  %14649 = zext i1 %14648 to i32
  store i32 %14649, ptr %37, align 4, !tbaa !9
  %14650 = load i32, ptr %37, align 4, !tbaa !9
  %14651 = icmp ne i32 %14650, 0
  br i1 %14651, label %14652, label %14653

14652:                                            ; preds = %14635
  br label %14890

14653:                                            ; preds = %14635
  %14654 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14654, ptr %37, align 4, !tbaa !9
  %14655 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14655, ptr %38, align 4, !tbaa !9
  %14656 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14656, ptr %39, align 4, !tbaa !9
  store i32 64512, ptr %40, align 4, !tbaa !9
  %14657 = load i32, ptr %40, align 4, !tbaa !9
  %14658 = load i32, ptr %39, align 4, !tbaa !9
  %14659 = and i32 %14658, %14657
  store i32 %14659, ptr %39, align 4, !tbaa !9
  %14660 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %14660, ptr %15, align 4, !tbaa !9
  store i32 55296, ptr %40, align 4, !tbaa !9
  %14661 = load i32, ptr %39, align 4, !tbaa !9
  %14662 = load i32, ptr %40, align 4, !tbaa !9
  %14663 = icmp eq i32 %14661, %14662
  %14664 = zext i1 %14663 to i32
  store i32 %14664, ptr %39, align 4, !tbaa !9
  %14665 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %14665, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %14666 = load i32, ptr %40, align 4, !tbaa !9
  %14667 = and i32 %14666, 31
  %14668 = load i32, ptr %39, align 4, !tbaa !9
  %14669 = shl i32 %14668, %14667
  store i32 %14669, ptr %39, align 4, !tbaa !9
  %14670 = load i32, ptr %39, align 4, !tbaa !9
  %14671 = load i32, ptr %38, align 4, !tbaa !9
  %14672 = add i32 %14671, %14670
  store i32 %14672, ptr %38, align 4, !tbaa !9
  %14673 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %14673, ptr %13, align 4, !tbaa !9
  %14674 = load i32, ptr %37, align 4, !tbaa !9
  %14675 = load i32, ptr %38, align 4, !tbaa !9
  %14676 = icmp eq i32 %14674, %14675
  %14677 = zext i1 %14676 to i32
  store i32 %14677, ptr %37, align 4, !tbaa !9
  %14678 = load i32, ptr %37, align 4, !tbaa !9
  %14679 = icmp ne i32 %14678, 0
  br i1 %14679, label %14680, label %14681

14680:                                            ; preds = %14653
  br label %14890

14681:                                            ; preds = %14653
  %14682 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14682, ptr %37, align 4, !tbaa !9
  %14683 = load ptr, ptr %8, align 8, !tbaa !5
  %14684 = getelementptr inbounds %struct.w2c_hermes, ptr %14683, i32 0, i32 6
  %14685 = load i32, ptr %37, align 4, !tbaa !9
  %14686 = zext i32 %14685 to i64
  %14687 = call i32 @i32_load16_u(ptr noundef %14684, i64 noundef %14686)
  store i32 %14687, ptr %37, align 4, !tbaa !9
  %14688 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14688, ptr %14, align 4, !tbaa !9
  store i32 64512, ptr %38, align 4, !tbaa !9
  %14689 = load i32, ptr %38, align 4, !tbaa !9
  %14690 = load i32, ptr %37, align 4, !tbaa !9
  %14691 = and i32 %14690, %14689
  store i32 %14691, ptr %37, align 4, !tbaa !9
  store i32 56320, ptr %38, align 4, !tbaa !9
  %14692 = load i32, ptr %37, align 4, !tbaa !9
  %14693 = load i32, ptr %38, align 4, !tbaa !9
  %14694 = icmp ne i32 %14692, %14693
  %14695 = zext i1 %14694 to i32
  store i32 %14695, ptr %37, align 4, !tbaa !9
  %14696 = load i32, ptr %37, align 4, !tbaa !9
  %14697 = icmp ne i32 %14696, 0
  br i1 %14697, label %14698, label %14699

14698:                                            ; preds = %14681
  br label %14890

14699:                                            ; preds = %14681
  %14700 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14700, ptr %37, align 4, !tbaa !9
  %14701 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14701, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14702 = load i32, ptr %39, align 4, !tbaa !9
  %14703 = load i32, ptr %38, align 4, !tbaa !9
  %14704 = add i32 %14703, %14702
  store i32 %14704, ptr %38, align 4, !tbaa !9
  %14705 = load ptr, ptr %8, align 8, !tbaa !5
  %14706 = getelementptr inbounds %struct.w2c_hermes, ptr %14705, i32 0, i32 6
  %14707 = load i32, ptr %37, align 4, !tbaa !9
  %14708 = zext i32 %14707 to i64
  %14709 = add i64 %14708, 4
  %14710 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14706, i64 noundef %14709, i32 noundef %14710)
  %14711 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %14711, ptr %37, align 4, !tbaa !9
  store i32 55296, ptr %38, align 4, !tbaa !9
  %14712 = load i32, ptr %37, align 4, !tbaa !9
  %14713 = load i32, ptr %38, align 4, !tbaa !9
  %14714 = icmp ne i32 %14712, %14713
  %14715 = zext i1 %14714 to i32
  store i32 %14715, ptr %37, align 4, !tbaa !9
  %14716 = load i32, ptr %37, align 4, !tbaa !9
  %14717 = icmp ne i32 %14716, 0
  br i1 %14717, label %14718, label %14719

14718:                                            ; preds = %14699
  br label %14890

14719:                                            ; preds = %14699
  %14720 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14720, ptr %37, align 4, !tbaa !9
  store i32 10, ptr %38, align 4, !tbaa !9
  %14721 = load i32, ptr %38, align 4, !tbaa !9
  %14722 = and i32 %14721, 31
  %14723 = load i32, ptr %37, align 4, !tbaa !9
  %14724 = shl i32 %14723, %14722
  store i32 %14724, ptr %37, align 4, !tbaa !9
  store i32 56613888, ptr %38, align 4, !tbaa !9
  %14725 = load i32, ptr %38, align 4, !tbaa !9
  %14726 = load i32, ptr %37, align 4, !tbaa !9
  %14727 = sub i32 %14726, %14725
  store i32 %14727, ptr %37, align 4, !tbaa !9
  store i32 -56613888, ptr %38, align 4, !tbaa !9
  %14728 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %14728, ptr %39, align 4, !tbaa !9
  %14729 = load i32, ptr %39, align 4, !tbaa !9
  %14730 = icmp ne i32 %14729, 0
  br i1 %14730, label %14731, label %14733

14731:                                            ; preds = %14719
  %14732 = load i32, ptr %37, align 4, !tbaa !9
  br label %14735

14733:                                            ; preds = %14719
  %14734 = load i32, ptr %38, align 4, !tbaa !9
  br label %14735

14735:                                            ; preds = %14733, %14731
  %14736 = phi i32 [ %14732, %14731 ], [ %14734, %14733 ]
  store i32 %14736, ptr %37, align 4, !tbaa !9
  %14737 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14737, ptr %38, align 4, !tbaa !9
  %14738 = load i32, ptr %38, align 4, !tbaa !9
  %14739 = load i32, ptr %37, align 4, !tbaa !9
  %14740 = add i32 %14739, %14738
  store i32 %14740, ptr %37, align 4, !tbaa !9
  %14741 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14741, ptr %11, align 4, !tbaa !9
  %14742 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14742, ptr %37, align 4, !tbaa !9
  %14743 = load ptr, ptr %8, align 8, !tbaa !5
  %14744 = getelementptr inbounds %struct.w2c_hermes, ptr %14743, i32 0, i32 6
  %14745 = load i32, ptr %37, align 4, !tbaa !9
  %14746 = zext i32 %14745 to i64
  %14747 = add i64 %14746, 136
  %14748 = call i32 @i32_load8_u(ptr noundef %14744, i64 noundef %14747)
  store i32 %14748, ptr %37, align 4, !tbaa !9
  %14749 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14749, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %14750 = load i32, ptr %38, align 4, !tbaa !9
  %14751 = load i32, ptr %37, align 4, !tbaa !9
  %14752 = and i32 %14751, %14750
  store i32 %14752, ptr %37, align 4, !tbaa !9
  %14753 = load i32, ptr %37, align 4, !tbaa !9
  %14754 = icmp ne i32 %14753, 0
  %14755 = xor i1 %14754, true
  %14756 = zext i1 %14755 to i32
  store i32 %14756, ptr %37, align 4, !tbaa !9
  %14757 = load i32, ptr %37, align 4, !tbaa !9
  %14758 = icmp ne i32 %14757, 0
  br i1 %14758, label %14759, label %14760

14759:                                            ; preds = %14735
  br label %14825

14760:                                            ; preds = %14735
  %14761 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14761, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14762 = load i32, ptr %38, align 4, !tbaa !9
  %14763 = load i32, ptr %37, align 4, !tbaa !9
  %14764 = and i32 %14763, %14762
  store i32 %14764, ptr %37, align 4, !tbaa !9
  %14765 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14765, ptr %13, align 4, !tbaa !9
  %14766 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14766, ptr %37, align 4, !tbaa !9
  store i32 127, ptr %38, align 4, !tbaa !9
  %14767 = load i32, ptr %37, align 4, !tbaa !9
  %14768 = load i32, ptr %38, align 4, !tbaa !9
  %14769 = icmp ule i32 %14767, %14768
  %14770 = zext i1 %14769 to i32
  store i32 %14770, ptr %37, align 4, !tbaa !9
  %14771 = load i32, ptr %37, align 4, !tbaa !9
  %14772 = icmp ne i32 %14771, 0
  br i1 %14772, label %14773, label %14805

14773:                                            ; preds = %14760
  %14774 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14774, ptr %37, align 4, !tbaa !9
  store i32 -33, ptr %38, align 4, !tbaa !9
  %14775 = load i32, ptr %38, align 4, !tbaa !9
  %14776 = load i32, ptr %37, align 4, !tbaa !9
  %14777 = and i32 %14776, %14775
  store i32 %14777, ptr %37, align 4, !tbaa !9
  %14778 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14778, ptr %14, align 4, !tbaa !9
  %14779 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14779, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14780 = load i32, ptr %39, align 4, !tbaa !9
  %14781 = and i32 %14780, 31
  %14782 = load i32, ptr %38, align 4, !tbaa !9
  %14783 = shl i32 %14782, %14781
  store i32 %14783, ptr %38, align 4, !tbaa !9
  %14784 = load i32, ptr %38, align 4, !tbaa !9
  %14785 = load i32, ptr %37, align 4, !tbaa !9
  %14786 = or i32 %14785, %14784
  store i32 %14786, ptr %37, align 4, !tbaa !9
  %14787 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14787, ptr %38, align 4, !tbaa !9
  %14788 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14788, ptr %39, align 4, !tbaa !9
  store i32 65, ptr %40, align 4, !tbaa !9
  %14789 = load i32, ptr %40, align 4, !tbaa !9
  %14790 = load i32, ptr %39, align 4, !tbaa !9
  %14791 = sub i32 %14790, %14789
  store i32 %14791, ptr %39, align 4, !tbaa !9
  store i32 26, ptr %40, align 4, !tbaa !9
  %14792 = load i32, ptr %39, align 4, !tbaa !9
  %14793 = load i32, ptr %40, align 4, !tbaa !9
  %14794 = icmp ult i32 %14792, %14793
  %14795 = zext i1 %14794 to i32
  store i32 %14795, ptr %39, align 4, !tbaa !9
  %14796 = load i32, ptr %39, align 4, !tbaa !9
  %14797 = icmp ne i32 %14796, 0
  br i1 %14797, label %14798, label %14800

14798:                                            ; preds = %14773
  %14799 = load i32, ptr %37, align 4, !tbaa !9
  br label %14802

14800:                                            ; preds = %14773
  %14801 = load i32, ptr %38, align 4, !tbaa !9
  br label %14802

14802:                                            ; preds = %14800, %14798
  %14803 = phi i32 [ %14799, %14798 ], [ %14801, %14800 ]
  store i32 %14803, ptr %37, align 4, !tbaa !9
  %14804 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14804, ptr %11, align 4, !tbaa !9
  br label %14825

14805:                                            ; preds = %14760
  %14806 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14806, ptr %37, align 4, !tbaa !9
  %14807 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14807, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %14808 = load i32, ptr %38, align 4, !tbaa !9
  %14809 = load i32, ptr %39, align 4, !tbaa !9
  %14810 = icmp ne i32 %14808, %14809
  %14811 = zext i1 %14810 to i32
  store i32 %14811, ptr %38, align 4, !tbaa !9
  %14812 = load ptr, ptr %8, align 8, !tbaa !5
  %14813 = load i32, ptr %37, align 4, !tbaa !9
  %14814 = load i32, ptr %38, align 4, !tbaa !9
  %14815 = call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %14812, i32 noundef %14813, i32 noundef %14814)
  store i32 %14815, ptr %37, align 4, !tbaa !9
  %14816 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14816, ptr %11, align 4, !tbaa !9
  %14817 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14817, ptr %37, align 4, !tbaa !9
  %14818 = load ptr, ptr %8, align 8, !tbaa !5
  %14819 = getelementptr inbounds %struct.w2c_hermes, ptr %14818, i32 0, i32 6
  %14820 = load i32, ptr %37, align 4, !tbaa !9
  %14821 = zext i32 %14820 to i64
  %14822 = add i64 %14821, 136
  %14823 = call i32 @i32_load8_u(ptr noundef %14819, i64 noundef %14822)
  store i32 %14823, ptr %37, align 4, !tbaa !9
  %14824 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14824, ptr %12, align 4, !tbaa !9
  br label %14825

14825:                                            ; preds = %14805, %14802, %14759
  %14826 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14826, ptr %37, align 4, !tbaa !9
  %14827 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14827, ptr %38, align 4, !tbaa !9
  %14828 = load ptr, ptr %8, align 8, !tbaa !5
  %14829 = getelementptr inbounds %struct.w2c_hermes, ptr %14828, i32 0, i32 6
  %14830 = load i32, ptr %37, align 4, !tbaa !9
  %14831 = zext i32 %14830 to i64
  %14832 = add i64 %14831, 60
  %14833 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14829, i64 noundef %14832, i32 noundef %14833)
  %14834 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14834, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %14835 = load ptr, ptr %8, align 8, !tbaa !5
  %14836 = getelementptr inbounds %struct.w2c_hermes, ptr %14835, i32 0, i32 6
  %14837 = load i32, ptr %37, align 4, !tbaa !9
  %14838 = zext i32 %14837 to i64
  %14839 = add i64 %14838, 52
  %14840 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %14836, i64 noundef %14839, i64 noundef %14840)
  %14841 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14841, ptr %37, align 4, !tbaa !9
  %14842 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %14842, ptr %38, align 4, !tbaa !9
  %14843 = load ptr, ptr %8, align 8, !tbaa !5
  %14844 = getelementptr inbounds %struct.w2c_hermes, ptr %14843, i32 0, i32 6
  %14845 = load i32, ptr %37, align 4, !tbaa !9
  %14846 = zext i32 %14845 to i64
  %14847 = add i64 %14846, 48
  %14848 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14844, i64 noundef %14847, i32 noundef %14848)
  %14849 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14849, ptr %37, align 4, !tbaa !9
  %14850 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14850, ptr %38, align 4, !tbaa !9
  %14851 = load ptr, ptr %8, align 8, !tbaa !5
  %14852 = getelementptr inbounds %struct.w2c_hermes, ptr %14851, i32 0, i32 6
  %14853 = load i32, ptr %37, align 4, !tbaa !9
  %14854 = zext i32 %14853 to i64
  %14855 = add i64 %14854, 12
  %14856 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %14852, i64 noundef %14855, i32 noundef %14856)
  %14857 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14857, ptr %37, align 4, !tbaa !9
  %14858 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14858, ptr %38, align 4, !tbaa !9
  store i32 48, ptr %39, align 4, !tbaa !9
  %14859 = load i32, ptr %39, align 4, !tbaa !9
  %14860 = load i32, ptr %38, align 4, !tbaa !9
  %14861 = add i32 %14860, %14859
  store i32 %14861, ptr %38, align 4, !tbaa !9
  %14862 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14862, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %14863 = load i32, ptr %40, align 4, !tbaa !9
  %14864 = load i32, ptr %39, align 4, !tbaa !9
  %14865 = add i32 %14864, %14863
  store i32 %14865, ptr %39, align 4, !tbaa !9
  %14866 = load ptr, ptr %8, align 8, !tbaa !5
  %14867 = load i32, ptr %37, align 4, !tbaa !9
  %14868 = load i32, ptr %38, align 4, !tbaa !9
  %14869 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %14866, i32 noundef %14867, i32 noundef %14868, i32 noundef %14869)
  %14870 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14870, ptr %37, align 4, !tbaa !9
  %14871 = load ptr, ptr %8, align 8, !tbaa !5
  %14872 = getelementptr inbounds %struct.w2c_hermes, ptr %14871, i32 0, i32 6
  %14873 = load i32, ptr %37, align 4, !tbaa !9
  %14874 = zext i32 %14873 to i64
  %14875 = add i64 %14874, 48
  %14876 = call i32 @i32_load(ptr noundef %14872, i64 noundef %14875)
  store i32 %14876, ptr %37, align 4, !tbaa !9
  %14877 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14877, ptr %10, align 4, !tbaa !9
  %14878 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %14878, ptr %38, align 4, !tbaa !9
  %14879 = load i32, ptr %37, align 4, !tbaa !9
  %14880 = load i32, ptr %38, align 4, !tbaa !9
  %14881 = icmp eq i32 %14879, %14880
  %14882 = zext i1 %14881 to i32
  store i32 %14882, ptr %37, align 4, !tbaa !9
  %14883 = load i32, ptr %37, align 4, !tbaa !9
  %14884 = icmp ne i32 %14883, 0
  br i1 %14884, label %14885, label %14886

14885:                                            ; preds = %14825
  br label %15050

14886:                                            ; preds = %14825
  %14887 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14887, ptr %37, align 4, !tbaa !9
  %14888 = load ptr, ptr %8, align 8, !tbaa !5
  %14889 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %14888, i32 noundef %14889)
  br label %15050

14890:                                            ; preds = %14718, %14698, %14680, %14652, %14594
  %14891 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %14891, ptr %37, align 4, !tbaa !9
  %14892 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14892, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14893 = load i32, ptr %39, align 4, !tbaa !9
  %14894 = load i32, ptr %38, align 4, !tbaa !9
  %14895 = add i32 %14894, %14893
  store i32 %14895, ptr %38, align 4, !tbaa !9
  %14896 = load ptr, ptr %8, align 8, !tbaa !5
  %14897 = getelementptr inbounds %struct.w2c_hermes, ptr %14896, i32 0, i32 6
  %14898 = load i32, ptr %37, align 4, !tbaa !9
  %14899 = zext i32 %14898 to i64
  %14900 = add i64 %14899, 4
  %14901 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14897, i64 noundef %14900, i32 noundef %14901)
  %14902 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14902, ptr %37, align 4, !tbaa !9
  %14903 = load ptr, ptr %8, align 8, !tbaa !5
  %14904 = getelementptr inbounds %struct.w2c_hermes, ptr %14903, i32 0, i32 6
  %14905 = load i32, ptr %37, align 4, !tbaa !9
  %14906 = zext i32 %14905 to i64
  %14907 = add i64 %14906, 136
  %14908 = call i32 @i32_load8_u(ptr noundef %14904, i64 noundef %14907)
  store i32 %14908, ptr %37, align 4, !tbaa !9
  %14909 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14909, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %14910 = load i32, ptr %38, align 4, !tbaa !9
  %14911 = load i32, ptr %37, align 4, !tbaa !9
  %14912 = and i32 %14911, %14910
  store i32 %14912, ptr %37, align 4, !tbaa !9
  %14913 = load i32, ptr %37, align 4, !tbaa !9
  %14914 = icmp ne i32 %14913, 0
  %14915 = xor i1 %14914, true
  %14916 = zext i1 %14915 to i32
  store i32 %14916, ptr %37, align 4, !tbaa !9
  %14917 = load i32, ptr %37, align 4, !tbaa !9
  %14918 = icmp ne i32 %14917, 0
  br i1 %14918, label %14919, label %14920

14919:                                            ; preds = %14890
  br label %14985

14920:                                            ; preds = %14890
  %14921 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %14921, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %14922 = load i32, ptr %38, align 4, !tbaa !9
  %14923 = load i32, ptr %37, align 4, !tbaa !9
  %14924 = and i32 %14923, %14922
  store i32 %14924, ptr %37, align 4, !tbaa !9
  %14925 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14925, ptr %13, align 4, !tbaa !9
  %14926 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14926, ptr %37, align 4, !tbaa !9
  store i32 127, ptr %38, align 4, !tbaa !9
  %14927 = load i32, ptr %37, align 4, !tbaa !9
  %14928 = load i32, ptr %38, align 4, !tbaa !9
  %14929 = icmp ule i32 %14927, %14928
  %14930 = zext i1 %14929 to i32
  store i32 %14930, ptr %37, align 4, !tbaa !9
  %14931 = load i32, ptr %37, align 4, !tbaa !9
  %14932 = icmp ne i32 %14931, 0
  br i1 %14932, label %14933, label %14965

14933:                                            ; preds = %14920
  %14934 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14934, ptr %37, align 4, !tbaa !9
  store i32 65503, ptr %38, align 4, !tbaa !9
  %14935 = load i32, ptr %38, align 4, !tbaa !9
  %14936 = load i32, ptr %37, align 4, !tbaa !9
  %14937 = and i32 %14936, %14935
  store i32 %14937, ptr %37, align 4, !tbaa !9
  %14938 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14938, ptr %14, align 4, !tbaa !9
  %14939 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14939, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %14940 = load i32, ptr %39, align 4, !tbaa !9
  %14941 = and i32 %14940, 31
  %14942 = load i32, ptr %38, align 4, !tbaa !9
  %14943 = shl i32 %14942, %14941
  store i32 %14943, ptr %38, align 4, !tbaa !9
  %14944 = load i32, ptr %38, align 4, !tbaa !9
  %14945 = load i32, ptr %37, align 4, !tbaa !9
  %14946 = or i32 %14945, %14944
  store i32 %14946, ptr %37, align 4, !tbaa !9
  %14947 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14947, ptr %38, align 4, !tbaa !9
  %14948 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %14948, ptr %39, align 4, !tbaa !9
  store i32 65, ptr %40, align 4, !tbaa !9
  %14949 = load i32, ptr %40, align 4, !tbaa !9
  %14950 = load i32, ptr %39, align 4, !tbaa !9
  %14951 = sub i32 %14950, %14949
  store i32 %14951, ptr %39, align 4, !tbaa !9
  store i32 26, ptr %40, align 4, !tbaa !9
  %14952 = load i32, ptr %39, align 4, !tbaa !9
  %14953 = load i32, ptr %40, align 4, !tbaa !9
  %14954 = icmp ult i32 %14952, %14953
  %14955 = zext i1 %14954 to i32
  store i32 %14955, ptr %39, align 4, !tbaa !9
  %14956 = load i32, ptr %39, align 4, !tbaa !9
  %14957 = icmp ne i32 %14956, 0
  br i1 %14957, label %14958, label %14960

14958:                                            ; preds = %14933
  %14959 = load i32, ptr %37, align 4, !tbaa !9
  br label %14962

14960:                                            ; preds = %14933
  %14961 = load i32, ptr %38, align 4, !tbaa !9
  br label %14962

14962:                                            ; preds = %14960, %14958
  %14963 = phi i32 [ %14959, %14958 ], [ %14961, %14960 ]
  store i32 %14963, ptr %37, align 4, !tbaa !9
  %14964 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14964, ptr %12, align 4, !tbaa !9
  br label %14985

14965:                                            ; preds = %14920
  %14966 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14966, ptr %37, align 4, !tbaa !9
  %14967 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %14967, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %14968 = load i32, ptr %38, align 4, !tbaa !9
  %14969 = load i32, ptr %39, align 4, !tbaa !9
  %14970 = icmp ne i32 %14968, %14969
  %14971 = zext i1 %14970 to i32
  store i32 %14971, ptr %38, align 4, !tbaa !9
  %14972 = load ptr, ptr %8, align 8, !tbaa !5
  %14973 = load i32, ptr %37, align 4, !tbaa !9
  %14974 = load i32, ptr %38, align 4, !tbaa !9
  %14975 = call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %14972, i32 noundef %14973, i32 noundef %14974)
  store i32 %14975, ptr %37, align 4, !tbaa !9
  %14976 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14976, ptr %12, align 4, !tbaa !9
  %14977 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %14977, ptr %37, align 4, !tbaa !9
  %14978 = load ptr, ptr %8, align 8, !tbaa !5
  %14979 = getelementptr inbounds %struct.w2c_hermes, ptr %14978, i32 0, i32 6
  %14980 = load i32, ptr %37, align 4, !tbaa !9
  %14981 = zext i32 %14980 to i64
  %14982 = add i64 %14981, 136
  %14983 = call i32 @i32_load8_u(ptr noundef %14979, i64 noundef %14982)
  store i32 %14983, ptr %37, align 4, !tbaa !9
  %14984 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %14984, ptr %11, align 4, !tbaa !9
  br label %14985

14985:                                            ; preds = %14965, %14962, %14919
  %14986 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14986, ptr %37, align 4, !tbaa !9
  %14987 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %14987, ptr %38, align 4, !tbaa !9
  %14988 = load ptr, ptr %8, align 8, !tbaa !5
  %14989 = getelementptr inbounds %struct.w2c_hermes, ptr %14988, i32 0, i32 6
  %14990 = load i32, ptr %37, align 4, !tbaa !9
  %14991 = zext i32 %14990 to i64
  %14992 = add i64 %14991, 60
  %14993 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %14989, i64 noundef %14992, i32 noundef %14993)
  %14994 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %14994, ptr %37, align 4, !tbaa !9
  store i64 21474836481, ptr %44, align 8, !tbaa !11
  %14995 = load ptr, ptr %8, align 8, !tbaa !5
  %14996 = getelementptr inbounds %struct.w2c_hermes, ptr %14995, i32 0, i32 6
  %14997 = load i32, ptr %37, align 4, !tbaa !9
  %14998 = zext i32 %14997 to i64
  %14999 = add i64 %14998, 52
  %15000 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %14996, i64 noundef %14999, i64 noundef %15000)
  %15001 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15001, ptr %37, align 4, !tbaa !9
  %15002 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %15002, ptr %38, align 4, !tbaa !9
  %15003 = load ptr, ptr %8, align 8, !tbaa !5
  %15004 = getelementptr inbounds %struct.w2c_hermes, ptr %15003, i32 0, i32 6
  %15005 = load i32, ptr %37, align 4, !tbaa !9
  %15006 = zext i32 %15005 to i64
  %15007 = add i64 %15006, 48
  %15008 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15004, i64 noundef %15007, i32 noundef %15008)
  %15009 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15009, ptr %37, align 4, !tbaa !9
  %15010 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15010, ptr %38, align 4, !tbaa !9
  %15011 = load ptr, ptr %8, align 8, !tbaa !5
  %15012 = getelementptr inbounds %struct.w2c_hermes, ptr %15011, i32 0, i32 6
  %15013 = load i32, ptr %37, align 4, !tbaa !9
  %15014 = zext i32 %15013 to i64
  %15015 = add i64 %15014, 12
  %15016 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %15012, i64 noundef %15015, i32 noundef %15016)
  %15017 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15017, ptr %37, align 4, !tbaa !9
  %15018 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15018, ptr %38, align 4, !tbaa !9
  store i32 48, ptr %39, align 4, !tbaa !9
  %15019 = load i32, ptr %39, align 4, !tbaa !9
  %15020 = load i32, ptr %38, align 4, !tbaa !9
  %15021 = add i32 %15020, %15019
  store i32 %15021, ptr %38, align 4, !tbaa !9
  %15022 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15022, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %15023 = load i32, ptr %40, align 4, !tbaa !9
  %15024 = load i32, ptr %39, align 4, !tbaa !9
  %15025 = add i32 %15024, %15023
  store i32 %15025, ptr %39, align 4, !tbaa !9
  %15026 = load ptr, ptr %8, align 8, !tbaa !5
  %15027 = load i32, ptr %37, align 4, !tbaa !9
  %15028 = load i32, ptr %38, align 4, !tbaa !9
  %15029 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %15026, i32 noundef %15027, i32 noundef %15028, i32 noundef %15029)
  %15030 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15030, ptr %37, align 4, !tbaa !9
  %15031 = load ptr, ptr %8, align 8, !tbaa !5
  %15032 = getelementptr inbounds %struct.w2c_hermes, ptr %15031, i32 0, i32 6
  %15033 = load i32, ptr %37, align 4, !tbaa !9
  %15034 = zext i32 %15033 to i64
  %15035 = add i64 %15034, 48
  %15036 = call i32 @i32_load(ptr noundef %15032, i64 noundef %15035)
  store i32 %15036, ptr %37, align 4, !tbaa !9
  %15037 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15037, ptr %10, align 4, !tbaa !9
  %15038 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %15038, ptr %38, align 4, !tbaa !9
  %15039 = load i32, ptr %37, align 4, !tbaa !9
  %15040 = load i32, ptr %38, align 4, !tbaa !9
  %15041 = icmp eq i32 %15039, %15040
  %15042 = zext i1 %15041 to i32
  store i32 %15042, ptr %37, align 4, !tbaa !9
  %15043 = load i32, ptr %37, align 4, !tbaa !9
  %15044 = icmp ne i32 %15043, 0
  br i1 %15044, label %15045, label %15046

15045:                                            ; preds = %14985
  br label %15050

15046:                                            ; preds = %14985
  %15047 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15047, ptr %37, align 4, !tbaa !9
  %15048 = load ptr, ptr %8, align 8, !tbaa !5
  %15049 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %15048, i32 noundef %15049)
  br label %15050

15050:                                            ; preds = %15046, %15045, %14886, %14885, %14573, %14572, %14291, %12662, %12203
  store i32 1, ptr %37, align 4, !tbaa !9
  br label %15051

15051:                                            ; preds = %15050, %10124, %9621, %9209
  %15052 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15052, ptr %12, align 4, !tbaa !9
  %15053 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15053, ptr %37, align 4, !tbaa !9
  %15054 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15054, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %15055 = load i32, ptr %39, align 4, !tbaa !9
  %15056 = load i32, ptr %38, align 4, !tbaa !9
  %15057 = add i32 %15056, %15055
  store i32 %15057, ptr %38, align 4, !tbaa !9
  %15058 = load ptr, ptr %8, align 8, !tbaa !5
  %15059 = load i32, ptr %37, align 4, !tbaa !9
  %15060 = load i32, ptr %38, align 4, !tbaa !9
  %15061 = call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %15058, i32 noundef %15059, i32 noundef %15060)
  store i32 %15061, ptr %37, align 4, !tbaa !9
  %15062 = load i32, ptr %37, align 4, !tbaa !9
  %15063 = icmp ne i32 %15062, 0
  br i1 %15063, label %15064, label %15168

15064:                                            ; preds = %15051
  store i32 1, ptr %37, align 4, !tbaa !9
  %15065 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15065, ptr %11, align 4, !tbaa !9
  %15066 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15066, ptr %37, align 4, !tbaa !9
  %15067 = load ptr, ptr %8, align 8, !tbaa !5
  %15068 = getelementptr inbounds %struct.w2c_hermes, ptr %15067, i32 0, i32 6
  %15069 = load i32, ptr %37, align 4, !tbaa !9
  %15070 = zext i32 %15069 to i64
  %15071 = add i64 %15070, 4
  %15072 = call i32 @i32_load(ptr noundef %15068, i64 noundef %15071)
  store i32 %15072, ptr %37, align 4, !tbaa !9
  %15073 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15073, ptr %10, align 4, !tbaa !9
  %15074 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15074, ptr %38, align 4, !tbaa !9
  %15075 = load ptr, ptr %8, align 8, !tbaa !5
  %15076 = getelementptr inbounds %struct.w2c_hermes, ptr %15075, i32 0, i32 6
  %15077 = load i32, ptr %38, align 4, !tbaa !9
  %15078 = zext i32 %15077 to i64
  %15079 = add i64 %15078, 8
  %15080 = call i32 @i32_load(ptr noundef %15076, i64 noundef %15079)
  store i32 %15080, ptr %38, align 4, !tbaa !9
  %15081 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15081, ptr %13, align 4, !tbaa !9
  %15082 = load i32, ptr %37, align 4, !tbaa !9
  %15083 = load i32, ptr %38, align 4, !tbaa !9
  %15084 = icmp eq i32 %15082, %15083
  %15085 = zext i1 %15084 to i32
  store i32 %15085, ptr %37, align 4, !tbaa !9
  %15086 = load i32, ptr %37, align 4, !tbaa !9
  %15087 = icmp ne i32 %15086, 0
  br i1 %15087, label %15088, label %15089

15088:                                            ; preds = %15064
  br label %15116

15089:                                            ; preds = %15064
  %15090 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15090, ptr %37, align 4, !tbaa !9
  %15091 = load ptr, ptr %8, align 8, !tbaa !5
  %15092 = getelementptr inbounds %struct.w2c_hermes, ptr %15091, i32 0, i32 6
  %15093 = load i32, ptr %37, align 4, !tbaa !9
  %15094 = zext i32 %15093 to i64
  %15095 = call i32 @i32_load16_u(ptr noundef %15092, i64 noundef %15094)
  store i32 %15095, ptr %37, align 4, !tbaa !9
  store i32 63, ptr %38, align 4, !tbaa !9
  %15096 = load i32, ptr %37, align 4, !tbaa !9
  %15097 = load i32, ptr %38, align 4, !tbaa !9
  %15098 = icmp ne i32 %15096, %15097
  %15099 = zext i1 %15098 to i32
  store i32 %15099, ptr %37, align 4, !tbaa !9
  %15100 = load i32, ptr %37, align 4, !tbaa !9
  %15101 = icmp ne i32 %15100, 0
  br i1 %15101, label %15102, label %15103

15102:                                            ; preds = %15089
  br label %15116

15103:                                            ; preds = %15089
  %15104 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15104, ptr %37, align 4, !tbaa !9
  %15105 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15105, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %15106 = load i32, ptr %39, align 4, !tbaa !9
  %15107 = load i32, ptr %38, align 4, !tbaa !9
  %15108 = add i32 %15107, %15106
  store i32 %15108, ptr %38, align 4, !tbaa !9
  %15109 = load ptr, ptr %8, align 8, !tbaa !5
  %15110 = getelementptr inbounds %struct.w2c_hermes, ptr %15109, i32 0, i32 6
  %15111 = load i32, ptr %37, align 4, !tbaa !9
  %15112 = zext i32 %15111 to i64
  %15113 = add i64 %15112, 4
  %15114 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15110, i64 noundef %15113, i32 noundef %15114)
  store i32 0, ptr %37, align 4, !tbaa !9
  %15115 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15115, ptr %11, align 4, !tbaa !9
  br label %15116

15116:                                            ; preds = %15103, %15102, %15088
  %15117 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15117, ptr %37, align 4, !tbaa !9
  %15118 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15118, ptr %38, align 4, !tbaa !9
  %15119 = load ptr, ptr %8, align 8, !tbaa !5
  %15120 = getelementptr inbounds %struct.w2c_hermes, ptr %15119, i32 0, i32 6
  %15121 = load i32, ptr %37, align 4, !tbaa !9
  %15122 = zext i32 %15121 to i64
  %15123 = add i64 %15122, 36
  %15124 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %15120, i64 noundef %15123, i32 noundef %15124)
  %15125 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15125, ptr %37, align 4, !tbaa !9
  %15126 = load i32, ptr %37, align 4, !tbaa !9
  %15127 = icmp ne i32 %15126, 0
  %15128 = xor i1 %15127, true
  %15129 = zext i1 %15128 to i32
  store i32 %15129, ptr %37, align 4, !tbaa !9
  %15130 = load i32, ptr %37, align 4, !tbaa !9
  %15131 = icmp ne i32 %15130, 0
  br i1 %15131, label %15132, label %15159

15132:                                            ; preds = %15116
  %15133 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15133, ptr %37, align 4, !tbaa !9
  %15134 = load ptr, ptr %8, align 8, !tbaa !5
  %15135 = getelementptr inbounds %struct.w2c_hermes, ptr %15134, i32 0, i32 6
  %15136 = load i32, ptr %37, align 4, !tbaa !9
  %15137 = zext i32 %15136 to i64
  %15138 = add i64 %15137, 12
  %15139 = call i32 @i32_load(ptr noundef %15135, i64 noundef %15138)
  store i32 %15139, ptr %37, align 4, !tbaa !9
  %15140 = load i32, ptr %37, align 4, !tbaa !9
  %15141 = icmp ne i32 %15140, 0
  br i1 %15141, label %15142, label %15143

15142:                                            ; preds = %15132
  br label %15193

15143:                                            ; preds = %15132
  %15144 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15144, ptr %37, align 4, !tbaa !9
  %15145 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15145, ptr %38, align 4, !tbaa !9
  %15146 = load ptr, ptr %8, align 8, !tbaa !5
  %15147 = getelementptr inbounds %struct.w2c_hermes, ptr %15146, i32 0, i32 6
  %15148 = load i32, ptr %37, align 4, !tbaa !9
  %15149 = zext i32 %15148 to i64
  %15150 = add i64 %15149, 4
  %15151 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15147, i64 noundef %15150, i32 noundef %15151)
  %15152 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15152, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %15153 = load ptr, ptr %8, align 8, !tbaa !5
  %15154 = getelementptr inbounds %struct.w2c_hermes, ptr %15153, i32 0, i32 6
  %15155 = load i32, ptr %37, align 4, !tbaa !9
  %15156 = zext i32 %15155 to i64
  %15157 = add i64 %15156, 12
  %15158 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15154, i64 noundef %15157, i32 noundef %15158)
  br label %15193

15159:                                            ; preds = %15116
  %15160 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15160, ptr %37, align 4, !tbaa !9
  %15161 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15161, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %15162 = load i32, ptr %39, align 4, !tbaa !9
  %15163 = load i32, ptr %38, align 4, !tbaa !9
  %15164 = add i32 %15163, %15162
  store i32 %15164, ptr %38, align 4, !tbaa !9
  %15165 = load ptr, ptr %8, align 8, !tbaa !5
  %15166 = load i32, ptr %37, align 4, !tbaa !9
  %15167 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AapplyQuantifier0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x20const0x260x29(ptr noundef %15165, i32 noundef %15166, i32 noundef %15167)
  br label %15168

15168:                                            ; preds = %15159, %15051
  %15169 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15169, ptr %37, align 4, !tbaa !9
  %15170 = load ptr, ptr %8, align 8, !tbaa !5
  %15171 = getelementptr inbounds %struct.w2c_hermes, ptr %15170, i32 0, i32 6
  %15172 = load i32, ptr %37, align 4, !tbaa !9
  %15173 = zext i32 %15172 to i64
  %15174 = add i64 %15173, 4
  %15175 = call i32 @i32_load(ptr noundef %15171, i64 noundef %15174)
  store i32 %15175, ptr %37, align 4, !tbaa !9
  %15176 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15176, ptr %11, align 4, !tbaa !9
  %15177 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15177, ptr %38, align 4, !tbaa !9
  %15178 = load ptr, ptr %8, align 8, !tbaa !5
  %15179 = getelementptr inbounds %struct.w2c_hermes, ptr %15178, i32 0, i32 6
  %15180 = load i32, ptr %38, align 4, !tbaa !9
  %15181 = zext i32 %15180 to i64
  %15182 = add i64 %15181, 8
  %15183 = call i32 @i32_load(ptr noundef %15179, i64 noundef %15182)
  store i32 %15183, ptr %38, align 4, !tbaa !9
  %15184 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15184, ptr %14, align 4, !tbaa !9
  %15185 = load i32, ptr %37, align 4, !tbaa !9
  %15186 = load i32, ptr %38, align 4, !tbaa !9
  %15187 = icmp ne i32 %15185, %15186
  %15188 = zext i1 %15187 to i32
  store i32 %15188, ptr %37, align 4, !tbaa !9
  %15189 = load i32, ptr %37, align 4, !tbaa !9
  %15190 = icmp ne i32 %15189, 0
  br i1 %15190, label %15191, label %15192

15191:                                            ; preds = %15168
  br label %8625

15192:                                            ; preds = %15168
  br label %15193

15193:                                            ; preds = %15192, %15143, %15142, %14627, %14605, %14460, %14459, %14420, %14419, %14310, %14309, %9678, %9677, %8781, %8698, %8697, %8618
  %15194 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15194, ptr %37, align 4, !tbaa !9
  store i32 80, ptr %38, align 4, !tbaa !9
  %15195 = load i32, ptr %38, align 4, !tbaa !9
  %15196 = load i32, ptr %37, align 4, !tbaa !9
  %15197 = add i32 %15196, %15195
  store i32 %15197, ptr %37, align 4, !tbaa !9
  %15198 = load i32, ptr %37, align 4, !tbaa !9
  %15199 = load ptr, ptr %8, align 8, !tbaa !5
  %15200 = getelementptr inbounds %struct.w2c_hermes, ptr %15199, i32 0, i32 3
  store i32 %15198, ptr %15200, align 8, !tbaa !13
  %15201 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15201, ptr %37, align 4, !tbaa !9
  %15202 = load ptr, ptr %8, align 8, !tbaa !5
  %15203 = getelementptr inbounds %struct.w2c_hermes, ptr %15202, i32 0, i32 6
  %15204 = load i32, ptr %37, align 4, !tbaa !9
  %15205 = zext i32 %15204 to i64
  %15206 = add i64 %15205, 4
  %15207 = call i32 @i32_load(ptr noundef %15203, i64 noundef %15206)
  store i32 %15207, ptr %37, align 4, !tbaa !9
  %15208 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15208, ptr %14, align 4, !tbaa !9
  %15209 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15209, ptr %38, align 4, !tbaa !9
  %15210 = load ptr, ptr %8, align 8, !tbaa !5
  %15211 = getelementptr inbounds %struct.w2c_hermes, ptr %15210, i32 0, i32 6
  %15212 = load i32, ptr %38, align 4, !tbaa !9
  %15213 = zext i32 %15212 to i64
  %15214 = add i64 %15213, 8
  %15215 = call i32 @i32_load(ptr noundef %15211, i64 noundef %15214)
  store i32 %15215, ptr %38, align 4, !tbaa !9
  %15216 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15216, ptr %13, align 4, !tbaa !9
  %15217 = load i32, ptr %37, align 4, !tbaa !9
  %15218 = load i32, ptr %38, align 4, !tbaa !9
  %15219 = icmp ne i32 %15217, %15218
  %15220 = zext i1 %15219 to i32
  store i32 %15220, ptr %37, align 4, !tbaa !9
  %15221 = load i32, ptr %37, align 4, !tbaa !9
  %15222 = icmp ne i32 %15221, 0
  br i1 %15222, label %15223, label %15224

15223:                                            ; preds = %15193
  br label %637

15224:                                            ; preds = %15193
  br label %15225

15225:                                            ; preds = %15224, %459
  %15226 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15226, ptr %37, align 4, !tbaa !9
  %15227 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %15227, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %15228 = load i32, ptr %39, align 4, !tbaa !9
  %15229 = load i32, ptr %38, align 4, !tbaa !9
  %15230 = add i32 %15229, %15228
  store i32 %15230, ptr %38, align 4, !tbaa !9
  %15231 = load ptr, ptr %8, align 8, !tbaa !5
  %15232 = load i32, ptr %37, align 4, !tbaa !9
  %15233 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AcloseAlternation0x28llvh0x3A0x3ASmallVector0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x204u0x3E0x260x29(ptr noundef %15231, i32 noundef %15232, i32 noundef %15233)
  %15234 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %15234, ptr %37, align 4, !tbaa !9
  %15235 = load ptr, ptr %8, align 8, !tbaa !5
  %15236 = getelementptr inbounds %struct.w2c_hermes, ptr %15235, i32 0, i32 6
  %15237 = load i32, ptr %37, align 4, !tbaa !9
  %15238 = zext i32 %15237 to i64
  %15239 = add i64 %15238, 16
  %15240 = call i32 @i32_load(ptr noundef %15236, i64 noundef %15239)
  store i32 %15240, ptr %37, align 4, !tbaa !9
  %15241 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15241, ptr %10, align 4, !tbaa !9
  %15242 = load i32, ptr %37, align 4, !tbaa !9
  %15243 = icmp ne i32 %15242, 0
  %15244 = xor i1 %15243, true
  %15245 = zext i1 %15244 to i32
  store i32 %15245, ptr %37, align 4, !tbaa !9
  %15246 = load i32, ptr %37, align 4, !tbaa !9
  %15247 = icmp ne i32 %15246, 0
  br i1 %15247, label %15248, label %15249

15248:                                            ; preds = %15225
  br label %15409

15249:                                            ; preds = %15225
  %15250 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15250, ptr %37, align 4, !tbaa !9
  %15251 = load ptr, ptr %8, align 8, !tbaa !5
  %15252 = getelementptr inbounds %struct.w2c_hermes, ptr %15251, i32 0, i32 6
  %15253 = load i32, ptr %37, align 4, !tbaa !9
  %15254 = zext i32 %15253 to i64
  %15255 = add i64 %15254, 12
  %15256 = call i32 @i32_load(ptr noundef %15252, i64 noundef %15255)
  store i32 %15256, ptr %37, align 4, !tbaa !9
  %15257 = load i32, ptr %37, align 4, !tbaa !9
  %15258 = icmp ne i32 %15257, 0
  %15259 = xor i1 %15258, true
  %15260 = zext i1 %15259 to i32
  store i32 %15260, ptr %37, align 4, !tbaa !9
  %15261 = load i32, ptr %37, align 4, !tbaa !9
  %15262 = icmp ne i32 %15261, 0
  br i1 %15262, label %15263, label %15285

15263:                                            ; preds = %15249
  %15264 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15264, ptr %37, align 4, !tbaa !9
  store i32 5, ptr %38, align 4, !tbaa !9
  %15265 = load ptr, ptr %8, align 8, !tbaa !5
  %15266 = getelementptr inbounds %struct.w2c_hermes, ptr %15265, i32 0, i32 6
  %15267 = load i32, ptr %37, align 4, !tbaa !9
  %15268 = zext i32 %15267 to i64
  %15269 = add i64 %15268, 12
  %15270 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15266, i64 noundef %15269, i32 noundef %15270)
  %15271 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15271, ptr %37, align 4, !tbaa !9
  %15272 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15272, ptr %38, align 4, !tbaa !9
  %15273 = load ptr, ptr %8, align 8, !tbaa !5
  %15274 = getelementptr inbounds %struct.w2c_hermes, ptr %15273, i32 0, i32 6
  %15275 = load i32, ptr %38, align 4, !tbaa !9
  %15276 = zext i32 %15275 to i64
  %15277 = add i64 %15276, 8
  %15278 = call i32 @i32_load(ptr noundef %15274, i64 noundef %15277)
  store i32 %15278, ptr %38, align 4, !tbaa !9
  %15279 = load ptr, ptr %8, align 8, !tbaa !5
  %15280 = getelementptr inbounds %struct.w2c_hermes, ptr %15279, i32 0, i32 6
  %15281 = load i32, ptr %37, align 4, !tbaa !9
  %15282 = zext i32 %15281 to i64
  %15283 = add i64 %15282, 4
  %15284 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15280, i64 noundef %15283, i32 noundef %15284)
  br label %15285

15285:                                            ; preds = %15263, %15249
  %15286 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %15286, ptr %37, align 4, !tbaa !9
  %15287 = load ptr, ptr %8, align 8, !tbaa !5
  %15288 = getelementptr inbounds %struct.w2c_hermes, ptr %15287, i32 0, i32 6
  %15289 = load i32, ptr %37, align 4, !tbaa !9
  %15290 = zext i32 %15289 to i64
  %15291 = add i64 %15290, 12
  %15292 = call i32 @i32_load(ptr noundef %15288, i64 noundef %15291)
  store i32 %15292, ptr %37, align 4, !tbaa !9
  %15293 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15293, ptr %15, align 4, !tbaa !9
  %15294 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15294, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %15295 = load i32, ptr %39, align 4, !tbaa !9
  %15296 = load i32, ptr %38, align 4, !tbaa !9
  %15297 = mul i32 %15296, %15295
  store i32 %15297, ptr %38, align 4, !tbaa !9
  %15298 = load i32, ptr %38, align 4, !tbaa !9
  %15299 = load i32, ptr %37, align 4, !tbaa !9
  %15300 = add i32 %15299, %15298
  store i32 %15300, ptr %37, align 4, !tbaa !9
  %15301 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15301, ptr %14, align 4, !tbaa !9
  br label %15302

15302:                                            ; preds = %15407, %15285
  %15303 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15303, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %15304 = load i32, ptr %38, align 4, !tbaa !9
  %15305 = load i32, ptr %37, align 4, !tbaa !9
  %15306 = sub i32 %15305, %15304
  store i32 %15306, ptr %37, align 4, !tbaa !9
  %15307 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15307, ptr %12, align 4, !tbaa !9
  %15308 = load ptr, ptr %8, align 8, !tbaa !5
  %15309 = getelementptr inbounds %struct.w2c_hermes, ptr %15308, i32 0, i32 6
  %15310 = load i32, ptr %37, align 4, !tbaa !9
  %15311 = zext i32 %15310 to i64
  %15312 = add i64 %15311, 28
  %15313 = call i32 @i32_load(ptr noundef %15309, i64 noundef %15312)
  store i32 %15313, ptr %37, align 4, !tbaa !9
  %15314 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15314, ptr %11, align 4, !tbaa !9
  %15315 = load i32, ptr %37, align 4, !tbaa !9
  %15316 = icmp ne i32 %15315, 0
  br i1 %15316, label %15317, label %15397

15317:                                            ; preds = %15302
  %15318 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15318, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %15319 = load i32, ptr %38, align 4, !tbaa !9
  %15320 = load i32, ptr %37, align 4, !tbaa !9
  %15321 = sub i32 %15320, %15319
  store i32 %15321, ptr %37, align 4, !tbaa !9
  %15322 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15322, ptr %26, align 4, !tbaa !9
  %15323 = load ptr, ptr %8, align 8, !tbaa !5
  %15324 = getelementptr inbounds %struct.w2c_hermes, ptr %15323, i32 0, i32 6
  %15325 = load i32, ptr %37, align 4, !tbaa !9
  %15326 = zext i32 %15325 to i64
  %15327 = call i32 @i32_load(ptr noundef %15324, i64 noundef %15326)
  store i32 %15327, ptr %37, align 4, !tbaa !9
  %15328 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15328, ptr %13, align 4, !tbaa !9
  %15329 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15329, ptr %38, align 4, !tbaa !9
  %15330 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15330, ptr %10, align 4, !tbaa !9
  %15331 = load i32, ptr %37, align 4, !tbaa !9
  %15332 = load i32, ptr %38, align 4, !tbaa !9
  %15333 = icmp ne i32 %15331, %15332
  %15334 = zext i1 %15333 to i32
  store i32 %15334, ptr %37, align 4, !tbaa !9
  %15335 = load i32, ptr %37, align 4, !tbaa !9
  %15336 = icmp ne i32 %15335, 0
  br i1 %15336, label %15337, label %15386

15337:                                            ; preds = %15317
  br label %15338

15338:                                            ; preds = %15376, %15337
  %15339 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15339, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %15340 = load i32, ptr %38, align 4, !tbaa !9
  %15341 = load i32, ptr %37, align 4, !tbaa !9
  %15342 = sub i32 %15341, %15340
  store i32 %15342, ptr %37, align 4, !tbaa !9
  %15343 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15343, ptr %10, align 4, !tbaa !9
  %15344 = load ptr, ptr %8, align 8, !tbaa !5
  %15345 = getelementptr inbounds %struct.w2c_hermes, ptr %15344, i32 0, i32 6
  %15346 = load i32, ptr %37, align 4, !tbaa !9
  %15347 = zext i32 %15346 to i64
  %15348 = call i32 @i32_load(ptr noundef %15345, i64 noundef %15347)
  store i32 %15348, ptr %37, align 4, !tbaa !9
  %15349 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15349, ptr %14, align 4, !tbaa !9
  %15350 = load i32, ptr %37, align 4, !tbaa !9
  %15351 = icmp ne i32 %15350, 0
  br i1 %15351, label %15352, label %15366

15352:                                            ; preds = %15338
  %15353 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15353, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %15354 = load i32, ptr %38, align 4, !tbaa !9
  %15355 = load i32, ptr %37, align 4, !tbaa !9
  %15356 = sub i32 %15355, %15354
  store i32 %15356, ptr %37, align 4, !tbaa !9
  %15357 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15357, ptr %38, align 4, !tbaa !9
  %15358 = load ptr, ptr %8, align 8, !tbaa !5
  %15359 = getelementptr inbounds %struct.w2c_hermes, ptr %15358, i32 0, i32 6
  %15360 = load i32, ptr %37, align 4, !tbaa !9
  %15361 = zext i32 %15360 to i64
  %15362 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15359, i64 noundef %15361, i32 noundef %15362)
  %15363 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15363, ptr %37, align 4, !tbaa !9
  %15364 = load ptr, ptr %8, align 8, !tbaa !5
  %15365 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %15364, i32 noundef %15365)
  br label %15366

15366:                                            ; preds = %15352, %15338
  %15367 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15367, ptr %37, align 4, !tbaa !9
  %15368 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15368, ptr %13, align 4, !tbaa !9
  %15369 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15369, ptr %38, align 4, !tbaa !9
  %15370 = load i32, ptr %37, align 4, !tbaa !9
  %15371 = load i32, ptr %38, align 4, !tbaa !9
  %15372 = icmp ne i32 %15370, %15371
  %15373 = zext i1 %15372 to i32
  store i32 %15373, ptr %37, align 4, !tbaa !9
  %15374 = load i32, ptr %37, align 4, !tbaa !9
  %15375 = icmp ne i32 %15374, 0
  br i1 %15375, label %15376, label %15377

15376:                                            ; preds = %15366
  br label %15338

15377:                                            ; preds = %15366
  %15378 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15378, ptr %37, align 4, !tbaa !9
  %15379 = load ptr, ptr %8, align 8, !tbaa !5
  %15380 = getelementptr inbounds %struct.w2c_hermes, ptr %15379, i32 0, i32 6
  %15381 = load i32, ptr %37, align 4, !tbaa !9
  %15382 = zext i32 %15381 to i64
  %15383 = add i64 %15382, 28
  %15384 = call i32 @i32_load(ptr noundef %15380, i64 noundef %15383)
  store i32 %15384, ptr %37, align 4, !tbaa !9
  %15385 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15385, ptr %10, align 4, !tbaa !9
  br label %15386

15386:                                            ; preds = %15377, %15317
  %15387 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %15387, ptr %37, align 4, !tbaa !9
  %15388 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15388, ptr %38, align 4, !tbaa !9
  %15389 = load ptr, ptr %8, align 8, !tbaa !5
  %15390 = getelementptr inbounds %struct.w2c_hermes, ptr %15389, i32 0, i32 6
  %15391 = load i32, ptr %37, align 4, !tbaa !9
  %15392 = zext i32 %15391 to i64
  %15393 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15390, i64 noundef %15392, i32 noundef %15393)
  %15394 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15394, ptr %37, align 4, !tbaa !9
  %15395 = load ptr, ptr %8, align 8, !tbaa !5
  %15396 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %15395, i32 noundef %15396)
  br label %15397

15397:                                            ; preds = %15386, %15302
  %15398 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15398, ptr %37, align 4, !tbaa !9
  %15399 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15399, ptr %14, align 4, !tbaa !9
  %15400 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %15400, ptr %38, align 4, !tbaa !9
  %15401 = load i32, ptr %37, align 4, !tbaa !9
  %15402 = load i32, ptr %38, align 4, !tbaa !9
  %15403 = icmp ne i32 %15401, %15402
  %15404 = zext i1 %15403 to i32
  store i32 %15404, ptr %37, align 4, !tbaa !9
  %15405 = load i32, ptr %37, align 4, !tbaa !9
  %15406 = icmp ne i32 %15405, 0
  br i1 %15406, label %15407, label %15408

15407:                                            ; preds = %15397
  br label %15302

15408:                                            ; preds = %15397
  br label %15409

15409:                                            ; preds = %15408, %15248, %1491, %1490
  %15410 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %15410, ptr %37, align 4, !tbaa !9
  %15411 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %15411, ptr %38, align 4, !tbaa !9
  %15412 = load ptr, ptr %8, align 8, !tbaa !5
  %15413 = getelementptr inbounds %struct.w2c_hermes, ptr %15412, i32 0, i32 6
  %15414 = load i32, ptr %38, align 4, !tbaa !9
  %15415 = zext i32 %15414 to i64
  %15416 = add i64 %15415, 12
  %15417 = call i32 @i32_load(ptr noundef %15413, i64 noundef %15416)
  store i32 %15417, ptr %38, align 4, !tbaa !9
  %15418 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15418, ptr %10, align 4, !tbaa !9
  %15419 = load i32, ptr %37, align 4, !tbaa !9
  %15420 = load i32, ptr %38, align 4, !tbaa !9
  %15421 = icmp ne i32 %15419, %15420
  %15422 = zext i1 %15421 to i32
  store i32 %15422, ptr %37, align 4, !tbaa !9
  %15423 = load i32, ptr %37, align 4, !tbaa !9
  %15424 = icmp ne i32 %15423, 0
  br i1 %15424, label %15425, label %15429

15425:                                            ; preds = %15409
  %15426 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15426, ptr %37, align 4, !tbaa !9
  %15427 = load ptr, ptr %8, align 8, !tbaa !5
  %15428 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %15427, i32 noundef %15428)
  br label %15429

15429:                                            ; preds = %15425, %15409
  %15430 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %15430, ptr %37, align 4, !tbaa !9
  store i32 208, ptr %38, align 4, !tbaa !9
  %15431 = load i32, ptr %38, align 4, !tbaa !9
  %15432 = load i32, ptr %37, align 4, !tbaa !9
  %15433 = add i32 %15432, %15431
  store i32 %15433, ptr %37, align 4, !tbaa !9
  %15434 = load i32, ptr %37, align 4, !tbaa !9
  %15435 = load ptr, ptr %8, align 8, !tbaa !5
  %15436 = getelementptr inbounds %struct.w2c_hermes, ptr %15435, i32 0, i32 3
  store i32 %15434, ptr %15436, align 8, !tbaa !13
  %15437 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15437, ptr %37, align 4, !tbaa !9
  %15438 = load ptr, ptr %8, align 8, !tbaa !5
  %15439 = getelementptr inbounds %struct.w2c_hermes, ptr %15438, i32 0, i32 6
  %15440 = load i32, ptr %37, align 4, !tbaa !9
  %15441 = zext i32 %15440 to i64
  %15442 = add i64 %15441, 12
  %15443 = call i32 @i32_load(ptr noundef %15439, i64 noundef %15442)
  store i32 %15443, ptr %37, align 4, !tbaa !9
  %15444 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15444, ptr %10, align 4, !tbaa !9
  %15445 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %15445, ptr %37, align 4, !tbaa !9
  %15446 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15446, ptr %38, align 4, !tbaa !9
  %15447 = load ptr, ptr %8, align 8, !tbaa !5
  %15448 = getelementptr inbounds %struct.w2c_hermes, ptr %15447, i32 0, i32 6
  %15449 = load i32, ptr %38, align 4, !tbaa !9
  %15450 = zext i32 %15449 to i64
  %15451 = add i64 %15450, 24
  %15452 = call i32 @i32_load(ptr noundef %15448, i64 noundef %15451)
  store i32 %15452, ptr %38, align 4, !tbaa !9
  %15453 = load ptr, ptr %8, align 8, !tbaa !5
  %15454 = getelementptr inbounds %struct.w2c_hermes, ptr %15453, i32 0, i32 6
  %15455 = load i32, ptr %37, align 4, !tbaa !9
  %15456 = zext i32 %15455 to i64
  %15457 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15454, i64 noundef %15456, i32 noundef %15457)
  %15458 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15458, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %15459 = load i32, ptr %38, align 4, !tbaa !9
  %15460 = load i32, ptr %37, align 4, !tbaa !9
  %15461 = add i32 %15460, %15459
  store i32 %15461, ptr %37, align 4, !tbaa !9
  %15462 = load i32, ptr %37, align 4, !tbaa !9
  %15463 = load ptr, ptr %8, align 8, !tbaa !5
  %15464 = getelementptr inbounds %struct.w2c_hermes, ptr %15463, i32 0, i32 3
  store i32 %15462, ptr %15464, align 8, !tbaa !13
  %15465 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15465, ptr %37, align 4, !tbaa !9
  br label %15467

15466:                                            ; preds = %14263, %12579, %10041, %9538, %9126, %3602, %2521, %942
  br label %18026

15467:                                            ; preds = %15429
  %15468 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15468, ptr %26, align 4, !tbaa !9
  %15469 = load i32, ptr %37, align 4, !tbaa !9
  %15470 = icmp ne i32 %15469, 0
  br i1 %15470, label %15471, label %15472

15471:                                            ; preds = %15467
  br label %17878

15472:                                            ; preds = %15467
  %15473 = load ptr, ptr %8, align 8, !tbaa !5
  %15474 = getelementptr inbounds %struct.w2c_hermes, ptr %15473, i32 0, i32 3
  %15475 = load i32, ptr %15474, align 8, !tbaa !13
  store i32 %15475, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %15476 = load i32, ptr %38, align 4, !tbaa !9
  %15477 = load i32, ptr %37, align 4, !tbaa !9
  %15478 = sub i32 %15477, %15476
  store i32 %15478, ptr %37, align 4, !tbaa !9
  %15479 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15479, ptr %10, align 4, !tbaa !9
  %15480 = load i32, ptr %37, align 4, !tbaa !9
  %15481 = load ptr, ptr %8, align 8, !tbaa !5
  %15482 = getelementptr inbounds %struct.w2c_hermes, ptr %15481, i32 0, i32 3
  store i32 %15480, ptr %15482, align 8, !tbaa !13
  store i32 4, ptr %37, align 4, !tbaa !9
  %15483 = load ptr, ptr %8, align 8, !tbaa !5
  %15484 = load i32, ptr %37, align 4, !tbaa !9
  %15485 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %15483, i32 noundef %15484)
  store i32 %15485, ptr %37, align 4, !tbaa !9
  %15486 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15486, ptr %11, align 4, !tbaa !9
  store i32 112500, ptr %38, align 4, !tbaa !9
  %15487 = load ptr, ptr %8, align 8, !tbaa !5
  %15488 = getelementptr inbounds %struct.w2c_hermes, ptr %15487, i32 0, i32 6
  %15489 = load i32, ptr %37, align 4, !tbaa !9
  %15490 = zext i32 %15489 to i64
  %15491 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15488, i64 noundef %15490, i32 noundef %15491)
  %15492 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15492, ptr %37, align 4, !tbaa !9
  %15493 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15493, ptr %38, align 4, !tbaa !9
  %15494 = load ptr, ptr %8, align 8, !tbaa !5
  %15495 = getelementptr inbounds %struct.w2c_hermes, ptr %15494, i32 0, i32 6
  %15496 = load i32, ptr %37, align 4, !tbaa !9
  %15497 = zext i32 %15496 to i64
  %15498 = add i64 %15497, 12
  %15499 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15495, i64 noundef %15498, i32 noundef %15499)
  %15500 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15500, ptr %37, align 4, !tbaa !9
  %15501 = load ptr, ptr %8, align 8, !tbaa !5
  %15502 = getelementptr inbounds %struct.w2c_hermes, ptr %15501, i32 0, i32 6
  %15503 = load i32, ptr %37, align 4, !tbaa !9
  %15504 = zext i32 %15503 to i64
  %15505 = add i64 %15504, 160
  %15506 = call i32 @i32_load(ptr noundef %15502, i64 noundef %15505)
  store i32 %15506, ptr %37, align 4, !tbaa !9
  %15507 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15507, ptr %12, align 4, !tbaa !9
  %15508 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15508, ptr %38, align 4, !tbaa !9
  %15509 = load ptr, ptr %8, align 8, !tbaa !5
  %15510 = getelementptr inbounds %struct.w2c_hermes, ptr %15509, i32 0, i32 6
  %15511 = load i32, ptr %38, align 4, !tbaa !9
  %15512 = zext i32 %15511 to i64
  %15513 = add i64 %15512, 164
  %15514 = call i32 @i32_load(ptr noundef %15510, i64 noundef %15513)
  store i32 %15514, ptr %38, align 4, !tbaa !9
  %15515 = load i32, ptr %37, align 4, !tbaa !9
  %15516 = load i32, ptr %38, align 4, !tbaa !9
  %15517 = icmp ult i32 %15515, %15516
  %15518 = zext i1 %15517 to i32
  store i32 %15518, ptr %37, align 4, !tbaa !9
  %15519 = load i32, ptr %37, align 4, !tbaa !9
  %15520 = icmp ne i32 %15519, 0
  br i1 %15520, label %15521, label %15547

15521:                                            ; preds = %15472
  %15522 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15522, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %15523 = load ptr, ptr %8, align 8, !tbaa !5
  %15524 = getelementptr inbounds %struct.w2c_hermes, ptr %15523, i32 0, i32 6
  %15525 = load i32, ptr %37, align 4, !tbaa !9
  %15526 = zext i32 %15525 to i64
  %15527 = add i64 %15526, 12
  %15528 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15524, i64 noundef %15527, i32 noundef %15528)
  %15529 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15529, ptr %37, align 4, !tbaa !9
  %15530 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15530, ptr %38, align 4, !tbaa !9
  %15531 = load ptr, ptr %8, align 8, !tbaa !5
  %15532 = getelementptr inbounds %struct.w2c_hermes, ptr %15531, i32 0, i32 6
  %15533 = load i32, ptr %37, align 4, !tbaa !9
  %15534 = zext i32 %15533 to i64
  %15535 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15532, i64 noundef %15534, i32 noundef %15535)
  %15536 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15536, ptr %37, align 4, !tbaa !9
  %15537 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15537, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %15538 = load i32, ptr %39, align 4, !tbaa !9
  %15539 = load i32, ptr %38, align 4, !tbaa !9
  %15540 = add i32 %15539, %15538
  store i32 %15540, ptr %38, align 4, !tbaa !9
  %15541 = load ptr, ptr %8, align 8, !tbaa !5
  %15542 = getelementptr inbounds %struct.w2c_hermes, ptr %15541, i32 0, i32 6
  %15543 = load i32, ptr %37, align 4, !tbaa !9
  %15544 = zext i32 %15543 to i64
  %15545 = add i64 %15544, 160
  %15546 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15542, i64 noundef %15545, i32 noundef %15546)
  br label %15559

15547:                                            ; preds = %15472
  %15548 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15548, ptr %37, align 4, !tbaa !9
  store i32 156, ptr %38, align 4, !tbaa !9
  %15549 = load i32, ptr %38, align 4, !tbaa !9
  %15550 = load i32, ptr %37, align 4, !tbaa !9
  %15551 = add i32 %15550, %15549
  store i32 %15551, ptr %37, align 4, !tbaa !9
  %15552 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15552, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %15553 = load i32, ptr %39, align 4, !tbaa !9
  %15554 = load i32, ptr %38, align 4, !tbaa !9
  %15555 = add i32 %15554, %15553
  store i32 %15555, ptr %38, align 4, !tbaa !9
  %15556 = load ptr, ptr %8, align 8, !tbaa !5
  %15557 = load i32, ptr %37, align 4, !tbaa !9
  %15558 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %15556, i32 noundef %15557, i32 noundef %15558)
  br label %15559

15559:                                            ; preds = %15547, %15521
  %15560 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15560, ptr %37, align 4, !tbaa !9
  %15561 = load ptr, ptr %8, align 8, !tbaa !5
  %15562 = getelementptr inbounds %struct.w2c_hermes, ptr %15561, i32 0, i32 6
  %15563 = load i32, ptr %37, align 4, !tbaa !9
  %15564 = zext i32 %15563 to i64
  %15565 = add i64 %15564, 12
  %15566 = call i32 @i32_load(ptr noundef %15562, i64 noundef %15565)
  store i32 %15566, ptr %37, align 4, !tbaa !9
  %15567 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15567, ptr %12, align 4, !tbaa !9
  %15568 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15568, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %15569 = load ptr, ptr %8, align 8, !tbaa !5
  %15570 = getelementptr inbounds %struct.w2c_hermes, ptr %15569, i32 0, i32 6
  %15571 = load i32, ptr %37, align 4, !tbaa !9
  %15572 = zext i32 %15571 to i64
  %15573 = add i64 %15572, 12
  %15574 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15570, i64 noundef %15573, i32 noundef %15574)
  %15575 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15575, ptr %37, align 4, !tbaa !9
  %15576 = load i32, ptr %37, align 4, !tbaa !9
  %15577 = icmp ne i32 %15576, 0
  br i1 %15577, label %15578, label %15653

15578:                                            ; preds = %15559
  %15579 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15579, ptr %37, align 4, !tbaa !9
  %15580 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15580, ptr %38, align 4, !tbaa !9
  %15581 = load ptr, ptr %8, align 8, !tbaa !5
  %15582 = getelementptr inbounds %struct.w2c_hermes, ptr %15581, i32 0, i32 6
  %15583 = load i32, ptr %38, align 4, !tbaa !9
  %15584 = zext i32 %15583 to i64
  %15585 = call i32 @i32_load(ptr noundef %15582, i64 noundef %15584)
  store i32 %15585, ptr %38, align 4, !tbaa !9
  %15586 = load ptr, ptr %8, align 8, !tbaa !5
  %15587 = getelementptr inbounds %struct.w2c_hermes, ptr %15586, i32 0, i32 6
  %15588 = load i32, ptr %38, align 4, !tbaa !9
  %15589 = zext i32 %15588 to i64
  %15590 = add i64 %15589, 4
  %15591 = call i32 @i32_load(ptr noundef %15587, i64 noundef %15590)
  store i32 %15591, ptr %38, align 4, !tbaa !9
  %15592 = load i32, ptr %38, align 4, !tbaa !9
  %15593 = load ptr, ptr %8, align 8, !tbaa !5
  %15594 = getelementptr inbounds %struct.w2c_hermes, ptr %15593, i32 0, i32 7
  %15595 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %15594, i32 0, i32 2
  %15596 = load i32, ptr %15595, align 4, !tbaa !18
  %15597 = icmp ult i32 %15592, %15596
  br i1 %15597, label %15598, label %15621

15598:                                            ; preds = %15578
  %15599 = load ptr, ptr %8, align 8, !tbaa !5
  %15600 = getelementptr inbounds %struct.w2c_hermes, ptr %15599, i32 0, i32 7
  %15601 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %15600, i32 0, i32 0
  %15602 = load ptr, ptr %15601, align 8, !tbaa !19
  %15603 = load i32, ptr %38, align 4, !tbaa !9
  %15604 = zext i32 %15603 to i64
  %15605 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15602, i64 %15604
  %15606 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15605, i32 0, i32 1
  %15607 = load ptr, ptr %15606, align 8, !tbaa !20
  %15608 = icmp ne ptr %15607, null
  br i1 %15608, label %15609, label %15621

15609:                                            ; preds = %15598
  %15610 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %15611 = load ptr, ptr %8, align 8, !tbaa !5
  %15612 = getelementptr inbounds %struct.w2c_hermes, ptr %15611, i32 0, i32 7
  %15613 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %15612, i32 0, i32 0
  %15614 = load ptr, ptr %15613, align 8, !tbaa !19
  %15615 = load i32, ptr %38, align 4, !tbaa !9
  %15616 = zext i32 %15615 to i64
  %15617 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15614, i64 %15616
  %15618 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15617, i32 0, i32 0
  %15619 = load ptr, ptr %15618, align 8, !tbaa !22
  %15620 = call zeroext i1 @func_types_eq(ptr noundef %15610, ptr noundef %15619)
  br label %15621

15621:                                            ; preds = %15609, %15598, %15578
  %15622 = phi i1 [ false, %15598 ], [ false, %15578 ], [ %15620, %15609 ]
  %15623 = xor i1 %15622, true
  %15624 = xor i1 %15623, true
  %15625 = zext i1 %15624 to i32
  %15626 = sext i32 %15625 to i64
  %15627 = call i64 @llvm.expect.i64(i64 %15626, i64 1)
  %15628 = icmp ne i64 %15627, 0
  br i1 %15628, label %15631, label %15629

15629:                                            ; preds = %15621
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

15630:                                            ; No predecessors!
  br label %15631

15631:                                            ; preds = %15630, %15621
  %15632 = phi i1 [ true, %15621 ], [ false, %15630 ]
  %15633 = zext i1 %15632 to i32
  %15634 = load ptr, ptr %8, align 8, !tbaa !5
  %15635 = getelementptr inbounds %struct.w2c_hermes, ptr %15634, i32 0, i32 7
  %15636 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %15635, i32 0, i32 0
  %15637 = load ptr, ptr %15636, align 8, !tbaa !19
  %15638 = load i32, ptr %38, align 4, !tbaa !9
  %15639 = zext i32 %15638 to i64
  %15640 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15637, i64 %15639
  %15641 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15640, i32 0, i32 1
  %15642 = load ptr, ptr %15641, align 8, !tbaa !20
  %15643 = load ptr, ptr %8, align 8, !tbaa !5
  %15644 = getelementptr inbounds %struct.w2c_hermes, ptr %15643, i32 0, i32 7
  %15645 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %15644, i32 0, i32 0
  %15646 = load ptr, ptr %15645, align 8, !tbaa !19
  %15647 = load i32, ptr %38, align 4, !tbaa !9
  %15648 = zext i32 %15647 to i64
  %15649 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15646, i64 %15648
  %15650 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %15649, i32 0, i32 2
  %15651 = load ptr, ptr %15650, align 8, !tbaa !23
  %15652 = load i32, ptr %37, align 4, !tbaa !9
  call void %15642(ptr noundef %15651, i32 noundef %15652)
  br label %15653

15653:                                            ; preds = %15631, %15559
  %15654 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15654, ptr %37, align 4, !tbaa !9
  %15655 = load ptr, ptr %8, align 8, !tbaa !5
  %15656 = getelementptr inbounds %struct.w2c_hermes, ptr %15655, i32 0, i32 6
  %15657 = load i32, ptr %37, align 4, !tbaa !9
  %15658 = zext i32 %15657 to i64
  %15659 = add i64 %15658, 148
  %15660 = call i32 @i32_load(ptr noundef %15656, i64 noundef %15659)
  store i32 %15660, ptr %37, align 4, !tbaa !9
  %15661 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15661, ptr %12, align 4, !tbaa !9
  %15662 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15662, ptr %38, align 4, !tbaa !9
  %15663 = load ptr, ptr %8, align 8, !tbaa !5
  %15664 = getelementptr inbounds %struct.w2c_hermes, ptr %15663, i32 0, i32 6
  %15665 = load i32, ptr %38, align 4, !tbaa !9
  %15666 = zext i32 %15665 to i64
  %15667 = add i64 %15666, 152
  %15668 = call i32 @i32_load(ptr noundef %15664, i64 noundef %15667)
  store i32 %15668, ptr %38, align 4, !tbaa !9
  %15669 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15669, ptr %14, align 4, !tbaa !9
  %15670 = load i32, ptr %37, align 4, !tbaa !9
  %15671 = load i32, ptr %38, align 4, !tbaa !9
  %15672 = icmp ult i32 %15670, %15671
  %15673 = zext i1 %15672 to i32
  store i32 %15673, ptr %37, align 4, !tbaa !9
  %15674 = load i32, ptr %37, align 4, !tbaa !9
  %15675 = icmp ne i32 %15674, 0
  br i1 %15675, label %15676, label %15695

15676:                                            ; preds = %15653
  %15677 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15677, ptr %37, align 4, !tbaa !9
  %15678 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15678, ptr %38, align 4, !tbaa !9
  %15679 = load ptr, ptr %8, align 8, !tbaa !5
  %15680 = getelementptr inbounds %struct.w2c_hermes, ptr %15679, i32 0, i32 6
  %15681 = load i32, ptr %37, align 4, !tbaa !9
  %15682 = zext i32 %15681 to i64
  %15683 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15680, i64 noundef %15682, i32 noundef %15683)
  %15684 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15684, ptr %37, align 4, !tbaa !9
  %15685 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15685, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %15686 = load i32, ptr %39, align 4, !tbaa !9
  %15687 = load i32, ptr %38, align 4, !tbaa !9
  %15688 = add i32 %15687, %15686
  store i32 %15688, ptr %38, align 4, !tbaa !9
  %15689 = load ptr, ptr %8, align 8, !tbaa !5
  %15690 = getelementptr inbounds %struct.w2c_hermes, ptr %15689, i32 0, i32 6
  %15691 = load i32, ptr %37, align 4, !tbaa !9
  %15692 = zext i32 %15691 to i64
  %15693 = add i64 %15692, 148
  %15694 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15690, i64 noundef %15693, i32 noundef %15694)
  br label %15859

15695:                                            ; preds = %15653
  %15696 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15696, ptr %37, align 4, !tbaa !9
  %15697 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15697, ptr %38, align 4, !tbaa !9
  %15698 = load ptr, ptr %8, align 8, !tbaa !5
  %15699 = getelementptr inbounds %struct.w2c_hermes, ptr %15698, i32 0, i32 6
  %15700 = load i32, ptr %38, align 4, !tbaa !9
  %15701 = zext i32 %15700 to i64
  %15702 = add i64 %15701, 144
  %15703 = call i32 @i32_load(ptr noundef %15699, i64 noundef %15702)
  store i32 %15703, ptr %38, align 4, !tbaa !9
  %15704 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15704, ptr %12, align 4, !tbaa !9
  %15705 = load i32, ptr %38, align 4, !tbaa !9
  %15706 = load i32, ptr %37, align 4, !tbaa !9
  %15707 = sub i32 %15706, %15705
  store i32 %15707, ptr %37, align 4, !tbaa !9
  %15708 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15708, ptr %15, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %15709 = load i32, ptr %37, align 4, !tbaa !9
  %15710 = load i32, ptr %38, align 4, !tbaa !9
  %15711 = and i32 %15710, 31
  %15712 = ashr i32 %15709, %15711
  store i32 %15712, ptr %37, align 4, !tbaa !9
  %15713 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15713, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %15714 = load i32, ptr %38, align 4, !tbaa !9
  %15715 = load i32, ptr %37, align 4, !tbaa !9
  %15716 = add i32 %15715, %15714
  store i32 %15716, ptr %37, align 4, !tbaa !9
  %15717 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15717, ptr %13, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %15718 = load i32, ptr %37, align 4, !tbaa !9
  %15719 = load i32, ptr %38, align 4, !tbaa !9
  %15720 = icmp uge i32 %15718, %15719
  %15721 = zext i1 %15720 to i32
  store i32 %15721, ptr %37, align 4, !tbaa !9
  %15722 = load i32, ptr %37, align 4, !tbaa !9
  %15723 = icmp ne i32 %15722, 0
  br i1 %15723, label %15724, label %15725

15724:                                            ; preds = %15695
  br label %18024

15725:                                            ; preds = %15695
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %15726 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15726, ptr %38, align 4, !tbaa !9
  %15727 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15727, ptr %39, align 4, !tbaa !9
  %15728 = load i32, ptr %39, align 4, !tbaa !9
  %15729 = load i32, ptr %38, align 4, !tbaa !9
  %15730 = sub i32 %15729, %15728
  store i32 %15730, ptr %38, align 4, !tbaa !9
  %15731 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15731, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %15732 = load i32, ptr %38, align 4, !tbaa !9
  %15733 = load i32, ptr %39, align 4, !tbaa !9
  %15734 = and i32 %15733, 31
  %15735 = ashr i32 %15732, %15734
  store i32 %15735, ptr %38, align 4, !tbaa !9
  %15736 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15736, ptr %16, align 4, !tbaa !9
  %15737 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15737, ptr %39, align 4, !tbaa !9
  %15738 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15738, ptr %40, align 4, !tbaa !9
  %15739 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15739, ptr %41, align 4, !tbaa !9
  %15740 = load i32, ptr %40, align 4, !tbaa !9
  %15741 = load i32, ptr %41, align 4, !tbaa !9
  %15742 = icmp ult i32 %15740, %15741
  %15743 = zext i1 %15742 to i32
  store i32 %15743, ptr %40, align 4, !tbaa !9
  %15744 = load i32, ptr %40, align 4, !tbaa !9
  %15745 = icmp ne i32 %15744, 0
  br i1 %15745, label %15746, label %15748

15746:                                            ; preds = %15725
  %15747 = load i32, ptr %38, align 4, !tbaa !9
  br label %15750

15748:                                            ; preds = %15725
  %15749 = load i32, ptr %39, align 4, !tbaa !9
  br label %15750

15750:                                            ; preds = %15748, %15746
  %15751 = phi i32 [ %15747, %15746 ], [ %15749, %15748 ]
  store i32 %15751, ptr %38, align 4, !tbaa !9
  %15752 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15752, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %15753 = load i32, ptr %39, align 4, !tbaa !9
  %15754 = load i32, ptr %40, align 4, !tbaa !9
  %15755 = icmp uge i32 %15753, %15754
  %15756 = zext i1 %15755 to i32
  store i32 %15756, ptr %39, align 4, !tbaa !9
  %15757 = load i32, ptr %39, align 4, !tbaa !9
  %15758 = icmp ne i32 %15757, 0
  br i1 %15758, label %15759, label %15761

15759:                                            ; preds = %15750
  %15760 = load i32, ptr %37, align 4, !tbaa !9
  br label %15763

15761:                                            ; preds = %15750
  %15762 = load i32, ptr %38, align 4, !tbaa !9
  br label %15763

15763:                                            ; preds = %15761, %15759
  %15764 = phi i32 [ %15760, %15759 ], [ %15762, %15761 ]
  store i32 %15764, ptr %37, align 4, !tbaa !9
  %15765 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15765, ptr %13, align 4, !tbaa !9
  %15766 = load i32, ptr %37, align 4, !tbaa !9
  %15767 = icmp ne i32 %15766, 0
  br i1 %15767, label %15768, label %15786

15768:                                            ; preds = %15763
  %15769 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15769, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %15770 = load i32, ptr %37, align 4, !tbaa !9
  %15771 = load i32, ptr %38, align 4, !tbaa !9
  %15772 = icmp uge i32 %15770, %15771
  %15773 = zext i1 %15772 to i32
  store i32 %15773, ptr %37, align 4, !tbaa !9
  %15774 = load i32, ptr %37, align 4, !tbaa !9
  %15775 = icmp ne i32 %15774, 0
  br i1 %15775, label %15776, label %15777

15776:                                            ; preds = %15768
  br label %18026

15777:                                            ; preds = %15768
  %15778 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15778, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %15779 = load i32, ptr %38, align 4, !tbaa !9
  %15780 = and i32 %15779, 31
  %15781 = load i32, ptr %37, align 4, !tbaa !9
  %15782 = shl i32 %15781, %15780
  store i32 %15782, ptr %37, align 4, !tbaa !9
  %15783 = load ptr, ptr %8, align 8, !tbaa !5
  %15784 = load i32, ptr %37, align 4, !tbaa !9
  %15785 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %15783, i32 noundef %15784)
  store i32 %15785, ptr %37, align 4, !tbaa !9
  br label %15787

15786:                                            ; preds = %15763
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %15787

15787:                                            ; preds = %15786, %15777
  %15788 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15788, ptr %14, align 4, !tbaa !9
  %15789 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %15789, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %15790 = load i32, ptr %39, align 4, !tbaa !9
  %15791 = and i32 %15790, 31
  %15792 = load i32, ptr %38, align 4, !tbaa !9
  %15793 = shl i32 %15792, %15791
  store i32 %15793, ptr %38, align 4, !tbaa !9
  %15794 = load i32, ptr %38, align 4, !tbaa !9
  %15795 = load i32, ptr %37, align 4, !tbaa !9
  %15796 = add i32 %15795, %15794
  store i32 %15796, ptr %37, align 4, !tbaa !9
  %15797 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15797, ptr %24, align 4, !tbaa !9
  %15798 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15798, ptr %38, align 4, !tbaa !9
  %15799 = load ptr, ptr %8, align 8, !tbaa !5
  %15800 = getelementptr inbounds %struct.w2c_hermes, ptr %15799, i32 0, i32 6
  %15801 = load i32, ptr %37, align 4, !tbaa !9
  %15802 = zext i32 %15801 to i64
  %15803 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15800, i64 noundef %15802, i32 noundef %15803)
  %15804 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15804, ptr %37, align 4, !tbaa !9
  %15805 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15805, ptr %38, align 4, !tbaa !9
  %15806 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15806, ptr %39, align 4, !tbaa !9
  %15807 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %15807, ptr %40, align 4, !tbaa !9
  %15808 = load ptr, ptr %8, align 8, !tbaa !5
  %15809 = load i32, ptr %38, align 4, !tbaa !9
  %15810 = load i32, ptr %39, align 4, !tbaa !9
  %15811 = load i32, ptr %40, align 4, !tbaa !9
  %15812 = call i32 @w2c_hermes_memmove(ptr noundef %15808, i32 noundef %15809, i32 noundef %15810, i32 noundef %15811)
  store i32 %15812, ptr %38, align 4, !tbaa !9
  %15813 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15813, ptr %11, align 4, !tbaa !9
  %15814 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15814, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %15815 = load i32, ptr %40, align 4, !tbaa !9
  %15816 = and i32 %15815, 31
  %15817 = load i32, ptr %39, align 4, !tbaa !9
  %15818 = shl i32 %15817, %15816
  store i32 %15818, ptr %39, align 4, !tbaa !9
  %15819 = load i32, ptr %39, align 4, !tbaa !9
  %15820 = load i32, ptr %38, align 4, !tbaa !9
  %15821 = add i32 %15820, %15819
  store i32 %15821, ptr %38, align 4, !tbaa !9
  %15822 = load ptr, ptr %8, align 8, !tbaa !5
  %15823 = getelementptr inbounds %struct.w2c_hermes, ptr %15822, i32 0, i32 6
  %15824 = load i32, ptr %37, align 4, !tbaa !9
  %15825 = zext i32 %15824 to i64
  %15826 = add i64 %15825, 152
  %15827 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15823, i64 noundef %15826, i32 noundef %15827)
  %15828 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15828, ptr %37, align 4, !tbaa !9
  %15829 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %15829, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %15830 = load i32, ptr %39, align 4, !tbaa !9
  %15831 = load i32, ptr %38, align 4, !tbaa !9
  %15832 = add i32 %15831, %15830
  store i32 %15832, ptr %38, align 4, !tbaa !9
  %15833 = load ptr, ptr %8, align 8, !tbaa !5
  %15834 = getelementptr inbounds %struct.w2c_hermes, ptr %15833, i32 0, i32 6
  %15835 = load i32, ptr %37, align 4, !tbaa !9
  %15836 = zext i32 %15835 to i64
  %15837 = add i64 %15836, 148
  %15838 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15834, i64 noundef %15837, i32 noundef %15838)
  %15839 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15839, ptr %37, align 4, !tbaa !9
  %15840 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15840, ptr %38, align 4, !tbaa !9
  %15841 = load ptr, ptr %8, align 8, !tbaa !5
  %15842 = getelementptr inbounds %struct.w2c_hermes, ptr %15841, i32 0, i32 6
  %15843 = load i32, ptr %37, align 4, !tbaa !9
  %15844 = zext i32 %15843 to i64
  %15845 = add i64 %15844, 144
  %15846 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15842, i64 noundef %15845, i32 noundef %15846)
  %15847 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15847, ptr %37, align 4, !tbaa !9
  %15848 = load i32, ptr %37, align 4, !tbaa !9
  %15849 = icmp ne i32 %15848, 0
  %15850 = xor i1 %15849, true
  %15851 = zext i1 %15850 to i32
  store i32 %15851, ptr %37, align 4, !tbaa !9
  %15852 = load i32, ptr %37, align 4, !tbaa !9
  %15853 = icmp ne i32 %15852, 0
  br i1 %15853, label %15854, label %15855

15854:                                            ; preds = %15787
  br label %15859

15855:                                            ; preds = %15787
  %15856 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15856, ptr %37, align 4, !tbaa !9
  %15857 = load ptr, ptr %8, align 8, !tbaa !5
  %15858 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %15857, i32 noundef %15858)
  br label %15859

15859:                                            ; preds = %15855, %15854, %15676
  %15860 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15860, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %15861 = load i32, ptr %38, align 4, !tbaa !9
  %15862 = load i32, ptr %37, align 4, !tbaa !9
  %15863 = add i32 %15862, %15861
  store i32 %15863, ptr %37, align 4, !tbaa !9
  %15864 = load i32, ptr %37, align 4, !tbaa !9
  %15865 = load ptr, ptr %8, align 8, !tbaa !5
  %15866 = getelementptr inbounds %struct.w2c_hermes, ptr %15865, i32 0, i32 3
  store i32 %15864, ptr %15866, align 8, !tbaa !13
  br label %15867

15867:                                            ; preds = %15859
  %15868 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %15868, ptr %37, align 4, !tbaa !9
  %15869 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15869, ptr %38, align 4, !tbaa !9
  %15870 = load ptr, ptr %8, align 8, !tbaa !5
  %15871 = getelementptr inbounds %struct.w2c_hermes, ptr %15870, i32 0, i32 6
  %15872 = load i32, ptr %38, align 4, !tbaa !9
  %15873 = zext i32 %15872 to i64
  %15874 = add i64 %15873, 136
  %15875 = call i32 @i32_load8_u(ptr noundef %15871, i64 noundef %15874)
  store i32 %15875, ptr %38, align 4, !tbaa !9
  %15876 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15876, ptr %10, align 4, !tbaa !9
  %15877 = load ptr, ptr %8, align 8, !tbaa !5
  %15878 = getelementptr inbounds %struct.w2c_hermes, ptr %15877, i32 0, i32 6
  %15879 = load i32, ptr %37, align 4, !tbaa !9
  %15880 = zext i32 %15879 to i64
  %15881 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %15878, i64 noundef %15880, i32 noundef %15881)
  %15882 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %15882, ptr %37, align 4, !tbaa !9
  %15883 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15883, ptr %38, align 4, !tbaa !9
  %15884 = load ptr, ptr %8, align 8, !tbaa !5
  %15885 = getelementptr inbounds %struct.w2c_hermes, ptr %15884, i32 0, i32 6
  %15886 = load i32, ptr %37, align 4, !tbaa !9
  %15887 = zext i32 %15886 to i64
  %15888 = add i64 %15887, 2
  %15889 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %15885, i64 noundef %15888, i32 noundef %15889)
  %15890 = load ptr, ptr %8, align 8, !tbaa !5
  %15891 = getelementptr inbounds %struct.w2c_hermes, ptr %15890, i32 0, i32 3
  %15892 = load i32, ptr %15891, align 8, !tbaa !13
  store i32 %15892, ptr %37, align 4, !tbaa !9
  store i32 80, ptr %38, align 4, !tbaa !9
  %15893 = load i32, ptr %38, align 4, !tbaa !9
  %15894 = load i32, ptr %37, align 4, !tbaa !9
  %15895 = sub i32 %15894, %15893
  store i32 %15895, ptr %37, align 4, !tbaa !9
  %15896 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15896, ptr %16, align 4, !tbaa !9
  %15897 = load i32, ptr %37, align 4, !tbaa !9
  %15898 = load ptr, ptr %8, align 8, !tbaa !5
  %15899 = getelementptr inbounds %struct.w2c_hermes, ptr %15898, i32 0, i32 3
  store i32 %15897, ptr %15899, align 8, !tbaa !13
  store i32 4, ptr %37, align 4, !tbaa !9
  %15900 = load ptr, ptr %8, align 8, !tbaa !5
  %15901 = load i32, ptr %37, align 4, !tbaa !9
  %15902 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %15900, i32 noundef %15901)
  store i32 %15902, ptr %37, align 4, !tbaa !9
  %15903 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15903, ptr %14, align 4, !tbaa !9
  %15904 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %15904, ptr %38, align 4, !tbaa !9
  store i32 144, ptr %39, align 4, !tbaa !9
  %15905 = load i32, ptr %39, align 4, !tbaa !9
  %15906 = load i32, ptr %38, align 4, !tbaa !9
  %15907 = add i32 %15906, %15905
  store i32 %15907, ptr %38, align 4, !tbaa !9
  %15908 = load ptr, ptr %8, align 8, !tbaa !5
  %15909 = getelementptr inbounds %struct.w2c_hermes, ptr %15908, i32 0, i32 6
  %15910 = load i32, ptr %37, align 4, !tbaa !9
  %15911 = zext i32 %15910 to i64
  %15912 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %15909, i64 noundef %15911, i32 noundef %15912)
  %15913 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15913, ptr %37, align 4, !tbaa !9
  store i32 76, ptr %38, align 4, !tbaa !9
  %15914 = load i32, ptr %38, align 4, !tbaa !9
  %15915 = load i32, ptr %37, align 4, !tbaa !9
  %15916 = add i32 %15915, %15914
  store i32 %15916, ptr %37, align 4, !tbaa !9
  %15917 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15917, ptr %25, align 4, !tbaa !9
  %15918 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15918, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %15919 = load i32, ptr %38, align 4, !tbaa !9
  %15920 = load i32, ptr %37, align 4, !tbaa !9
  %15921 = add i32 %15920, %15919
  store i32 %15921, ptr %37, align 4, !tbaa !9
  %15922 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15922, ptr %19, align 4, !tbaa !9
  %15923 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15923, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %15924 = load i32, ptr %38, align 4, !tbaa !9
  %15925 = load i32, ptr %37, align 4, !tbaa !9
  %15926 = add i32 %15925, %15924
  store i32 %15926, ptr %37, align 4, !tbaa !9
  %15927 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15927, ptr %22, align 4, !tbaa !9
  %15928 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %15928, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %15929 = load i32, ptr %38, align 4, !tbaa !9
  %15930 = load i32, ptr %37, align 4, !tbaa !9
  %15931 = add i32 %15930, %15929
  store i32 %15931, ptr %37, align 4, !tbaa !9
  %15932 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15932, ptr %20, align 4, !tbaa !9
  %15933 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15933, ptr %10, align 4, !tbaa !9
  br label %15934

15934:                                            ; preds = %17708, %15867
  %15935 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %15935, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %15936 = load i32, ptr %38, align 4, !tbaa !9
  %15937 = load i32, ptr %37, align 4, !tbaa !9
  %15938 = sub i32 %15937, %15936
  store i32 %15938, ptr %37, align 4, !tbaa !9
  %15939 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15939, ptr %10, align 4, !tbaa !9
  %15940 = load ptr, ptr %8, align 8, !tbaa !5
  %15941 = getelementptr inbounds %struct.w2c_hermes, ptr %15940, i32 0, i32 6
  %15942 = load i32, ptr %37, align 4, !tbaa !9
  %15943 = zext i32 %15942 to i64
  %15944 = call i32 @i32_load(ptr noundef %15941, i64 noundef %15943)
  store i32 %15944, ptr %37, align 4, !tbaa !9
  %15945 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15945, ptr %17, align 4, !tbaa !9
  %15946 = load ptr, ptr %8, align 8, !tbaa !5
  %15947 = getelementptr inbounds %struct.w2c_hermes, ptr %15946, i32 0, i32 6
  %15948 = load i32, ptr %37, align 4, !tbaa !9
  %15949 = zext i32 %15948 to i64
  %15950 = add i64 %15949, 4
  %15951 = call i32 @i32_load(ptr noundef %15947, i64 noundef %15950)
  store i32 %15951, ptr %37, align 4, !tbaa !9
  %15952 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15952, ptr %11, align 4, !tbaa !9
  %15953 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15953, ptr %38, align 4, !tbaa !9
  %15954 = load ptr, ptr %8, align 8, !tbaa !5
  %15955 = getelementptr inbounds %struct.w2c_hermes, ptr %15954, i32 0, i32 6
  %15956 = load i32, ptr %38, align 4, !tbaa !9
  %15957 = zext i32 %15956 to i64
  %15958 = call i32 @i32_load(ptr noundef %15955, i64 noundef %15957)
  store i32 %15958, ptr %38, align 4, !tbaa !9
  %15959 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15959, ptr %12, align 4, !tbaa !9
  %15960 = load i32, ptr %37, align 4, !tbaa !9
  %15961 = load i32, ptr %38, align 4, !tbaa !9
  %15962 = icmp eq i32 %15960, %15961
  %15963 = zext i1 %15962 to i32
  store i32 %15963, ptr %37, align 4, !tbaa !9
  %15964 = load i32, ptr %37, align 4, !tbaa !9
  %15965 = icmp ne i32 %15964, 0
  br i1 %15965, label %15966, label %15967

15966:                                            ; preds = %15934
  br label %17699

15967:                                            ; preds = %15934
  %15968 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %15968, ptr %37, align 4, !tbaa !9
  %15969 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %15969, ptr %38, align 4, !tbaa !9
  %15970 = load i32, ptr %38, align 4, !tbaa !9
  %15971 = load i32, ptr %37, align 4, !tbaa !9
  %15972 = sub i32 %15971, %15970
  store i32 %15972, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %15973 = load i32, ptr %37, align 4, !tbaa !9
  %15974 = load i32, ptr %38, align 4, !tbaa !9
  %15975 = and i32 %15974, 31
  %15976 = ashr i32 %15973, %15975
  store i32 %15976, ptr %37, align 4, !tbaa !9
  %15977 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15977, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %15978 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %15978, ptr %13, align 4, !tbaa !9
  br label %15979

15979:                                            ; preds = %17552, %15967
  %15980 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %15980, ptr %37, align 4, !tbaa !9
  store i32 -64, ptr %38, align 4, !tbaa !9
  %15981 = load i32, ptr %38, align 4, !tbaa !9
  %15982 = load i32, ptr %37, align 4, !tbaa !9
  %15983 = sub i32 %15982, %15981
  store i32 %15983, ptr %37, align 4, !tbaa !9
  %15984 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %15984, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %15985 = load i32, ptr %39, align 4, !tbaa !9
  %15986 = and i32 %15985, 31
  %15987 = load i32, ptr %38, align 4, !tbaa !9
  %15988 = shl i32 %15987, %15986
  store i32 %15988, ptr %38, align 4, !tbaa !9
  %15989 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %15989, ptr %23, align 4, !tbaa !9
  %15990 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %15990, ptr %39, align 4, !tbaa !9
  %15991 = load ptr, ptr %8, align 8, !tbaa !5
  %15992 = getelementptr inbounds %struct.w2c_hermes, ptr %15991, i32 0, i32 6
  %15993 = load i32, ptr %39, align 4, !tbaa !9
  %15994 = zext i32 %15993 to i64
  %15995 = call i32 @i32_load(ptr noundef %15992, i64 noundef %15994)
  store i32 %15995, ptr %39, align 4, !tbaa !9
  %15996 = load i32, ptr %39, align 4, !tbaa !9
  %15997 = load i32, ptr %38, align 4, !tbaa !9
  %15998 = add i32 %15997, %15996
  store i32 %15998, ptr %38, align 4, !tbaa !9
  %15999 = load ptr, ptr %8, align 8, !tbaa !5
  %16000 = getelementptr inbounds %struct.w2c_hermes, ptr %15999, i32 0, i32 6
  %16001 = load i32, ptr %38, align 4, !tbaa !9
  %16002 = zext i32 %16001 to i64
  %16003 = call i32 @i32_load(ptr noundef %16000, i64 noundef %16002)
  store i32 %16003, ptr %38, align 4, !tbaa !9
  %16004 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16004, ptr %11, align 4, !tbaa !9
  %16005 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16005, ptr %39, align 4, !tbaa !9
  %16006 = load ptr, ptr %8, align 8, !tbaa !5
  %16007 = getelementptr inbounds %struct.w2c_hermes, ptr %16006, i32 0, i32 6
  %16008 = load i32, ptr %39, align 4, !tbaa !9
  %16009 = zext i32 %16008 to i64
  %16010 = call i32 @i32_load(ptr noundef %16007, i64 noundef %16009)
  store i32 %16010, ptr %39, align 4, !tbaa !9
  %16011 = load ptr, ptr %8, align 8, !tbaa !5
  %16012 = getelementptr inbounds %struct.w2c_hermes, ptr %16011, i32 0, i32 6
  %16013 = load i32, ptr %39, align 4, !tbaa !9
  %16014 = zext i32 %16013 to i64
  %16015 = add i64 %16014, 24
  %16016 = call i32 @i32_load(ptr noundef %16012, i64 noundef %16015)
  store i32 %16016, ptr %39, align 4, !tbaa !9
  %16017 = load i32, ptr %39, align 4, !tbaa !9
  %16018 = load ptr, ptr %8, align 8, !tbaa !5
  %16019 = getelementptr inbounds %struct.w2c_hermes, ptr %16018, i32 0, i32 7
  %16020 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16019, i32 0, i32 2
  %16021 = load i32, ptr %16020, align 4, !tbaa !18
  %16022 = icmp ult i32 %16017, %16021
  br i1 %16022, label %16023, label %16046

16023:                                            ; preds = %15979
  %16024 = load ptr, ptr %8, align 8, !tbaa !5
  %16025 = getelementptr inbounds %struct.w2c_hermes, ptr %16024, i32 0, i32 7
  %16026 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16025, i32 0, i32 0
  %16027 = load ptr, ptr %16026, align 8, !tbaa !19
  %16028 = load i32, ptr %39, align 4, !tbaa !9
  %16029 = zext i32 %16028 to i64
  %16030 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16027, i64 %16029
  %16031 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16030, i32 0, i32 1
  %16032 = load ptr, ptr %16031, align 8, !tbaa !20
  %16033 = icmp ne ptr %16032, null
  br i1 %16033, label %16034, label %16046

16034:                                            ; preds = %16023
  %16035 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %16036 = load ptr, ptr %8, align 8, !tbaa !5
  %16037 = getelementptr inbounds %struct.w2c_hermes, ptr %16036, i32 0, i32 7
  %16038 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16037, i32 0, i32 0
  %16039 = load ptr, ptr %16038, align 8, !tbaa !19
  %16040 = load i32, ptr %39, align 4, !tbaa !9
  %16041 = zext i32 %16040 to i64
  %16042 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16039, i64 %16041
  %16043 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16042, i32 0, i32 0
  %16044 = load ptr, ptr %16043, align 8, !tbaa !22
  %16045 = call zeroext i1 @func_types_eq(ptr noundef %16035, ptr noundef %16044)
  br label %16046

16046:                                            ; preds = %16034, %16023, %15979
  %16047 = phi i1 [ false, %16023 ], [ false, %15979 ], [ %16045, %16034 ]
  %16048 = xor i1 %16047, true
  %16049 = xor i1 %16048, true
  %16050 = zext i1 %16049 to i32
  %16051 = sext i32 %16050 to i64
  %16052 = call i64 @llvm.expect.i64(i64 %16051, i64 1)
  %16053 = icmp ne i64 %16052, 0
  br i1 %16053, label %16056, label %16054

16054:                                            ; preds = %16046
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

16055:                                            ; No predecessors!
  br label %16056

16056:                                            ; preds = %16055, %16046
  %16057 = phi i1 [ true, %16046 ], [ false, %16055 ]
  %16058 = zext i1 %16057 to i32
  %16059 = load ptr, ptr %8, align 8, !tbaa !5
  %16060 = getelementptr inbounds %struct.w2c_hermes, ptr %16059, i32 0, i32 7
  %16061 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16060, i32 0, i32 0
  %16062 = load ptr, ptr %16061, align 8, !tbaa !19
  %16063 = load i32, ptr %39, align 4, !tbaa !9
  %16064 = zext i32 %16063 to i64
  %16065 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16062, i64 %16064
  %16066 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16065, i32 0, i32 1
  %16067 = load ptr, ptr %16066, align 8, !tbaa !20
  %16068 = load ptr, ptr %8, align 8, !tbaa !5
  %16069 = getelementptr inbounds %struct.w2c_hermes, ptr %16068, i32 0, i32 7
  %16070 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16069, i32 0, i32 0
  %16071 = load ptr, ptr %16070, align 8, !tbaa !19
  %16072 = load i32, ptr %39, align 4, !tbaa !9
  %16073 = zext i32 %16072 to i64
  %16074 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16071, i64 %16073
  %16075 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16074, i32 0, i32 2
  %16076 = load ptr, ptr %16075, align 8, !tbaa !23
  %16077 = load i32, ptr %37, align 4, !tbaa !9
  %16078 = load i32, ptr %38, align 4, !tbaa !9
  call void %16067(ptr noundef %16076, i32 noundef %16077, i32 noundef %16078)
  %16079 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16079, ptr %37, align 4, !tbaa !9
  %16080 = load ptr, ptr %8, align 8, !tbaa !5
  %16081 = getelementptr inbounds %struct.w2c_hermes, ptr %16080, i32 0, i32 6
  %16082 = load i32, ptr %37, align 4, !tbaa !9
  %16083 = zext i32 %16082 to i64
  %16084 = add i64 %16083, 68
  %16085 = call i32 @i32_load(ptr noundef %16081, i64 noundef %16084)
  store i32 %16085, ptr %37, align 4, !tbaa !9
  %16086 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16086, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16087 = load i32, ptr %37, align 4, !tbaa !9
  %16088 = load i32, ptr %38, align 4, !tbaa !9
  %16089 = icmp sle i32 %16087, %16088
  %16090 = zext i1 %16089 to i32
  store i32 %16090, ptr %37, align 4, !tbaa !9
  %16091 = load i32, ptr %37, align 4, !tbaa !9
  %16092 = icmp ne i32 %16091, 0
  br i1 %16092, label %16093, label %16094

16093:                                            ; preds = %16056
  br label %16434

16094:                                            ; preds = %16056
  %16095 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16095, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %16096 = load i32, ptr %38, align 4, !tbaa !9
  %16097 = and i32 %16096, 31
  %16098 = load i32, ptr %37, align 4, !tbaa !9
  %16099 = shl i32 %16098, %16097
  store i32 %16099, ptr %37, align 4, !tbaa !9
  %16100 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16100, ptr %12, align 4, !tbaa !9
  %16101 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16101, ptr %37, align 4, !tbaa !9
  %16102 = load ptr, ptr %8, align 8, !tbaa !5
  %16103 = getelementptr inbounds %struct.w2c_hermes, ptr %16102, i32 0, i32 6
  %16104 = load i32, ptr %37, align 4, !tbaa !9
  %16105 = zext i32 %16104 to i64
  %16106 = add i64 %16105, 64
  %16107 = call i32 @i32_load(ptr noundef %16103, i64 noundef %16106)
  store i32 %16107, ptr %37, align 4, !tbaa !9
  %16108 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16108, ptr %15, align 4, !tbaa !9
  %16109 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %16109, ptr %37, align 4, !tbaa !9
  %16110 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16110, ptr %38, align 4, !tbaa !9
  %16111 = load i32, ptr %38, align 4, !tbaa !9
  %16112 = load i32, ptr %37, align 4, !tbaa !9
  %16113 = sub i32 %16112, %16111
  store i32 %16113, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %16114 = load i32, ptr %37, align 4, !tbaa !9
  %16115 = load i32, ptr %38, align 4, !tbaa !9
  %16116 = and i32 %16115, 31
  %16117 = ashr i32 %16114, %16116
  store i32 %16117, ptr %37, align 4, !tbaa !9
  %16118 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16118, ptr %38, align 4, !tbaa !9
  %16119 = load i32, ptr %37, align 4, !tbaa !9
  %16120 = load i32, ptr %38, align 4, !tbaa !9
  %16121 = icmp sge i32 %16119, %16120
  %16122 = zext i1 %16121 to i32
  store i32 %16122, ptr %37, align 4, !tbaa !9
  %16123 = load i32, ptr %37, align 4, !tbaa !9
  %16124 = icmp ne i32 %16123, 0
  br i1 %16124, label %16125, label %16179

16125:                                            ; preds = %16094
  %16126 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16126, ptr %37, align 4, !tbaa !9
  %16127 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16127, ptr %38, align 4, !tbaa !9
  %16128 = load i32, ptr %38, align 4, !tbaa !9
  %16129 = load i32, ptr %37, align 4, !tbaa !9
  %16130 = add i32 %16129, %16128
  store i32 %16130, ptr %37, align 4, !tbaa !9
  %16131 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16131, ptr %21, align 4, !tbaa !9
  %16132 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16132, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16133 = load i32, ptr %37, align 4, !tbaa !9
  %16134 = load i32, ptr %38, align 4, !tbaa !9
  %16135 = icmp sle i32 %16133, %16134
  %16136 = zext i1 %16135 to i32
  store i32 %16136, ptr %37, align 4, !tbaa !9
  %16137 = load i32, ptr %37, align 4, !tbaa !9
  %16138 = icmp ne i32 %16137, 0
  br i1 %16138, label %16139, label %16140

16139:                                            ; preds = %16125
  br label %16324

16140:                                            ; preds = %16125
  %16141 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16141, ptr %37, align 4, !tbaa !9
  %16142 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16142, ptr %12, align 4, !tbaa !9
  %16143 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16143, ptr %37, align 4, !tbaa !9
  %16144 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16144, ptr %11, align 4, !tbaa !9
  br label %16145

16145:                                            ; preds = %16175, %16140
  %16146 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16146, ptr %37, align 4, !tbaa !9
  %16147 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16147, ptr %38, align 4, !tbaa !9
  %16148 = load ptr, ptr %8, align 8, !tbaa !5
  %16149 = getelementptr inbounds %struct.w2c_hermes, ptr %16148, i32 0, i32 6
  %16150 = load i32, ptr %38, align 4, !tbaa !9
  %16151 = zext i32 %16150 to i64
  %16152 = call i32 @i32_load(ptr noundef %16149, i64 noundef %16151)
  store i32 %16152, ptr %38, align 4, !tbaa !9
  %16153 = load ptr, ptr %8, align 8, !tbaa !5
  %16154 = getelementptr inbounds %struct.w2c_hermes, ptr %16153, i32 0, i32 6
  %16155 = load i32, ptr %37, align 4, !tbaa !9
  %16156 = zext i32 %16155 to i64
  %16157 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16154, i64 noundef %16156, i32 noundef %16157)
  %16158 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16158, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %16159 = load i32, ptr %38, align 4, !tbaa !9
  %16160 = load i32, ptr %37, align 4, !tbaa !9
  %16161 = add i32 %16160, %16159
  store i32 %16161, ptr %37, align 4, !tbaa !9
  %16162 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16162, ptr %12, align 4, !tbaa !9
  %16163 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16163, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %16164 = load i32, ptr %38, align 4, !tbaa !9
  %16165 = load i32, ptr %37, align 4, !tbaa !9
  %16166 = add i32 %16165, %16164
  store i32 %16166, ptr %37, align 4, !tbaa !9
  %16167 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16167, ptr %11, align 4, !tbaa !9
  %16168 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16168, ptr %38, align 4, !tbaa !9
  %16169 = load i32, ptr %37, align 4, !tbaa !9
  %16170 = load i32, ptr %38, align 4, !tbaa !9
  %16171 = icmp ne i32 %16169, %16170
  %16172 = zext i1 %16171 to i32
  store i32 %16172, ptr %37, align 4, !tbaa !9
  %16173 = load i32, ptr %37, align 4, !tbaa !9
  %16174 = icmp ne i32 %16173, 0
  br i1 %16174, label %16175, label %16176

16175:                                            ; preds = %16145
  br label %16145

16176:                                            ; preds = %16145
  %16177 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16177, ptr %37, align 4, !tbaa !9
  %16178 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16178, ptr %10, align 4, !tbaa !9
  br label %16434

16179:                                            ; preds = %16094
  %16180 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16180, ptr %37, align 4, !tbaa !9
  %16181 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16181, ptr %38, align 4, !tbaa !9
  %16182 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %16182, ptr %39, align 4, !tbaa !9
  %16183 = load i32, ptr %39, align 4, !tbaa !9
  %16184 = load i32, ptr %38, align 4, !tbaa !9
  %16185 = sub i32 %16184, %16183
  store i32 %16185, ptr %38, align 4, !tbaa !9
  %16186 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16186, ptr %21, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %16187 = load i32, ptr %38, align 4, !tbaa !9
  %16188 = load i32, ptr %39, align 4, !tbaa !9
  %16189 = and i32 %16188, 31
  %16190 = ashr i32 %16187, %16189
  store i32 %16190, ptr %38, align 4, !tbaa !9
  %16191 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16191, ptr %28, align 4, !tbaa !9
  %16192 = load i32, ptr %38, align 4, !tbaa !9
  %16193 = load i32, ptr %37, align 4, !tbaa !9
  %16194 = add i32 %16193, %16192
  store i32 %16194, ptr %37, align 4, !tbaa !9
  %16195 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16195, ptr %11, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %16196 = load i32, ptr %37, align 4, !tbaa !9
  %16197 = load i32, ptr %38, align 4, !tbaa !9
  %16198 = icmp uge i32 %16196, %16197
  %16199 = zext i1 %16198 to i32
  store i32 %16199, ptr %37, align 4, !tbaa !9
  %16200 = load i32, ptr %37, align 4, !tbaa !9
  %16201 = icmp ne i32 %16200, 0
  br i1 %16201, label %16202, label %16203

16202:                                            ; preds = %16179
  br label %17554

16203:                                            ; preds = %16179
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %16204 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %16204, ptr %38, align 4, !tbaa !9
  %16205 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %16205, ptr %39, align 4, !tbaa !9
  %16206 = load i32, ptr %39, align 4, !tbaa !9
  %16207 = load i32, ptr %38, align 4, !tbaa !9
  %16208 = sub i32 %16207, %16206
  store i32 %16208, ptr %38, align 4, !tbaa !9
  %16209 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16209, ptr %18, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %16210 = load i32, ptr %38, align 4, !tbaa !9
  %16211 = load i32, ptr %39, align 4, !tbaa !9
  %16212 = and i32 %16211, 31
  %16213 = ashr i32 %16210, %16212
  store i32 %16213, ptr %38, align 4, !tbaa !9
  %16214 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16214, ptr %20, align 4, !tbaa !9
  %16215 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16215, ptr %39, align 4, !tbaa !9
  %16216 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16216, ptr %40, align 4, !tbaa !9
  %16217 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %16217, ptr %41, align 4, !tbaa !9
  %16218 = load i32, ptr %40, align 4, !tbaa !9
  %16219 = load i32, ptr %41, align 4, !tbaa !9
  %16220 = icmp ult i32 %16218, %16219
  %16221 = zext i1 %16220 to i32
  store i32 %16221, ptr %40, align 4, !tbaa !9
  %16222 = load i32, ptr %40, align 4, !tbaa !9
  %16223 = icmp ne i32 %16222, 0
  br i1 %16223, label %16224, label %16226

16224:                                            ; preds = %16203
  %16225 = load i32, ptr %38, align 4, !tbaa !9
  br label %16228

16226:                                            ; preds = %16203
  %16227 = load i32, ptr %39, align 4, !tbaa !9
  br label %16228

16228:                                            ; preds = %16226, %16224
  %16229 = phi i32 [ %16225, %16224 ], [ %16227, %16226 ]
  store i32 %16229, ptr %38, align 4, !tbaa !9
  %16230 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16230, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %16231 = load i32, ptr %39, align 4, !tbaa !9
  %16232 = load i32, ptr %40, align 4, !tbaa !9
  %16233 = icmp uge i32 %16231, %16232
  %16234 = zext i1 %16233 to i32
  store i32 %16234, ptr %39, align 4, !tbaa !9
  %16235 = load i32, ptr %39, align 4, !tbaa !9
  %16236 = icmp ne i32 %16235, 0
  br i1 %16236, label %16237, label %16239

16237:                                            ; preds = %16228
  %16238 = load i32, ptr %37, align 4, !tbaa !9
  br label %16241

16239:                                            ; preds = %16228
  %16240 = load i32, ptr %38, align 4, !tbaa !9
  br label %16241

16241:                                            ; preds = %16239, %16237
  %16242 = phi i32 [ %16238, %16237 ], [ %16240, %16239 ]
  store i32 %16242, ptr %37, align 4, !tbaa !9
  %16243 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16243, ptr %18, align 4, !tbaa !9
  %16244 = load i32, ptr %37, align 4, !tbaa !9
  %16245 = icmp ne i32 %16244, 0
  br i1 %16245, label %16246, label %16264

16246:                                            ; preds = %16241
  %16247 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16247, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %16248 = load i32, ptr %37, align 4, !tbaa !9
  %16249 = load i32, ptr %38, align 4, !tbaa !9
  %16250 = icmp uge i32 %16248, %16249
  %16251 = zext i1 %16250 to i32
  store i32 %16251, ptr %37, align 4, !tbaa !9
  %16252 = load i32, ptr %37, align 4, !tbaa !9
  %16253 = icmp ne i32 %16252, 0
  br i1 %16253, label %16254, label %16255

16254:                                            ; preds = %16246
  br label %18026

16255:                                            ; preds = %16246
  %16256 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16256, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %16257 = load i32, ptr %38, align 4, !tbaa !9
  %16258 = and i32 %16257, 31
  %16259 = load i32, ptr %37, align 4, !tbaa !9
  %16260 = shl i32 %16259, %16258
  store i32 %16260, ptr %37, align 4, !tbaa !9
  %16261 = load ptr, ptr %8, align 8, !tbaa !5
  %16262 = load i32, ptr %37, align 4, !tbaa !9
  %16263 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %16261, i32 noundef %16262)
  store i32 %16263, ptr %37, align 4, !tbaa !9
  br label %16265

16264:                                            ; preds = %16241
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %16265

16265:                                            ; preds = %16264, %16255
  %16266 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16266, ptr %11, align 4, !tbaa !9
  %16267 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %16267, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %16268 = load i32, ptr %39, align 4, !tbaa !9
  %16269 = and i32 %16268, 31
  %16270 = load i32, ptr %38, align 4, !tbaa !9
  %16271 = shl i32 %16270, %16269
  store i32 %16271, ptr %38, align 4, !tbaa !9
  %16272 = load i32, ptr %38, align 4, !tbaa !9
  %16273 = load i32, ptr %37, align 4, !tbaa !9
  %16274 = add i32 %16273, %16272
  store i32 %16274, ptr %37, align 4, !tbaa !9
  %16275 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16275, ptr %38, align 4, !tbaa !9
  %16276 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16276, ptr %39, align 4, !tbaa !9
  %16277 = load ptr, ptr %8, align 8, !tbaa !5
  %16278 = load i32, ptr %37, align 4, !tbaa !9
  %16279 = load i32, ptr %38, align 4, !tbaa !9
  %16280 = load i32, ptr %39, align 4, !tbaa !9
  %16281 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %16277, i32 noundef %16278, i32 noundef %16279, i32 noundef %16280)
  store i32 %16281, ptr %37, align 4, !tbaa !9
  %16282 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16282, ptr %15, align 4, !tbaa !9
  %16283 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16283, ptr %37, align 4, !tbaa !9
  %16284 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %16284, ptr %38, align 4, !tbaa !9
  %16285 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16285, ptr %39, align 4, !tbaa !9
  %16286 = load ptr, ptr %8, align 8, !tbaa !5
  %16287 = load i32, ptr %37, align 4, !tbaa !9
  %16288 = load i32, ptr %38, align 4, !tbaa !9
  %16289 = load i32, ptr %39, align 4, !tbaa !9
  %16290 = call i32 @w2c_hermes_memmove(ptr noundef %16286, i32 noundef %16287, i32 noundef %16288, i32 noundef %16289)
  store i32 %16290, ptr %37, align 4, !tbaa !9
  %16291 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16291, ptr %11, align 4, !tbaa !9
  %16292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16292, ptr %37, align 4, !tbaa !9
  %16293 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16293, ptr %38, align 4, !tbaa !9
  %16294 = load i32, ptr %38, align 4, !tbaa !9
  %16295 = load i32, ptr %37, align 4, !tbaa !9
  %16296 = add i32 %16295, %16294
  store i32 %16296, ptr %37, align 4, !tbaa !9
  %16297 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16297, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %16298 = load ptr, ptr %8, align 8, !tbaa !5
  %16299 = load i32, ptr %37, align 4, !tbaa !9
  %16300 = load i32, ptr %38, align 4, !tbaa !9
  %16301 = load i32, ptr %39, align 4, !tbaa !9
  %16302 = call i32 @w2c_hermes_memmove(ptr noundef %16298, i32 noundef %16299, i32 noundef %16300, i32 noundef %16301)
  store i32 %16302, ptr %37, align 4, !tbaa !9
  %16303 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16303, ptr %10, align 4, !tbaa !9
  %16304 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16304, ptr %37, align 4, !tbaa !9
  %16305 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16305, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %16306 = load i32, ptr %39, align 4, !tbaa !9
  %16307 = and i32 %16306, 31
  %16308 = load i32, ptr %38, align 4, !tbaa !9
  %16309 = shl i32 %16308, %16307
  store i32 %16309, ptr %38, align 4, !tbaa !9
  %16310 = load i32, ptr %38, align 4, !tbaa !9
  %16311 = load i32, ptr %37, align 4, !tbaa !9
  %16312 = add i32 %16311, %16310
  store i32 %16312, ptr %37, align 4, !tbaa !9
  %16313 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16313, ptr %20, align 4, !tbaa !9
  %16314 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %16314, ptr %37, align 4, !tbaa !9
  %16315 = load i32, ptr %37, align 4, !tbaa !9
  %16316 = icmp ne i32 %16315, 0
  br i1 %16316, label %16317, label %16321

16317:                                            ; preds = %16265
  %16318 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %16318, ptr %37, align 4, !tbaa !9
  %16319 = load ptr, ptr %8, align 8, !tbaa !5
  %16320 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %16319, i32 noundef %16320)
  br label %16321

16321:                                            ; preds = %16317, %16265
  %16322 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16322, ptr %37, align 4, !tbaa !9
  %16323 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16323, ptr %14, align 4, !tbaa !9
  br label %16434

16324:                                            ; preds = %16139
  %16325 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16325, ptr %37, align 4, !tbaa !9
  %16326 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16326, ptr %38, align 4, !tbaa !9
  %16327 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16327, ptr %11, align 4, !tbaa !9
  %16328 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16328, ptr %39, align 4, !tbaa !9
  %16329 = load i32, ptr %39, align 4, !tbaa !9
  %16330 = load i32, ptr %38, align 4, !tbaa !9
  %16331 = sub i32 %16330, %16329
  store i32 %16331, ptr %38, align 4, !tbaa !9
  %16332 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16332, ptr %18, align 4, !tbaa !9
  %16333 = load i32, ptr %37, align 4, !tbaa !9
  %16334 = load i32, ptr %38, align 4, !tbaa !9
  %16335 = icmp ugt i32 %16333, %16334
  %16336 = zext i1 %16335 to i32
  store i32 %16336, ptr %37, align 4, !tbaa !9
  %16337 = load i32, ptr %37, align 4, !tbaa !9
  %16338 = icmp ne i32 %16337, 0
  br i1 %16338, label %16339, label %16372

16339:                                            ; preds = %16324
  br label %16340

16340:                                            ; preds = %16370, %16339
  %16341 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16341, ptr %37, align 4, !tbaa !9
  %16342 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16342, ptr %38, align 4, !tbaa !9
  %16343 = load ptr, ptr %8, align 8, !tbaa !5
  %16344 = getelementptr inbounds %struct.w2c_hermes, ptr %16343, i32 0, i32 6
  %16345 = load i32, ptr %38, align 4, !tbaa !9
  %16346 = zext i32 %16345 to i64
  %16347 = call i32 @i32_load(ptr noundef %16344, i64 noundef %16346)
  store i32 %16347, ptr %38, align 4, !tbaa !9
  %16348 = load ptr, ptr %8, align 8, !tbaa !5
  %16349 = getelementptr inbounds %struct.w2c_hermes, ptr %16348, i32 0, i32 6
  %16350 = load i32, ptr %37, align 4, !tbaa !9
  %16351 = zext i32 %16350 to i64
  %16352 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16349, i64 noundef %16351, i32 noundef %16352)
  %16353 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16353, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %16354 = load i32, ptr %38, align 4, !tbaa !9
  %16355 = load i32, ptr %37, align 4, !tbaa !9
  %16356 = add i32 %16355, %16354
  store i32 %16356, ptr %37, align 4, !tbaa !9
  %16357 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16357, ptr %11, align 4, !tbaa !9
  %16358 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16358, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %16359 = load i32, ptr %38, align 4, !tbaa !9
  %16360 = load i32, ptr %37, align 4, !tbaa !9
  %16361 = add i32 %16360, %16359
  store i32 %16361, ptr %37, align 4, !tbaa !9
  %16362 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16362, ptr %18, align 4, !tbaa !9
  %16363 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16363, ptr %38, align 4, !tbaa !9
  %16364 = load i32, ptr %37, align 4, !tbaa !9
  %16365 = load i32, ptr %38, align 4, !tbaa !9
  %16366 = icmp ult i32 %16364, %16365
  %16367 = zext i1 %16366 to i32
  store i32 %16367, ptr %37, align 4, !tbaa !9
  %16368 = load i32, ptr %37, align 4, !tbaa !9
  %16369 = icmp ne i32 %16368, 0
  br i1 %16369, label %16370, label %16371

16370:                                            ; preds = %16340
  br label %16340

16371:                                            ; preds = %16340
  br label %16372

16372:                                            ; preds = %16371, %16324
  %16373 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16373, ptr %37, align 4, !tbaa !9
  %16374 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16374, ptr %38, align 4, !tbaa !9
  %16375 = load i32, ptr %38, align 4, !tbaa !9
  %16376 = load i32, ptr %37, align 4, !tbaa !9
  %16377 = add i32 %16376, %16375
  store i32 %16377, ptr %37, align 4, !tbaa !9
  %16378 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16378, ptr %12, align 4, !tbaa !9
  %16379 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16379, ptr %38, align 4, !tbaa !9
  %16380 = load i32, ptr %37, align 4, !tbaa !9
  %16381 = load i32, ptr %38, align 4, !tbaa !9
  %16382 = icmp ne i32 %16380, %16381
  %16383 = zext i1 %16382 to i32
  store i32 %16383, ptr %37, align 4, !tbaa !9
  %16384 = load i32, ptr %37, align 4, !tbaa !9
  %16385 = icmp ne i32 %16384, 0
  br i1 %16385, label %16386, label %16407

16386:                                            ; preds = %16372
  %16387 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16387, ptr %37, align 4, !tbaa !9
  %16388 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16388, ptr %38, align 4, !tbaa !9
  %16389 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16389, ptr %39, align 4, !tbaa !9
  %16390 = load i32, ptr %39, align 4, !tbaa !9
  %16391 = load i32, ptr %38, align 4, !tbaa !9
  %16392 = sub i32 %16391, %16390
  store i32 %16392, ptr %38, align 4, !tbaa !9
  %16393 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16393, ptr %12, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %16394 = load i32, ptr %39, align 4, !tbaa !9
  %16395 = load i32, ptr %38, align 4, !tbaa !9
  %16396 = and i32 %16395, %16394
  store i32 %16396, ptr %38, align 4, !tbaa !9
  %16397 = load i32, ptr %38, align 4, !tbaa !9
  %16398 = load i32, ptr %37, align 4, !tbaa !9
  %16399 = sub i32 %16398, %16397
  store i32 %16399, ptr %37, align 4, !tbaa !9
  %16400 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16400, ptr %38, align 4, !tbaa !9
  %16401 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16401, ptr %39, align 4, !tbaa !9
  %16402 = load ptr, ptr %8, align 8, !tbaa !5
  %16403 = load i32, ptr %37, align 4, !tbaa !9
  %16404 = load i32, ptr %38, align 4, !tbaa !9
  %16405 = load i32, ptr %39, align 4, !tbaa !9
  %16406 = call i32 @w2c_hermes_memmove(ptr noundef %16402, i32 noundef %16403, i32 noundef %16404, i32 noundef %16405)
  store i32 %16406, ptr %37, align 4, !tbaa !9
  br label %16407

16407:                                            ; preds = %16386, %16372
  %16408 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16408, ptr %37, align 4, !tbaa !9
  %16409 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16409, ptr %38, align 4, !tbaa !9
  %16410 = load i32, ptr %37, align 4, !tbaa !9
  %16411 = load i32, ptr %38, align 4, !tbaa !9
  %16412 = icmp eq i32 %16410, %16411
  %16413 = zext i1 %16412 to i32
  store i32 %16413, ptr %37, align 4, !tbaa !9
  %16414 = load i32, ptr %37, align 4, !tbaa !9
  %16415 = icmp ne i32 %16414, 0
  br i1 %16415, label %16416, label %16419

16416:                                            ; preds = %16407
  %16417 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16417, ptr %37, align 4, !tbaa !9
  %16418 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16418, ptr %10, align 4, !tbaa !9
  br label %16434

16419:                                            ; preds = %16407
  %16420 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %16420, ptr %37, align 4, !tbaa !9
  %16421 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16421, ptr %38, align 4, !tbaa !9
  %16422 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16422, ptr %39, align 4, !tbaa !9
  %16423 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16423, ptr %40, align 4, !tbaa !9
  %16424 = load i32, ptr %40, align 4, !tbaa !9
  %16425 = load i32, ptr %39, align 4, !tbaa !9
  %16426 = sub i32 %16425, %16424
  store i32 %16426, ptr %39, align 4, !tbaa !9
  %16427 = load ptr, ptr %8, align 8, !tbaa !5
  %16428 = load i32, ptr %37, align 4, !tbaa !9
  %16429 = load i32, ptr %38, align 4, !tbaa !9
  %16430 = load i32, ptr %39, align 4, !tbaa !9
  %16431 = call i32 @w2c_hermes_memmove(ptr noundef %16427, i32 noundef %16428, i32 noundef %16429, i32 noundef %16430)
  store i32 %16431, ptr %37, align 4, !tbaa !9
  %16432 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16432, ptr %37, align 4, !tbaa !9
  %16433 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16433, ptr %10, align 4, !tbaa !9
  br label %16434

16434:                                            ; preds = %16419, %16416, %16321, %16176, %16093
  %16435 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16435, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %16436 = load ptr, ptr %8, align 8, !tbaa !5
  %16437 = getelementptr inbounds %struct.w2c_hermes, ptr %16436, i32 0, i32 6
  %16438 = load i32, ptr %37, align 4, !tbaa !9
  %16439 = zext i32 %16438 to i64
  %16440 = add i64 %16439, 36
  %16441 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %16437, i64 noundef %16440, i64 noundef %16441)
  %16442 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16442, ptr %37, align 4, !tbaa !9
  %16443 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %16443, ptr %38, align 4, !tbaa !9
  %16444 = load ptr, ptr %8, align 8, !tbaa !5
  %16445 = getelementptr inbounds %struct.w2c_hermes, ptr %16444, i32 0, i32 6
  %16446 = load i32, ptr %37, align 4, !tbaa !9
  %16447 = zext i32 %16446 to i64
  %16448 = add i64 %16447, 32
  %16449 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16445, i64 noundef %16448, i32 noundef %16449)
  %16450 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16450, ptr %37, align 4, !tbaa !9
  %16451 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16451, ptr %12, align 4, !tbaa !9
  %16452 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %16452, ptr %38, align 4, !tbaa !9
  %16453 = load i32, ptr %37, align 4, !tbaa !9
  %16454 = load i32, ptr %38, align 4, !tbaa !9
  %16455 = icmp uge i32 %16453, %16454
  %16456 = zext i1 %16455 to i32
  store i32 %16456, ptr %37, align 4, !tbaa !9
  %16457 = load i32, ptr %37, align 4, !tbaa !9
  %16458 = icmp ne i32 %16457, 0
  br i1 %16458, label %16459, label %16460

16459:                                            ; preds = %16434
  br label %16585

16460:                                            ; preds = %16434
  br label %16461

16461:                                            ; preds = %16581, %16460
  %16462 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %16462, ptr %37, align 4, !tbaa !9
  %16463 = load ptr, ptr %8, align 8, !tbaa !5
  %16464 = getelementptr inbounds %struct.w2c_hermes, ptr %16463, i32 0, i32 6
  %16465 = load i32, ptr %37, align 4, !tbaa !9
  %16466 = zext i32 %16465 to i64
  %16467 = call i32 @i32_load(ptr noundef %16464, i64 noundef %16466)
  store i32 %16467, ptr %37, align 4, !tbaa !9
  %16468 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16468, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %16469 = load i32, ptr %39, align 4, !tbaa !9
  %16470 = and i32 %16469, 31
  %16471 = load i32, ptr %38, align 4, !tbaa !9
  %16472 = shl i32 %16471, %16470
  store i32 %16472, ptr %38, align 4, !tbaa !9
  %16473 = load i32, ptr %38, align 4, !tbaa !9
  %16474 = load i32, ptr %37, align 4, !tbaa !9
  %16475 = add i32 %16474, %16473
  store i32 %16475, ptr %37, align 4, !tbaa !9
  %16476 = load ptr, ptr %8, align 8, !tbaa !5
  %16477 = getelementptr inbounds %struct.w2c_hermes, ptr %16476, i32 0, i32 6
  %16478 = load i32, ptr %37, align 4, !tbaa !9
  %16479 = zext i32 %16478 to i64
  %16480 = call i32 @i32_load(ptr noundef %16477, i64 noundef %16479)
  store i32 %16480, ptr %37, align 4, !tbaa !9
  %16481 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16481, ptr %11, align 4, !tbaa !9
  %16482 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16482, ptr %38, align 4, !tbaa !9
  store i32 32, ptr %39, align 4, !tbaa !9
  %16483 = load i32, ptr %39, align 4, !tbaa !9
  %16484 = load i32, ptr %38, align 4, !tbaa !9
  %16485 = add i32 %16484, %16483
  store i32 %16485, ptr %38, align 4, !tbaa !9
  %16486 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16486, ptr %39, align 4, !tbaa !9
  %16487 = load ptr, ptr %8, align 8, !tbaa !5
  %16488 = getelementptr inbounds %struct.w2c_hermes, ptr %16487, i32 0, i32 6
  %16489 = load i32, ptr %39, align 4, !tbaa !9
  %16490 = zext i32 %16489 to i64
  %16491 = call i32 @i32_load(ptr noundef %16488, i64 noundef %16490)
  store i32 %16491, ptr %39, align 4, !tbaa !9
  %16492 = load ptr, ptr %8, align 8, !tbaa !5
  %16493 = getelementptr inbounds %struct.w2c_hermes, ptr %16492, i32 0, i32 6
  %16494 = load i32, ptr %39, align 4, !tbaa !9
  %16495 = zext i32 %16494 to i64
  %16496 = add i64 %16495, 12
  %16497 = call i32 @i32_load(ptr noundef %16493, i64 noundef %16496)
  store i32 %16497, ptr %39, align 4, !tbaa !9
  %16498 = load i32, ptr %39, align 4, !tbaa !9
  %16499 = load ptr, ptr %8, align 8, !tbaa !5
  %16500 = getelementptr inbounds %struct.w2c_hermes, ptr %16499, i32 0, i32 7
  %16501 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16500, i32 0, i32 2
  %16502 = load i32, ptr %16501, align 4, !tbaa !18
  %16503 = icmp ult i32 %16498, %16502
  br i1 %16503, label %16504, label %16527

16504:                                            ; preds = %16461
  %16505 = load ptr, ptr %8, align 8, !tbaa !5
  %16506 = getelementptr inbounds %struct.w2c_hermes, ptr %16505, i32 0, i32 7
  %16507 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16506, i32 0, i32 0
  %16508 = load ptr, ptr %16507, align 8, !tbaa !19
  %16509 = load i32, ptr %39, align 4, !tbaa !9
  %16510 = zext i32 %16509 to i64
  %16511 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16508, i64 %16510
  %16512 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16511, i32 0, i32 1
  %16513 = load ptr, ptr %16512, align 8, !tbaa !20
  %16514 = icmp ne ptr %16513, null
  br i1 %16514, label %16515, label %16527

16515:                                            ; preds = %16504
  %16516 = load ptr, ptr @w2c_hermes_t4, align 8, !tbaa !5
  %16517 = load ptr, ptr %8, align 8, !tbaa !5
  %16518 = getelementptr inbounds %struct.w2c_hermes, ptr %16517, i32 0, i32 7
  %16519 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16518, i32 0, i32 0
  %16520 = load ptr, ptr %16519, align 8, !tbaa !19
  %16521 = load i32, ptr %39, align 4, !tbaa !9
  %16522 = zext i32 %16521 to i64
  %16523 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16520, i64 %16522
  %16524 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16523, i32 0, i32 0
  %16525 = load ptr, ptr %16524, align 8, !tbaa !22
  %16526 = call zeroext i1 @func_types_eq(ptr noundef %16516, ptr noundef %16525)
  br label %16527

16527:                                            ; preds = %16515, %16504, %16461
  %16528 = phi i1 [ false, %16504 ], [ false, %16461 ], [ %16526, %16515 ]
  %16529 = xor i1 %16528, true
  %16530 = xor i1 %16529, true
  %16531 = zext i1 %16530 to i32
  %16532 = sext i32 %16531 to i64
  %16533 = call i64 @llvm.expect.i64(i64 %16532, i64 1)
  %16534 = icmp ne i64 %16533, 0
  br i1 %16534, label %16537, label %16535

16535:                                            ; preds = %16527
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

16536:                                            ; No predecessors!
  br label %16537

16537:                                            ; preds = %16536, %16527
  %16538 = phi i1 [ true, %16527 ], [ false, %16536 ]
  %16539 = zext i1 %16538 to i32
  %16540 = load ptr, ptr %8, align 8, !tbaa !5
  %16541 = getelementptr inbounds %struct.w2c_hermes, ptr %16540, i32 0, i32 7
  %16542 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16541, i32 0, i32 0
  %16543 = load ptr, ptr %16542, align 8, !tbaa !19
  %16544 = load i32, ptr %39, align 4, !tbaa !9
  %16545 = zext i32 %16544 to i64
  %16546 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16543, i64 %16545
  %16547 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16546, i32 0, i32 1
  %16548 = load ptr, ptr %16547, align 8, !tbaa !20
  %16549 = load ptr, ptr %8, align 8, !tbaa !5
  %16550 = getelementptr inbounds %struct.w2c_hermes, ptr %16549, i32 0, i32 7
  %16551 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %16550, i32 0, i32 0
  %16552 = load ptr, ptr %16551, align 8, !tbaa !19
  %16553 = load i32, ptr %39, align 4, !tbaa !9
  %16554 = zext i32 %16553 to i64
  %16555 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16552, i64 %16554
  %16556 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %16555, i32 0, i32 2
  %16557 = load ptr, ptr %16556, align 8, !tbaa !23
  %16558 = load i32, ptr %37, align 4, !tbaa !9
  %16559 = load i32, ptr %38, align 4, !tbaa !9
  %16560 = call i32 %16548(ptr noundef %16557, i32 noundef %16558, i32 noundef %16559)
  store i32 %16560, ptr %37, align 4, !tbaa !9
  %16561 = load i32, ptr %37, align 4, !tbaa !9
  %16562 = icmp ne i32 %16561, 0
  %16563 = xor i1 %16562, true
  %16564 = zext i1 %16563 to i32
  store i32 %16564, ptr %37, align 4, !tbaa !9
  %16565 = load i32, ptr %37, align 4, !tbaa !9
  %16566 = icmp ne i32 %16565, 0
  br i1 %16566, label %16567, label %16568

16567:                                            ; preds = %16537
  br label %16585

16568:                                            ; preds = %16537
  %16569 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16569, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %16570 = load i32, ptr %38, align 4, !tbaa !9
  %16571 = load i32, ptr %37, align 4, !tbaa !9
  %16572 = add i32 %16571, %16570
  store i32 %16572, ptr %37, align 4, !tbaa !9
  %16573 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16573, ptr %12, align 4, !tbaa !9
  %16574 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %16574, ptr %38, align 4, !tbaa !9
  %16575 = load i32, ptr %37, align 4, !tbaa !9
  %16576 = load i32, ptr %38, align 4, !tbaa !9
  %16577 = icmp ne i32 %16575, %16576
  %16578 = zext i1 %16577 to i32
  store i32 %16578, ptr %37, align 4, !tbaa !9
  %16579 = load i32, ptr %37, align 4, !tbaa !9
  %16580 = icmp ne i32 %16579, 0
  br i1 %16580, label %16581, label %16582

16581:                                            ; preds = %16568
  br label %16461

16582:                                            ; preds = %16568
  %16583 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %16583, ptr %37, align 4, !tbaa !9
  %16584 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16584, ptr %12, align 4, !tbaa !9
  br label %16585

16585:                                            ; preds = %16582, %16567, %16459
  %16586 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %16586, ptr %37, align 4, !tbaa !9
  %16587 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16587, ptr %38, align 4, !tbaa !9
  %16588 = load i32, ptr %38, align 4, !tbaa !9
  %16589 = load i32, ptr %37, align 4, !tbaa !9
  %16590 = sub i32 %16589, %16588
  store i32 %16590, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %16591 = load i32, ptr %37, align 4, !tbaa !9
  %16592 = load i32, ptr %38, align 4, !tbaa !9
  %16593 = icmp ult i32 %16591, %16592
  %16594 = zext i1 %16593 to i32
  store i32 %16594, ptr %37, align 4, !tbaa !9
  %16595 = load i32, ptr %37, align 4, !tbaa !9
  %16596 = icmp ne i32 %16595, 0
  br i1 %16596, label %16597, label %16598

16597:                                            ; preds = %16585
  br label %17499

16598:                                            ; preds = %16585
  store i32 40, ptr %37, align 4, !tbaa !9
  %16599 = load ptr, ptr %8, align 8, !tbaa !5
  %16600 = load i32, ptr %37, align 4, !tbaa !9
  %16601 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %16599, i32 noundef %16600)
  store i32 %16601, ptr %37, align 4, !tbaa !9
  %16602 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16602, ptr %18, align 4, !tbaa !9
  %16603 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16603, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %16604 = load ptr, ptr %8, align 8, !tbaa !5
  %16605 = getelementptr inbounds %struct.w2c_hermes, ptr %16604, i32 0, i32 6
  %16606 = load i32, ptr %37, align 4, !tbaa !9
  %16607 = zext i32 %16606 to i64
  %16608 = add i64 %16607, 4
  %16609 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %16605, i64 noundef %16608, i64 noundef %16609)
  %16610 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16610, ptr %37, align 4, !tbaa !9
  %16611 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %16611, ptr %38, align 4, !tbaa !9
  %16612 = load ptr, ptr %8, align 8, !tbaa !5
  %16613 = getelementptr inbounds %struct.w2c_hermes, ptr %16612, i32 0, i32 6
  %16614 = load i32, ptr %37, align 4, !tbaa !9
  %16615 = zext i32 %16614 to i64
  %16616 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16613, i64 noundef %16615, i32 noundef %16616)
  %16617 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16617, ptr %37, align 4, !tbaa !9
  %16618 = load ptr, ptr %8, align 8, !tbaa !5
  %16619 = getelementptr inbounds %struct.w2c_hermes, ptr %16618, i32 0, i32 6
  %16620 = load i32, ptr %37, align 4, !tbaa !9
  %16621 = zext i32 %16620 to i64
  %16622 = add i64 %16621, 36
  %16623 = call i32 @i32_load(ptr noundef %16619, i64 noundef %16622)
  store i32 %16623, ptr %37, align 4, !tbaa !9
  %16624 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16624, ptr %11, align 4, !tbaa !9
  %16625 = load i32, ptr %37, align 4, !tbaa !9
  %16626 = icmp ne i32 %16625, 0
  %16627 = xor i1 %16626, true
  %16628 = zext i1 %16627 to i32
  store i32 %16628, ptr %37, align 4, !tbaa !9
  %16629 = load i32, ptr %37, align 4, !tbaa !9
  %16630 = icmp ne i32 %16629, 0
  br i1 %16630, label %16631, label %16663

16631:                                            ; preds = %16598
  %16632 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %16632, ptr %37, align 4, !tbaa !9
  %16633 = load ptr, ptr %8, align 8, !tbaa !5
  %16634 = getelementptr inbounds %struct.w2c_hermes, ptr %16633, i32 0, i32 6
  %16635 = load i32, ptr %37, align 4, !tbaa !9
  %16636 = zext i32 %16635 to i64
  %16637 = call i32 @i32_load8_u(ptr noundef %16634, i64 noundef %16636)
  store i32 %16637, ptr %37, align 4, !tbaa !9
  %16638 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16638, ptr %13, align 4, !tbaa !9
  %16639 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16639, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %16640 = load ptr, ptr %8, align 8, !tbaa !5
  %16641 = getelementptr inbounds %struct.w2c_hermes, ptr %16640, i32 0, i32 6
  %16642 = load i32, ptr %37, align 4, !tbaa !9
  %16643 = zext i32 %16642 to i64
  %16644 = add i64 %16643, 8
  %16645 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %16641, i64 noundef %16644, i64 noundef %16645)
  %16646 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16646, ptr %37, align 4, !tbaa !9
  %16647 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16647, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %16648 = load i32, ptr %39, align 4, !tbaa !9
  %16649 = load i32, ptr %38, align 4, !tbaa !9
  %16650 = add i32 %16649, %16648
  store i32 %16650, ptr %38, align 4, !tbaa !9
  %16651 = load ptr, ptr %8, align 8, !tbaa !5
  %16652 = getelementptr inbounds %struct.w2c_hermes, ptr %16651, i32 0, i32 6
  %16653 = load i32, ptr %37, align 4, !tbaa !9
  %16654 = zext i32 %16653 to i64
  %16655 = add i64 %16654, 4
  %16656 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16652, i64 noundef %16655, i32 noundef %16656)
  %16657 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16657, ptr %37, align 4, !tbaa !9
  store i32 112544, ptr %38, align 4, !tbaa !9
  %16658 = load ptr, ptr %8, align 8, !tbaa !5
  %16659 = getelementptr inbounds %struct.w2c_hermes, ptr %16658, i32 0, i32 6
  %16660 = load i32, ptr %37, align 4, !tbaa !9
  %16661 = zext i32 %16660 to i64
  %16662 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16659, i64 noundef %16661, i32 noundef %16662)
  br label %16972

16663:                                            ; preds = %16598
  %16664 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %16664, ptr %37, align 4, !tbaa !9
  %16665 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16665, ptr %38, align 4, !tbaa !9
  %16666 = load ptr, ptr %8, align 8, !tbaa !5
  %16667 = getelementptr inbounds %struct.w2c_hermes, ptr %16666, i32 0, i32 6
  %16668 = load i32, ptr %38, align 4, !tbaa !9
  %16669 = zext i32 %16668 to i64
  %16670 = add i64 %16669, 32
  %16671 = call i32 @i32_load(ptr noundef %16667, i64 noundef %16670)
  store i32 %16671, ptr %38, align 4, !tbaa !9
  %16672 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16672, ptr %13, align 4, !tbaa !9
  %16673 = load i32, ptr %37, align 4, !tbaa !9
  %16674 = load i32, ptr %38, align 4, !tbaa !9
  %16675 = icmp ne i32 %16673, %16674
  %16676 = zext i1 %16675 to i32
  store i32 %16676, ptr %37, align 4, !tbaa !9
  %16677 = load i32, ptr %37, align 4, !tbaa !9
  %16678 = icmp ne i32 %16677, 0
  br i1 %16678, label %16679, label %16726

16679:                                            ; preds = %16663
  %16680 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16680, ptr %37, align 4, !tbaa !9
  %16681 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16681, ptr %38, align 4, !tbaa !9
  %16682 = load ptr, ptr %8, align 8, !tbaa !5
  %16683 = getelementptr inbounds %struct.w2c_hermes, ptr %16682, i32 0, i32 6
  %16684 = load i32, ptr %37, align 4, !tbaa !9
  %16685 = zext i32 %16684 to i64
  %16686 = add i64 %16685, 4
  %16687 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16683, i64 noundef %16686, i32 noundef %16687)
  %16688 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16688, ptr %37, align 4, !tbaa !9
  %16689 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16689, ptr %38, align 4, !tbaa !9
  %16690 = load ptr, ptr %8, align 8, !tbaa !5
  %16691 = getelementptr inbounds %struct.w2c_hermes, ptr %16690, i32 0, i32 6
  %16692 = load i32, ptr %37, align 4, !tbaa !9
  %16693 = zext i32 %16692 to i64
  %16694 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16691, i64 noundef %16693, i32 noundef %16694)
  %16695 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16695, ptr %37, align 4, !tbaa !9
  %16696 = load ptr, ptr %8, align 8, !tbaa !5
  %16697 = getelementptr inbounds %struct.w2c_hermes, ptr %16696, i32 0, i32 6
  %16698 = load i32, ptr %37, align 4, !tbaa !9
  %16699 = zext i32 %16698 to i64
  %16700 = add i64 %16699, 40
  %16701 = call i32 @i32_load(ptr noundef %16697, i64 noundef %16700)
  store i32 %16701, ptr %37, align 4, !tbaa !9
  %16702 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16702, ptr %13, align 4, !tbaa !9
  %16703 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16703, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16704 = load ptr, ptr %8, align 8, !tbaa !5
  %16705 = getelementptr inbounds %struct.w2c_hermes, ptr %16704, i32 0, i32 6
  %16706 = load i32, ptr %37, align 4, !tbaa !9
  %16707 = zext i32 %16706 to i64
  %16708 = add i64 %16707, 40
  %16709 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16705, i64 noundef %16708, i32 noundef %16709)
  %16710 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16710, ptr %37, align 4, !tbaa !9
  %16711 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16711, ptr %38, align 4, !tbaa !9
  %16712 = load ptr, ptr %8, align 8, !tbaa !5
  %16713 = getelementptr inbounds %struct.w2c_hermes, ptr %16712, i32 0, i32 6
  %16714 = load i32, ptr %37, align 4, !tbaa !9
  %16715 = zext i32 %16714 to i64
  %16716 = add i64 %16715, 8
  %16717 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16713, i64 noundef %16716, i32 noundef %16717)
  %16718 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16718, ptr %37, align 4, !tbaa !9
  %16719 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %16719, ptr %38, align 4, !tbaa !9
  %16720 = load ptr, ptr %8, align 8, !tbaa !5
  %16721 = getelementptr inbounds %struct.w2c_hermes, ptr %16720, i32 0, i32 6
  %16722 = load i32, ptr %37, align 4, !tbaa !9
  %16723 = zext i32 %16722 to i64
  %16724 = add i64 %16723, 32
  %16725 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16721, i64 noundef %16724, i32 noundef %16725)
  br label %16793

16726:                                            ; preds = %16663
  %16727 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16727, ptr %37, align 4, !tbaa !9
  %16728 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16728, ptr %13, align 4, !tbaa !9
  store i32 6, ptr %38, align 4, !tbaa !9
  %16729 = load i32, ptr %37, align 4, !tbaa !9
  %16730 = load i32, ptr %38, align 4, !tbaa !9
  %16731 = icmp uge i32 %16729, %16730
  %16732 = zext i1 %16731 to i32
  store i32 %16732, ptr %37, align 4, !tbaa !9
  %16733 = load i32, ptr %37, align 4, !tbaa !9
  %16734 = icmp ne i32 %16733, 0
  br i1 %16734, label %16735, label %16760

16735:                                            ; preds = %16726
  %16736 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16736, ptr %37, align 4, !tbaa !9
  %16737 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %16737, ptr %38, align 4, !tbaa !9
  %16738 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16738, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %16739 = load ptr, ptr %8, align 8, !tbaa !5
  %16740 = load i32, ptr %37, align 4, !tbaa !9
  %16741 = load i32, ptr %38, align 4, !tbaa !9
  %16742 = load i32, ptr %39, align 4, !tbaa !9
  %16743 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %16739, i32 noundef %16740, i32 noundef %16741, i32 noundef %16742, i32 noundef %16743)
  %16744 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16744, ptr %37, align 4, !tbaa !9
  %16745 = load ptr, ptr %8, align 8, !tbaa !5
  %16746 = getelementptr inbounds %struct.w2c_hermes, ptr %16745, i32 0, i32 6
  %16747 = load i32, ptr %37, align 4, !tbaa !9
  %16748 = zext i32 %16747 to i64
  %16749 = add i64 %16748, 36
  %16750 = call i32 @i32_load(ptr noundef %16746, i64 noundef %16749)
  store i32 %16750, ptr %37, align 4, !tbaa !9
  %16751 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16751, ptr %13, align 4, !tbaa !9
  %16752 = load i32, ptr %37, align 4, !tbaa !9
  %16753 = icmp ne i32 %16752, 0
  %16754 = xor i1 %16753, true
  %16755 = zext i1 %16754 to i32
  store i32 %16755, ptr %37, align 4, !tbaa !9
  %16756 = load i32, ptr %37, align 4, !tbaa !9
  %16757 = icmp ne i32 %16756, 0
  br i1 %16757, label %16758, label %16759

16758:                                            ; preds = %16735
  br label %16784

16759:                                            ; preds = %16735
  br label %16760

16760:                                            ; preds = %16759, %16726
  %16761 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16761, ptr %37, align 4, !tbaa !9
  %16762 = load ptr, ptr %8, align 8, !tbaa !5
  %16763 = getelementptr inbounds %struct.w2c_hermes, ptr %16762, i32 0, i32 6
  %16764 = load i32, ptr %37, align 4, !tbaa !9
  %16765 = zext i32 %16764 to i64
  %16766 = call i32 @i32_load(ptr noundef %16763, i64 noundef %16765)
  store i32 %16766, ptr %37, align 4, !tbaa !9
  %16767 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16767, ptr %38, align 4, !tbaa !9
  %16768 = load ptr, ptr %8, align 8, !tbaa !5
  %16769 = getelementptr inbounds %struct.w2c_hermes, ptr %16768, i32 0, i32 6
  %16770 = load i32, ptr %38, align 4, !tbaa !9
  %16771 = zext i32 %16770 to i64
  %16772 = add i64 %16771, 32
  %16773 = call i32 @i32_load(ptr noundef %16769, i64 noundef %16772)
  store i32 %16773, ptr %38, align 4, !tbaa !9
  %16774 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16774, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %16775 = load i32, ptr %40, align 4, !tbaa !9
  %16776 = and i32 %16775, 31
  %16777 = load i32, ptr %39, align 4, !tbaa !9
  %16778 = shl i32 %16777, %16776
  store i32 %16778, ptr %39, align 4, !tbaa !9
  %16779 = load ptr, ptr %8, align 8, !tbaa !5
  %16780 = load i32, ptr %37, align 4, !tbaa !9
  %16781 = load i32, ptr %38, align 4, !tbaa !9
  %16782 = load i32, ptr %39, align 4, !tbaa !9
  %16783 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %16779, i32 noundef %16780, i32 noundef %16781, i32 noundef %16782)
  store i32 %16783, ptr %37, align 4, !tbaa !9
  br label %16784

16784:                                            ; preds = %16760, %16758
  %16785 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16785, ptr %37, align 4, !tbaa !9
  %16786 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16786, ptr %38, align 4, !tbaa !9
  %16787 = load ptr, ptr %8, align 8, !tbaa !5
  %16788 = getelementptr inbounds %struct.w2c_hermes, ptr %16787, i32 0, i32 6
  %16789 = load i32, ptr %37, align 4, !tbaa !9
  %16790 = zext i32 %16789 to i64
  %16791 = add i64 %16790, 4
  %16792 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16788, i64 noundef %16791, i32 noundef %16792)
  br label %16793

16793:                                            ; preds = %16784, %16679
  %16794 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16794, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16795 = load ptr, ptr %8, align 8, !tbaa !5
  %16796 = getelementptr inbounds %struct.w2c_hermes, ptr %16795, i32 0, i32 6
  %16797 = load i32, ptr %37, align 4, !tbaa !9
  %16798 = zext i32 %16797 to i64
  %16799 = add i64 %16798, 36
  %16800 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16796, i64 noundef %16799, i32 noundef %16800)
  %16801 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %16801, ptr %37, align 4, !tbaa !9
  %16802 = load ptr, ptr %8, align 8, !tbaa !5
  %16803 = getelementptr inbounds %struct.w2c_hermes, ptr %16802, i32 0, i32 6
  %16804 = load i32, ptr %37, align 4, !tbaa !9
  %16805 = zext i32 %16804 to i64
  %16806 = call i32 @i32_load8_u(ptr noundef %16803, i64 noundef %16805)
  store i32 %16806, ptr %37, align 4, !tbaa !9
  %16807 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16807, ptr %13, align 4, !tbaa !9
  %16808 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16808, ptr %37, align 4, !tbaa !9
  store i64 21474836480, ptr %44, align 8, !tbaa !11
  %16809 = load ptr, ptr %8, align 8, !tbaa !5
  %16810 = getelementptr inbounds %struct.w2c_hermes, ptr %16809, i32 0, i32 6
  %16811 = load i32, ptr %37, align 4, !tbaa !9
  %16812 = zext i32 %16811 to i64
  %16813 = add i64 %16812, 8
  %16814 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %16810, i64 noundef %16813, i64 noundef %16814)
  %16815 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16815, ptr %37, align 4, !tbaa !9
  %16816 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16816, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %16817 = load i32, ptr %39, align 4, !tbaa !9
  %16818 = load i32, ptr %38, align 4, !tbaa !9
  %16819 = add i32 %16818, %16817
  store i32 %16819, ptr %38, align 4, !tbaa !9
  %16820 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16820, ptr %28, align 4, !tbaa !9
  %16821 = load ptr, ptr %8, align 8, !tbaa !5
  %16822 = getelementptr inbounds %struct.w2c_hermes, ptr %16821, i32 0, i32 6
  %16823 = load i32, ptr %37, align 4, !tbaa !9
  %16824 = zext i32 %16823 to i64
  %16825 = add i64 %16824, 4
  %16826 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16822, i64 noundef %16825, i32 noundef %16826)
  %16827 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16827, ptr %37, align 4, !tbaa !9
  store i32 112544, ptr %38, align 4, !tbaa !9
  %16828 = load ptr, ptr %8, align 8, !tbaa !5
  %16829 = getelementptr inbounds %struct.w2c_hermes, ptr %16828, i32 0, i32 6
  %16830 = load i32, ptr %37, align 4, !tbaa !9
  %16831 = zext i32 %16830 to i64
  %16832 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16829, i64 noundef %16831, i32 noundef %16832)
  %16833 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %16833, ptr %37, align 4, !tbaa !9
  %16834 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16834, ptr %38, align 4, !tbaa !9
  %16835 = load ptr, ptr %8, align 8, !tbaa !5
  %16836 = getelementptr inbounds %struct.w2c_hermes, ptr %16835, i32 0, i32 6
  %16837 = load i32, ptr %38, align 4, !tbaa !9
  %16838 = zext i32 %16837 to i64
  %16839 = call i32 @i32_load(ptr noundef %16836, i64 noundef %16838)
  store i32 %16839, ptr %38, align 4, !tbaa !9
  %16840 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %16840, ptr %15, align 4, !tbaa !9
  %16841 = load i32, ptr %37, align 4, !tbaa !9
  %16842 = load i32, ptr %38, align 4, !tbaa !9
  %16843 = icmp ne i32 %16841, %16842
  %16844 = zext i1 %16843 to i32
  store i32 %16844, ptr %37, align 4, !tbaa !9
  %16845 = load i32, ptr %37, align 4, !tbaa !9
  %16846 = icmp ne i32 %16845, 0
  br i1 %16846, label %16847, label %16892

16847:                                            ; preds = %16793
  %16848 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16848, ptr %37, align 4, !tbaa !9
  %16849 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16849, ptr %38, align 4, !tbaa !9
  %16850 = load ptr, ptr %8, align 8, !tbaa !5
  %16851 = getelementptr inbounds %struct.w2c_hermes, ptr %16850, i32 0, i32 6
  %16852 = load i32, ptr %37, align 4, !tbaa !9
  %16853 = zext i32 %16852 to i64
  %16854 = add i64 %16853, 8
  %16855 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16851, i64 noundef %16854, i32 noundef %16855)
  %16856 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16856, ptr %37, align 4, !tbaa !9
  %16857 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16857, ptr %38, align 4, !tbaa !9
  %16858 = load ptr, ptr %8, align 8, !tbaa !5
  %16859 = getelementptr inbounds %struct.w2c_hermes, ptr %16858, i32 0, i32 6
  %16860 = load i32, ptr %37, align 4, !tbaa !9
  %16861 = zext i32 %16860 to i64
  %16862 = add i64 %16861, 4
  %16863 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16859, i64 noundef %16862, i32 noundef %16863)
  %16864 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16864, ptr %37, align 4, !tbaa !9
  %16865 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16865, ptr %38, align 4, !tbaa !9
  %16866 = load ptr, ptr %8, align 8, !tbaa !5
  %16867 = getelementptr inbounds %struct.w2c_hermes, ptr %16866, i32 0, i32 6
  %16868 = load i32, ptr %38, align 4, !tbaa !9
  %16869 = zext i32 %16868 to i64
  %16870 = add i64 %16869, 8
  %16871 = call i32 @i32_load(ptr noundef %16867, i64 noundef %16870)
  store i32 %16871, ptr %38, align 4, !tbaa !9
  %16872 = load ptr, ptr %8, align 8, !tbaa !5
  %16873 = getelementptr inbounds %struct.w2c_hermes, ptr %16872, i32 0, i32 6
  %16874 = load i32, ptr %37, align 4, !tbaa !9
  %16875 = zext i32 %16874 to i64
  %16876 = add i64 %16875, 12
  %16877 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16873, i64 noundef %16876, i32 noundef %16877)
  %16878 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16878, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16879 = load ptr, ptr %8, align 8, !tbaa !5
  %16880 = getelementptr inbounds %struct.w2c_hermes, ptr %16879, i32 0, i32 6
  %16881 = load i32, ptr %37, align 4, !tbaa !9
  %16882 = zext i32 %16881 to i64
  %16883 = add i64 %16882, 8
  %16884 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16880, i64 noundef %16883, i32 noundef %16884)
  %16885 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16885, ptr %37, align 4, !tbaa !9
  %16886 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %16886, ptr %38, align 4, !tbaa !9
  %16887 = load ptr, ptr %8, align 8, !tbaa !5
  %16888 = getelementptr inbounds %struct.w2c_hermes, ptr %16887, i32 0, i32 6
  %16889 = load i32, ptr %37, align 4, !tbaa !9
  %16890 = zext i32 %16889 to i64
  %16891 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16888, i64 noundef %16890, i32 noundef %16891)
  br label %16964

16892:                                            ; preds = %16793
  %16893 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16893, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %16894 = load i32, ptr %38, align 4, !tbaa !9
  %16895 = load i32, ptr %37, align 4, !tbaa !9
  %16896 = add i32 %16895, %16894
  store i32 %16896, ptr %37, align 4, !tbaa !9
  %16897 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16897, ptr %21, align 4, !tbaa !9
  %16898 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16898, ptr %37, align 4, !tbaa !9
  %16899 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16899, ptr %15, align 4, !tbaa !9
  %16900 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16900, ptr %37, align 4, !tbaa !9
  store i32 6, ptr %38, align 4, !tbaa !9
  %16901 = load i32, ptr %37, align 4, !tbaa !9
  %16902 = load i32, ptr %38, align 4, !tbaa !9
  %16903 = icmp uge i32 %16901, %16902
  %16904 = zext i1 %16903 to i32
  store i32 %16904, ptr %37, align 4, !tbaa !9
  %16905 = load i32, ptr %37, align 4, !tbaa !9
  %16906 = icmp ne i32 %16905, 0
  br i1 %16906, label %16907, label %16932

16907:                                            ; preds = %16892
  %16908 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16908, ptr %37, align 4, !tbaa !9
  %16909 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %16909, ptr %38, align 4, !tbaa !9
  %16910 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16910, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %16911 = load ptr, ptr %8, align 8, !tbaa !5
  %16912 = load i32, ptr %37, align 4, !tbaa !9
  %16913 = load i32, ptr %38, align 4, !tbaa !9
  %16914 = load i32, ptr %39, align 4, !tbaa !9
  %16915 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %16911, i32 noundef %16912, i32 noundef %16913, i32 noundef %16914, i32 noundef %16915)
  %16916 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16916, ptr %37, align 4, !tbaa !9
  %16917 = load ptr, ptr %8, align 8, !tbaa !5
  %16918 = getelementptr inbounds %struct.w2c_hermes, ptr %16917, i32 0, i32 6
  %16919 = load i32, ptr %37, align 4, !tbaa !9
  %16920 = zext i32 %16919 to i64
  %16921 = add i64 %16920, 4
  %16922 = call i32 @i32_load(ptr noundef %16918, i64 noundef %16921)
  store i32 %16922, ptr %37, align 4, !tbaa !9
  %16923 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %16923, ptr %15, align 4, !tbaa !9
  %16924 = load i32, ptr %37, align 4, !tbaa !9
  %16925 = icmp ne i32 %16924, 0
  %16926 = xor i1 %16925, true
  %16927 = zext i1 %16926 to i32
  store i32 %16927, ptr %37, align 4, !tbaa !9
  %16928 = load i32, ptr %37, align 4, !tbaa !9
  %16929 = icmp ne i32 %16928, 0
  br i1 %16929, label %16930, label %16931

16930:                                            ; preds = %16907
  br label %16955

16931:                                            ; preds = %16907
  br label %16932

16932:                                            ; preds = %16931, %16892
  %16933 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %16933, ptr %37, align 4, !tbaa !9
  %16934 = load ptr, ptr %8, align 8, !tbaa !5
  %16935 = getelementptr inbounds %struct.w2c_hermes, ptr %16934, i32 0, i32 6
  %16936 = load i32, ptr %37, align 4, !tbaa !9
  %16937 = zext i32 %16936 to i64
  %16938 = call i32 @i32_load(ptr noundef %16935, i64 noundef %16937)
  store i32 %16938, ptr %37, align 4, !tbaa !9
  %16939 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16939, ptr %38, align 4, !tbaa !9
  %16940 = load ptr, ptr %8, align 8, !tbaa !5
  %16941 = getelementptr inbounds %struct.w2c_hermes, ptr %16940, i32 0, i32 6
  %16942 = load i32, ptr %38, align 4, !tbaa !9
  %16943 = zext i32 %16942 to i64
  %16944 = call i32 @i32_load(ptr noundef %16941, i64 noundef %16943)
  store i32 %16944, ptr %38, align 4, !tbaa !9
  %16945 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %16945, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %16946 = load i32, ptr %40, align 4, !tbaa !9
  %16947 = and i32 %16946, 31
  %16948 = load i32, ptr %39, align 4, !tbaa !9
  %16949 = shl i32 %16948, %16947
  store i32 %16949, ptr %39, align 4, !tbaa !9
  %16950 = load ptr, ptr %8, align 8, !tbaa !5
  %16951 = load i32, ptr %37, align 4, !tbaa !9
  %16952 = load i32, ptr %38, align 4, !tbaa !9
  %16953 = load i32, ptr %39, align 4, !tbaa !9
  %16954 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %16950, i32 noundef %16951, i32 noundef %16952, i32 noundef %16953)
  store i32 %16954, ptr %37, align 4, !tbaa !9
  br label %16955

16955:                                            ; preds = %16932, %16930
  %16956 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16956, ptr %37, align 4, !tbaa !9
  %16957 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %16957, ptr %38, align 4, !tbaa !9
  %16958 = load ptr, ptr %8, align 8, !tbaa !5
  %16959 = getelementptr inbounds %struct.w2c_hermes, ptr %16958, i32 0, i32 6
  %16960 = load i32, ptr %37, align 4, !tbaa !9
  %16961 = zext i32 %16960 to i64
  %16962 = add i64 %16961, 8
  %16963 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16959, i64 noundef %16962, i32 noundef %16963)
  br label %16964

16964:                                            ; preds = %16955, %16847
  %16965 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %16965, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %16966 = load ptr, ptr %8, align 8, !tbaa !5
  %16967 = getelementptr inbounds %struct.w2c_hermes, ptr %16966, i32 0, i32 6
  %16968 = load i32, ptr %37, align 4, !tbaa !9
  %16969 = zext i32 %16968 to i64
  %16970 = add i64 %16969, 4
  %16971 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %16967, i64 noundef %16970, i32 noundef %16971)
  br label %16972

16972:                                            ; preds = %16964, %16631
  %16973 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16973, ptr %37, align 4, !tbaa !9
  %16974 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16974, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %16975 = load i32, ptr %39, align 4, !tbaa !9
  %16976 = load i32, ptr %38, align 4, !tbaa !9
  %16977 = and i32 %16976, %16975
  store i32 %16977, ptr %38, align 4, !tbaa !9
  %16978 = load ptr, ptr %8, align 8, !tbaa !5
  %16979 = getelementptr inbounds %struct.w2c_hermes, ptr %16978, i32 0, i32 6
  %16980 = load i32, ptr %37, align 4, !tbaa !9
  %16981 = zext i32 %16980 to i64
  %16982 = add i64 %16981, 36
  %16983 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %16979, i64 noundef %16982, i32 noundef %16983)
  %16984 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %16984, ptr %37, align 4, !tbaa !9
  %16985 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %16985, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %16986 = load i32, ptr %39, align 4, !tbaa !9
  %16987 = and i32 %16986, 31
  %16988 = load i32, ptr %38, align 4, !tbaa !9
  %16989 = lshr i32 %16988, %16987
  store i32 %16989, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %16990 = load i32, ptr %39, align 4, !tbaa !9
  %16991 = load i32, ptr %38, align 4, !tbaa !9
  %16992 = and i32 %16991, %16990
  store i32 %16992, ptr %38, align 4, !tbaa !9
  %16993 = load ptr, ptr %8, align 8, !tbaa !5
  %16994 = getelementptr inbounds %struct.w2c_hermes, ptr %16993, i32 0, i32 6
  %16995 = load i32, ptr %37, align 4, !tbaa !9
  %16996 = zext i32 %16995 to i64
  %16997 = add i64 %16996, 37
  %16998 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %16994, i64 noundef %16997, i32 noundef %16998)
  %16999 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %16999, ptr %37, align 4, !tbaa !9
  %17000 = load ptr, ptr %8, align 8, !tbaa !5
  %17001 = getelementptr inbounds %struct.w2c_hermes, ptr %17000, i32 0, i32 6
  %17002 = load i32, ptr %37, align 4, !tbaa !9
  %17003 = zext i32 %17002 to i64
  %17004 = add i64 %17003, 160
  %17005 = call i32 @i32_load(ptr noundef %17001, i64 noundef %17004)
  store i32 %17005, ptr %37, align 4, !tbaa !9
  %17006 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17006, ptr %11, align 4, !tbaa !9
  %17007 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17007, ptr %38, align 4, !tbaa !9
  %17008 = load ptr, ptr %8, align 8, !tbaa !5
  %17009 = getelementptr inbounds %struct.w2c_hermes, ptr %17008, i32 0, i32 6
  %17010 = load i32, ptr %38, align 4, !tbaa !9
  %17011 = zext i32 %17010 to i64
  %17012 = add i64 %17011, 164
  %17013 = call i32 @i32_load(ptr noundef %17009, i64 noundef %17012)
  store i32 %17013, ptr %38, align 4, !tbaa !9
  %17014 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17014, ptr %21, align 4, !tbaa !9
  %17015 = load i32, ptr %37, align 4, !tbaa !9
  %17016 = load i32, ptr %38, align 4, !tbaa !9
  %17017 = icmp ult i32 %17015, %17016
  %17018 = zext i1 %17017 to i32
  store i32 %17018, ptr %37, align 4, !tbaa !9
  %17019 = load i32, ptr %37, align 4, !tbaa !9
  %17020 = icmp ne i32 %17019, 0
  br i1 %17020, label %17021, label %17040

17021:                                            ; preds = %16972
  %17022 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17022, ptr %37, align 4, !tbaa !9
  %17023 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17023, ptr %38, align 4, !tbaa !9
  %17024 = load ptr, ptr %8, align 8, !tbaa !5
  %17025 = getelementptr inbounds %struct.w2c_hermes, ptr %17024, i32 0, i32 6
  %17026 = load i32, ptr %37, align 4, !tbaa !9
  %17027 = zext i32 %17026 to i64
  %17028 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17025, i64 noundef %17027, i32 noundef %17028)
  %17029 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17029, ptr %37, align 4, !tbaa !9
  %17030 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17030, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %17031 = load i32, ptr %39, align 4, !tbaa !9
  %17032 = load i32, ptr %38, align 4, !tbaa !9
  %17033 = add i32 %17032, %17031
  store i32 %17033, ptr %38, align 4, !tbaa !9
  %17034 = load ptr, ptr %8, align 8, !tbaa !5
  %17035 = getelementptr inbounds %struct.w2c_hermes, ptr %17034, i32 0, i32 6
  %17036 = load i32, ptr %37, align 4, !tbaa !9
  %17037 = zext i32 %17036 to i64
  %17038 = add i64 %17037, 160
  %17039 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17035, i64 noundef %17038, i32 noundef %17039)
  br label %17406

17040:                                            ; preds = %16972
  %17041 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17041, ptr %37, align 4, !tbaa !9
  %17042 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17042, ptr %38, align 4, !tbaa !9
  %17043 = load ptr, ptr %8, align 8, !tbaa !5
  %17044 = getelementptr inbounds %struct.w2c_hermes, ptr %17043, i32 0, i32 6
  %17045 = load i32, ptr %38, align 4, !tbaa !9
  %17046 = zext i32 %17045 to i64
  %17047 = add i64 %17046, 156
  %17048 = call i32 @i32_load(ptr noundef %17044, i64 noundef %17047)
  store i32 %17048, ptr %38, align 4, !tbaa !9
  %17049 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17049, ptr %15, align 4, !tbaa !9
  %17050 = load i32, ptr %38, align 4, !tbaa !9
  %17051 = load i32, ptr %37, align 4, !tbaa !9
  %17052 = sub i32 %17051, %17050
  store i32 %17052, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %17053 = load i32, ptr %37, align 4, !tbaa !9
  %17054 = load i32, ptr %38, align 4, !tbaa !9
  %17055 = and i32 %17054, 31
  %17056 = ashr i32 %17053, %17055
  store i32 %17056, ptr %37, align 4, !tbaa !9
  %17057 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17057, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %17058 = load i32, ptr %38, align 4, !tbaa !9
  %17059 = load i32, ptr %37, align 4, !tbaa !9
  %17060 = add i32 %17059, %17058
  store i32 %17060, ptr %37, align 4, !tbaa !9
  %17061 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17061, ptr %13, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %17062 = load i32, ptr %37, align 4, !tbaa !9
  %17063 = load i32, ptr %38, align 4, !tbaa !9
  %17064 = icmp uge i32 %17062, %17063
  %17065 = zext i1 %17064 to i32
  store i32 %17065, ptr %37, align 4, !tbaa !9
  %17066 = load i32, ptr %37, align 4, !tbaa !9
  %17067 = icmp ne i32 %17066, 0
  br i1 %17067, label %17068, label %17069

17068:                                            ; preds = %17040
  br label %17554

17069:                                            ; preds = %17040
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %17070 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17070, ptr %38, align 4, !tbaa !9
  %17071 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %17071, ptr %39, align 4, !tbaa !9
  %17072 = load i32, ptr %39, align 4, !tbaa !9
  %17073 = load i32, ptr %38, align 4, !tbaa !9
  %17074 = sub i32 %17073, %17072
  store i32 %17074, ptr %38, align 4, !tbaa !9
  %17075 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17075, ptr %21, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %17076 = load i32, ptr %38, align 4, !tbaa !9
  %17077 = load i32, ptr %39, align 4, !tbaa !9
  %17078 = and i32 %17077, 31
  %17079 = ashr i32 %17076, %17078
  store i32 %17079, ptr %38, align 4, !tbaa !9
  %17080 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17080, ptr %29, align 4, !tbaa !9
  %17081 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17081, ptr %39, align 4, !tbaa !9
  %17082 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17082, ptr %40, align 4, !tbaa !9
  %17083 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %17083, ptr %41, align 4, !tbaa !9
  %17084 = load i32, ptr %40, align 4, !tbaa !9
  %17085 = load i32, ptr %41, align 4, !tbaa !9
  %17086 = icmp ult i32 %17084, %17085
  %17087 = zext i1 %17086 to i32
  store i32 %17087, ptr %40, align 4, !tbaa !9
  %17088 = load i32, ptr %40, align 4, !tbaa !9
  %17089 = icmp ne i32 %17088, 0
  br i1 %17089, label %17090, label %17092

17090:                                            ; preds = %17069
  %17091 = load i32, ptr %38, align 4, !tbaa !9
  br label %17094

17092:                                            ; preds = %17069
  %17093 = load i32, ptr %39, align 4, !tbaa !9
  br label %17094

17094:                                            ; preds = %17092, %17090
  %17095 = phi i32 [ %17091, %17090 ], [ %17093, %17092 ]
  store i32 %17095, ptr %38, align 4, !tbaa !9
  %17096 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17096, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %17097 = load i32, ptr %39, align 4, !tbaa !9
  %17098 = load i32, ptr %40, align 4, !tbaa !9
  %17099 = icmp uge i32 %17097, %17098
  %17100 = zext i1 %17099 to i32
  store i32 %17100, ptr %39, align 4, !tbaa !9
  %17101 = load i32, ptr %39, align 4, !tbaa !9
  %17102 = icmp ne i32 %17101, 0
  br i1 %17102, label %17103, label %17105

17103:                                            ; preds = %17094
  %17104 = load i32, ptr %37, align 4, !tbaa !9
  br label %17107

17105:                                            ; preds = %17094
  %17106 = load i32, ptr %38, align 4, !tbaa !9
  br label %17107

17107:                                            ; preds = %17105, %17103
  %17108 = phi i32 [ %17104, %17103 ], [ %17106, %17105 ]
  store i32 %17108, ptr %37, align 4, !tbaa !9
  %17109 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17109, ptr %21, align 4, !tbaa !9
  %17110 = load i32, ptr %37, align 4, !tbaa !9
  %17111 = icmp ne i32 %17110, 0
  br i1 %17111, label %17112, label %17130

17112:                                            ; preds = %17107
  %17113 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17113, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %17114 = load i32, ptr %37, align 4, !tbaa !9
  %17115 = load i32, ptr %38, align 4, !tbaa !9
  %17116 = icmp uge i32 %17114, %17115
  %17117 = zext i1 %17116 to i32
  store i32 %17117, ptr %37, align 4, !tbaa !9
  %17118 = load i32, ptr %37, align 4, !tbaa !9
  %17119 = icmp ne i32 %17118, 0
  br i1 %17119, label %17120, label %17121

17120:                                            ; preds = %17112
  br label %18026

17121:                                            ; preds = %17112
  %17122 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17122, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %17123 = load i32, ptr %38, align 4, !tbaa !9
  %17124 = and i32 %17123, 31
  %17125 = load i32, ptr %37, align 4, !tbaa !9
  %17126 = shl i32 %17125, %17124
  store i32 %17126, ptr %37, align 4, !tbaa !9
  %17127 = load ptr, ptr %8, align 8, !tbaa !5
  %17128 = load i32, ptr %37, align 4, !tbaa !9
  %17129 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %17127, i32 noundef %17128)
  store i32 %17129, ptr %37, align 4, !tbaa !9
  br label %17131

17130:                                            ; preds = %17107
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %17131

17131:                                            ; preds = %17130, %17121
  %17132 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17132, ptr %29, align 4, !tbaa !9
  %17133 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %17133, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %17134 = load i32, ptr %39, align 4, !tbaa !9
  %17135 = and i32 %17134, 31
  %17136 = load i32, ptr %38, align 4, !tbaa !9
  %17137 = shl i32 %17136, %17135
  store i32 %17137, ptr %38, align 4, !tbaa !9
  %17138 = load i32, ptr %38, align 4, !tbaa !9
  %17139 = load i32, ptr %37, align 4, !tbaa !9
  %17140 = add i32 %17139, %17138
  store i32 %17140, ptr %37, align 4, !tbaa !9
  %17141 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17141, ptr %13, align 4, !tbaa !9
  %17142 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17142, ptr %38, align 4, !tbaa !9
  %17143 = load ptr, ptr %8, align 8, !tbaa !5
  %17144 = getelementptr inbounds %struct.w2c_hermes, ptr %17143, i32 0, i32 6
  %17145 = load i32, ptr %37, align 4, !tbaa !9
  %17146 = zext i32 %17145 to i64
  %17147 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17144, i64 noundef %17146, i32 noundef %17147)
  %17148 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %17148, ptr %37, align 4, !tbaa !9
  %17149 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17149, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %17150 = load i32, ptr %39, align 4, !tbaa !9
  %17151 = and i32 %17150, 31
  %17152 = load i32, ptr %38, align 4, !tbaa !9
  %17153 = shl i32 %17152, %17151
  store i32 %17153, ptr %38, align 4, !tbaa !9
  %17154 = load i32, ptr %38, align 4, !tbaa !9
  %17155 = load i32, ptr %37, align 4, !tbaa !9
  %17156 = add i32 %17155, %17154
  store i32 %17156, ptr %37, align 4, !tbaa !9
  %17157 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17157, ptr %18, align 4, !tbaa !9
  %17158 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17158, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17159 = load i32, ptr %38, align 4, !tbaa !9
  %17160 = load i32, ptr %37, align 4, !tbaa !9
  %17161 = add i32 %17160, %17159
  store i32 %17161, ptr %37, align 4, !tbaa !9
  %17162 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17162, ptr %21, align 4, !tbaa !9
  %17163 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17163, ptr %37, align 4, !tbaa !9
  %17164 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %17164, ptr %38, align 4, !tbaa !9
  %17165 = load i32, ptr %37, align 4, !tbaa !9
  %17166 = load i32, ptr %38, align 4, !tbaa !9
  %17167 = icmp eq i32 %17165, %17166
  %17168 = zext i1 %17167 to i32
  store i32 %17168, ptr %37, align 4, !tbaa !9
  %17169 = load i32, ptr %37, align 4, !tbaa !9
  %17170 = icmp ne i32 %17169, 0
  br i1 %17170, label %17171, label %17196

17171:                                            ; preds = %17131
  %17172 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17172, ptr %37, align 4, !tbaa !9
  %17173 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17173, ptr %38, align 4, !tbaa !9
  %17174 = load ptr, ptr %8, align 8, !tbaa !5
  %17175 = getelementptr inbounds %struct.w2c_hermes, ptr %17174, i32 0, i32 6
  %17176 = load i32, ptr %37, align 4, !tbaa !9
  %17177 = zext i32 %17176 to i64
  %17178 = add i64 %17177, 164
  %17179 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17175, i64 noundef %17178, i32 noundef %17179)
  %17180 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17180, ptr %37, align 4, !tbaa !9
  %17181 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17181, ptr %38, align 4, !tbaa !9
  %17182 = load ptr, ptr %8, align 8, !tbaa !5
  %17183 = getelementptr inbounds %struct.w2c_hermes, ptr %17182, i32 0, i32 6
  %17184 = load i32, ptr %37, align 4, !tbaa !9
  %17185 = zext i32 %17184 to i64
  %17186 = add i64 %17185, 160
  %17187 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17183, i64 noundef %17186, i32 noundef %17187)
  %17188 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17188, ptr %37, align 4, !tbaa !9
  %17189 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17189, ptr %38, align 4, !tbaa !9
  %17190 = load ptr, ptr %8, align 8, !tbaa !5
  %17191 = getelementptr inbounds %struct.w2c_hermes, ptr %17190, i32 0, i32 6
  %17192 = load i32, ptr %37, align 4, !tbaa !9
  %17193 = zext i32 %17192 to i64
  %17194 = add i64 %17193, 156
  %17195 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17191, i64 noundef %17194, i32 noundef %17195)
  br label %17393

17196:                                            ; preds = %17131
  br label %17197

17197:                                            ; preds = %17234, %17196
  %17198 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17198, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17199 = load i32, ptr %38, align 4, !tbaa !9
  %17200 = load i32, ptr %37, align 4, !tbaa !9
  %17201 = sub i32 %17200, %17199
  store i32 %17201, ptr %37, align 4, !tbaa !9
  %17202 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17202, ptr %11, align 4, !tbaa !9
  %17203 = load ptr, ptr %8, align 8, !tbaa !5
  %17204 = getelementptr inbounds %struct.w2c_hermes, ptr %17203, i32 0, i32 6
  %17205 = load i32, ptr %37, align 4, !tbaa !9
  %17206 = zext i32 %17205 to i64
  %17207 = call i32 @i32_load(ptr noundef %17204, i64 noundef %17206)
  store i32 %17207, ptr %37, align 4, !tbaa !9
  %17208 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17208, ptr %28, align 4, !tbaa !9
  %17209 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17209, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %17210 = load ptr, ptr %8, align 8, !tbaa !5
  %17211 = getelementptr inbounds %struct.w2c_hermes, ptr %17210, i32 0, i32 6
  %17212 = load i32, ptr %37, align 4, !tbaa !9
  %17213 = zext i32 %17212 to i64
  %17214 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17211, i64 noundef %17213, i32 noundef %17214)
  %17215 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17215, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17216 = load i32, ptr %38, align 4, !tbaa !9
  %17217 = load i32, ptr %37, align 4, !tbaa !9
  %17218 = sub i32 %17217, %17216
  store i32 %17218, ptr %37, align 4, !tbaa !9
  %17219 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17219, ptr %13, align 4, !tbaa !9
  %17220 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %17220, ptr %38, align 4, !tbaa !9
  %17221 = load ptr, ptr %8, align 8, !tbaa !5
  %17222 = getelementptr inbounds %struct.w2c_hermes, ptr %17221, i32 0, i32 6
  %17223 = load i32, ptr %37, align 4, !tbaa !9
  %17224 = zext i32 %17223 to i64
  %17225 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17222, i64 noundef %17224, i32 noundef %17225)
  %17226 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17226, ptr %37, align 4, !tbaa !9
  %17227 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %17227, ptr %38, align 4, !tbaa !9
  %17228 = load i32, ptr %37, align 4, !tbaa !9
  %17229 = load i32, ptr %38, align 4, !tbaa !9
  %17230 = icmp ne i32 %17228, %17229
  %17231 = zext i1 %17230 to i32
  store i32 %17231, ptr %37, align 4, !tbaa !9
  %17232 = load i32, ptr %37, align 4, !tbaa !9
  %17233 = icmp ne i32 %17232, 0
  br i1 %17233, label %17234, label %17235

17234:                                            ; preds = %17197
  br label %17197

17235:                                            ; preds = %17197
  %17236 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17236, ptr %37, align 4, !tbaa !9
  %17237 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17237, ptr %38, align 4, !tbaa !9
  %17238 = load ptr, ptr %8, align 8, !tbaa !5
  %17239 = getelementptr inbounds %struct.w2c_hermes, ptr %17238, i32 0, i32 6
  %17240 = load i32, ptr %37, align 4, !tbaa !9
  %17241 = zext i32 %17240 to i64
  %17242 = add i64 %17241, 164
  %17243 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17239, i64 noundef %17242, i32 noundef %17243)
  %17244 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17244, ptr %37, align 4, !tbaa !9
  %17245 = load ptr, ptr %8, align 8, !tbaa !5
  %17246 = getelementptr inbounds %struct.w2c_hermes, ptr %17245, i32 0, i32 6
  %17247 = load i32, ptr %37, align 4, !tbaa !9
  %17248 = zext i32 %17247 to i64
  %17249 = add i64 %17248, 160
  %17250 = call i32 @i32_load(ptr noundef %17246, i64 noundef %17249)
  store i32 %17250, ptr %37, align 4, !tbaa !9
  %17251 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17251, ptr %18, align 4, !tbaa !9
  %17252 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17252, ptr %37, align 4, !tbaa !9
  %17253 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %17253, ptr %38, align 4, !tbaa !9
  %17254 = load ptr, ptr %8, align 8, !tbaa !5
  %17255 = getelementptr inbounds %struct.w2c_hermes, ptr %17254, i32 0, i32 6
  %17256 = load i32, ptr %37, align 4, !tbaa !9
  %17257 = zext i32 %17256 to i64
  %17258 = add i64 %17257, 160
  %17259 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17255, i64 noundef %17258, i32 noundef %17259)
  %17260 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17260, ptr %37, align 4, !tbaa !9
  %17261 = load ptr, ptr %8, align 8, !tbaa !5
  %17262 = getelementptr inbounds %struct.w2c_hermes, ptr %17261, i32 0, i32 6
  %17263 = load i32, ptr %37, align 4, !tbaa !9
  %17264 = zext i32 %17263 to i64
  %17265 = add i64 %17264, 156
  %17266 = call i32 @i32_load(ptr noundef %17262, i64 noundef %17265)
  store i32 %17266, ptr %37, align 4, !tbaa !9
  %17267 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17267, ptr %11, align 4, !tbaa !9
  %17268 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17268, ptr %37, align 4, !tbaa !9
  %17269 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17269, ptr %38, align 4, !tbaa !9
  %17270 = load ptr, ptr %8, align 8, !tbaa !5
  %17271 = getelementptr inbounds %struct.w2c_hermes, ptr %17270, i32 0, i32 6
  %17272 = load i32, ptr %37, align 4, !tbaa !9
  %17273 = zext i32 %17272 to i64
  %17274 = add i64 %17273, 156
  %17275 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17271, i64 noundef %17274, i32 noundef %17275)
  %17276 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17276, ptr %37, align 4, !tbaa !9
  %17277 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17277, ptr %38, align 4, !tbaa !9
  %17278 = load i32, ptr %37, align 4, !tbaa !9
  %17279 = load i32, ptr %38, align 4, !tbaa !9
  %17280 = icmp eq i32 %17278, %17279
  %17281 = zext i1 %17280 to i32
  store i32 %17281, ptr %37, align 4, !tbaa !9
  %17282 = load i32, ptr %37, align 4, !tbaa !9
  %17283 = icmp ne i32 %17282, 0
  br i1 %17283, label %17284, label %17285

17284:                                            ; preds = %17235
  br label %17393

17285:                                            ; preds = %17235
  br label %17286

17286:                                            ; preds = %17391, %17285
  %17287 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17287, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17288 = load i32, ptr %38, align 4, !tbaa !9
  %17289 = load i32, ptr %37, align 4, !tbaa !9
  %17290 = sub i32 %17289, %17288
  store i32 %17290, ptr %37, align 4, !tbaa !9
  %17291 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17291, ptr %18, align 4, !tbaa !9
  %17292 = load ptr, ptr %8, align 8, !tbaa !5
  %17293 = getelementptr inbounds %struct.w2c_hermes, ptr %17292, i32 0, i32 6
  %17294 = load i32, ptr %37, align 4, !tbaa !9
  %17295 = zext i32 %17294 to i64
  %17296 = call i32 @i32_load(ptr noundef %17293, i64 noundef %17295)
  store i32 %17296, ptr %37, align 4, !tbaa !9
  %17297 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17297, ptr %13, align 4, !tbaa !9
  %17298 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17298, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %17299 = load ptr, ptr %8, align 8, !tbaa !5
  %17300 = getelementptr inbounds %struct.w2c_hermes, ptr %17299, i32 0, i32 6
  %17301 = load i32, ptr %37, align 4, !tbaa !9
  %17302 = zext i32 %17301 to i64
  %17303 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17300, i64 noundef %17302, i32 noundef %17303)
  %17304 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17304, ptr %37, align 4, !tbaa !9
  %17305 = load i32, ptr %37, align 4, !tbaa !9
  %17306 = icmp ne i32 %17305, 0
  br i1 %17306, label %17307, label %17382

17307:                                            ; preds = %17286
  %17308 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17308, ptr %37, align 4, !tbaa !9
  %17309 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17309, ptr %38, align 4, !tbaa !9
  %17310 = load ptr, ptr %8, align 8, !tbaa !5
  %17311 = getelementptr inbounds %struct.w2c_hermes, ptr %17310, i32 0, i32 6
  %17312 = load i32, ptr %38, align 4, !tbaa !9
  %17313 = zext i32 %17312 to i64
  %17314 = call i32 @i32_load(ptr noundef %17311, i64 noundef %17313)
  store i32 %17314, ptr %38, align 4, !tbaa !9
  %17315 = load ptr, ptr %8, align 8, !tbaa !5
  %17316 = getelementptr inbounds %struct.w2c_hermes, ptr %17315, i32 0, i32 6
  %17317 = load i32, ptr %38, align 4, !tbaa !9
  %17318 = zext i32 %17317 to i64
  %17319 = add i64 %17318, 4
  %17320 = call i32 @i32_load(ptr noundef %17316, i64 noundef %17319)
  store i32 %17320, ptr %38, align 4, !tbaa !9
  %17321 = load i32, ptr %38, align 4, !tbaa !9
  %17322 = load ptr, ptr %8, align 8, !tbaa !5
  %17323 = getelementptr inbounds %struct.w2c_hermes, ptr %17322, i32 0, i32 7
  %17324 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17323, i32 0, i32 2
  %17325 = load i32, ptr %17324, align 4, !tbaa !18
  %17326 = icmp ult i32 %17321, %17325
  br i1 %17326, label %17327, label %17350

17327:                                            ; preds = %17307
  %17328 = load ptr, ptr %8, align 8, !tbaa !5
  %17329 = getelementptr inbounds %struct.w2c_hermes, ptr %17328, i32 0, i32 7
  %17330 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17329, i32 0, i32 0
  %17331 = load ptr, ptr %17330, align 8, !tbaa !19
  %17332 = load i32, ptr %38, align 4, !tbaa !9
  %17333 = zext i32 %17332 to i64
  %17334 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17331, i64 %17333
  %17335 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17334, i32 0, i32 1
  %17336 = load ptr, ptr %17335, align 8, !tbaa !20
  %17337 = icmp ne ptr %17336, null
  br i1 %17337, label %17338, label %17350

17338:                                            ; preds = %17327
  %17339 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %17340 = load ptr, ptr %8, align 8, !tbaa !5
  %17341 = getelementptr inbounds %struct.w2c_hermes, ptr %17340, i32 0, i32 7
  %17342 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17341, i32 0, i32 0
  %17343 = load ptr, ptr %17342, align 8, !tbaa !19
  %17344 = load i32, ptr %38, align 4, !tbaa !9
  %17345 = zext i32 %17344 to i64
  %17346 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17343, i64 %17345
  %17347 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17346, i32 0, i32 0
  %17348 = load ptr, ptr %17347, align 8, !tbaa !22
  %17349 = call zeroext i1 @func_types_eq(ptr noundef %17339, ptr noundef %17348)
  br label %17350

17350:                                            ; preds = %17338, %17327, %17307
  %17351 = phi i1 [ false, %17327 ], [ false, %17307 ], [ %17349, %17338 ]
  %17352 = xor i1 %17351, true
  %17353 = xor i1 %17352, true
  %17354 = zext i1 %17353 to i32
  %17355 = sext i32 %17354 to i64
  %17356 = call i64 @llvm.expect.i64(i64 %17355, i64 1)
  %17357 = icmp ne i64 %17356, 0
  br i1 %17357, label %17360, label %17358

17358:                                            ; preds = %17350
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

17359:                                            ; No predecessors!
  br label %17360

17360:                                            ; preds = %17359, %17350
  %17361 = phi i1 [ true, %17350 ], [ false, %17359 ]
  %17362 = zext i1 %17361 to i32
  %17363 = load ptr, ptr %8, align 8, !tbaa !5
  %17364 = getelementptr inbounds %struct.w2c_hermes, ptr %17363, i32 0, i32 7
  %17365 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17364, i32 0, i32 0
  %17366 = load ptr, ptr %17365, align 8, !tbaa !19
  %17367 = load i32, ptr %38, align 4, !tbaa !9
  %17368 = zext i32 %17367 to i64
  %17369 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17366, i64 %17368
  %17370 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17369, i32 0, i32 1
  %17371 = load ptr, ptr %17370, align 8, !tbaa !20
  %17372 = load ptr, ptr %8, align 8, !tbaa !5
  %17373 = getelementptr inbounds %struct.w2c_hermes, ptr %17372, i32 0, i32 7
  %17374 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17373, i32 0, i32 0
  %17375 = load ptr, ptr %17374, align 8, !tbaa !19
  %17376 = load i32, ptr %38, align 4, !tbaa !9
  %17377 = zext i32 %17376 to i64
  %17378 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17375, i64 %17377
  %17379 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17378, i32 0, i32 2
  %17380 = load ptr, ptr %17379, align 8, !tbaa !23
  %17381 = load i32, ptr %37, align 4, !tbaa !9
  call void %17371(ptr noundef %17380, i32 noundef %17381)
  br label %17382

17382:                                            ; preds = %17360, %17286
  %17383 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17383, ptr %37, align 4, !tbaa !9
  %17384 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17384, ptr %38, align 4, !tbaa !9
  %17385 = load i32, ptr %37, align 4, !tbaa !9
  %17386 = load i32, ptr %38, align 4, !tbaa !9
  %17387 = icmp ne i32 %17385, %17386
  %17388 = zext i1 %17387 to i32
  store i32 %17388, ptr %37, align 4, !tbaa !9
  %17389 = load i32, ptr %37, align 4, !tbaa !9
  %17390 = icmp ne i32 %17389, 0
  br i1 %17390, label %17391, label %17392

17391:                                            ; preds = %17382
  br label %17286

17392:                                            ; preds = %17382
  br label %17393

17393:                                            ; preds = %17392, %17284, %17171
  %17394 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17394, ptr %37, align 4, !tbaa !9
  %17395 = load i32, ptr %37, align 4, !tbaa !9
  %17396 = icmp ne i32 %17395, 0
  %17397 = xor i1 %17396, true
  %17398 = zext i1 %17397 to i32
  store i32 %17398, ptr %37, align 4, !tbaa !9
  %17399 = load i32, ptr %37, align 4, !tbaa !9
  %17400 = icmp ne i32 %17399, 0
  br i1 %17400, label %17401, label %17402

17401:                                            ; preds = %17393
  br label %17406

17402:                                            ; preds = %17393
  %17403 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17403, ptr %37, align 4, !tbaa !9
  %17404 = load ptr, ptr %8, align 8, !tbaa !5
  %17405 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %17404, i32 noundef %17405)
  br label %17406

17406:                                            ; preds = %17402, %17401, %17021
  %17407 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %17407, ptr %37, align 4, !tbaa !9
  %17408 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %17408, ptr %38, align 4, !tbaa !9
  %17409 = load ptr, ptr %8, align 8, !tbaa !5
  %17410 = getelementptr inbounds %struct.w2c_hermes, ptr %17409, i32 0, i32 6
  %17411 = load i32, ptr %38, align 4, !tbaa !9
  %17412 = zext i32 %17411 to i64
  %17413 = call i32 @i32_load(ptr noundef %17410, i64 noundef %17412)
  store i32 %17413, ptr %38, align 4, !tbaa !9
  %17414 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17414, ptr %11, align 4, !tbaa !9
  %17415 = load i32, ptr %37, align 4, !tbaa !9
  %17416 = load i32, ptr %38, align 4, !tbaa !9
  %17417 = icmp ne i32 %17415, %17416
  %17418 = zext i1 %17417 to i32
  store i32 %17418, ptr %37, align 4, !tbaa !9
  %17419 = load i32, ptr %37, align 4, !tbaa !9
  %17420 = icmp ne i32 %17419, 0
  br i1 %17420, label %17421, label %17425

17421:                                            ; preds = %17406
  %17422 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17422, ptr %37, align 4, !tbaa !9
  %17423 = load ptr, ptr %8, align 8, !tbaa !5
  %17424 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %17423, i32 noundef %17424)
  br label %17425

17425:                                            ; preds = %17421, %17406
  %17426 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17426, ptr %37, align 4, !tbaa !9
  %17427 = load ptr, ptr %8, align 8, !tbaa !5
  %17428 = getelementptr inbounds %struct.w2c_hermes, ptr %17427, i32 0, i32 6
  %17429 = load i32, ptr %37, align 4, !tbaa !9
  %17430 = zext i32 %17429 to i64
  %17431 = call i32 @i32_load(ptr noundef %17428, i64 noundef %17430)
  store i32 %17431, ptr %37, align 4, !tbaa !9
  %17432 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %17432, ptr %38, align 4, !tbaa !9
  %17433 = load i32, ptr %38, align 4, !tbaa !9
  %17434 = load i32, ptr %37, align 4, !tbaa !9
  %17435 = add i32 %17434, %17433
  store i32 %17435, ptr %37, align 4, !tbaa !9
  %17436 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17436, ptr %38, align 4, !tbaa !9
  %17437 = load ptr, ptr %8, align 8, !tbaa !5
  %17438 = getelementptr inbounds %struct.w2c_hermes, ptr %17437, i32 0, i32 6
  %17439 = load i32, ptr %38, align 4, !tbaa !9
  %17440 = zext i32 %17439 to i64
  %17441 = add i64 %17440, 160
  %17442 = call i32 @i32_load(ptr noundef %17438, i64 noundef %17441)
  store i32 %17442, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %17443 = load i32, ptr %39, align 4, !tbaa !9
  %17444 = load i32, ptr %38, align 4, !tbaa !9
  %17445 = sub i32 %17444, %17443
  store i32 %17445, ptr %38, align 4, !tbaa !9
  %17446 = load ptr, ptr %8, align 8, !tbaa !5
  %17447 = getelementptr inbounds %struct.w2c_hermes, ptr %17446, i32 0, i32 6
  %17448 = load i32, ptr %38, align 4, !tbaa !9
  %17449 = zext i32 %17448 to i64
  %17450 = call i32 @i32_load(ptr noundef %17447, i64 noundef %17449)
  store i32 %17450, ptr %38, align 4, !tbaa !9
  %17451 = load ptr, ptr %8, align 8, !tbaa !5
  %17452 = getelementptr inbounds %struct.w2c_hermes, ptr %17451, i32 0, i32 6
  %17453 = load i32, ptr %37, align 4, !tbaa !9
  %17454 = zext i32 %17453 to i64
  %17455 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17452, i64 noundef %17454, i32 noundef %17455)
  %17456 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17456, ptr %37, align 4, !tbaa !9
  %17457 = load ptr, ptr %8, align 8, !tbaa !5
  %17458 = getelementptr inbounds %struct.w2c_hermes, ptr %17457, i32 0, i32 6
  %17459 = load i32, ptr %37, align 4, !tbaa !9
  %17460 = zext i32 %17459 to i64
  %17461 = call i32 @i32_load(ptr noundef %17458, i64 noundef %17460)
  store i32 %17461, ptr %37, align 4, !tbaa !9
  %17462 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17462, ptr %11, align 4, !tbaa !9
  %17463 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17463, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %17464 = load i32, ptr %39, align 4, !tbaa !9
  %17465 = and i32 %17464, 31
  %17466 = load i32, ptr %38, align 4, !tbaa !9
  %17467 = shl i32 %17466, %17465
  store i32 %17467, ptr %38, align 4, !tbaa !9
  %17468 = load i32, ptr %38, align 4, !tbaa !9
  %17469 = load i32, ptr %37, align 4, !tbaa !9
  %17470 = add i32 %17469, %17468
  store i32 %17470, ptr %37, align 4, !tbaa !9
  %17471 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17471, ptr %38, align 4, !tbaa !9
  %17472 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %17472, ptr %39, align 4, !tbaa !9
  %17473 = load i32, ptr %39, align 4, !tbaa !9
  %17474 = load i32, ptr %38, align 4, !tbaa !9
  %17475 = add i32 %17474, %17473
  store i32 %17475, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %17476 = load i32, ptr %39, align 4, !tbaa !9
  %17477 = load i32, ptr %38, align 4, !tbaa !9
  %17478 = add i32 %17477, %17476
  store i32 %17478, ptr %38, align 4, !tbaa !9
  %17479 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17479, ptr %11, align 4, !tbaa !9
  %17480 = load i32, ptr %38, align 4, !tbaa !9
  %17481 = load i32, ptr %37, align 4, !tbaa !9
  %17482 = sub i32 %17481, %17480
  store i32 %17482, ptr %37, align 4, !tbaa !9
  %17483 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17483, ptr %13, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %17484 = load i32, ptr %37, align 4, !tbaa !9
  %17485 = load i32, ptr %38, align 4, !tbaa !9
  %17486 = icmp sle i32 %17484, %17485
  %17487 = zext i1 %17486 to i32
  store i32 %17487, ptr %37, align 4, !tbaa !9
  %17488 = load i32, ptr %37, align 4, !tbaa !9
  %17489 = icmp ne i32 %17488, 0
  br i1 %17489, label %17490, label %17491

17490:                                            ; preds = %17425
  br label %17499

17491:                                            ; preds = %17425
  %17492 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17492, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %17493 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17493, ptr %39, align 4, !tbaa !9
  %17494 = load ptr, ptr %8, align 8, !tbaa !5
  %17495 = load i32, ptr %37, align 4, !tbaa !9
  %17496 = load i32, ptr %38, align 4, !tbaa !9
  %17497 = load i32, ptr %39, align 4, !tbaa !9
  %17498 = call i32 @w2c_hermes_0x5F_memset(ptr noundef %17494, i32 noundef %17495, i32 noundef %17496, i32 noundef %17497)
  store i32 %17498, ptr %37, align 4, !tbaa !9
  br label %17499

17499:                                            ; preds = %17491, %17490, %16597
  %17500 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %17500, ptr %37, align 4, !tbaa !9
  %17501 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %17501, ptr %38, align 4, !tbaa !9
  %17502 = load ptr, ptr %8, align 8, !tbaa !5
  %17503 = getelementptr inbounds %struct.w2c_hermes, ptr %17502, i32 0, i32 6
  %17504 = load i32, ptr %38, align 4, !tbaa !9
  %17505 = zext i32 %17504 to i64
  %17506 = add i64 %17505, 32
  %17507 = call i32 @i32_load(ptr noundef %17503, i64 noundef %17506)
  store i32 %17507, ptr %38, align 4, !tbaa !9
  %17508 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17508, ptr %11, align 4, !tbaa !9
  %17509 = load i32, ptr %37, align 4, !tbaa !9
  %17510 = load i32, ptr %38, align 4, !tbaa !9
  %17511 = icmp ne i32 %17509, %17510
  %17512 = zext i1 %17511 to i32
  store i32 %17512, ptr %37, align 4, !tbaa !9
  %17513 = load i32, ptr %37, align 4, !tbaa !9
  %17514 = icmp ne i32 %17513, 0
  br i1 %17514, label %17515, label %17519

17515:                                            ; preds = %17499
  %17516 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17516, ptr %37, align 4, !tbaa !9
  %17517 = load ptr, ptr %8, align 8, !tbaa !5
  %17518 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %17517, i32 noundef %17518)
  br label %17519

17519:                                            ; preds = %17515, %17499
  %17520 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %17520, ptr %37, align 4, !tbaa !9
  %17521 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %17521, ptr %38, align 4, !tbaa !9
  %17522 = load ptr, ptr %8, align 8, !tbaa !5
  %17523 = getelementptr inbounds %struct.w2c_hermes, ptr %17522, i32 0, i32 6
  %17524 = load i32, ptr %38, align 4, !tbaa !9
  %17525 = zext i32 %17524 to i64
  %17526 = add i64 %17525, 64
  %17527 = call i32 @i32_load(ptr noundef %17523, i64 noundef %17526)
  store i32 %17527, ptr %38, align 4, !tbaa !9
  %17528 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17528, ptr %11, align 4, !tbaa !9
  %17529 = load i32, ptr %37, align 4, !tbaa !9
  %17530 = load i32, ptr %38, align 4, !tbaa !9
  %17531 = icmp ne i32 %17529, %17530
  %17532 = zext i1 %17531 to i32
  store i32 %17532, ptr %37, align 4, !tbaa !9
  %17533 = load i32, ptr %37, align 4, !tbaa !9
  %17534 = icmp ne i32 %17533, 0
  br i1 %17534, label %17535, label %17539

17535:                                            ; preds = %17519
  %17536 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17536, ptr %37, align 4, !tbaa !9
  %17537 = load ptr, ptr %8, align 8, !tbaa !5
  %17538 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %17537, i32 noundef %17538)
  br label %17539

17539:                                            ; preds = %17535, %17519
  %17540 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %17540, ptr %37, align 4, !tbaa !9
  %17541 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17541, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %17542 = load i32, ptr %39, align 4, !tbaa !9
  %17543 = load i32, ptr %38, align 4, !tbaa !9
  %17544 = add i32 %17543, %17542
  store i32 %17544, ptr %38, align 4, !tbaa !9
  %17545 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17545, ptr %13, align 4, !tbaa !9
  %17546 = load i32, ptr %37, align 4, !tbaa !9
  %17547 = load i32, ptr %38, align 4, !tbaa !9
  %17548 = icmp ugt i32 %17546, %17547
  %17549 = zext i1 %17548 to i32
  store i32 %17549, ptr %37, align 4, !tbaa !9
  %17550 = load i32, ptr %37, align 4, !tbaa !9
  %17551 = icmp ne i32 %17550, 0
  br i1 %17551, label %17552, label %17553

17552:                                            ; preds = %17539
  br label %15979

17553:                                            ; preds = %17539
  br label %17555

17554:                                            ; preds = %17068, %16202
  br label %18024

17555:                                            ; preds = %17553
  %17556 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17556, ptr %37, align 4, !tbaa !9
  %17557 = load ptr, ptr %8, align 8, !tbaa !5
  %17558 = getelementptr inbounds %struct.w2c_hermes, ptr %17557, i32 0, i32 6
  %17559 = load i32, ptr %37, align 4, !tbaa !9
  %17560 = zext i32 %17559 to i64
  %17561 = call i32 @i32_load(ptr noundef %17558, i64 noundef %17560)
  store i32 %17561, ptr %37, align 4, !tbaa !9
  %17562 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17562, ptr %12, align 4, !tbaa !9
  %17563 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17563, ptr %38, align 4, !tbaa !9
  %17564 = load ptr, ptr %8, align 8, !tbaa !5
  %17565 = getelementptr inbounds %struct.w2c_hermes, ptr %17564, i32 0, i32 6
  %17566 = load i32, ptr %38, align 4, !tbaa !9
  %17567 = zext i32 %17566 to i64
  %17568 = add i64 %17567, 4
  %17569 = call i32 @i32_load(ptr noundef %17565, i64 noundef %17568)
  store i32 %17569, ptr %38, align 4, !tbaa !9
  %17570 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17570, ptr %11, align 4, !tbaa !9
  %17571 = load i32, ptr %37, align 4, !tbaa !9
  %17572 = load i32, ptr %38, align 4, !tbaa !9
  %17573 = icmp eq i32 %17571, %17572
  %17574 = zext i1 %17573 to i32
  store i32 %17574, ptr %37, align 4, !tbaa !9
  %17575 = load i32, ptr %37, align 4, !tbaa !9
  %17576 = icmp ne i32 %17575, 0
  br i1 %17576, label %17577, label %17578

17577:                                            ; preds = %17555
  br label %17699

17578:                                            ; preds = %17555
  br label %17579

17579:                                            ; preds = %17601, %17578
  %17580 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17580, ptr %37, align 4, !tbaa !9
  %17581 = load ptr, ptr %8, align 8, !tbaa !5
  %17582 = getelementptr inbounds %struct.w2c_hermes, ptr %17581, i32 0, i32 6
  %17583 = load i32, ptr %37, align 4, !tbaa !9
  %17584 = zext i32 %17583 to i64
  %17585 = call i32 @i32_load(ptr noundef %17582, i64 noundef %17584)
  store i32 %17585, ptr %37, align 4, !tbaa !9
  %17586 = load i32, ptr %37, align 4, !tbaa !9
  %17587 = icmp ne i32 %17586, 0
  br i1 %17587, label %17588, label %17603

17588:                                            ; preds = %17579
  %17589 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17589, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17590 = load i32, ptr %38, align 4, !tbaa !9
  %17591 = load i32, ptr %37, align 4, !tbaa !9
  %17592 = add i32 %17591, %17590
  store i32 %17592, ptr %37, align 4, !tbaa !9
  %17593 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17593, ptr %12, align 4, !tbaa !9
  %17594 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17594, ptr %38, align 4, !tbaa !9
  %17595 = load i32, ptr %37, align 4, !tbaa !9
  %17596 = load i32, ptr %38, align 4, !tbaa !9
  %17597 = icmp ne i32 %17595, %17596
  %17598 = zext i1 %17597 to i32
  store i32 %17598, ptr %37, align 4, !tbaa !9
  %17599 = load i32, ptr %37, align 4, !tbaa !9
  %17600 = icmp ne i32 %17599, 0
  br i1 %17600, label %17601, label %17602

17601:                                            ; preds = %17588
  br label %17579

17602:                                            ; preds = %17588
  br label %17699

17603:                                            ; preds = %17579
  %17604 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17604, ptr %37, align 4, !tbaa !9
  %17605 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17605, ptr %38, align 4, !tbaa !9
  %17606 = load i32, ptr %37, align 4, !tbaa !9
  %17607 = load i32, ptr %38, align 4, !tbaa !9
  %17608 = icmp eq i32 %17606, %17607
  %17609 = zext i1 %17608 to i32
  store i32 %17609, ptr %37, align 4, !tbaa !9
  %17610 = load i32, ptr %37, align 4, !tbaa !9
  %17611 = icmp ne i32 %17610, 0
  br i1 %17611, label %17612, label %17613

17612:                                            ; preds = %17603
  br label %17674

17613:                                            ; preds = %17603
  %17614 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17614, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17615 = load i32, ptr %38, align 4, !tbaa !9
  %17616 = load i32, ptr %37, align 4, !tbaa !9
  %17617 = add i32 %17616, %17615
  store i32 %17617, ptr %37, align 4, !tbaa !9
  %17618 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17618, ptr %18, align 4, !tbaa !9
  %17619 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17619, ptr %38, align 4, !tbaa !9
  %17620 = load i32, ptr %37, align 4, !tbaa !9
  %17621 = load i32, ptr %38, align 4, !tbaa !9
  %17622 = icmp eq i32 %17620, %17621
  %17623 = zext i1 %17622 to i32
  store i32 %17623, ptr %37, align 4, !tbaa !9
  %17624 = load i32, ptr %37, align 4, !tbaa !9
  %17625 = icmp ne i32 %17624, 0
  br i1 %17625, label %17626, label %17627

17626:                                            ; preds = %17613
  br label %17674

17627:                                            ; preds = %17613
  br label %17628

17628:                                            ; preds = %17664, %17627
  %17629 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17629, ptr %37, align 4, !tbaa !9
  %17630 = load ptr, ptr %8, align 8, !tbaa !5
  %17631 = getelementptr inbounds %struct.w2c_hermes, ptr %17630, i32 0, i32 6
  %17632 = load i32, ptr %37, align 4, !tbaa !9
  %17633 = zext i32 %17632 to i64
  %17634 = call i32 @i32_load(ptr noundef %17631, i64 noundef %17633)
  store i32 %17634, ptr %37, align 4, !tbaa !9
  %17635 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17635, ptr %13, align 4, !tbaa !9
  %17636 = load i32, ptr %37, align 4, !tbaa !9
  %17637 = icmp ne i32 %17636, 0
  br i1 %17637, label %17638, label %17651

17638:                                            ; preds = %17628
  %17639 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17639, ptr %37, align 4, !tbaa !9
  %17640 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17640, ptr %38, align 4, !tbaa !9
  %17641 = load ptr, ptr %8, align 8, !tbaa !5
  %17642 = getelementptr inbounds %struct.w2c_hermes, ptr %17641, i32 0, i32 6
  %17643 = load i32, ptr %37, align 4, !tbaa !9
  %17644 = zext i32 %17643 to i64
  %17645 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17642, i64 noundef %17644, i32 noundef %17645)
  %17646 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17646, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17647 = load i32, ptr %38, align 4, !tbaa !9
  %17648 = load i32, ptr %37, align 4, !tbaa !9
  %17649 = add i32 %17648, %17647
  store i32 %17649, ptr %37, align 4, !tbaa !9
  %17650 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17650, ptr %12, align 4, !tbaa !9
  br label %17651

17651:                                            ; preds = %17638, %17628
  %17652 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %17652, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17653 = load i32, ptr %38, align 4, !tbaa !9
  %17654 = load i32, ptr %37, align 4, !tbaa !9
  %17655 = add i32 %17654, %17653
  store i32 %17655, ptr %37, align 4, !tbaa !9
  %17656 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17656, ptr %18, align 4, !tbaa !9
  %17657 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17657, ptr %38, align 4, !tbaa !9
  %17658 = load i32, ptr %37, align 4, !tbaa !9
  %17659 = load i32, ptr %38, align 4, !tbaa !9
  %17660 = icmp ne i32 %17658, %17659
  %17661 = zext i1 %17660 to i32
  store i32 %17661, ptr %37, align 4, !tbaa !9
  %17662 = load i32, ptr %37, align 4, !tbaa !9
  %17663 = icmp ne i32 %17662, 0
  br i1 %17663, label %17664, label %17665

17664:                                            ; preds = %17651
  br label %17628

17665:                                            ; preds = %17651
  %17666 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17666, ptr %37, align 4, !tbaa !9
  %17667 = load ptr, ptr %8, align 8, !tbaa !5
  %17668 = getelementptr inbounds %struct.w2c_hermes, ptr %17667, i32 0, i32 6
  %17669 = load i32, ptr %37, align 4, !tbaa !9
  %17670 = zext i32 %17669 to i64
  %17671 = add i64 %17670, 4
  %17672 = call i32 @i32_load(ptr noundef %17668, i64 noundef %17671)
  store i32 %17672, ptr %37, align 4, !tbaa !9
  %17673 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17673, ptr %11, align 4, !tbaa !9
  br label %17674

17674:                                            ; preds = %17665, %17626, %17612
  %17675 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17675, ptr %37, align 4, !tbaa !9
  %17676 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17676, ptr %38, align 4, !tbaa !9
  %17677 = load i32, ptr %37, align 4, !tbaa !9
  %17678 = load i32, ptr %38, align 4, !tbaa !9
  %17679 = icmp eq i32 %17677, %17678
  %17680 = zext i1 %17679 to i32
  store i32 %17680, ptr %37, align 4, !tbaa !9
  %17681 = load i32, ptr %37, align 4, !tbaa !9
  %17682 = icmp ne i32 %17681, 0
  br i1 %17682, label %17683, label %17684

17683:                                            ; preds = %17674
  br label %17699

17684:                                            ; preds = %17674
  %17685 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %17685, ptr %37, align 4, !tbaa !9
  %17686 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %17686, ptr %38, align 4, !tbaa !9
  %17687 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17687, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %17688 = load ptr, ptr %8, align 8, !tbaa !5
  %17689 = load i32, ptr %38, align 4, !tbaa !9
  %17690 = load i32, ptr %39, align 4, !tbaa !9
  %17691 = load i32, ptr %40, align 4, !tbaa !9
  %17692 = call i32 @w2c_hermes_memmove(ptr noundef %17688, i32 noundef %17689, i32 noundef %17690, i32 noundef %17691)
  store i32 %17692, ptr %38, align 4, !tbaa !9
  %17693 = load ptr, ptr %8, align 8, !tbaa !5
  %17694 = getelementptr inbounds %struct.w2c_hermes, ptr %17693, i32 0, i32 6
  %17695 = load i32, ptr %37, align 4, !tbaa !9
  %17696 = zext i32 %17695 to i64
  %17697 = add i64 %17696, 4
  %17698 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17694, i64 noundef %17697, i32 noundef %17698)
  br label %17699

17699:                                            ; preds = %17684, %17683, %17602, %17577, %15966
  %17700 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %17700, ptr %37, align 4, !tbaa !9
  %17701 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17701, ptr %38, align 4, !tbaa !9
  %17702 = load i32, ptr %37, align 4, !tbaa !9
  %17703 = load i32, ptr %38, align 4, !tbaa !9
  %17704 = icmp ne i32 %17702, %17703
  %17705 = zext i1 %17704 to i32
  store i32 %17705, ptr %37, align 4, !tbaa !9
  %17706 = load i32, ptr %37, align 4, !tbaa !9
  %17707 = icmp ne i32 %17706, 0
  br i1 %17707, label %17708, label %17709

17708:                                            ; preds = %17699
  br label %15934

17709:                                            ; preds = %17699
  %17710 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17710, ptr %37, align 4, !tbaa !9
  %17711 = load i32, ptr %37, align 4, !tbaa !9
  %17712 = icmp ne i32 %17711, 0
  br i1 %17712, label %17713, label %17717

17713:                                            ; preds = %17709
  %17714 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17714, ptr %37, align 4, !tbaa !9
  %17715 = load ptr, ptr %8, align 8, !tbaa !5
  %17716 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %17715, i32 noundef %17716)
  br label %17717

17717:                                            ; preds = %17713, %17709
  %17718 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %17718, ptr %37, align 4, !tbaa !9
  store i32 80, ptr %38, align 4, !tbaa !9
  %17719 = load i32, ptr %38, align 4, !tbaa !9
  %17720 = load i32, ptr %37, align 4, !tbaa !9
  %17721 = add i32 %17720, %17719
  store i32 %17721, ptr %37, align 4, !tbaa !9
  %17722 = load i32, ptr %37, align 4, !tbaa !9
  %17723 = load ptr, ptr %8, align 8, !tbaa !5
  %17724 = getelementptr inbounds %struct.w2c_hermes, ptr %17723, i32 0, i32 3
  store i32 %17722, ptr %17724, align 8, !tbaa !13
  %17725 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17725, ptr %37, align 4, !tbaa !9
  %17726 = load ptr, ptr %8, align 8, !tbaa !5
  %17727 = getelementptr inbounds %struct.w2c_hermes, ptr %17726, i32 0, i32 6
  %17728 = load i32, ptr %37, align 4, !tbaa !9
  %17729 = zext i32 %17728 to i64
  %17730 = add i64 %17729, 220
  %17731 = call i32 @i32_load(ptr noundef %17727, i64 noundef %17730)
  store i32 %17731, ptr %37, align 4, !tbaa !9
  %17732 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17732, ptr %14, align 4, !tbaa !9
  %17733 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17733, ptr %38, align 4, !tbaa !9
  %17734 = load ptr, ptr %8, align 8, !tbaa !5
  %17735 = getelementptr inbounds %struct.w2c_hermes, ptr %17734, i32 0, i32 6
  %17736 = load i32, ptr %38, align 4, !tbaa !9
  %17737 = zext i32 %17736 to i64
  %17738 = add i64 %17737, 224
  %17739 = call i32 @i32_load(ptr noundef %17735, i64 noundef %17738)
  store i32 %17739, ptr %38, align 4, !tbaa !9
  %17740 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17740, ptr %10, align 4, !tbaa !9
  %17741 = load i32, ptr %37, align 4, !tbaa !9
  %17742 = load i32, ptr %38, align 4, !tbaa !9
  %17743 = icmp eq i32 %17741, %17742
  %17744 = zext i1 %17743 to i32
  store i32 %17744, ptr %37, align 4, !tbaa !9
  %17745 = load i32, ptr %37, align 4, !tbaa !9
  %17746 = icmp ne i32 %17745, 0
  br i1 %17746, label %17747, label %17748

17747:                                            ; preds = %17717
  br label %17878

17748:                                            ; preds = %17717
  %17749 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17749, ptr %37, align 4, !tbaa !9
  store i32 200, ptr %38, align 4, !tbaa !9
  %17750 = load i32, ptr %38, align 4, !tbaa !9
  %17751 = load i32, ptr %37, align 4, !tbaa !9
  %17752 = add i32 %17751, %17750
  store i32 %17752, ptr %37, align 4, !tbaa !9
  %17753 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17753, ptr %11, align 4, !tbaa !9
  br label %17754

17754:                                            ; preds = %17876, %17748
  %17755 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %17755, ptr %37, align 4, !tbaa !9
  %17756 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17756, ptr %38, align 4, !tbaa !9
  %17757 = load ptr, ptr %8, align 8, !tbaa !5
  %17758 = getelementptr inbounds %struct.w2c_hermes, ptr %17757, i32 0, i32 6
  %17759 = load i32, ptr %38, align 4, !tbaa !9
  %17760 = zext i32 %17759 to i64
  %17761 = call i32 @i32_load(ptr noundef %17758, i64 noundef %17760)
  store i32 %17761, ptr %38, align 4, !tbaa !9
  %17762 = load ptr, ptr %8, align 8, !tbaa !5
  %17763 = getelementptr inbounds %struct.w2c_hermes, ptr %17762, i32 0, i32 6
  %17764 = load i32, ptr %37, align 4, !tbaa !9
  %17765 = zext i32 %17764 to i64
  %17766 = add i64 %17765, 4
  %17767 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17763, i64 noundef %17766, i32 noundef %17767)
  %17768 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %17768, ptr %37, align 4, !tbaa !9
  %17769 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17769, ptr %38, align 4, !tbaa !9
  %17770 = load ptr, ptr %8, align 8, !tbaa !5
  %17771 = getelementptr inbounds %struct.w2c_hermes, ptr %17770, i32 0, i32 6
  %17772 = load i32, ptr %38, align 4, !tbaa !9
  %17773 = zext i32 %17772 to i64
  %17774 = add i64 %17773, 4
  %17775 = call i32 @i32_load(ptr noundef %17771, i64 noundef %17774)
  store i32 %17775, ptr %38, align 4, !tbaa !9
  %17776 = load ptr, ptr %8, align 8, !tbaa !5
  %17777 = getelementptr inbounds %struct.w2c_hermes, ptr %17776, i32 0, i32 6
  %17778 = load i32, ptr %37, align 4, !tbaa !9
  %17779 = zext i32 %17778 to i64
  %17780 = add i64 %17779, 8
  %17781 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %17777, i64 noundef %17780, i32 noundef %17781)
  store i32 15, ptr %37, align 4, !tbaa !9
  %17782 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17782, ptr %12, align 4, !tbaa !9
  %17783 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17783, ptr %37, align 4, !tbaa !9
  %17784 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %17784, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %17785 = load i32, ptr %39, align 4, !tbaa !9
  %17786 = load i32, ptr %38, align 4, !tbaa !9
  %17787 = add i32 %17786, %17785
  store i32 %17787, ptr %38, align 4, !tbaa !9
  %17788 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %17788, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %17789 = load i32, ptr %40, align 4, !tbaa !9
  %17790 = load i32, ptr %39, align 4, !tbaa !9
  %17791 = add i32 %17790, %17789
  store i32 %17791, ptr %39, align 4, !tbaa !9
  %17792 = load ptr, ptr %8, align 8, !tbaa !5
  %17793 = load i32, ptr %37, align 4, !tbaa !9
  %17794 = load i32, ptr %38, align 4, !tbaa !9
  %17795 = load i32, ptr %39, align 4, !tbaa !9
  %17796 = call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef %17792, i32 noundef %17793, i32 noundef %17794, i32 noundef %17795)
  store i32 %17796, ptr %37, align 4, !tbaa !9
  %17797 = load i32, ptr %37, align 4, !tbaa !9
  %17798 = icmp ne i32 %17797, 0
  %17799 = xor i1 %17798, true
  %17800 = zext i1 %17799 to i32
  store i32 %17800, ptr %37, align 4, !tbaa !9
  %17801 = load i32, ptr %37, align 4, !tbaa !9
  %17802 = icmp ne i32 %17801, 0
  br i1 %17802, label %17803, label %17804

17803:                                            ; preds = %17754
  br label %18015

17804:                                            ; preds = %17754
  %17805 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %17805, ptr %37, align 4, !tbaa !9
  %17806 = load ptr, ptr %8, align 8, !tbaa !5
  %17807 = getelementptr inbounds %struct.w2c_hermes, ptr %17806, i32 0, i32 6
  %17808 = load i32, ptr %37, align 4, !tbaa !9
  %17809 = zext i32 %17808 to i64
  %17810 = add i64 %17809, 12
  %17811 = call i32 @i32_load(ptr noundef %17807, i64 noundef %17810)
  store i32 %17811, ptr %37, align 4, !tbaa !9
  %17812 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17812, ptr %13, align 4, !tbaa !9
  %17813 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17813, ptr %38, align 4, !tbaa !9
  %17814 = load ptr, ptr %8, align 8, !tbaa !5
  %17815 = getelementptr inbounds %struct.w2c_hermes, ptr %17814, i32 0, i32 6
  %17816 = load i32, ptr %38, align 4, !tbaa !9
  %17817 = zext i32 %17816 to i64
  %17818 = add i64 %17817, 200
  %17819 = call i32 @i32_load(ptr noundef %17815, i64 noundef %17818)
  store i32 %17819, ptr %38, align 4, !tbaa !9
  %17820 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17820, ptr %39, align 4, !tbaa !9
  %17821 = load ptr, ptr %8, align 8, !tbaa !5
  %17822 = getelementptr inbounds %struct.w2c_hermes, ptr %17821, i32 0, i32 6
  %17823 = load i32, ptr %39, align 4, !tbaa !9
  %17824 = zext i32 %17823 to i64
  %17825 = add i64 %17824, 212
  %17826 = call i32 @i32_load(ptr noundef %17822, i64 noundef %17825)
  store i32 %17826, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %17827 = load i32, ptr %40, align 4, !tbaa !9
  %17828 = load i32, ptr %39, align 4, !tbaa !9
  %17829 = mul i32 %17828, %17827
  store i32 %17829, ptr %39, align 4, !tbaa !9
  %17830 = load i32, ptr %39, align 4, !tbaa !9
  %17831 = load i32, ptr %38, align 4, !tbaa !9
  %17832 = add i32 %17831, %17830
  store i32 %17832, ptr %38, align 4, !tbaa !9
  %17833 = load i32, ptr %37, align 4, !tbaa !9
  %17834 = load i32, ptr %38, align 4, !tbaa !9
  %17835 = icmp eq i32 %17833, %17834
  %17836 = zext i1 %17835 to i32
  store i32 %17836, ptr %37, align 4, !tbaa !9
  %17837 = load i32, ptr %37, align 4, !tbaa !9
  %17838 = icmp ne i32 %17837, 0
  br i1 %17838, label %17839, label %17840

17839:                                            ; preds = %17804
  br label %18015

17840:                                            ; preds = %17804
  %17841 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17841, ptr %37, align 4, !tbaa !9
  %17842 = load ptr, ptr %8, align 8, !tbaa !5
  %17843 = getelementptr inbounds %struct.w2c_hermes, ptr %17842, i32 0, i32 6
  %17844 = load i32, ptr %37, align 4, !tbaa !9
  %17845 = zext i32 %17844 to i64
  %17846 = add i64 %17845, 24
  %17847 = call i32 @i32_load(ptr noundef %17843, i64 noundef %17846)
  store i32 %17847, ptr %37, align 4, !tbaa !9
  %17848 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17848, ptr %38, align 4, !tbaa !9
  %17849 = load ptr, ptr %8, align 8, !tbaa !5
  %17850 = getelementptr inbounds %struct.w2c_hermes, ptr %17849, i32 0, i32 6
  %17851 = load i32, ptr %38, align 4, !tbaa !9
  %17852 = zext i32 %17851 to i64
  %17853 = add i64 %17852, 8
  %17854 = call i32 @i32_load16_u(ptr noundef %17850, i64 noundef %17853)
  store i32 %17854, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %17855 = load i32, ptr %39, align 4, !tbaa !9
  %17856 = load i32, ptr %38, align 4, !tbaa !9
  %17857 = sub i32 %17856, %17855
  store i32 %17857, ptr %38, align 4, !tbaa !9
  %17858 = load ptr, ptr %8, align 8, !tbaa !5
  %17859 = getelementptr inbounds %struct.w2c_hermes, ptr %17858, i32 0, i32 6
  %17860 = load i32, ptr %37, align 4, !tbaa !9
  %17861 = zext i32 %17860 to i64
  %17862 = add i64 %17861, 4
  %17863 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %17859, i64 noundef %17862, i32 noundef %17863)
  %17864 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17864, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %17865 = load i32, ptr %38, align 4, !tbaa !9
  %17866 = load i32, ptr %37, align 4, !tbaa !9
  %17867 = add i32 %17866, %17865
  store i32 %17867, ptr %37, align 4, !tbaa !9
  %17868 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17868, ptr %14, align 4, !tbaa !9
  %17869 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %17869, ptr %38, align 4, !tbaa !9
  %17870 = load i32, ptr %37, align 4, !tbaa !9
  %17871 = load i32, ptr %38, align 4, !tbaa !9
  %17872 = icmp ne i32 %17870, %17871
  %17873 = zext i1 %17872 to i32
  store i32 %17873, ptr %37, align 4, !tbaa !9
  %17874 = load i32, ptr %37, align 4, !tbaa !9
  %17875 = icmp ne i32 %17874, 0
  br i1 %17875, label %17876, label %17877

17876:                                            ; preds = %17840
  br label %17754

17877:                                            ; preds = %17840
  br label %17878

17878:                                            ; preds = %17877, %17747, %15471
  store i32 0, ptr %37, align 4, !tbaa !9
  %17879 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17879, ptr %13, align 4, !tbaa !9
  %17880 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17880, ptr %37, align 4, !tbaa !9
  %17881 = load ptr, ptr %8, align 8, !tbaa !5
  %17882 = getelementptr inbounds %struct.w2c_hermes, ptr %17881, i32 0, i32 6
  %17883 = load i32, ptr %37, align 4, !tbaa !9
  %17884 = zext i32 %17883 to i64
  %17885 = add i64 %17884, 144
  %17886 = call i32 @i32_load(ptr noundef %17882, i64 noundef %17885)
  store i32 %17886, ptr %37, align 4, !tbaa !9
  %17887 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17887, ptr %14, align 4, !tbaa !9
  %17888 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %17888, ptr %38, align 4, !tbaa !9
  %17889 = load ptr, ptr %8, align 8, !tbaa !5
  %17890 = getelementptr inbounds %struct.w2c_hermes, ptr %17889, i32 0, i32 6
  %17891 = load i32, ptr %38, align 4, !tbaa !9
  %17892 = zext i32 %17891 to i64
  %17893 = add i64 %17892, 148
  %17894 = call i32 @i32_load(ptr noundef %17890, i64 noundef %17893)
  store i32 %17894, ptr %38, align 4, !tbaa !9
  %17895 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %17895, ptr %10, align 4, !tbaa !9
  %17896 = load i32, ptr %37, align 4, !tbaa !9
  %17897 = load i32, ptr %38, align 4, !tbaa !9
  %17898 = icmp ne i32 %17896, %17897
  %17899 = zext i1 %17898 to i32
  store i32 %17899, ptr %37, align 4, !tbaa !9
  %17900 = load i32, ptr %37, align 4, !tbaa !9
  %17901 = icmp ne i32 %17900, 0
  br i1 %17901, label %17902, label %18004

17902:                                            ; preds = %17878
  br label %17903

17903:                                            ; preds = %18002, %17902
  %17904 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17904, ptr %37, align 4, !tbaa !9
  %17905 = load ptr, ptr %8, align 8, !tbaa !5
  %17906 = getelementptr inbounds %struct.w2c_hermes, ptr %17905, i32 0, i32 6
  %17907 = load i32, ptr %37, align 4, !tbaa !9
  %17908 = zext i32 %17907 to i64
  %17909 = call i32 @i32_load(ptr noundef %17906, i64 noundef %17908)
  store i32 %17909, ptr %37, align 4, !tbaa !9
  %17910 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17910, ptr %11, align 4, !tbaa !9
  %17911 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %17911, ptr %38, align 4, !tbaa !9
  %17912 = load ptr, ptr %8, align 8, !tbaa !5
  %17913 = getelementptr inbounds %struct.w2c_hermes, ptr %17912, i32 0, i32 6
  %17914 = load i32, ptr %38, align 4, !tbaa !9
  %17915 = zext i32 %17914 to i64
  %17916 = call i32 @i32_load(ptr noundef %17913, i64 noundef %17915)
  store i32 %17916, ptr %38, align 4, !tbaa !9
  %17917 = load ptr, ptr %8, align 8, !tbaa !5
  %17918 = getelementptr inbounds %struct.w2c_hermes, ptr %17917, i32 0, i32 6
  %17919 = load i32, ptr %38, align 4, !tbaa !9
  %17920 = zext i32 %17919 to i64
  %17921 = add i64 %17920, 16
  %17922 = call i32 @i32_load(ptr noundef %17918, i64 noundef %17921)
  store i32 %17922, ptr %38, align 4, !tbaa !9
  %17923 = load i32, ptr %38, align 4, !tbaa !9
  %17924 = load ptr, ptr %8, align 8, !tbaa !5
  %17925 = getelementptr inbounds %struct.w2c_hermes, ptr %17924, i32 0, i32 7
  %17926 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17925, i32 0, i32 2
  %17927 = load i32, ptr %17926, align 4, !tbaa !18
  %17928 = icmp ult i32 %17923, %17927
  br i1 %17928, label %17929, label %17952

17929:                                            ; preds = %17903
  %17930 = load ptr, ptr %8, align 8, !tbaa !5
  %17931 = getelementptr inbounds %struct.w2c_hermes, ptr %17930, i32 0, i32 7
  %17932 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17931, i32 0, i32 0
  %17933 = load ptr, ptr %17932, align 8, !tbaa !19
  %17934 = load i32, ptr %38, align 4, !tbaa !9
  %17935 = zext i32 %17934 to i64
  %17936 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17933, i64 %17935
  %17937 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17936, i32 0, i32 1
  %17938 = load ptr, ptr %17937, align 8, !tbaa !20
  %17939 = icmp ne ptr %17938, null
  br i1 %17939, label %17940, label %17952

17940:                                            ; preds = %17929
  %17941 = load ptr, ptr @w2c_hermes_t5, align 8, !tbaa !5
  %17942 = load ptr, ptr %8, align 8, !tbaa !5
  %17943 = getelementptr inbounds %struct.w2c_hermes, ptr %17942, i32 0, i32 7
  %17944 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17943, i32 0, i32 0
  %17945 = load ptr, ptr %17944, align 8, !tbaa !19
  %17946 = load i32, ptr %38, align 4, !tbaa !9
  %17947 = zext i32 %17946 to i64
  %17948 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17945, i64 %17947
  %17949 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17948, i32 0, i32 0
  %17950 = load ptr, ptr %17949, align 8, !tbaa !22
  %17951 = call zeroext i1 @func_types_eq(ptr noundef %17941, ptr noundef %17950)
  br label %17952

17952:                                            ; preds = %17940, %17929, %17903
  %17953 = phi i1 [ false, %17929 ], [ false, %17903 ], [ %17951, %17940 ]
  %17954 = xor i1 %17953, true
  %17955 = xor i1 %17954, true
  %17956 = zext i1 %17955 to i32
  %17957 = sext i32 %17956 to i64
  %17958 = call i64 @llvm.expect.i64(i64 %17957, i64 1)
  %17959 = icmp ne i64 %17958, 0
  br i1 %17959, label %17962, label %17960

17960:                                            ; preds = %17952
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

17961:                                            ; No predecessors!
  br label %17962

17962:                                            ; preds = %17961, %17952
  %17963 = phi i1 [ true, %17952 ], [ false, %17961 ]
  %17964 = zext i1 %17963 to i32
  %17965 = load ptr, ptr %8, align 8, !tbaa !5
  %17966 = getelementptr inbounds %struct.w2c_hermes, ptr %17965, i32 0, i32 7
  %17967 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17966, i32 0, i32 0
  %17968 = load ptr, ptr %17967, align 8, !tbaa !19
  %17969 = load i32, ptr %38, align 4, !tbaa !9
  %17970 = zext i32 %17969 to i64
  %17971 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17968, i64 %17970
  %17972 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17971, i32 0, i32 1
  %17973 = load ptr, ptr %17972, align 8, !tbaa !20
  %17974 = load ptr, ptr %8, align 8, !tbaa !5
  %17975 = getelementptr inbounds %struct.w2c_hermes, ptr %17974, i32 0, i32 7
  %17976 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %17975, i32 0, i32 0
  %17977 = load ptr, ptr %17976, align 8, !tbaa !19
  %17978 = load i32, ptr %38, align 4, !tbaa !9
  %17979 = zext i32 %17978 to i64
  %17980 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17977, i64 %17979
  %17981 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %17980, i32 0, i32 2
  %17982 = load ptr, ptr %17981, align 8, !tbaa !23
  %17983 = load i32, ptr %37, align 4, !tbaa !9
  %17984 = call i32 %17973(ptr noundef %17982, i32 noundef %17983)
  store i32 %17984, ptr %37, align 4, !tbaa !9
  %17985 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %17985, ptr %38, align 4, !tbaa !9
  %17986 = load i32, ptr %38, align 4, !tbaa !9
  %17987 = load i32, ptr %37, align 4, !tbaa !9
  %17988 = or i32 %17987, %17986
  store i32 %17988, ptr %37, align 4, !tbaa !9
  %17989 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17989, ptr %13, align 4, !tbaa !9
  %17990 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %17990, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %17991 = load i32, ptr %38, align 4, !tbaa !9
  %17992 = load i32, ptr %37, align 4, !tbaa !9
  %17993 = add i32 %17992, %17991
  store i32 %17993, ptr %37, align 4, !tbaa !9
  %17994 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %17994, ptr %14, align 4, !tbaa !9
  %17995 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %17995, ptr %38, align 4, !tbaa !9
  %17996 = load i32, ptr %37, align 4, !tbaa !9
  %17997 = load i32, ptr %38, align 4, !tbaa !9
  %17998 = icmp ne i32 %17996, %17997
  %17999 = zext i1 %17998 to i32
  store i32 %17999, ptr %37, align 4, !tbaa !9
  %18000 = load i32, ptr %37, align 4, !tbaa !9
  %18001 = icmp ne i32 %18000, 0
  br i1 %18001, label %18002, label %18003

18002:                                            ; preds = %17962
  br label %17903

18003:                                            ; preds = %17962
  br label %18004

18004:                                            ; preds = %18003, %17878
  %18005 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %18005, ptr %37, align 4, !tbaa !9
  %18006 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %18006, ptr %38, align 4, !tbaa !9
  %18007 = load ptr, ptr %8, align 8, !tbaa !5
  %18008 = getelementptr inbounds %struct.w2c_hermes, ptr %18007, i32 0, i32 6
  %18009 = load i32, ptr %37, align 4, !tbaa !9
  %18010 = zext i32 %18009 to i64
  %18011 = add i64 %18010, 172
  %18012 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %18008, i64 noundef %18011, i32 noundef %18012)
  %18013 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %18013, ptr %37, align 4, !tbaa !9
  %18014 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %18014, ptr %12, align 4, !tbaa !9
  br label %18015

18015:                                            ; preds = %18004, %17839, %17803
  %18016 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %18016, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %18017 = load i32, ptr %38, align 4, !tbaa !9
  %18018 = load i32, ptr %37, align 4, !tbaa !9
  %18019 = add i32 %18018, %18017
  store i32 %18019, ptr %37, align 4, !tbaa !9
  %18020 = load i32, ptr %37, align 4, !tbaa !9
  %18021 = load ptr, ptr %8, align 8, !tbaa !5
  %18022 = getelementptr inbounds %struct.w2c_hermes, ptr %18021, i32 0, i32 3
  store i32 %18020, ptr %18022, align 8, !tbaa !13
  %18023 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %18023, ptr %37, align 4, !tbaa !9
  br label %18028

18024:                                            ; preds = %17554, %15724, %14262, %12527, %11941, %9989, %9486, %9074, %4211, %3550, %2469, %890, %227
  %18025 = load ptr, ptr %8, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %18025)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

18026:                                            ; preds = %17120, %16254, %15776, %15466, %11675, %7287, %7135, %6761, %6129, %4263, %274
  %18027 = load ptr, ptr %8, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %18027)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

18028:                                            ; preds = %18015
  %18029 = load i32, ptr %37, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 4, 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
  ret i32 %18029
}

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

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef, i32 noundef) #2

declare void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

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

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) #2

declare i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #2

declare i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3AInsertIntoBucketImpl0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #2

declare i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef) #2

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

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

declare void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) #2

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apair0x3Chermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x3E0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fequal_range0x5Babi0x3Av150070x5D0x3Cstd0x3A0x3A_0x5F20x3A0x3A_ClassicAlgPolicy0x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x3E0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x260x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #2

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Chermes0x3A0x3ACodePointRange0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #2

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 = { "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 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #4 = { 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 #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, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !10, i64 24}
!14 = !{!"w2c_hermes", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !15, i64 40, !17, i64 80}
!15 = !{!"", !6, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !16, i64 32}
!16 = !{!"_Bool", !7, i64 0}
!17 = !{!"", !6, i64 0, !10, i64 8, !10, i64 12}
!18 = !{!14, !10, i64 92}
!19 = !{!14, !6, i64 80}
!20 = !{!21, !6, i64 8}
!21 = !{!"", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!21, !6, i64 0}
!23 = !{!21, !6, i64 16}


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

%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t3 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t0 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t4 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t5 = external local_unnamed_addr constant ptr, align 8

; 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_load(ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_u(ptr noundef, i64 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: inlinehint nounwind uwtable
declare hidden void @i32_store16(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

; 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

declare i32 @w2c_hermes_0x5F_memcpy(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_dlfree(ptr noundef, i32 noundef) local_unnamed_addr #1

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @func_types_eq(ptr noundef, ptr noundef) local_unnamed_addr #0

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

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

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

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

declare void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #1

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) local_unnamed_addr #1

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_back0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3Aconstants0x3A0x3AErrorType0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AparseWithBackRefLimit0x3Cchar16_t0x20const0x2A0x3E0x28char16_t0x20const0x2A0x2C0x20char16_t0x20const0x2A0x2C0x20unsigned0x20int0x2C0x20bool0x2C0x20unsigned0x20int0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) local_unnamed_addr #3 {
  %8 = getelementptr inbounds i8, ptr %0, i64 24
  %9 = load i32, ptr %8, align 8, !tbaa !5
  %10 = add i32 %9, -16
  store i32 %10, ptr %8, align 8, !tbaa !5
  %11 = getelementptr inbounds i8, ptr %0, i64 40
  %12 = zext i32 %1 to i64
  %13 = add nuw nsw i64 %12, 144
  %14 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %13)
  %15 = add nuw nsw i64 %12, 148
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %15, i32 noundef %14)
  %16 = load i32, ptr %8, align 8, !tbaa !5
  %17 = add i32 %16, -16
  store i32 %17, ptr %8, align 8, !tbaa !5
  %18 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 4) #5
  %19 = zext i32 %18 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %19, i32 noundef 112456)
  %20 = zext i32 %17 to i64
  %21 = add nuw nsw i64 %20, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %21, i32 noundef %18)
  %22 = add nuw nsw i64 %12, 160
  %23 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %22)
  %24 = add nuw nsw i64 %12, 164
  %25 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %24)
  %26 = icmp ult i32 %23, %25
  br i1 %26, label %27, label %30

27:                                               ; preds = %7
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %21, i32 noundef 0)
  %28 = zext i32 %23 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %28, i32 noundef %18)
  %29 = add i32 %23, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %22, i32 noundef %29)
  br label %33

30:                                               ; preds = %7
  %31 = add i32 %1, 156
  %32 = add i32 %16, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %31, i32 noundef %32) #5
  br label %33

33:                                               ; preds = %30, %27
  %34 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %15)
  %35 = add nuw nsw i64 %12, 152
  %36 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %35)
  %.not = icmp eq i32 %34, %36
  br i1 %.not, label %40, label %37

37:                                               ; preds = %33
  %38 = zext i32 %34 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %38, i32 noundef %18)
  %39 = add i32 %34, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %15, i32 noundef %39)
  br label %63

40:                                               ; preds = %33
  %41 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %13)
  %42 = sub i32 %34, %41
  %43 = ashr i32 %42, 2
  %44 = add nsw i32 %43, 1
  %45 = icmp ugt i32 %44, 1073741823
  br i1 %45, label %.loopexit10280, label %46

46:                                               ; preds = %40
  %47 = ashr i32 %42, 1
  %48 = tail call i32 @llvm.umax.i32(i32 %44, i32 %47)
  %49 = icmp ugt i32 %42, 2147483643
  %50 = select i1 %49, i32 1073741823, i32 %48
  %.not9957 = icmp eq i32 %50, 0
  br i1 %.not9957, label %._crit_edge10464, label %51

51:                                               ; preds = %46
  %52 = icmp ugt i32 %50, 1073741823
  br i1 %52, label %.loopexit10281, label %53

53:                                               ; preds = %51
  %54 = shl nuw i32 %50, 2
  %55 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %54) #5
  br label %._crit_edge10464

._crit_edge10464:                                 ; preds = %46, %53
  %.pre-phi10466 = phi i32 [ %54, %53 ], [ 0, %46 ]
  %.09582 = phi i32 [ %55, %53 ], [ 0, %46 ]
  %56 = and i32 %42, -4
  %57 = add i32 %.09582, %56
  %58 = zext i32 %57 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %58, i32 noundef %18)
  %59 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.09582, i32 noundef %41, i32 noundef %42) #5
  %60 = add i32 %59, %.pre-phi10466
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %35, i32 noundef %60)
  %61 = add i32 %57, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %15, i32 noundef %61)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %13, i32 noundef %59)
  %.not9958 = icmp eq i32 %41, 0
  br i1 %.not9958, label %63, label %62

62:                                               ; preds = %._crit_edge10464
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %41) #5
  br label %63

63:                                               ; preds = %._crit_edge10464, %62, %37
  %64 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %21)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %21, i32 noundef 0)
  %.not9959 = icmp eq i32 %64, 0
  br i1 %.not9959, label %92, label %65

65:                                               ; preds = %63
  %66 = zext i32 %64 to i64
  %67 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %66)
  %68 = zext i32 %67 to i64
  %69 = add nuw nsw i64 %68, 4
  %70 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %69)
  %71 = getelementptr inbounds i8, ptr %0, i64 80
  %72 = getelementptr inbounds i8, ptr %0, i64 92
  %73 = load i32, ptr %72, align 4, !tbaa !15
  %74 = icmp ult i32 %70, %73
  br i1 %74, label %75, label %.critedge, !prof !16

75:                                               ; preds = %65
  %76 = load ptr, ptr %71, align 8, !tbaa !17
  %77 = zext i32 %70 to i64
  %78 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %76, i64 %77
  %79 = getelementptr inbounds i8, ptr %78, i64 8
  %80 = load ptr, ptr %79, align 8, !tbaa !18
  %.not9960 = icmp eq ptr %80, null
  br i1 %.not9960, label %.critedge, label %81, !prof !20

81:                                               ; preds = %75
  %82 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %83 = load ptr, ptr %78, align 8, !tbaa !22
  %84 = tail call zeroext i1 @func_types_eq(ptr noundef %82, ptr noundef %83)
  br i1 %84, label %85, label %.critedge, !prof !16

.critedge:                                        ; preds = %75, %65, %81
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

85:                                               ; preds = %81
  %86 = load ptr, ptr %71, align 8, !tbaa !17
  %87 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %86, i64 %77
  %88 = getelementptr inbounds i8, ptr %87, i64 8
  %89 = load ptr, ptr %88, align 8, !tbaa !18
  %90 = getelementptr inbounds i8, ptr %87, i64 16
  %91 = load ptr, ptr %90, align 8, !tbaa !23
  tail call void %89(ptr noundef %91, i32 noundef %64) #5
  br label %92

92:                                               ; preds = %85, %63
  store i32 %16, ptr %8, align 8, !tbaa !5
  %93 = add nuw nsw i64 %12, 136
  %94 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %93)
  %95 = zext i32 %10 to i64
  %96 = add nuw nsw i64 %95, 1
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %96, i32 noundef %94)
  %97 = add nuw nsw i64 %95, 3
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %97, i32 noundef %94)
  %98 = load i32, ptr %8, align 8, !tbaa !5
  %99 = add i32 %98, -32
  store i32 %99, ptr %8, align 8, !tbaa !5
  %100 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %96)
  %101 = zext i32 %99 to i64
  %102 = add nuw nsw i64 %101, 28
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %102, i32 noundef %5)
  %103 = add nuw nsw i64 %101, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %103, i32 noundef 0)
  %104 = add nuw nsw i64 %101, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %104, i32 noundef %4)
  %105 = add nuw nsw i64 %101, 16
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %105, i32 noundef %100)
  %106 = add nuw nsw i64 %101, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 0)
  %107 = add nuw nsw i64 %101, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %107, i32 noundef %3)
  %108 = add nuw nsw i64 %101, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %101, i32 noundef %1)
  %109 = load i32, ptr %8, align 8, !tbaa !5
  %110 = add i32 %109, -208
  store i32 %110, ptr %8, align 8, !tbaa !5
  %111 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %112 = zext i32 %111 to i64
  %113 = add nuw nsw i64 %112, 148
  %114 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %113)
  %115 = add i32 %114, -4
  %116 = zext i32 %115 to i64
  %117 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %116)
  %118 = zext i32 %110 to i64
  %119 = add nuw nsw i64 %118, 16
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %119, i64 noundef 17179869184)
  %120 = add i32 %109, -184
  %121 = add nuw nsw i64 %118, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %121, i32 noundef %120)
  %122 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %123 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %.not9961 = icmp eq i32 %122, %123
  br i1 %.not9961, label %..loopexit10319_crit_edge, label %.preheader10316

..loopexit10319_crit_edge:                        ; preds = %92
  %.pre10467 = add i32 %109, -196
  br label %.loopexit10319

.preheader10316:                                  ; preds = %92
  %124 = add nuw nsw i64 %118, 8
  %125 = add nuw nsw i64 %118, 4
  %126 = add nuw nsw i64 %118, 202
  %127 = add nuw nsw i64 %118, 206
  %128 = add nuw nsw i64 %118, 20
  %129 = add i32 %109, -196
  %130 = add nuw nsw i64 %118, 201
  %131 = add nuw nsw i64 %118, 204
  %132 = getelementptr inbounds i8, ptr %0, i64 80
  %133 = getelementptr inbounds i8, ptr %0, i64 92
  %134 = load ptr, ptr @w2c_hermes_t5, align 8
  %135 = load ptr, ptr @w2c_hermes_t3, align 8
  %136 = zext i32 %129 to i64
  %137 = add nuw nsw i64 %136, 4
  %138 = add nuw nsw i64 %136, 8
  br label %139

139:                                              ; preds = %.preheader10316, %.loopexit10290
  %.09658 = phi i32 [ %2594, %.loopexit10290 ], [ %123, %.preheader10316 ]
  %.09634 = phi i32 [ %2593, %.loopexit10290 ], [ %122, %.preheader10316 ]
  %140 = zext i32 %.09634 to i64
  %141 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %140)
  switch i32 %141, label %1478 [
    i32 40, label %271
    i32 41, label %272
    i32 124, label %142
  ]

142:                                              ; preds = %139
  %143 = add i32 %.09634, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %143)
  %144 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %.not10063 = icmp eq i32 %144, 0
  br i1 %.not10063, label %152, label %145

145:                                              ; preds = %142
  %146 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %147 = mul i32 %144, 44
  %148 = add i32 %147, -40
  %149 = add i32 %148, %146
  %150 = zext i32 %149 to i64
  %151 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %150)
  br label %152

152:                                              ; preds = %145, %142
  %.0 = phi i32 [ %151, %145 ], [ %117, %142 ]
  %153 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %154 = zext i32 %153 to i64
  %155 = add nuw nsw i64 %154, 148
  %156 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %155)
  %157 = add nuw nsw i64 %154, 144
  %158 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %157)
  %159 = sub i32 %156, %158
  %160 = ashr i32 %159, 2
  %161 = zext i32 %160 to i64
  br label %162

162:                                              ; preds = %163, %152
  %indvars.iv = phi i64 [ %indvars.iv.next, %163 ], [ %161, %152 ]
  %.not10064 = icmp eq i64 %indvars.iv, 0
  br i1 %.not10064, label %._crit_edge10444, label %163

163:                                              ; preds = %162
  %indvars.iv.next = add nsw i64 %indvars.iv, -1
  %indvars = trunc i64 %indvars.iv.next to i32
  %164 = shl i32 %indvars, 2
  %165 = add i32 %164, %158
  %166 = zext i32 %165 to i64
  %167 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %166)
  %.not10065 = icmp eq i32 %167, %.0
  br i1 %.not10065, label %._crit_edge10444, label %162

._crit_edge10444:                                 ; preds = %163, %162
  %.29636 = phi i32 [ -1, %162 ], [ %indvars, %163 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %124, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %118, i64 noundef 0)
  %168 = shl i32 %.29636, 2
  %169 = add i32 %158, 4
  %170 = add i32 %169, %168
  %.not10066 = icmp eq i32 %170, %156
  br i1 %.not10066, label %209, label %.preheader10313

.preheader10313:                                  ; preds = %._crit_edge10444, %205
  %.39637 = phi i32 [ %206, %205 ], [ %170, %._crit_edge10444 ]
  %171 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %125)
  %172 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %124)
  %173 = icmp ult i32 %171, %172
  br i1 %173, label %174, label %179

174:                                              ; preds = %.preheader10313
  %175 = zext i32 %.39637 to i64
  %176 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %175)
  %177 = zext i32 %171 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %177, i32 noundef %176)
  %178 = add i32 %171, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %125, i32 noundef %178)
  br label %205

179:                                              ; preds = %.preheader10313
  %180 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %118)
  %181 = sub i32 %171, %180
  %182 = ashr i32 %181, 2
  %183 = add nsw i32 %182, 1
  %184 = icmp ugt i32 %183, 1073741823
  br i1 %184, label %.loopexit10280, label %185

185:                                              ; preds = %179
  %186 = sub i32 %172, %180
  %187 = ashr i32 %186, 1
  %188 = tail call i32 @llvm.umax.i32(i32 %183, i32 %187)
  %189 = icmp ugt i32 %186, 2147483643
  %190 = select i1 %189, i32 1073741823, i32 %188
  %.not10067 = icmp eq i32 %190, 0
  br i1 %.not10067, label %._crit_edge, label %191

191:                                              ; preds = %185
  %192 = icmp ugt i32 %190, 1073741823
  br i1 %192, label %.loopexit10281, label %193

193:                                              ; preds = %191
  %194 = shl nuw i32 %190, 2
  %195 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %194) #5
  br label %._crit_edge

._crit_edge:                                      ; preds = %185, %193
  %.pre-phi10504 = phi i32 [ %194, %193 ], [ 0, %185 ]
  %.19583 = phi i32 [ %195, %193 ], [ 0, %185 ]
  %196 = and i32 %181, -4
  %197 = add i32 %.19583, %196
  %198 = zext i32 %.39637 to i64
  %199 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %198)
  %200 = zext i32 %197 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %200, i32 noundef %199)
  %201 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.19583, i32 noundef %180, i32 noundef %181) #5
  %202 = add i32 %201, %.pre-phi10504
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %124, i32 noundef %202)
  %203 = add i32 %197, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %125, i32 noundef %203)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %118, i32 noundef %201)
  %.not10068 = icmp eq i32 %180, 0
  br i1 %.not10068, label %205, label %204

204:                                              ; preds = %._crit_edge
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %180) #5
  br label %205

205:                                              ; preds = %._crit_edge, %204, %174
  %206 = add i32 %.39637, 4
  %.not10069 = icmp eq i32 %206, %156
  br i1 %.not10069, label %207, label %.preheader10313

207:                                              ; preds = %205
  %208 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %155)
  br label %209

209:                                              ; preds = %207, %._crit_edge10444
  %.19659 = phi i32 [ %208, %207 ], [ %156, %._crit_edge10444 ]
  %.not10070 = icmp eq i32 %170, %.19659
  br i1 %.not10070, label %212, label %210

210:                                              ; preds = %209
  %211 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %170, i32 noundef %.19659, i32 noundef 0) #5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %155, i32 noundef %211)
  br label %212

212:                                              ; preds = %210, %209
  %213 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %.not10071 = icmp eq i32 %213, 0
  br i1 %.not10071, label %221, label %214

214:                                              ; preds = %212
  %215 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %216 = mul i32 %213, 44
  %217 = add i32 %216, -44
  %218 = add i32 %217, %215
  %219 = zext i32 %218 to i64
  %220 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %219)
  %.not10072 = icmp eq i32 %220, 0
  br i1 %.not10072, label %250, label %221

221:                                              ; preds = %214, %212
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %126, i32 noundef 0)
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %127, i32 noundef 0)
  %222 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %223 = zext i32 %222 to i64
  %224 = add nuw nsw i64 %223, 148
  %225 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %224)
  %226 = add i32 %225, -4
  %227 = zext i32 %226 to i64
  %228 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %227)
  %229 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10073 = icmp ugt i32 %229, %213
  br i1 %.not10073, label %232, label %230

230:                                              ; preds = %221
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %129) #5
  %231 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %232

232:                                              ; preds = %230, %221
  %.49638 = phi i32 [ %231, %230 ], [ %213, %221 ]
  %233 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %234 = mul i32 %.49638, 44
  %235 = add i32 %233, %234
  %236 = zext i32 %235 to i64
  %237 = add nuw nsw i64 %236, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %237, i32 noundef 1)
  %238 = add nuw nsw i64 %236, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %238, i32 noundef -1)
  %239 = add nuw nsw i64 %236, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %239, i64 noundef 0)
  %240 = add nuw nsw i64 %236, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %240, i32 noundef %228)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %236, i32 noundef 0)
  %241 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %130)
  %242 = add nuw nsw i64 %236, 21
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %242, i32 noundef %241)
  %243 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %131)
  %244 = add nuw nsw i64 %236, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %244, i32 noundef %243)
  %245 = add nuw nsw i64 %236, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %245, i64 noundef 0)
  %246 = add nuw nsw i64 %236, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %246, i32 noundef 0)
  %247 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %248 = add i32 %247, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %248)
  %249 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %.pre10442 = mul i32 %248, 44
  br label %250

250:                                              ; preds = %214, %232
  %.pre-phi10443 = phi i32 [ %216, %214 ], [ %.pre10442, %232 ]
  %.29660 = phi i32 [ %215, %214 ], [ %249, %232 ]
  %251 = add i32 %.pre-phi10443, %.29660
  %252 = add i32 %251, -44
  %253 = zext i32 %252 to i64
  %254 = add nuw nsw i64 %253, 32
  %255 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %254)
  %256 = add nuw nsw i64 %253, 36
  %257 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %256)
  %258 = icmp ult i32 %255, %257
  br i1 %258, label %259, label %267

259:                                              ; preds = %250
  %260 = zext i32 %255 to i64
  %261 = add nuw nsw i64 %260, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %261, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %260, i64 noundef 0)
  %262 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %118)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %260, i32 noundef %262)
  %263 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %125)
  %264 = add nuw nsw i64 %260, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %264, i32 noundef %263)
  %265 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %124)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %261, i32 noundef %265)
  %266 = add i32 %255, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %254, i32 noundef %266)
  br label %1478

267:                                              ; preds = %250
  %268 = add i32 %251, -16
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x260x260x29(ptr noundef %0, i32 noundef %268, i32 noundef %110) #5
  %269 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %118)
  %.not10074 = icmp eq i32 %269, 0
  br i1 %.not10074, label %1478, label %270

270:                                              ; preds = %267
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %125, i32 noundef %269)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %269) #5
  br label %1478

271:                                              ; preds = %139
  %.not10013 = icmp eq i32 %.09658, %.09634
  br i1 %.not10013, label %..critedge10242_crit_edge, label %863

..critedge10242_crit_edge:                        ; preds = %271
  %.pre10495 = add i32 %.09634, 2
  br label %.critedge10242

272:                                              ; preds = %139
  %273 = add i32 %.09634, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %273)
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AcloseAlternation0x28llvh0x3A0x3ASmallVector0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x204u0x3E0x260x29(ptr noundef nonnull %0, i32 noundef %99, i32 noundef %129)
  %274 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %.not9962 = icmp eq i32 %274, 0
  br i1 %.not9962, label %275, label %279

275:                                              ; preds = %272
  %276 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10012 = icmp eq i32 %276, 0
  br i1 %.not10012, label %277, label %.loopexit10283

277:                                              ; preds = %275
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 5)
  %278 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %278)
  br label %.loopexit10283

279:                                              ; preds = %272
  %280 = load i32, ptr %8, align 8, !tbaa !5
  %281 = add i32 %280, -96
  store i32 %281, ptr %8, align 8, !tbaa !5
  %282 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %283 = mul i32 %282, 44
  %284 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %285 = add i32 %284, -44
  %286 = add i32 %285, %283
  %287 = zext i32 %286 to i64
  %288 = add nuw nsw i64 %287, 24
  %289 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %288)
  %290 = zext i32 %281 to i64
  %291 = add nuw nsw i64 %290, 72
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %291, i32 noundef %289)
  %292 = add i32 %280, -32
  %293 = add nuw nsw i64 %287, 16
  %294 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %293)
  %295 = zext i32 %292 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %295, i64 noundef %294)
  %296 = add nuw nsw i64 %287, 8
  %297 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %296)
  %298 = add nuw nsw i64 %290, 56
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %298, i64 noundef %297)
  %299 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %287)
  %300 = add nuw nsw i64 %290, 48
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %300, i64 noundef %299)
  %301 = add nuw nsw i64 %287, 28
  %302 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %301)
  %303 = add nuw nsw i64 %290, 76
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %303, i32 noundef %302)
  %304 = add nuw nsw i64 %287, 32
  %305 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %304)
  %306 = add nuw nsw i64 %290, 80
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %306, i32 noundef %305)
  %307 = add nuw nsw i64 %287, 36
  %308 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %307)
  %309 = add nuw nsw i64 %290, 84
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %309, i32 noundef %308)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %307, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %301, i64 noundef 0)
  %310 = add nuw nsw i64 %287, 40
  %311 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %310)
  %312 = add nuw nsw i64 %290, 88
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %312, i32 noundef %311)
  %313 = add i32 %282, -1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %313)
  %314 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %315 = add i32 %283, -16
  %316 = add i32 %315, %314
  %317 = zext i32 %316 to i64
  %318 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %317)
  %.not9963 = icmp eq i32 %318, 0
  br i1 %.not9963, label %335, label %319

319:                                              ; preds = %279
  %320 = mul i32 %313, 44
  %321 = add i32 %314, %320
  %322 = zext i32 %321 to i64
  %323 = add nuw nsw i64 %322, 32
  %324 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %323)
  %.not9964 = icmp eq i32 %324, %318
  br i1 %.not9964, label %334, label %.preheader10312

.preheader10312:                                  ; preds = %319, %331
  %.09537 = phi i32 [ %325, %331 ], [ %324, %319 ]
  %325 = add i32 %.09537, -12
  %326 = zext i32 %325 to i64
  %327 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %326)
  %.not9965 = icmp eq i32 %327, 0
  br i1 %.not9965, label %331, label %328

328:                                              ; preds = %.preheader10312
  %329 = add i32 %.09537, -8
  %330 = zext i32 %329 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %330, i32 noundef %327)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %327) #5
  br label %331

331:                                              ; preds = %328, %.preheader10312
  %.not9966 = icmp eq i32 %325, %318
  br i1 %.not9966, label %332, label %.preheader10312

332:                                              ; preds = %331
  %333 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %317)
  br label %334

334:                                              ; preds = %332, %319
  %.1 = phi i32 [ %333, %332 ], [ %318, %319 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %323, i32 noundef %318)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.1) #5
  br label %335

335:                                              ; preds = %334, %279
  %336 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %300)
  switch i32 %336, label %830 [
    i32 1, label %337
    i32 2, label %337
    i32 4, label %489
  ]

337:                                              ; preds = %335, %335
  %338 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %339 = zext i32 %338 to i64
  %340 = add nuw nsw i64 %339, 148
  %341 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %340)
  %342 = add nuw nsw i64 %339, 144
  %343 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %342)
  %344 = sub i32 %341, %343
  %345 = ashr i32 %344, 2
  %346 = add nuw nsw i64 %290, 52
  %347 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %346)
  %348 = zext i32 %345 to i64
  br label %349

349:                                              ; preds = %350, %337
  %indvars.iv10437 = phi i64 [ %indvars.iv.next10438, %350 ], [ %348, %337 ]
  %.not9991 = icmp eq i64 %indvars.iv10437, 0
  br i1 %.not9991, label %._crit_edge10450, label %350

350:                                              ; preds = %349
  %indvars.iv.next10438 = add nsw i64 %indvars.iv10437, -1
  %indvars10439 = trunc i64 %indvars.iv.next10438 to i32
  %351 = shl i32 %indvars10439, 2
  %352 = add i32 %351, %343
  %353 = zext i32 %352 to i64
  %354 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %353)
  %.not9992 = icmp eq i32 %354, %347
  br i1 %.not9992, label %._crit_edge10450, label %349

._crit_edge10450:                                 ; preds = %350, %349
  %.3 = phi i32 [ -1, %349 ], [ %indvars10439, %350 ]
  %355 = add nuw nsw i64 %290, 44
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %355, i32 noundef 0)
  %356 = add nuw nsw i64 %290, 36
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %356, i64 noundef 0)
  %357 = add i32 %280, -60
  %358 = add nuw nsw i64 %290, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %358, i32 noundef %357)
  %359 = shl i32 %.3, 2
  %360 = add i32 %343, 4
  %361 = add i32 %360, %359
  %.not9993 = icmp eq i32 %341, %361
  br i1 %.not9993, label %367, label %.preheader10305

.preheader10305:                                  ; preds = %._crit_edge10450
  %362 = add i32 %280, -72
  br label %363

363:                                              ; preds = %.preheader10305, %363
  %.4 = phi i32 [ %364, %363 ], [ %361, %.preheader10305 ]
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef %0, i32 noundef %362, i32 noundef %.4) #5
  %364 = add i32 %.4, 4
  %.not9994 = icmp eq i32 %364, %341
  br i1 %.not9994, label %365, label %363

365:                                              ; preds = %363
  %366 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %340)
  br label %367

367:                                              ; preds = %365, %._crit_edge10450
  %.19538 = phi i32 [ %366, %365 ], [ %341, %._crit_edge10450 ]
  %.not9995 = icmp eq i32 %.19538, %361
  br i1 %.not9995, label %370, label %368

368:                                              ; preds = %367
  %369 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %361, i32 noundef %.19538, i32 noundef 0) #5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %340, i32 noundef %369)
  br label %370

370:                                              ; preds = %368, %367
  %371 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %298)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %358, i32 noundef %371)
  %372 = load i32, ptr %8, align 8, !tbaa !5
  %373 = add i32 %372, -16
  store i32 %373, ptr %8, align 8, !tbaa !5
  %374 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 24) #5
  %375 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %355)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %355, i32 noundef 0)
  %376 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %356)
  %377 = add nuw nsw i64 %290, 40
  %378 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %377)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %356, i64 noundef 0)
  %379 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %358)
  %380 = zext i32 %374 to i64
  %381 = add nuw nsw i64 %380, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %381, i32 noundef %375)
  %382 = add nuw nsw i64 %380, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %382, i32 noundef %378)
  %383 = add nuw nsw i64 %380, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %383, i32 noundef %376)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %380, i32 noundef 111916)
  %.not9996 = icmp eq i32 %376, %378
  br i1 %.not9996, label %.loopexit10304, label %.preheader10303

.preheader10303:                                  ; preds = %370, %402
  %.09611 = phi i32 [ %410, %402 ], [ 0, %370 ]
  %.09557 = phi i32 [ %411, %402 ], [ %376, %370 ]
  %384 = zext i32 %.09557 to i64
  %385 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %384)
  %386 = zext i32 %385 to i64
  %387 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %386)
  %388 = zext i32 %387 to i64
  %389 = add nuw nsw i64 %388, 16
  %390 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %389)
  %391 = load i32, ptr %133, align 4, !tbaa !15
  %392 = icmp ult i32 %390, %391
  br i1 %392, label %393, label %.critedge10212, !prof !16

393:                                              ; preds = %.preheader10303
  %394 = load ptr, ptr %132, align 8, !tbaa !17
  %395 = zext i32 %390 to i64
  %396 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %394, i64 %395
  %397 = getelementptr inbounds i8, ptr %396, i64 8
  %398 = load ptr, ptr %397, align 8, !tbaa !18
  %.not9997 = icmp eq ptr %398, null
  br i1 %.not9997, label %.critedge10212, label %399, !prof !20

399:                                              ; preds = %393
  %400 = load ptr, ptr %396, align 8, !tbaa !22
  %401 = tail call zeroext i1 @func_types_eq(ptr noundef %134, ptr noundef %400)
  br i1 %401, label %402, label %.critedge10212, !prof !16

.critedge10212:                                   ; preds = %393, %.preheader10303, %399
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

402:                                              ; preds = %399
  %403 = load ptr, ptr %132, align 8, !tbaa !17
  %404 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %403, i64 %395
  %405 = getelementptr inbounds i8, ptr %404, i64 8
  %406 = load ptr, ptr %405, align 8, !tbaa !18
  %407 = getelementptr inbounds i8, ptr %404, i64 16
  %408 = load ptr, ptr %407, align 8, !tbaa !23
  %409 = tail call i32 %406(ptr noundef %408, i32 noundef %385) #5
  %410 = or i32 %409, %.09611
  %411 = add i32 %.09557, 4
  %.not9998 = icmp eq i32 %411, %378
  br i1 %.not9998, label %.loopexit10304, label %.preheader10303

.loopexit10304:                                   ; preds = %402, %370
  %.19612 = phi i32 [ 0, %370 ], [ %410, %402 ]
  %412 = add nuw nsw i64 %380, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %412, i32 noundef 0)
  %413 = add nuw nsw i64 %380, 18
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %413, i32 noundef %379)
  %414 = add nuw nsw i64 %380, 16
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %414, i32 noundef %.19612)
  %415 = zext i32 %373 to i64
  %416 = add nuw nsw i64 %415, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %416, i32 noundef %374)
  %417 = add nuw nsw i64 %339, 160
  %418 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %417)
  %419 = add nuw nsw i64 %339, 164
  %420 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %419)
  %421 = icmp ult i32 %418, %420
  br i1 %421, label %422, label %425

422:                                              ; preds = %.loopexit10304
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %416, i32 noundef 0)
  %423 = zext i32 %418 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %423, i32 noundef %374)
  %424 = add i32 %418, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %417, i32 noundef %424)
  br label %428

425:                                              ; preds = %.loopexit10304
  %426 = add i32 %338, 156
  %427 = add i32 %372, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %426, i32 noundef %427) #5
  br label %428

428:                                              ; preds = %425, %422
  %429 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %416)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %416, i32 noundef 0)
  %.not9999 = icmp eq i32 %429, 0
  br i1 %.not9999, label %454, label %430

430:                                              ; preds = %428
  %431 = zext i32 %429 to i64
  %432 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %431)
  %433 = zext i32 %432 to i64
  %434 = add nuw nsw i64 %433, 4
  %435 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %434)
  %436 = load i32, ptr %133, align 4, !tbaa !15
  %437 = icmp ult i32 %435, %436
  br i1 %437, label %438, label %.critedge10214, !prof !16

438:                                              ; preds = %430
  %439 = load ptr, ptr %132, align 8, !tbaa !17
  %440 = zext i32 %435 to i64
  %441 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %439, i64 %440
  %442 = getelementptr inbounds i8, ptr %441, i64 8
  %443 = load ptr, ptr %442, align 8, !tbaa !18
  %.not10000 = icmp eq ptr %443, null
  br i1 %.not10000, label %.critedge10214, label %444, !prof !20

444:                                              ; preds = %438
  %445 = load ptr, ptr %441, align 8, !tbaa !22
  %446 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %445)
  br i1 %446, label %447, label %.critedge10214, !prof !16

.critedge10214:                                   ; preds = %438, %430, %444
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

447:                                              ; preds = %444
  %448 = load ptr, ptr %132, align 8, !tbaa !17
  %449 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %448, i64 %440
  %450 = getelementptr inbounds i8, ptr %449, i64 8
  %451 = load ptr, ptr %450, align 8, !tbaa !18
  %452 = getelementptr inbounds i8, ptr %449, i64 16
  %453 = load ptr, ptr %452, align 8, !tbaa !23
  tail call void %451(ptr noundef %453, i32 noundef %429) #5
  br label %454

454:                                              ; preds = %447, %428
  %455 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %340)
  %456 = add nuw nsw i64 %339, 152
  %457 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %456)
  %458 = icmp ult i32 %455, %457
  br i1 %458, label %459, label %462

459:                                              ; preds = %454
  %460 = zext i32 %455 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %460, i32 noundef %374)
  %461 = add i32 %455, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %340, i32 noundef %461)
  br label %486

462:                                              ; preds = %454
  %463 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %342)
  %464 = sub i32 %455, %463
  %465 = ashr i32 %464, 2
  %466 = add nsw i32 %465, 1
  %467 = icmp ugt i32 %466, 1073741823
  br i1 %467, label %.loopexit10280, label %468

468:                                              ; preds = %462
  %469 = sub i32 %457, %463
  %470 = ashr i32 %469, 1
  %471 = tail call i32 @llvm.umax.i32(i32 %466, i32 %470)
  %472 = icmp ugt i32 %469, 2147483643
  %473 = select i1 %472, i32 1073741823, i32 %471
  %.not10001 = icmp eq i32 %473, 0
  br i1 %.not10001, label %._crit_edge10449, label %474

474:                                              ; preds = %468
  %475 = icmp ugt i32 %473, 1073741823
  br i1 %475, label %.loopexit10281, label %476

476:                                              ; preds = %474
  %477 = shl nuw i32 %473, 2
  %478 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %477) #5
  br label %._crit_edge10449

._crit_edge10449:                                 ; preds = %468, %476
  %.pre-phi10498 = phi i32 [ %477, %476 ], [ 0, %468 ]
  %.29584 = phi i32 [ %478, %476 ], [ 0, %468 ]
  %479 = and i32 %464, -4
  %480 = add i32 %.29584, %479
  %481 = zext i32 %480 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %481, i32 noundef %374)
  %482 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.29584, i32 noundef %463, i32 noundef %464) #5
  %483 = add i32 %482, %.pre-phi10498
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %456, i32 noundef %483)
  %484 = add i32 %480, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %340, i32 noundef %484)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %342, i32 noundef %482)
  %.not10002 = icmp eq i32 %463, 0
  br i1 %.not10002, label %486, label %485

485:                                              ; preds = %._crit_edge10449
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %463) #5
  br label %486

486:                                              ; preds = %._crit_edge10449, %485, %459
  store i32 %372, ptr %8, align 8, !tbaa !5
  %487 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %356)
  %.not10003 = icmp eq i32 %487, 0
  br i1 %.not10003, label %830, label %488

488:                                              ; preds = %486
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %377, i32 noundef %487)
  br label %.sink.split

489:                                              ; preds = %335
  %490 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %491 = lshr i32 %490, 3
  %492 = xor i32 %491, -1
  %493 = icmp ugt i32 %311, 255
  %494 = zext i1 %493 to i32
  %495 = and i32 %492, %494
  %496 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %497 = zext i32 %496 to i64
  %498 = add nuw nsw i64 %497, 138
  %499 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %498)
  %500 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %298)
  %501 = add nuw nsw i64 %497, 148
  %502 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %501)
  %503 = add nuw nsw i64 %497, 144
  %504 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %503)
  %505 = sub i32 %502, %504
  %506 = ashr i32 %505, 2
  %507 = add nuw nsw i64 %290, 52
  %508 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %507)
  %509 = zext i32 %506 to i64
  br label %510

510:                                              ; preds = %511, %489
  %indvars.iv10433 = phi i64 [ %indvars.iv.next10434, %511 ], [ %509, %489 ]
  %.not9968 = icmp eq i64 %indvars.iv10433, 0
  br i1 %.not9968, label %._crit_edge10447, label %511

511:                                              ; preds = %510
  %indvars.iv.next10434 = add nsw i64 %indvars.iv10433, -1
  %indvars10435 = trunc i64 %indvars.iv.next10434 to i32
  %512 = shl i32 %indvars10435, 2
  %513 = add i32 %512, %504
  %514 = zext i32 %513 to i64
  %515 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %514)
  %.not9969 = icmp eq i32 %515, %508
  br i1 %.not9969, label %._crit_edge10447, label %510

._crit_edge10447:                                 ; preds = %511, %510
  %.6 = phi i32 [ -1, %510 ], [ %indvars10435, %511 ]
  %516 = add nuw nsw i64 %290, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %516, i32 noundef 0)
  %517 = add nuw nsw i64 %290, 24
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %517, i64 noundef 0)
  %518 = add i32 %280, -72
  %519 = add nuw nsw i64 %290, 92
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %519, i32 noundef %518)
  %520 = shl i32 %.6, 2
  %521 = add i32 %504, 4
  %522 = add i32 %521, %520
  %.not9970 = icmp eq i32 %502, %522
  br i1 %.not9970, label %528, label %.preheader10311

.preheader10311:                                  ; preds = %._crit_edge10447
  %523 = add i32 %280, -4
  br label %524

524:                                              ; preds = %.preheader10311, %524
  %.7 = phi i32 [ %525, %524 ], [ %522, %.preheader10311 ]
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef %0, i32 noundef %523, i32 noundef %.7) #5
  %525 = add i32 %.7, 4
  %.not9971 = icmp eq i32 %525, %502
  br i1 %.not9971, label %526, label %524

526:                                              ; preds = %524
  %527 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %501)
  br label %528

528:                                              ; preds = %526, %._crit_edge10447
  %.29539 = phi i32 [ %527, %526 ], [ %502, %._crit_edge10447 ]
  %.not9972 = icmp eq i32 %.29539, %522
  br i1 %.not9972, label %531, label %529

529:                                              ; preds = %528
  %530 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %522, i32 noundef %.29539, i32 noundef 0) #5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %501, i32 noundef %530)
  br label %531

531:                                              ; preds = %529, %528
  %532 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %533 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %517)
  %534 = add nuw nsw i64 %290, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %534, i32 noundef %533)
  %535 = add nuw nsw i64 %290, 28
  %536 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %535)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %535, i64 noundef 0)
  %537 = add nuw nsw i64 %290, 16
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %537, i64 noundef %536)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %517, i32 noundef 0)
  %538 = load i32, ptr %8, align 8, !tbaa !5
  %539 = add i32 %538, -16
  store i32 %539, ptr %8, align 8, !tbaa !5
  %540 = zext i32 %539 to i64
  %541 = add nuw nsw i64 %540, 12
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %541, i32 noundef %499)
  %542 = add nuw nsw i64 %540, 14
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %542, i32 noundef %500)
  %543 = and i32 %311, 255
  %544 = icmp ne i32 %543, 0
  %545 = zext i1 %544 to i32
  %546 = add nuw nsw i64 %540, 11
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %546, i32 noundef %545)
  %547 = add nuw nsw i64 %540, 10
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %547, i32 noundef %494)
  br i1 %493, label %.loopexit10309, label %548

548:                                              ; preds = %531
  %549 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %537)
  %550 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  %551 = icmp eq i32 %549, %550
  br i1 %551, label %.loopexit10309, label %552

552:                                              ; preds = %548
  %553 = add i32 %549, -4
  %554 = zext i32 %553 to i64
  %555 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %554)
  %556 = zext i32 %555 to i64
  %557 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %556)
  %558 = zext i32 %557 to i64
  %559 = add nuw nsw i64 %558, 20
  %560 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %559)
  %561 = load i32, ptr %133, align 4, !tbaa !15
  %562 = icmp ult i32 %560, %561
  br i1 %562, label %563, label %.critedge10216, !prof !16

563:                                              ; preds = %552
  %564 = load ptr, ptr %132, align 8, !tbaa !17
  %565 = zext i32 %560 to i64
  %566 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %564, i64 %565
  %567 = getelementptr inbounds i8, ptr %566, i64 8
  %568 = load ptr, ptr %567, align 8, !tbaa !18
  %.not9973 = icmp eq ptr %568, null
  br i1 %.not9973, label %.critedge10216, label %569, !prof !20

569:                                              ; preds = %563
  %570 = load ptr, ptr %566, align 8, !tbaa !22
  %571 = tail call zeroext i1 @func_types_eq(ptr noundef %134, ptr noundef %570)
  br i1 %571, label %572, label %.critedge10216, !prof !16

.critedge10216:                                   ; preds = %563, %552, %569
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

572:                                              ; preds = %569
  %573 = load ptr, ptr %132, align 8, !tbaa !17
  %574 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %573, i64 %565
  %575 = getelementptr inbounds i8, ptr %574, i64 8
  %576 = load ptr, ptr %575, align 8, !tbaa !18
  %577 = getelementptr inbounds i8, ptr %574, i64 16
  %578 = load ptr, ptr %577, align 8, !tbaa !23
  %579 = tail call i32 %576(ptr noundef %578, i32 noundef %555) #5
  %580 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  %581 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %537)
  %582 = shl i32 %579, 2
  %583 = sub i32 %581, %582
  %584 = icmp ne i32 %580, %583
  %585 = add i32 %583, -4
  %.not9974 = icmp ugt i32 %585, %580
  %or.cond = and i1 %584, %.not9974
  br i1 %or.cond, label %.preheader10310, label %596

.preheader10310:                                  ; preds = %572, %.preheader10310
  %.39661 = phi i32 [ %591, %.preheader10310 ], [ %585, %572 ]
  %.19558 = phi i32 [ %590, %.preheader10310 ], [ %580, %572 ]
  %586 = zext i32 %.19558 to i64
  %587 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %586)
  %588 = zext i32 %.39661 to i64
  %589 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %588)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %586, i32 noundef %589)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %588, i32 noundef %587)
  %590 = add i32 %.19558, 4
  %591 = add i32 %.39661, -4
  %592 = icmp ult i32 %590, %591
  br i1 %592, label %.preheader10310, label %593

593:                                              ; preds = %.preheader10310
  %594 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %537)
  %595 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  br label %596

596:                                              ; preds = %572, %593
  %.29613 = phi i32 [ %581, %572 ], [ %594, %593 ]
  %.29559 = phi i32 [ %580, %572 ], [ %595, %593 ]
  %597 = icmp eq i32 %.29559, %.29613
  br i1 %597, label %.loopexit10309, label %.preheader10308

.preheader10308:                                  ; preds = %596, %616
  %.39560 = phi i32 [ %623, %616 ], [ %.29559, %596 ]
  %598 = zext i32 %.39560 to i64
  %599 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %598)
  %600 = zext i32 %599 to i64
  %601 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %600)
  %602 = zext i32 %601 to i64
  %603 = add nuw nsw i64 %602, 28
  %604 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %603)
  %605 = load i32, ptr %133, align 4, !tbaa !15
  %606 = icmp ult i32 %604, %605
  br i1 %606, label %607, label %.critedge10218, !prof !16

607:                                              ; preds = %.preheader10308
  %608 = load ptr, ptr %132, align 8, !tbaa !17
  %609 = zext i32 %604 to i64
  %610 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %608, i64 %609
  %611 = getelementptr inbounds i8, ptr %610, i64 8
  %612 = load ptr, ptr %611, align 8, !tbaa !18
  %.not9975 = icmp eq ptr %612, null
  br i1 %.not9975, label %.critedge10218, label %613, !prof !20

613:                                              ; preds = %607
  %614 = load ptr, ptr %610, align 8, !tbaa !22
  %615 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %614)
  br i1 %615, label %616, label %.critedge10218, !prof !16

.critedge10218:                                   ; preds = %607, %.preheader10308, %613
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

616:                                              ; preds = %613
  %617 = load ptr, ptr %132, align 8, !tbaa !17
  %618 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %617, i64 %609
  %619 = getelementptr inbounds i8, ptr %618, i64 8
  %620 = load ptr, ptr %619, align 8, !tbaa !18
  %621 = getelementptr inbounds i8, ptr %618, i64 16
  %622 = load ptr, ptr %621, align 8, !tbaa !23
  tail call void %620(ptr noundef %622, i32 noundef %599) #5
  %623 = add i32 %.39560, 4
  %.not9976 = icmp eq i32 %623, %.29613
  br i1 %.not9976, label %.loopexit10309, label %.preheader10308

.loopexit10309:                                   ; preds = %616, %596, %548, %531
  %624 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 4) #5
  %625 = zext i32 %624 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %625, i32 noundef 112500)
  %626 = add nuw nsw i64 %540, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %626, i32 noundef %624)
  %627 = zext i32 %532 to i64
  %628 = add nuw nsw i64 %627, 160
  %629 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %628)
  %630 = add nuw nsw i64 %627, 164
  %631 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %630)
  %632 = icmp ult i32 %629, %631
  br i1 %632, label %633, label %636

633:                                              ; preds = %.loopexit10309
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %626, i32 noundef 0)
  %634 = zext i32 %629 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %634, i32 noundef %624)
  %635 = add i32 %629, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %628, i32 noundef %635)
  br label %639

636:                                              ; preds = %.loopexit10309
  %637 = add i32 %532, 156
  %638 = add i32 %538, -12
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef %0, i32 noundef %637, i32 noundef %638) #5
  br label %639

639:                                              ; preds = %636, %633
  %640 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %626)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %626, i32 noundef 0)
  %.not9977 = icmp eq i32 %640, 0
  br i1 %.not9977, label %665, label %641

641:                                              ; preds = %639
  %642 = zext i32 %640 to i64
  %643 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %642)
  %644 = zext i32 %643 to i64
  %645 = add nuw nsw i64 %644, 4
  %646 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %645)
  %647 = load i32, ptr %133, align 4, !tbaa !15
  %648 = icmp ult i32 %646, %647
  br i1 %648, label %649, label %.critedge10220, !prof !16

649:                                              ; preds = %641
  %650 = load ptr, ptr %132, align 8, !tbaa !17
  %651 = zext i32 %646 to i64
  %652 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %650, i64 %651
  %653 = getelementptr inbounds i8, ptr %652, i64 8
  %654 = load ptr, ptr %653, align 8, !tbaa !18
  %.not9978 = icmp eq ptr %654, null
  br i1 %.not9978, label %.critedge10220, label %655, !prof !20

655:                                              ; preds = %649
  %656 = load ptr, ptr %652, align 8, !tbaa !22
  %657 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %656)
  br i1 %657, label %658, label %.critedge10220, !prof !16

.critedge10220:                                   ; preds = %649, %641, %655
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

658:                                              ; preds = %655
  %659 = load ptr, ptr %132, align 8, !tbaa !17
  %660 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %659, i64 %651
  %661 = getelementptr inbounds i8, ptr %660, i64 8
  %662 = load ptr, ptr %661, align 8, !tbaa !18
  %663 = getelementptr inbounds i8, ptr %660, i64 16
  %664 = load ptr, ptr %663, align 8, !tbaa !23
  tail call void %662(ptr noundef %664, i32 noundef %640) #5
  br label %665

665:                                              ; preds = %658, %639
  %666 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %628)
  %667 = add i32 %666, -4
  %668 = zext i32 %667 to i64
  %669 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %668)
  %670 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %537)
  %671 = add nuw nsw i64 %290, 20
  %672 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %671)
  %673 = icmp ult i32 %670, %672
  br i1 %673, label %674, label %677

674:                                              ; preds = %665
  %675 = zext i32 %670 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %675, i32 noundef %669)
  %676 = add i32 %670, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %537, i32 noundef %676)
  br label %701

677:                                              ; preds = %665
  %678 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  %679 = sub i32 %670, %678
  %680 = ashr i32 %679, 2
  %681 = add nsw i32 %680, 1
  %682 = icmp ugt i32 %681, 1073741823
  br i1 %682, label %.loopexit10280, label %683

683:                                              ; preds = %677
  %684 = sub i32 %672, %678
  %685 = ashr i32 %684, 1
  %686 = tail call i32 @llvm.umax.i32(i32 %681, i32 %685)
  %687 = icmp ugt i32 %684, 2147483643
  %688 = select i1 %687, i32 1073741823, i32 %686
  %.not9979 = icmp eq i32 %688, 0
  br i1 %.not9979, label %._crit_edge10445, label %689

689:                                              ; preds = %683
  %690 = icmp ugt i32 %688, 1073741823
  br i1 %690, label %.loopexit10281, label %691

691:                                              ; preds = %689
  %692 = shl nuw i32 %688, 2
  %693 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %692) #5
  br label %._crit_edge10445

._crit_edge10445:                                 ; preds = %683, %691
  %.pre-phi10502 = phi i32 [ %692, %691 ], [ 0, %683 ]
  %.39585 = phi i32 [ %693, %691 ], [ 0, %683 ]
  %694 = and i32 %679, -4
  %695 = add i32 %.39585, %694
  %696 = zext i32 %695 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %696, i32 noundef %669)
  %697 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.39585, i32 noundef %678, i32 noundef %679) #5
  %698 = add i32 %697, %.pre-phi10502
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %671, i32 noundef %698)
  %699 = add i32 %695, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %537, i32 noundef %699)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %534, i32 noundef %697)
  %.not9980 = icmp eq i32 %678, 0
  br i1 %.not9980, label %701, label %700

700:                                              ; preds = %._crit_edge10445
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %678) #5
  br label %701

701:                                              ; preds = %._crit_edge10445, %700, %674
  %702 = load i32, ptr %8, align 8, !tbaa !5
  %703 = add i32 %702, -16
  store i32 %703, ptr %8, align 8, !tbaa !5
  %704 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 48) #5
  %705 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %671)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %671, i32 noundef 0)
  %706 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  %707 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %537)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %534, i64 noundef 0)
  %708 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %547)
  %709 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %546)
  %710 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %541)
  %711 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %542)
  %712 = zext i32 %704 to i64
  %713 = add nuw nsw i64 %712, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %713, i32 noundef %705)
  %714 = add nuw nsw i64 %712, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %714, i32 noundef %707)
  %715 = add nuw nsw i64 %712, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %715, i32 noundef %706)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %712, i32 noundef 111960)
  %.not9981 = icmp eq i32 %706, %707
  br i1 %.not9981, label %.loopexit10307, label %.preheader10306

.preheader10306:                                  ; preds = %701, %734
  %.49662 = phi i32 [ %743, %734 ], [ %706, %701 ]
  %.09623 = phi i32 [ %742, %734 ], [ 0, %701 ]
  %716 = zext i32 %.49662 to i64
  %717 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %716)
  %718 = zext i32 %717 to i64
  %719 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %718)
  %720 = zext i32 %719 to i64
  %721 = add nuw nsw i64 %720, 16
  %722 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %721)
  %723 = load i32, ptr %133, align 4, !tbaa !15
  %724 = icmp ult i32 %722, %723
  br i1 %724, label %725, label %.critedge10222, !prof !16

725:                                              ; preds = %.preheader10306
  %726 = load ptr, ptr %132, align 8, !tbaa !17
  %727 = zext i32 %722 to i64
  %728 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %726, i64 %727
  %729 = getelementptr inbounds i8, ptr %728, i64 8
  %730 = load ptr, ptr %729, align 8, !tbaa !18
  %.not9982 = icmp eq ptr %730, null
  br i1 %.not9982, label %.critedge10222, label %731, !prof !20

731:                                              ; preds = %725
  %732 = load ptr, ptr %728, align 8, !tbaa !22
  %733 = tail call zeroext i1 @func_types_eq(ptr noundef %134, ptr noundef %732)
  br i1 %733, label %734, label %.critedge10222, !prof !16

.critedge10222:                                   ; preds = %725, %.preheader10306, %731
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

734:                                              ; preds = %731
  %735 = load ptr, ptr %132, align 8, !tbaa !17
  %736 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %735, i64 %727
  %737 = getelementptr inbounds i8, ptr %736, i64 8
  %738 = load ptr, ptr %737, align 8, !tbaa !18
  %739 = getelementptr inbounds i8, ptr %736, i64 16
  %740 = load ptr, ptr %739, align 8, !tbaa !23
  %741 = tail call i32 %738(ptr noundef %740, i32 noundef %717) #5
  %742 = or i32 %741, %.09623
  %743 = add i32 %.49662, 4
  %.not9983 = icmp eq i32 %743, %707
  br i1 %.not9983, label %.loopexit10307, label %.preheader10306

.loopexit10307:                                   ; preds = %734, %701
  %.19624 = phi i32 [ 0, %701 ], [ %742, %734 ]
  %744 = add nuw nsw i64 %712, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %744, i32 noundef %710)
  %745 = add nuw nsw i64 %712, 20
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %745, i32 noundef %711)
  %746 = add nuw nsw i64 %712, 18
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %746, i32 noundef %708)
  %747 = add nuw nsw i64 %712, 17
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %747, i32 noundef %709)
  %748 = add nuw nsw i64 %712, 16
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %748, i32 noundef %.19624)
  %749 = add nuw nsw i64 %712, 40
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %749, i32 noundef 0)
  %.not9984 = icmp eq i32 %708, 0
  br i1 %.not9984, label %750, label %752

750:                                              ; preds = %.loopexit10307
  %751 = and i32 %.19624, 253
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %748, i32 noundef %751)
  br label %752

752:                                              ; preds = %750, %.loopexit10307
  %753 = zext i32 %703 to i64
  %754 = add nuw nsw i64 %753, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %754, i32 noundef %704)
  %755 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %628)
  %756 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %630)
  %757 = icmp ult i32 %755, %756
  br i1 %757, label %758, label %761

758:                                              ; preds = %752
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %754, i32 noundef 0)
  %759 = zext i32 %755 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %759, i32 noundef %704)
  %760 = add i32 %755, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %628, i32 noundef %760)
  br label %764

761:                                              ; preds = %752
  %762 = add i32 %532, 156
  %763 = add i32 %702, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %762, i32 noundef %763) #5
  br label %764

764:                                              ; preds = %761, %758
  %765 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %754)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %754, i32 noundef 0)
  %.not9985 = icmp eq i32 %765, 0
  br i1 %.not9985, label %790, label %766

766:                                              ; preds = %764
  %767 = zext i32 %765 to i64
  %768 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %767)
  %769 = zext i32 %768 to i64
  %770 = add nuw nsw i64 %769, 4
  %771 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %770)
  %772 = load i32, ptr %133, align 4, !tbaa !15
  %773 = icmp ult i32 %771, %772
  br i1 %773, label %774, label %.critedge10224, !prof !16

774:                                              ; preds = %766
  %775 = load ptr, ptr %132, align 8, !tbaa !17
  %776 = zext i32 %771 to i64
  %777 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %775, i64 %776
  %778 = getelementptr inbounds i8, ptr %777, i64 8
  %779 = load ptr, ptr %778, align 8, !tbaa !18
  %.not9986 = icmp eq ptr %779, null
  br i1 %.not9986, label %.critedge10224, label %780, !prof !20

780:                                              ; preds = %774
  %781 = load ptr, ptr %777, align 8, !tbaa !22
  %782 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %781)
  br i1 %782, label %783, label %.critedge10224, !prof !16

.critedge10224:                                   ; preds = %774, %766, %780
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

783:                                              ; preds = %780
  %784 = load ptr, ptr %132, align 8, !tbaa !17
  %785 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %784, i64 %776
  %786 = getelementptr inbounds i8, ptr %785, i64 8
  %787 = load ptr, ptr %786, align 8, !tbaa !18
  %788 = getelementptr inbounds i8, ptr %785, i64 16
  %789 = load ptr, ptr %788, align 8, !tbaa !23
  tail call void %787(ptr noundef %789, i32 noundef %765) #5
  br label %790

790:                                              ; preds = %783, %764
  %791 = add nuw nsw i64 %627, 148
  %792 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %791)
  %793 = add nuw nsw i64 %627, 152
  %794 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %793)
  %795 = icmp ult i32 %792, %794
  br i1 %795, label %796, label %799

796:                                              ; preds = %790
  %797 = zext i32 %792 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %797, i32 noundef %704)
  %798 = add i32 %792, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %791, i32 noundef %798)
  br label %824

799:                                              ; preds = %790
  %800 = add nuw nsw i64 %627, 144
  %801 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %800)
  %802 = sub i32 %792, %801
  %803 = ashr i32 %802, 2
  %804 = add nsw i32 %803, 1
  %805 = icmp ugt i32 %804, 1073741823
  br i1 %805, label %.loopexit10280, label %806

806:                                              ; preds = %799
  %807 = sub i32 %794, %801
  %808 = ashr i32 %807, 1
  %809 = tail call i32 @llvm.umax.i32(i32 %804, i32 %808)
  %810 = icmp ugt i32 %807, 2147483643
  %811 = select i1 %810, i32 1073741823, i32 %809
  %.not9987 = icmp eq i32 %811, 0
  br i1 %.not9987, label %._crit_edge10446, label %812

812:                                              ; preds = %806
  %813 = icmp ugt i32 %811, 1073741823
  br i1 %813, label %.loopexit10281, label %814

814:                                              ; preds = %812
  %815 = shl nuw i32 %811, 2
  %816 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %815) #5
  br label %._crit_edge10446

._crit_edge10446:                                 ; preds = %806, %814
  %.pre-phi10500 = phi i32 [ %815, %814 ], [ 0, %806 ]
  %.49586 = phi i32 [ %816, %814 ], [ 0, %806 ]
  %817 = and i32 %802, -4
  %818 = add i32 %.49586, %817
  %819 = zext i32 %818 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %819, i32 noundef %704)
  %820 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.49586, i32 noundef %801, i32 noundef %802) #5
  %821 = add i32 %820, %.pre-phi10500
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %793, i32 noundef %821)
  %822 = add i32 %818, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %791, i32 noundef %822)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %800, i32 noundef %820)
  %.not9988 = icmp eq i32 %801, 0
  br i1 %.not9988, label %824, label %823

823:                                              ; preds = %._crit_edge10446
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %801) #5
  br label %824

824:                                              ; preds = %._crit_edge10446, %823, %796
  store i32 %538, ptr %8, align 8, !tbaa !5
  %825 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %534)
  %.not9989 = icmp eq i32 %825, 0
  br i1 %.not9989, label %827, label %826

826:                                              ; preds = %824
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %537, i32 noundef %825)
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %825) #5
  br label %827

827:                                              ; preds = %826, %824
  %828 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %517)
  %.not9990 = icmp eq i32 %828, 0
  br i1 %.not9990, label %830, label %829

829:                                              ; preds = %827
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %535, i32 noundef %828)
  br label %.sink.split

.sink.split:                                      ; preds = %488, %829
  %.sink = phi i32 [ %828, %829 ], [ %487, %488 ]
  %.09603.ph = phi i32 [ %495, %829 ], [ 1, %488 ]
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %.sink) #5
  br label %830

830:                                              ; preds = %.sink.split, %827, %486, %335
  %.09603 = phi i32 [ 1, %335 ], [ %495, %827 ], [ 1, %486 ], [ %.09603.ph, %.sink.split ]
  %831 = add i32 %280, -36
  %832 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %0, i32 noundef %99, i32 noundef %831)
  %.not10004 = icmp eq i32 %832, 0
  br i1 %.not10004, label %848, label %833

833:                                              ; preds = %830
  %834 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %835 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %836 = icmp eq i32 %834, %835
  br i1 %836, label %842, label %837

837:                                              ; preds = %833
  %838 = zext i32 %834 to i64
  %839 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %838)
  %.not10005 = icmp eq i32 %839, 63
  br i1 %.not10005, label %840, label %842

840:                                              ; preds = %837
  %841 = add i32 %834, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %841)
  br label %842

842:                                              ; preds = %837, %833, %840
  %.39540 = phi i32 [ 1, %833 ], [ 1, %837 ], [ 0, %840 ]
  %843 = add nuw nsw i64 %290, 68
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %843, i32 noundef %.39540)
  %.not10006 = icmp eq i32 %.09603, 0
  br i1 %.not10006, label %844, label %847

844:                                              ; preds = %842
  %845 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10007 = icmp eq i32 %845, 0
  br i1 %.not10007, label %846, label %848

846:                                              ; preds = %844
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %835)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 9)
  br label %848

847:                                              ; preds = %842
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AapplyQuantifier0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x20const0x260x29(ptr noundef %0, i32 noundef %99, i32 noundef %831)
  br label %848

848:                                              ; preds = %844, %830, %847, %846
  %849 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %303)
  %.not10008 = icmp eq i32 %849, 0
  br i1 %.not10008, label %862, label %850

850:                                              ; preds = %848
  %851 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %306)
  %.not10009 = icmp eq i32 %851, %849
  br i1 %.not10009, label %861, label %.preheader10302

.preheader10302:                                  ; preds = %850, %858
  %.49541 = phi i32 [ %852, %858 ], [ %851, %850 ]
  %852 = add i32 %.49541, -12
  %853 = zext i32 %852 to i64
  %854 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %853)
  %.not10010 = icmp eq i32 %854, 0
  br i1 %.not10010, label %858, label %855

855:                                              ; preds = %.preheader10302
  %856 = add i32 %.49541, -8
  %857 = zext i32 %856 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %857, i32 noundef %854)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %854) #5
  br label %858

858:                                              ; preds = %855, %.preheader10302
  %.not10011 = icmp eq i32 %852, %849
  br i1 %.not10011, label %859, label %.preheader10302

859:                                              ; preds = %858
  %860 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %303)
  br label %861

861:                                              ; preds = %859, %850
  %.8 = phi i32 [ %860, %859 ], [ %849, %850 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %306, i32 noundef %849)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.8) #5
  br label %862

862:                                              ; preds = %861, %848
  store i32 %280, ptr %8, align 8, !tbaa !5
  br label %1478

863:                                              ; preds = %271
  %864 = add i32 %.09634, 6
  %865 = add i32 %.09634, 2
  %866 = icmp eq i32 %865, %.09658
  br i1 %866, label %.critedge10242, label %867

867:                                              ; preds = %863
  %868 = add nuw nsw i64 %140, 2
  %869 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10014 = icmp ne i32 %869, 63
  %870 = add i32 %.09634, 4
  %871 = icmp eq i32 %870, %.09658
  %or.cond10226 = or i1 %871, %.not10014
  br i1 %or.cond10226, label %905, label %872

872:                                              ; preds = %867
  %873 = add nuw nsw i64 %140, 4
  %874 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %873)
  %.not10015 = icmp eq i32 %874, 61
  br i1 %.not10015, label %875, label %905

875:                                              ; preds = %872
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %864)
  %876 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %877 = zext i32 %876 to i64
  %878 = add nuw nsw i64 %877, 148
  %879 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %878)
  %880 = add i32 %879, -4
  %881 = zext i32 %880 to i64
  %882 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %881)
  %883 = add nuw nsw i64 %877, 138
  %884 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %883)
  %885 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %886 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10016 = icmp ult i32 %885, %886
  br i1 %.not10016, label %889, label %887

887:                                              ; preds = %875
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %888 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %889

889:                                              ; preds = %887, %875
  %.69640 = phi i32 [ %888, %887 ], [ %885, %875 ]
  %890 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %891 = mul i32 %.69640, 44
  %892 = add i32 %890, %891
  %893 = zext i32 %892 to i64
  %894 = add nuw nsw i64 %893, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %894, i64 noundef 0)
  %895 = add nuw nsw i64 %893, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %895, i32 noundef %882)
  %896 = add nuw nsw i64 %893, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %896, i32 noundef %884)
  %897 = add nuw nsw i64 %893, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %897, i32 noundef 1)
  %898 = add nuw nsw i64 %893, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %898, i64 noundef -4294967296)
  %899 = add nuw nsw i64 %893, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %899, i32 noundef %884)
  %900 = add nuw nsw i64 %893, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %900, i32 noundef %882)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %893, i32 noundef 4)
  %901 = add nuw nsw i64 %893, 40
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %901, i32 noundef 256)
  %902 = add nuw nsw i64 %893, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %902, i32 noundef 0)
  %903 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %904 = add i32 %903, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %904)
  br label %1478

905:                                              ; preds = %867, %872
  %906 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10017 = icmp ne i32 %906, 63
  %or.cond10230 = or i1 %871, %.not10017
  br i1 %or.cond10230, label %940, label %907

907:                                              ; preds = %905
  %908 = add nuw nsw i64 %140, 4
  %909 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %908)
  %.not10018 = icmp eq i32 %909, 33
  br i1 %.not10018, label %910, label %940

910:                                              ; preds = %907
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %864)
  %911 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %912 = zext i32 %911 to i64
  %913 = add nuw nsw i64 %912, 148
  %914 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %913)
  %915 = add i32 %914, -4
  %916 = zext i32 %915 to i64
  %917 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %916)
  %918 = add nuw nsw i64 %912, 138
  %919 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %918)
  %920 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %921 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10019 = icmp ult i32 %920, %921
  br i1 %.not10019, label %924, label %922

922:                                              ; preds = %910
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %923 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %924

924:                                              ; preds = %922, %910
  %.79641 = phi i32 [ %923, %922 ], [ %920, %910 ]
  %925 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %926 = mul i32 %.79641, 44
  %927 = add i32 %925, %926
  %928 = zext i32 %927 to i64
  %929 = add nuw nsw i64 %928, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %929, i64 noundef 0)
  %930 = add nuw nsw i64 %928, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %930, i32 noundef %917)
  %931 = add nuw nsw i64 %928, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %931, i32 noundef %919)
  %932 = add nuw nsw i64 %928, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %932, i32 noundef 1)
  %933 = add nuw nsw i64 %928, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %933, i64 noundef -4294967296)
  %934 = add nuw nsw i64 %928, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %934, i32 noundef %919)
  %935 = add nuw nsw i64 %928, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %935, i32 noundef %917)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %928, i32 noundef 4)
  %936 = add nuw nsw i64 %928, 40
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %936, i32 noundef 257)
  %937 = add nuw nsw i64 %928, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %937, i32 noundef 0)
  %938 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %939 = add i32 %938, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %939)
  br label %1478

940:                                              ; preds = %907, %905
  %941 = add i32 %.09634, 8
  %942 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10020 = icmp ne i32 %942, 63
  %or.cond10232 = or i1 %871, %.not10020
  br i1 %or.cond10232, label %979, label %943

943:                                              ; preds = %940
  %944 = add nuw nsw i64 %140, 4
  %945 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %944)
  %.not10021 = icmp ne i32 %945, 60
  %946 = icmp eq i32 %864, %.09658
  %or.cond10233 = or i1 %946, %.not10021
  br i1 %or.cond10233, label %979, label %947

947:                                              ; preds = %943
  %948 = zext i32 %864 to i64
  %949 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %948)
  %.not10022 = icmp eq i32 %949, 61
  br i1 %.not10022, label %950, label %979

950:                                              ; preds = %947
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %941)
  %951 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %952 = zext i32 %951 to i64
  %953 = add nuw nsw i64 %952, 148
  %954 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %953)
  %955 = add i32 %954, -4
  %956 = zext i32 %955 to i64
  %957 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %956)
  %958 = add nuw nsw i64 %952, 138
  %959 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %958)
  %960 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %961 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10023 = icmp ult i32 %960, %961
  br i1 %.not10023, label %964, label %962

962:                                              ; preds = %950
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %963 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %964

964:                                              ; preds = %962, %950
  %.89642 = phi i32 [ %963, %962 ], [ %960, %950 ]
  %965 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %966 = mul i32 %.89642, 44
  %967 = add i32 %965, %966
  %968 = zext i32 %967 to i64
  %969 = add nuw nsw i64 %968, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %969, i64 noundef 0)
  %970 = add nuw nsw i64 %968, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %970, i32 noundef %957)
  %971 = add nuw nsw i64 %968, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %971, i32 noundef %959)
  %972 = add nuw nsw i64 %968, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %972, i32 noundef 1)
  %973 = add nuw nsw i64 %968, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %973, i64 noundef -4294967296)
  %974 = add nuw nsw i64 %968, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %974, i32 noundef %959)
  %975 = add nuw nsw i64 %968, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %975, i32 noundef %957)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %968, i32 noundef 4)
  %976 = add nuw nsw i64 %968, 34
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %976, i64 noundef 0)
  %977 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %978 = add i32 %977, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %978)
  br label %1478

979:                                              ; preds = %940, %943, %947
  %980 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10024 = icmp ne i32 %980, 63
  %or.cond10237 = or i1 %871, %.not10024
  br i1 %or.cond10237, label %.critedge10235, label %981

981:                                              ; preds = %979
  %982 = add nuw nsw i64 %140, 4
  %983 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %982)
  %.not10025 = icmp ne i32 %983, 60
  %984 = icmp eq i32 %864, %.09658
  %or.cond10238 = or i1 %984, %.not10025
  br i1 %or.cond10238, label %.critedge10235, label %985

985:                                              ; preds = %981
  %986 = zext i32 %864 to i64
  %987 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %986)
  %.not10026 = icmp eq i32 %987, 33
  br i1 %.not10026, label %988, label %.critedge10235

988:                                              ; preds = %985
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %941)
  %989 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %990 = zext i32 %989 to i64
  %991 = add nuw nsw i64 %990, 148
  %992 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %991)
  %993 = add i32 %992, -4
  %994 = zext i32 %993 to i64
  %995 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %994)
  %996 = add nuw nsw i64 %990, 138
  %997 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %996)
  %998 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %999 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10027 = icmp ult i32 %998, %999
  br i1 %.not10027, label %1002, label %1000

1000:                                             ; preds = %988
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %1001 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %1002

1002:                                             ; preds = %1000, %988
  %.99643 = phi i32 [ %1001, %1000 ], [ %998, %988 ]
  %1003 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %1004 = mul i32 %.99643, 44
  %1005 = add i32 %1003, %1004
  %1006 = zext i32 %1005 to i64
  %1007 = add nuw nsw i64 %1006, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1007, i64 noundef 0)
  %1008 = add nuw nsw i64 %1006, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1008, i32 noundef %995)
  %1009 = add nuw nsw i64 %1006, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1009, i32 noundef %997)
  %1010 = add nuw nsw i64 %1006, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1010, i32 noundef 1)
  %1011 = add nuw nsw i64 %1006, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1011, i64 noundef -4294967296)
  %1012 = add nuw nsw i64 %1006, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1012, i32 noundef %997)
  %1013 = add nuw nsw i64 %1006, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1013, i32 noundef %995)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1006, i32 noundef 4)
  %1014 = add nuw nsw i64 %1006, 40
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1014, i32 noundef 1)
  %1015 = add nuw nsw i64 %1006, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1015, i32 noundef 0)
  %1016 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %1017 = add i32 %1016, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %1017)
  br label %1478

.critedge10235:                                   ; preds = %979, %981, %985
  %1018 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10028 = icmp ne i32 %1018, 63
  %or.cond10241 = or i1 %871, %.not10028
  br i1 %or.cond10241, label %.critedge10239, label %1019

1019:                                             ; preds = %.critedge10235
  %1020 = add nuw nsw i64 %140, 4
  %1021 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1020)
  %.not10029 = icmp eq i32 %1021, 60
  br i1 %.not10029, label %1022, label %.critedge10239

1022:                                             ; preds = %1019
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %864)
  %1023 = load i32, ptr %8, align 8, !tbaa !5
  %1024 = add i32 %1023, -48
  store i32 %1024, ptr %8, align 8, !tbaa !5
  %1025 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1026 = zext i32 %1025 to i64
  %1027 = add nuw nsw i64 %1026, 138
  %1028 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1027)
  %1029 = icmp eq i32 %1028, 65535
  br i1 %1029, label %1030, label %1034

1030:                                             ; preds = %1022
  %1031 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10056 = icmp eq i32 %1031, 0
  br i1 %.not10056, label %1032, label %1410

1032:                                             ; preds = %1030
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 10)
  %1033 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1033)
  br label %1410

1034:                                             ; preds = %1022
  %1035 = add nuw nsw i64 %1026, 148
  %1036 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1035)
  %1037 = add i32 %1036, -4
  %1038 = zext i32 %1037 to i64
  %1039 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1038)
  %1040 = add i32 %1028, 1
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1027, i32 noundef %1040)
  %1041 = zext i32 %1024 to i64
  %1042 = add nuw nsw i64 %1041, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1042, i64 noundef 21474836480)
  %1043 = add i32 %1023, -28
  %1044 = add nuw nsw i64 %1041, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1044, i32 noundef %1043)
  %1045 = add i32 %1023, -40
  %1046 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeGroupName0x28llvh0x3A0x3ASmallVector0x3Cchar16_t0x2C0x205u0x3E0x260x29(ptr noundef nonnull %0, i32 noundef %99, i32 noundef %1045)
  %.not10030 = icmp eq i32 %1046, 0
  br i1 %.not10030, label %1047, label %1051

1047:                                             ; preds = %1034
  %1048 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10055 = icmp eq i32 %1048, 0
  br i1 %.not10055, label %1049, label %1406

1049:                                             ; preds = %1047
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 12)
  %1050 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1050)
  br label %1406

1051:                                             ; preds = %1034
  %1052 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1053 = add i32 %1052, 176
  %1054 = zext i32 %1053 to i64
  %1055 = add nuw nsw i64 %1054, 20
  %1056 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1055)
  %1057 = add nuw nsw i64 %1054, 16
  %1058 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1057)
  %1059 = add i32 %1058, %1056
  %1060 = add nuw nsw i64 %1054, 8
  %1061 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1062 = add nuw nsw i64 %1054, 4
  %1063 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1064 = sub i32 %1061, %1063
  %1065 = ashr i32 %1064, 2
  %1066 = mul i32 %1065, 170
  %1067 = add i32 %1066, -1
  %.not10031 = icmp eq i32 %1063, %1061
  %1068 = select i1 %.not10031, i32 0, i32 %1067
  %1069 = icmp eq i32 %1059, %1068
  br i1 %1069, label %1070, label %1321

1070:                                             ; preds = %1051
  %1071 = load i32, ptr %8, align 8, !tbaa !5
  %1072 = add i32 %1071, -32
  store i32 %1072, ptr %8, align 8, !tbaa !5
  %1073 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1057)
  %1074 = icmp ugt i32 %1073, 169
  br i1 %1074, label %1075, label %1159

1075:                                             ; preds = %1070
  %1076 = add i32 %1073, -170
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1057, i32 noundef %1076)
  %1077 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1078 = zext i32 %1077 to i64
  %1079 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1078)
  %1080 = add i32 %1077, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1080)
  %1081 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1082 = add nuw nsw i64 %1054, 12
  %1083 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1082)
  %.not10043 = icmp eq i32 %1081, %1083
  br i1 %.not10043, label %1084, label %1155

1084:                                             ; preds = %1075
  %1085 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1054)
  %1086 = icmp ult i32 %1085, %1080
  br i1 %1086, label %1087, label %1099

1087:                                             ; preds = %1084
  %1088 = sub i32 %1080, %1085
  %1089 = ashr i32 %1088, 2
  %1090 = add nsw i32 %1089, 1
  %1091 = sdiv i32 %1090, -2
  %1092 = shl nsw i32 %1091, 2
  %1093 = add i32 %1092, %1080
  %1094 = sub i32 %1081, %1080
  %1095 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %1093, i32 noundef %1080, i32 noundef %1094) #5
  %1096 = add i32 %1095, %1094
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %1096)
  %1097 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1098 = add i32 %1097, %1092
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1098)
  br label %1155

1099:                                             ; preds = %1084
  %1100 = sub i32 %1081, %1085
  %1101 = ashr i32 %1100, 1
  %1102 = icmp eq i32 %1081, %1085
  %1103 = select i1 %1102, i32 1, i32 %1101
  %1104 = icmp ugt i32 %1103, 1073741823
  br i1 %1104, label %.loopexit10281, label %1105

1105:                                             ; preds = %1099
  %1106 = shl nuw i32 %1103, 2
  %1107 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1106) #5
  %1108 = add i32 %1107, %1106
  %1109 = and i32 %1103, 1073741820
  %1110 = add i32 %1107, %1109
  %1111 = icmp eq i32 %1081, %1080
  br i1 %1111, label %.loopexit10294, label %1112

1112:                                             ; preds = %1105
  %1113 = sub i32 %1081, %1080
  %1114 = and i32 %1113, -4
  %1115 = add i32 %1113, -4
  %1116 = lshr i32 %1115, 2
  %1117 = add nuw nsw i32 %1116, 1
  %1118 = and i32 %1117, 7
  %.not10044 = icmp eq i32 %1118, 0
  br i1 %.not10044, label %.loopexit10296, label %.preheader10295

.preheader10295:                                  ; preds = %1112, %.preheader10295
  %.09625 = phi i32 [ %1122, %.preheader10295 ], [ %1080, %1112 ]
  %.49561 = phi i32 [ %1124, %.preheader10295 ], [ 0, %1112 ]
  %.9 = phi i32 [ %1123, %.preheader10295 ], [ %1110, %1112 ]
  %1119 = zext i32 %.09625 to i64
  %1120 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1119)
  %1121 = zext i32 %.9 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1121, i32 noundef %1120)
  %1122 = add i32 %.09625, 4
  %1123 = add i32 %.9, 4
  %1124 = add nuw nsw i32 %.49561, 1
  %.not10045 = icmp eq i32 %1124, %1118
  br i1 %.not10045, label %.loopexit10296, label %.preheader10295

.loopexit10296:                                   ; preds = %.preheader10295, %1112
  %.19626 = phi i32 [ %1080, %1112 ], [ %1122, %.preheader10295 ]
  %.10 = phi i32 [ %1110, %1112 ], [ %1123, %.preheader10295 ]
  %1125 = add i32 %1110, %1114
  %1126 = icmp ult i32 %1115, 28
  br i1 %1126, label %.loopexit10294, label %.preheader10293

.preheader10293:                                  ; preds = %.loopexit10296, %.preheader10293
  %.29627 = phi i32 [ %1151, %.preheader10293 ], [ %.19626, %.loopexit10296 ]
  %.11 = phi i32 [ %1152, %.preheader10293 ], [ %.10, %.loopexit10296 ]
  %1127 = zext i32 %.29627 to i64
  %1128 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1127)
  %1129 = zext i32 %.11 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1129, i32 noundef %1128)
  %1130 = add nuw nsw i64 %1127, 4
  %1131 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1130)
  %1132 = add nuw nsw i64 %1129, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1132, i32 noundef %1131)
  %1133 = add nuw nsw i64 %1127, 8
  %1134 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1133)
  %1135 = add nuw nsw i64 %1129, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1135, i32 noundef %1134)
  %1136 = add nuw nsw i64 %1127, 12
  %1137 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1136)
  %1138 = add nuw nsw i64 %1129, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1138, i32 noundef %1137)
  %1139 = add nuw nsw i64 %1127, 16
  %1140 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1139)
  %1141 = add nuw nsw i64 %1129, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1141, i32 noundef %1140)
  %1142 = add nuw nsw i64 %1127, 20
  %1143 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1142)
  %1144 = add nuw nsw i64 %1129, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1144, i32 noundef %1143)
  %1145 = add nuw nsw i64 %1127, 24
  %1146 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1145)
  %1147 = add nuw nsw i64 %1129, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1147, i32 noundef %1146)
  %1148 = add nuw nsw i64 %1127, 28
  %1149 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1148)
  %1150 = add nuw nsw i64 %1129, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1150, i32 noundef %1149)
  %1151 = add i32 %.29627, 32
  %1152 = add i32 %.11, 32
  %.not10046 = icmp eq i32 %1152, %1125
  br i1 %.not10046, label %.loopexit10294, label %.preheader10293

.loopexit10294:                                   ; preds = %.preheader10293, %.loopexit10296, %1105
  %.59562 = phi i32 [ %1110, %1105 ], [ %1125, %.loopexit10296 ], [ %1125, %.preheader10293 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1082, i32 noundef %1108)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %.59562)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1110)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1054, i32 noundef %1107)
  %.not10047 = icmp eq i32 %1085, 0
  br i1 %.not10047, label %1155, label %1153

1153:                                             ; preds = %.loopexit10294
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1085) #5
  %1154 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  br label %1155

1155:                                             ; preds = %1075, %.loopexit10294, %1153, %1087
  %.69563 = phi i32 [ %1096, %1087 ], [ %.59562, %.loopexit10294 ], [ %1154, %1153 ], [ %1081, %1075 ]
  %1156 = zext i32 %.69563 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1156, i32 noundef %1079)
  %1157 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1158 = add i32 %1157, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %1158)
  br label %1318

1159:                                             ; preds = %1070
  %1160 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1161 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1162 = sub i32 %1160, %1161
  %1163 = ashr i32 %1162, 2
  %1164 = add nuw nsw i64 %1054, 12
  %1165 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1164)
  %1166 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1054)
  %1167 = sub i32 %1165, %1166
  %1168 = ashr i32 %1167, 2
  %1169 = icmp ult i32 %1163, %1168
  br i1 %1169, label %1170, label %1258

1170:                                             ; preds = %1159
  %.not10037 = icmp eq i32 %1165, %1160
  %1171 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 4080) #5
  %1172 = zext i32 %1072 to i64
  %1173 = add nuw nsw i64 %1172, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1173, i32 noundef %1171)
  %1174 = add i32 %1071, -20
  br i1 %.not10037, label %1176, label %1175

1175:                                             ; preds = %1170
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_back0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef nonnull %0, i32 noundef %1053, i32 noundef %1174) #5
  br label %1318

1176:                                             ; preds = %1170
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef nonnull %0, i32 noundef %1053, i32 noundef %1174) #5
  %1177 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1178 = zext i32 %1177 to i64
  %1179 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1178)
  %1180 = add i32 %1177, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1180)
  %1181 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1182 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1164)
  %.not10038 = icmp eq i32 %1181, %1182
  br i1 %.not10038, label %1183, label %1254

1183:                                             ; preds = %1176
  %1184 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1054)
  %1185 = icmp ult i32 %1184, %1180
  br i1 %1185, label %1186, label %1198

1186:                                             ; preds = %1183
  %1187 = sub i32 %1180, %1184
  %1188 = ashr i32 %1187, 2
  %1189 = add nsw i32 %1188, 1
  %1190 = sdiv i32 %1189, -2
  %1191 = shl nsw i32 %1190, 2
  %1192 = add i32 %1191, %1180
  %1193 = sub i32 %1181, %1180
  %1194 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %1192, i32 noundef %1180, i32 noundef %1193) #5
  %1195 = add i32 %1194, %1193
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %1195)
  %1196 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1197 = add i32 %1196, %1191
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1197)
  br label %1254

1198:                                             ; preds = %1183
  %1199 = sub i32 %1181, %1184
  %1200 = ashr i32 %1199, 1
  %1201 = icmp eq i32 %1181, %1184
  %1202 = select i1 %1201, i32 1, i32 %1200
  %1203 = icmp ugt i32 %1202, 1073741823
  br i1 %1203, label %.loopexit10281, label %1204

1204:                                             ; preds = %1198
  %1205 = shl nuw i32 %1202, 2
  %1206 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1205) #5
  %1207 = add i32 %1206, %1205
  %1208 = and i32 %1202, 1073741820
  %1209 = add i32 %1206, %1208
  %1210 = icmp eq i32 %1181, %1180
  br i1 %1210, label %.loopexit10298, label %1211

1211:                                             ; preds = %1204
  %1212 = sub i32 %1181, %1180
  %1213 = and i32 %1212, -4
  %1214 = add i32 %1212, -4
  %1215 = lshr i32 %1214, 2
  %1216 = add nuw nsw i32 %1215, 1
  %1217 = and i32 %1216, 7
  %.not10039 = icmp eq i32 %1217, 0
  br i1 %.not10039, label %.loopexit10300, label %.preheader10299

.preheader10299:                                  ; preds = %1211, %.preheader10299
  %.39628 = phi i32 [ %1221, %.preheader10299 ], [ %1180, %1211 ]
  %.79564 = phi i32 [ %1223, %.preheader10299 ], [ 0, %1211 ]
  %.12 = phi i32 [ %1222, %.preheader10299 ], [ %1209, %1211 ]
  %1218 = zext i32 %.39628 to i64
  %1219 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1218)
  %1220 = zext i32 %.12 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1220, i32 noundef %1219)
  %1221 = add i32 %.39628, 4
  %1222 = add i32 %.12, 4
  %1223 = add nuw nsw i32 %.79564, 1
  %.not10040 = icmp eq i32 %1223, %1217
  br i1 %.not10040, label %.loopexit10300, label %.preheader10299

.loopexit10300:                                   ; preds = %.preheader10299, %1211
  %.49629 = phi i32 [ %1180, %1211 ], [ %1221, %.preheader10299 ]
  %.13 = phi i32 [ %1209, %1211 ], [ %1222, %.preheader10299 ]
  %1224 = add i32 %1209, %1213
  %1225 = icmp ult i32 %1214, 28
  br i1 %1225, label %.loopexit10298, label %.preheader10297

.preheader10297:                                  ; preds = %.loopexit10300, %.preheader10297
  %.59630 = phi i32 [ %1250, %.preheader10297 ], [ %.49629, %.loopexit10300 ]
  %.14 = phi i32 [ %1251, %.preheader10297 ], [ %.13, %.loopexit10300 ]
  %1226 = zext i32 %.59630 to i64
  %1227 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1226)
  %1228 = zext i32 %.14 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1228, i32 noundef %1227)
  %1229 = add nuw nsw i64 %1226, 4
  %1230 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1229)
  %1231 = add nuw nsw i64 %1228, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1231, i32 noundef %1230)
  %1232 = add nuw nsw i64 %1226, 8
  %1233 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1232)
  %1234 = add nuw nsw i64 %1228, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1234, i32 noundef %1233)
  %1235 = add nuw nsw i64 %1226, 12
  %1236 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1235)
  %1237 = add nuw nsw i64 %1228, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1237, i32 noundef %1236)
  %1238 = add nuw nsw i64 %1226, 16
  %1239 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1238)
  %1240 = add nuw nsw i64 %1228, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1240, i32 noundef %1239)
  %1241 = add nuw nsw i64 %1226, 20
  %1242 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1241)
  %1243 = add nuw nsw i64 %1228, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1243, i32 noundef %1242)
  %1244 = add nuw nsw i64 %1226, 24
  %1245 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1244)
  %1246 = add nuw nsw i64 %1228, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1246, i32 noundef %1245)
  %1247 = add nuw nsw i64 %1226, 28
  %1248 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1247)
  %1249 = add nuw nsw i64 %1228, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1249, i32 noundef %1248)
  %1250 = add i32 %.59630, 32
  %1251 = add i32 %.14, 32
  %.not10041 = icmp eq i32 %1251, %1224
  br i1 %.not10041, label %.loopexit10298, label %.preheader10297

.loopexit10298:                                   ; preds = %.preheader10297, %.loopexit10300, %1204
  %.89565 = phi i32 [ %1209, %1204 ], [ %1224, %.loopexit10300 ], [ %1224, %.preheader10297 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1164, i32 noundef %1207)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %.89565)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %1209)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1054, i32 noundef %1206)
  %.not10042 = icmp eq i32 %1184, 0
  br i1 %.not10042, label %1254, label %1252

1252:                                             ; preds = %.loopexit10298
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1184) #5
  %1253 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  br label %1254

1254:                                             ; preds = %1176, %.loopexit10298, %1252, %1186
  %.99566 = phi i32 [ %1195, %1186 ], [ %.89565, %.loopexit10298 ], [ %1253, %1252 ], [ %1181, %1176 ]
  %1255 = zext i32 %.99566 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1255, i32 noundef %1179)
  %1256 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1257 = add i32 %1256, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %1257)
  br label %1318

1258:                                             ; preds = %1159
  %1259 = add i32 %1052, 188
  %1260 = zext i32 %1072 to i64
  %1261 = add nuw nsw i64 %1260, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1261, i32 noundef %1259)
  %1262 = ashr i32 %1167, 1
  %1263 = icmp eq i32 %1165, %1166
  %1264 = select i1 %1263, i32 1, i32 %1262
  %1265 = icmp ugt i32 %1264, 1073741823
  br i1 %1265, label %.loopexit10281, label %1266

1266:                                             ; preds = %1258
  %1267 = shl nuw i32 %1264, 2
  %1268 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1267) #5
  %1269 = add nuw nsw i64 %1260, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1269, i32 noundef %1268)
  %1270 = add i32 %1268, %1267
  %1271 = add nuw nsw i64 %1260, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1271, i32 noundef %1270)
  %1272 = and i32 %1162, -4
  %1273 = add i32 %1268, %1272
  %1274 = add nuw nsw i64 %1260, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1274, i32 noundef %1273)
  %1275 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 4080) #5
  %.not10032 = icmp eq i32 %1163, %1264
  br i1 %.not10032, label %1276, label %1294

1276:                                             ; preds = %1266
  %1277 = icmp sgt i32 %1162, 0
  br i1 %1277, label %1278, label %1283

1278:                                             ; preds = %1276
  %1279 = shl nuw nsw i32 %1163, 1
  %1280 = add nuw nsw i32 %1279, 2
  %1281 = and i32 %1280, 2147483644
  %1282 = sub i32 %1273, %1281
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1274, i32 noundef %1282)
  br label %1294

1283:                                             ; preds = %1276
  %1284 = ashr i32 %1162, 1
  %1285 = icmp eq i32 %1161, %1160
  %1286 = select i1 %1285, i32 1, i32 %1284
  %1287 = icmp ugt i32 %1286, 1073741823
  br i1 %1287, label %.loopexit10281, label %1288

1288:                                             ; preds = %1283
  %1289 = shl nuw nsw i32 %1286, 2
  %1290 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1289) #5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1269, i32 noundef %1290)
  %1291 = add i32 %1290, %1289
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1271, i32 noundef %1291)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1274, i32 noundef %1290)
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1268) #5
  %1292 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %1293 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  br label %1294

1294:                                             ; preds = %1266, %1288, %1278
  %.59663 = phi i32 [ %1268, %1266 ], [ %1268, %1278 ], [ %1290, %1288 ]
  %.69631 = phi i32 [ %1160, %1266 ], [ %1160, %1278 ], [ %1293, %1288 ]
  %.39614 = phi i32 [ %1270, %1266 ], [ %1270, %1278 ], [ %1291, %1288 ]
  %.109567 = phi i32 [ %1273, %1266 ], [ %1282, %1278 ], [ %1290, %1288 ]
  %.15 = phi i32 [ %1161, %1266 ], [ %1161, %1278 ], [ %1292, %1288 ]
  %1295 = zext i32 %.109567 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1295, i32 noundef %1275)
  %1296 = add i32 %.109567, 4
  %1297 = add nuw nsw i64 %1260, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1297, i32 noundef %1296)
  %.not10033 = icmp eq i32 %.15, %.69631
  br i1 %.not10033, label %1308, label %.preheader10301

.preheader10301:                                  ; preds = %1294
  %1298 = add i32 %1071, -20
  br label %1299

1299:                                             ; preds = %.preheader10301, %1299
  %.79632 = phi i32 [ %1300, %1299 ], [ %.69631, %.preheader10301 ]
  %1300 = add i32 %.79632, -4
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fsplit_buffer0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x3E0x3E0x3A0x3Apush_front0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Cchar16_t0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar16_t0x3E0x3E0x2A0x260x260x29(ptr noundef %0, i32 noundef %1298, i32 noundef %1300) #5
  %1301 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  %.not10034 = icmp eq i32 %1300, %1301
  br i1 %.not10034, label %1302, label %1299

1302:                                             ; preds = %1299
  %1303 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1271)
  %1304 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1297)
  %1305 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1274)
  %1306 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1269)
  %1307 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  br label %1308

1308:                                             ; preds = %1302, %1294
  %.69664 = phi i32 [ %1306, %1302 ], [ %.59663, %1294 ]
  %.49615 = phi i32 [ %1303, %1302 ], [ %.39614, %1294 ]
  %.19604 = phi i32 [ %1304, %1302 ], [ %1296, %1294 ]
  %.119568 = phi i32 [ %1305, %1302 ], [ %.109567, %1294 ]
  %.59542 = phi i32 [ %1300, %1302 ], [ %.69631, %1294 ]
  %.16 = phi i32 [ %1307, %1302 ], [ %.69631, %1294 ]
  %1309 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1054)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1054, i32 noundef %.69664)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1269, i32 noundef %1309)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1062, i32 noundef %.119568)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1274, i32 noundef %.59542)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1060, i32 noundef %.19604)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1297, i32 noundef %.16)
  %1310 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1164)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1164, i32 noundef %.49615)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1271, i32 noundef %1310)
  %.not10035 = icmp eq i32 %.16, %.59542
  br i1 %.not10035, label %1316, label %1311

1311:                                             ; preds = %1308
  %1312 = add i32 %.59542, 3
  %1313 = sub i32 %1312, %.16
  %1314 = and i32 %1313, -4
  %1315 = add i32 %1314, %.16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1297, i32 noundef %1315)
  br label %1316

1316:                                             ; preds = %1311, %1308
  %.not10036 = icmp eq i32 %1309, 0
  br i1 %.not10036, label %1318, label %1317

1317:                                             ; preds = %1316
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1309) #5
  br label %1318

1318:                                             ; preds = %1316, %1317, %1254, %1175, %1155
  store i32 %1071, ptr %8, align 8, !tbaa !5
  %1319 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1320 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  br label %1321

1321:                                             ; preds = %1318, %1051
  %.79665 = phi i32 [ %1320, %1318 ], [ %1063, %1051 ]
  %.59616 = phi i32 [ %1319, %1318 ], [ %1061, %1051 ]
  %.not10048 = icmp eq i32 %.79665, %.59616
  br i1 %.not10048, label %1334, label %1322

1322:                                             ; preds = %1321
  %1323 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1055)
  %1324 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1057)
  %1325 = add i32 %1324, %1323
  %1326 = udiv i32 %1325, 170
  %1327 = shl nuw nsw i32 %1326, 2
  %1328 = add i32 %1327, %.79665
  %1329 = zext i32 %1328 to i64
  %1330 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1329)
  %.neg = mul i32 %1326, -170
  %1331 = add i32 %.neg, %1325
  %1332 = mul i32 %1331, 24
  %1333 = add i32 %1332, %1330
  br label %1334

1334:                                             ; preds = %1322, %1321
  %.109644 = phi i32 [ %1333, %1322 ], [ 0, %1321 ]
  %1335 = zext i32 %.109644 to i64
  %1336 = add nuw nsw i64 %1335, 4
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1336, i64 noundef 21474836480)
  %1337 = add i32 %.109644, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1335, i32 noundef %1337)
  %1338 = zext i32 %1045 to i64
  %1339 = add nuw nsw i64 %1338, 4
  %1340 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1339)
  %.not10049 = icmp eq i32 %1340, 0
  br i1 %.not10049, label %1344, label %1341

1341:                                             ; preds = %1334
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %.109644, i32 noundef %1045) #5
  %1342 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1343 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1062)
  br label %1344

1344:                                             ; preds = %1341, %1334
  %.89666 = phi i32 [ %1343, %1341 ], [ %.79665, %1334 ]
  %.69617 = phi i32 [ %1342, %1341 ], [ %.59616, %1334 ]
  %1345 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1055)
  %1346 = add i32 %1345, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1055, i32 noundef %1346)
  %1347 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1057)
  %1348 = add i32 %1347, %1346
  %1349 = udiv i32 %1348, 170
  %1350 = shl nuw nsw i32 %1349, 2
  %1351 = add i32 %1350, %.89666
  %1352 = zext i32 %1351 to i64
  %1353 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1352)
  %.neg10050 = mul i32 %1349, -170
  %1354 = add i32 %.neg10050, %1348
  %1355 = mul i32 %1354, 24
  %1356 = add i32 %1355, %1353
  %.not10051 = icmp eq i32 %.89666, %.69617
  %1357 = select i1 %.not10051, i32 0, i32 %1356
  %1358 = icmp eq i32 %1357, %1353
  br i1 %1358, label %1359, label %1364

1359:                                             ; preds = %1344
  %1360 = add i32 %1351, -4
  %1361 = zext i32 %1360 to i64
  %1362 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1361)
  %1363 = add i32 %1362, 4080
  br label %1364

1364:                                             ; preds = %1344, %1359
  %.09581 = phi i32 [ %1363, %1359 ], [ %1357, %1344 ]
  %1365 = add i32 %.09581, -24
  %1366 = zext i32 %1365 to i64
  %1367 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1366)
  %1368 = add nuw nsw i64 %1041, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1368, i32 noundef %1367)
  %1369 = add nuw nsw i64 %1366, 4
  %1370 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1369)
  %1371 = add nuw nsw i64 %1041, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1371, i32 noundef %1370)
  %1372 = add i32 %1052, 200
  %1373 = add i32 %1023, -16
  %1374 = add i32 %1023, -4
  %1375 = tail call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef nonnull %0, i32 noundef %1372, i32 noundef %1373, i32 noundef %1374) #5
  %.not10052 = icmp eq i32 %1375, 0
  br i1 %.not10052, label %1380, label %1376

1376:                                             ; preds = %1364
  %1377 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10054 = icmp eq i32 %1377, 0
  br i1 %.not10054, label %1378, label %1406

1378:                                             ; preds = %1376
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 13)
  %1379 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1379)
  br label %1406

1380:                                             ; preds = %1364
  %1381 = add nuw nsw i64 %1041, 44
  %1382 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1381)
  %1383 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3AInsertIntoBucketImpl0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x29(ptr noundef nonnull %0, i32 noundef %1372, i32 noundef %1373, i32 noundef %1373, i32 noundef %1382) #5
  %1384 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1368)
  %1385 = zext i32 %1383 to i64
  %1386 = add nuw nsw i64 %1385, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1386, i32 noundef %1040)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1385, i64 noundef %1384)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %102, i32 noundef 1)
  %1387 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %137)
  %1388 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %138)
  %.not10053 = icmp ult i32 %1387, %1388
  br i1 %.not10053, label %1391, label %1389

1389:                                             ; preds = %1380
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %1390 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %137)
  br label %1391

1391:                                             ; preds = %1389, %1380
  %.69543 = phi i32 [ %1390, %1389 ], [ %1387, %1380 ]
  %1392 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %136)
  %1393 = mul i32 %.69543, 44
  %1394 = add i32 %1392, %1393
  %1395 = zext i32 %1394 to i64
  %1396 = add nuw nsw i64 %1395, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1396, i64 noundef 0)
  %1397 = add nuw nsw i64 %1395, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1397, i32 noundef %1039)
  %1398 = add nuw nsw i64 %1395, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1398, i32 noundef %1028)
  %1399 = add nuw nsw i64 %1395, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1399, i32 noundef 1)
  %1400 = add nuw nsw i64 %1395, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1400, i64 noundef -4294967296)
  %1401 = add nuw nsw i64 %1395, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1401, i32 noundef %1028)
  %1402 = add nuw nsw i64 %1395, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1402, i32 noundef %1039)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1395, i32 noundef 2)
  %1403 = add nuw nsw i64 %1395, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1403, i32 noundef 0)
  %1404 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %137)
  %1405 = add i32 %1404, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %137, i32 noundef %1405)
  br label %1406

1406:                                             ; preds = %1376, %1047, %1391, %1378, %1049
  %1407 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1044)
  %1408 = icmp eq i32 %1407, %1043
  br i1 %1408, label %1410, label %1409

1409:                                             ; preds = %1406
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1407) #5
  br label %1410

1410:                                             ; preds = %1406, %1030, %1409, %1032
  store i32 %1023, ptr %8, align 8, !tbaa !5
  br label %1478

.critedge10239:                                   ; preds = %.critedge10235, %1019
  %1411 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %868)
  %.not10057 = icmp ne i32 %1411, 63
  %or.cond10244 = or i1 %871, %.not10057
  br i1 %or.cond10244, label %.critedge10242, label %1412

1412:                                             ; preds = %.critedge10239
  %1413 = add nuw nsw i64 %140, 4
  %1414 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1413)
  %.not10058 = icmp eq i32 %1414, 58
  br i1 %.not10058, label %1415, label %.critedge10242

1415:                                             ; preds = %1412
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %864)
  %1416 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1417 = zext i32 %1416 to i64
  %1418 = add nuw nsw i64 %1417, 148
  %1419 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1418)
  %1420 = add i32 %1419, -4
  %1421 = zext i32 %1420 to i64
  %1422 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1421)
  %1423 = add nuw nsw i64 %1417, 138
  %1424 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1423)
  %1425 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %1426 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10059 = icmp ult i32 %1425, %1426
  br i1 %.not10059, label %1429, label %1427

1427:                                             ; preds = %1415
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %1428 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %1429

1429:                                             ; preds = %1427, %1415
  %.119645 = phi i32 [ %1428, %1427 ], [ %1425, %1415 ]
  %1430 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %1431 = mul i32 %.119645, 44
  %1432 = add i32 %1430, %1431
  %1433 = zext i32 %1432 to i64
  %1434 = add nuw nsw i64 %1433, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1434, i64 noundef 0)
  %1435 = add nuw nsw i64 %1433, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1435, i32 noundef %1422)
  %1436 = add nuw nsw i64 %1433, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1436, i32 noundef %1424)
  %1437 = add nuw nsw i64 %1433, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1437, i32 noundef 1)
  %1438 = add nuw nsw i64 %1433, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1438, i32 noundef -1)
  %1439 = add nuw nsw i64 %1433, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1439, i64 noundef 0)
  %1440 = add nuw nsw i64 %1433, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1440, i32 noundef %1422)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1433, i32 noundef 3)
  %1441 = add nuw nsw i64 %1433, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1441, i32 noundef 0)
  %1442 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %1443 = add i32 %1442, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %1443)
  br label %1478

.critedge10242:                                   ; preds = %..critedge10242_crit_edge, %863, %1412, %.critedge10239
  %.pre-phi10496 = phi i32 [ %.pre10495, %..critedge10242_crit_edge ], [ %865, %863 ], [ %865, %1412 ], [ %865, %.critedge10239 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.pre-phi10496)
  %1444 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1445 = zext i32 %1444 to i64
  %1446 = add nuw nsw i64 %1445, 138
  %1447 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1446)
  %1448 = icmp eq i32 %1447, 65535
  br i1 %1448, label %1449, label %1452

1449:                                             ; preds = %.critedge10242
  %1450 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10061 = icmp eq i32 %1450, 0
  br i1 %.not10061, label %1451, label %1478

1451:                                             ; preds = %1449
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.09658)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 10)
  br label %1478

1452:                                             ; preds = %.critedge10242
  %1453 = add nuw nsw i64 %1445, 148
  %1454 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1453)
  %1455 = add i32 %1454, -4
  %1456 = zext i32 %1455 to i64
  %1457 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1456)
  %1458 = add i32 %1447, 1
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1446, i32 noundef %1458)
  %1459 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %1460 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %128)
  %.not10060 = icmp ult i32 %1459, %1460
  br i1 %.not10060, label %1463, label %1461

1461:                                             ; preds = %1452
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %129) #5
  %1462 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  br label %1463

1463:                                             ; preds = %1461, %1452
  %.129646 = phi i32 [ %1462, %1461 ], [ %1459, %1452 ]
  %1464 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %1465 = mul i32 %.129646, 44
  %1466 = add i32 %1464, %1465
  %1467 = zext i32 %1466 to i64
  %1468 = add nuw nsw i64 %1467, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1468, i64 noundef 0)
  %1469 = add nuw nsw i64 %1467, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1469, i32 noundef %1457)
  %1470 = add nuw nsw i64 %1467, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1470, i32 noundef %1447)
  %1471 = add nuw nsw i64 %1467, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1471, i32 noundef 1)
  %1472 = add nuw nsw i64 %1467, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1472, i64 noundef -4294967296)
  %1473 = add nuw nsw i64 %1467, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1473, i32 noundef %1447)
  %1474 = add nuw nsw i64 %1467, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1474, i32 noundef %1457)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1467, i32 noundef 1)
  %1475 = add nuw nsw i64 %1467, 36
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1475, i32 noundef 0)
  %1476 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %1477 = add i32 %1476, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %119, i32 noundef %1477)
  br label %1478

1478:                                             ; preds = %139, %1449, %267, %1463, %1451, %1429, %1410, %1002, %964, %924, %889, %862, %270, %259
  %1479 = load i32, ptr %8, align 8, !tbaa !5
  %1480 = add i32 %1479, -80
  store i32 %1480, ptr %8, align 8, !tbaa !5
  %1481 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %1482 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %1483 = icmp eq i32 %1481, %1482
  br i1 %1483, label %.loopexit10290, label %1484

1484:                                             ; preds = %1478
  %1485 = add i32 %1479, -20
  %1486 = zext i32 %1480 to i64
  %1487 = add nuw nsw i64 %1486, 36
  %1488 = add nuw nsw i64 %1486, 28
  %1489 = add nuw nsw i64 %1486, 38
  %1490 = add nuw nsw i64 %1486, 40
  %1491 = add nuw nsw i64 %1486, 48
  %1492 = add nuw nsw i64 %1486, 24
  %1493 = add nuw nsw i64 %1486, 20
  %1494 = add nuw nsw i64 %1486, 12
  %1495 = add i32 %1479, -68
  %1496 = add nuw nsw i64 %1486, 60
  %1497 = add nuw nsw i64 %1486, 52
  %1498 = add nuw nsw i64 %1486, 47
  %1499 = add i32 %1479, -32
  %1500 = add i32 %1479, -33
  %1501 = add i32 %1479, -52
  br label %1502

1502:                                             ; preds = %2590, %1484
  %.139647 = phi i32 [ %1482, %1484 ], [ %2592, %2590 ]
  %.79544 = phi i32 [ %1481, %1484 ], [ %2591, %2590 ]
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1487, i32 noundef 1)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1488, i64 noundef -4294967296)
  %1503 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1504 = zext i32 %1503 to i64
  %1505 = add nuw nsw i64 %1504, 138
  %1506 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1505)
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1489, i32 noundef %1506)
  %1507 = add nuw nsw i64 %1504, 148
  %1508 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1507)
  %1509 = add i32 %1508, -4
  %1510 = zext i32 %1509 to i64
  %1511 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1510)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1490, i32 noundef %1511)
  %1512 = zext i32 %.79544 to i64
  %1513 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1512)
  switch i32 %1513, label %2513 [
    i32 36, label %1600
    i32 125, label %2505
    i32 124, label %.loopexit10290
    i32 123, label %2474
    i32 40, label %.loopexit10290
    i32 41, label %.loopexit10290
    i32 42, label %2471
    i32 43, label %2471
    i32 94, label %1514
    i32 93, label %2505
    i32 46, label %2125
    i32 92, label %1680
    i32 91, label %2213
    i32 63, label %2471
  ]

1514:                                             ; preds = %1502
  %1515 = add nuw nsw i64 %1504, 136
  %1516 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1515)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1516)
  %1517 = load i32, ptr %8, align 8, !tbaa !5
  %1518 = add i32 %1517, -16
  store i32 %1518, ptr %8, align 8, !tbaa !5
  %1519 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 8) #5
  %1520 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1491)
  %1521 = zext i32 %1519 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1521, i32 noundef 112192)
  %1522 = lshr i32 %1520, 2
  %1523 = and i32 %1522, 1
  %1524 = add nuw nsw i64 %1521, 4
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1524, i32 noundef %1523)
  %1525 = zext i32 %1518 to i64
  %1526 = add nuw nsw i64 %1525, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1526, i32 noundef %1519)
  %1527 = add nuw nsw i64 %1504, 160
  %1528 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1527)
  %1529 = add nuw nsw i64 %1504, 164
  %1530 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1529)
  %1531 = icmp ult i32 %1528, %1530
  br i1 %1531, label %1532, label %1535

1532:                                             ; preds = %1514
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1526, i32 noundef 0)
  %1533 = zext i32 %1528 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1533, i32 noundef %1519)
  %1534 = add i32 %1528, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1527, i32 noundef %1534)
  br label %1538

1535:                                             ; preds = %1514
  %1536 = add i32 %1503, 156
  %1537 = add i32 %1517, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %1536, i32 noundef %1537) #5
  br label %1538

1538:                                             ; preds = %1535, %1532
  %1539 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1526)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1526, i32 noundef 0)
  %.not10135 = icmp eq i32 %1539, 0
  br i1 %.not10135, label %1564, label %1540

1540:                                             ; preds = %1538
  %1541 = zext i32 %1539 to i64
  %1542 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1541)
  %1543 = zext i32 %1542 to i64
  %1544 = add nuw nsw i64 %1543, 4
  %1545 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1544)
  %1546 = load i32, ptr %133, align 4, !tbaa !15
  %1547 = icmp ult i32 %1545, %1546
  br i1 %1547, label %1548, label %.critedge10246, !prof !16

1548:                                             ; preds = %1540
  %1549 = load ptr, ptr %132, align 8, !tbaa !17
  %1550 = zext i32 %1545 to i64
  %1551 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1549, i64 %1550
  %1552 = getelementptr inbounds i8, ptr %1551, i64 8
  %1553 = load ptr, ptr %1552, align 8, !tbaa !18
  %.not10136 = icmp eq ptr %1553, null
  br i1 %.not10136, label %.critedge10246, label %1554, !prof !20

1554:                                             ; preds = %1548
  %1555 = load ptr, ptr %1551, align 8, !tbaa !22
  %1556 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %1555)
  br i1 %1556, label %1557, label %.critedge10246, !prof !16

.critedge10246:                                   ; preds = %1548, %1540, %1554
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

1557:                                             ; preds = %1554
  %1558 = load ptr, ptr %132, align 8, !tbaa !17
  %1559 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1558, i64 %1550
  %1560 = getelementptr inbounds i8, ptr %1559, i64 8
  %1561 = load ptr, ptr %1560, align 8, !tbaa !18
  %1562 = getelementptr inbounds i8, ptr %1559, i64 16
  %1563 = load ptr, ptr %1562, align 8, !tbaa !23
  tail call void %1561(ptr noundef %1563, i32 noundef %1539) #5
  br label %1564

1564:                                             ; preds = %1557, %1538
  %1565 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1507)
  %1566 = add nuw nsw i64 %1504, 152
  %1567 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1566)
  %1568 = icmp ult i32 %1565, %1567
  br i1 %1568, label %1569, label %1572

1569:                                             ; preds = %1564
  %1570 = zext i32 %1565 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1570, i32 noundef %1519)
  %1571 = add i32 %1565, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1571)
  br label %1597

1572:                                             ; preds = %1564
  %1573 = add nuw nsw i64 %1504, 144
  %1574 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1573)
  %1575 = sub i32 %1565, %1574
  %1576 = ashr i32 %1575, 2
  %1577 = add nsw i32 %1576, 1
  %1578 = icmp ugt i32 %1577, 1073741823
  br i1 %1578, label %.loopexit10280, label %1579

1579:                                             ; preds = %1572
  %1580 = sub i32 %1567, %1574
  %1581 = ashr i32 %1580, 1
  %1582 = tail call i32 @llvm.umax.i32(i32 %1577, i32 %1581)
  %1583 = icmp ugt i32 %1580, 2147483643
  %1584 = select i1 %1583, i32 1073741823, i32 %1582
  %.not10137 = icmp eq i32 %1584, 0
  br i1 %.not10137, label %._crit_edge10459, label %1585

1585:                                             ; preds = %1579
  %1586 = icmp ugt i32 %1584, 1073741823
  br i1 %1586, label %.loopexit10281, label %1587

1587:                                             ; preds = %1585
  %1588 = shl nuw i32 %1584, 2
  %1589 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1588) #5
  br label %._crit_edge10459

._crit_edge10459:                                 ; preds = %1579, %1587
  %.pre-phi10478 = phi i32 [ %1588, %1587 ], [ 0, %1579 ]
  %.59587 = phi i32 [ %1589, %1587 ], [ 0, %1579 ]
  %1590 = and i32 %1575, -4
  %1591 = add i32 %.59587, %1590
  %1592 = zext i32 %1591 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1592, i32 noundef %1519)
  %1593 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.59587, i32 noundef %1574, i32 noundef %1575) #5
  %1594 = add i32 %1593, %.pre-phi10478
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1566, i32 noundef %1594)
  %1595 = add i32 %1591, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1595)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1573, i32 noundef %1593)
  %.not10138 = icmp eq i32 %1574, 0
  br i1 %.not10138, label %1597, label %1596

1596:                                             ; preds = %._crit_edge10459
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1574) #5
  br label %1597

1597:                                             ; preds = %._crit_edge10459, %1596, %1569
  store i32 %1517, ptr %8, align 8, !tbaa !5
  %1598 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %1599 = add i32 %1598, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1599)
  br label %2574

1600:                                             ; preds = %1502
  %1601 = load i32, ptr %8, align 8, !tbaa !5
  %1602 = add i32 %1601, -16
  store i32 %1602, ptr %8, align 8, !tbaa !5
  %1603 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 4) #5
  %1604 = zext i32 %1603 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1604, i32 noundef 112236)
  %1605 = zext i32 %1602 to i64
  %1606 = add nuw nsw i64 %1605, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1606, i32 noundef %1603)
  %1607 = add nuw nsw i64 %1504, 160
  %1608 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1607)
  %1609 = add nuw nsw i64 %1504, 164
  %1610 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1609)
  %1611 = icmp ult i32 %1608, %1610
  br i1 %1611, label %1612, label %1615

1612:                                             ; preds = %1600
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1606, i32 noundef 0)
  %1613 = zext i32 %1608 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1613, i32 noundef %1603)
  %1614 = add i32 %1608, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1607, i32 noundef %1614)
  br label %1618

1615:                                             ; preds = %1600
  %1616 = add i32 %1503, 156
  %1617 = add i32 %1601, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %1616, i32 noundef %1617) #5
  br label %1618

1618:                                             ; preds = %1615, %1612
  %1619 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1606)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1606, i32 noundef 0)
  %.not10147 = icmp eq i32 %1619, 0
  br i1 %.not10147, label %1644, label %1620

1620:                                             ; preds = %1618
  %1621 = zext i32 %1619 to i64
  %1622 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1621)
  %1623 = zext i32 %1622 to i64
  %1624 = add nuw nsw i64 %1623, 4
  %1625 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1624)
  %1626 = load i32, ptr %133, align 4, !tbaa !15
  %1627 = icmp ult i32 %1625, %1626
  br i1 %1627, label %1628, label %.critedge10248, !prof !16

1628:                                             ; preds = %1620
  %1629 = load ptr, ptr %132, align 8, !tbaa !17
  %1630 = zext i32 %1625 to i64
  %1631 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1629, i64 %1630
  %1632 = getelementptr inbounds i8, ptr %1631, i64 8
  %1633 = load ptr, ptr %1632, align 8, !tbaa !18
  %.not10148 = icmp eq ptr %1633, null
  br i1 %.not10148, label %.critedge10248, label %1634, !prof !20

1634:                                             ; preds = %1628
  %1635 = load ptr, ptr %1631, align 8, !tbaa !22
  %1636 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %1635)
  br i1 %1636, label %1637, label %.critedge10248, !prof !16

.critedge10248:                                   ; preds = %1628, %1620, %1634
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

1637:                                             ; preds = %1634
  %1638 = load ptr, ptr %132, align 8, !tbaa !17
  %1639 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1638, i64 %1630
  %1640 = getelementptr inbounds i8, ptr %1639, i64 8
  %1641 = load ptr, ptr %1640, align 8, !tbaa !18
  %1642 = getelementptr inbounds i8, ptr %1639, i64 16
  %1643 = load ptr, ptr %1642, align 8, !tbaa !23
  tail call void %1641(ptr noundef %1643, i32 noundef %1619) #5
  br label %1644

1644:                                             ; preds = %1637, %1618
  %1645 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1507)
  %1646 = add nuw nsw i64 %1504, 152
  %1647 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1646)
  %1648 = icmp ult i32 %1645, %1647
  br i1 %1648, label %1649, label %1652

1649:                                             ; preds = %1644
  %1650 = zext i32 %1645 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1650, i32 noundef %1603)
  %1651 = add i32 %1645, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1651)
  br label %1677

1652:                                             ; preds = %1644
  %1653 = add nuw nsw i64 %1504, 144
  %1654 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1653)
  %1655 = sub i32 %1645, %1654
  %1656 = ashr i32 %1655, 2
  %1657 = add nsw i32 %1656, 1
  %1658 = icmp ugt i32 %1657, 1073741823
  br i1 %1658, label %.loopexit10280, label %1659

1659:                                             ; preds = %1652
  %1660 = sub i32 %1647, %1654
  %1661 = ashr i32 %1660, 1
  %1662 = tail call i32 @llvm.umax.i32(i32 %1657, i32 %1661)
  %1663 = icmp ugt i32 %1660, 2147483643
  %1664 = select i1 %1663, i32 1073741823, i32 %1662
  %.not10149 = icmp eq i32 %1664, 0
  br i1 %.not10149, label %._crit_edge10460, label %1665

1665:                                             ; preds = %1659
  %1666 = icmp ugt i32 %1664, 1073741823
  br i1 %1666, label %.loopexit10281, label %1667

1667:                                             ; preds = %1665
  %1668 = shl nuw i32 %1664, 2
  %1669 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1668) #5
  br label %._crit_edge10460

._crit_edge10460:                                 ; preds = %1659, %1667
  %.pre-phi10476 = phi i32 [ %1668, %1667 ], [ 0, %1659 ]
  %.69588 = phi i32 [ %1669, %1667 ], [ 0, %1659 ]
  %1670 = and i32 %1655, -4
  %1671 = add i32 %.69588, %1670
  %1672 = zext i32 %1671 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1672, i32 noundef %1603)
  %1673 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.69588, i32 noundef %1654, i32 noundef %1655) #5
  %1674 = add i32 %1673, %.pre-phi10476
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1646, i32 noundef %1674)
  %1675 = add i32 %1671, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1675)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1653, i32 noundef %1673)
  %.not10150 = icmp eq i32 %1654, 0
  br i1 %.not10150, label %1677, label %1676

1676:                                             ; preds = %._crit_edge10460
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1654) #5
  br label %1677

1677:                                             ; preds = %._crit_edge10460, %1676, %1649
  store i32 %1601, ptr %8, align 8, !tbaa !5
  %1678 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %1679 = add i32 %1678, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1679)
  br label %2574

1680:                                             ; preds = %1502
  %1681 = add i32 %.79544, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1681)
  %1682 = icmp eq i32 %1681, %.139647
  br i1 %1682, label %1683, label %1686

1683:                                             ; preds = %1680
  %1684 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10130 = icmp eq i32 %1684, 0
  br i1 %.not10130, label %1685, label %.loopexit10290

1685:                                             ; preds = %1683
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.139647)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 2)
  br label %.loopexit10290

1686:                                             ; preds = %1680
  %1687 = zext i32 %1681 to i64
  %1688 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1687)
  %1689 = and i32 %1688, -33
  %1690 = icmp eq i32 %1689, 66
  br i1 %1690, label %1691, label %1775

1691:                                             ; preds = %1686
  %1692 = icmp eq i32 %1688, 66
  %1693 = zext i1 %1692 to i32
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1693)
  %1694 = load i32, ptr %8, align 8, !tbaa !5
  %1695 = add i32 %1694, -16
  store i32 %1695, ptr %8, align 8, !tbaa !5
  %1696 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 8) #5
  %1697 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1491)
  %1698 = zext i32 %1696 to i64
  %1699 = add nuw nsw i64 %1698, 4
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1699, i32 noundef %1697)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1698, i32 noundef 112280)
  %1700 = zext i32 %1695 to i64
  %1701 = add nuw nsw i64 %1700, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1701, i32 noundef %1696)
  %1702 = add nuw nsw i64 %1504, 160
  %1703 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1702)
  %1704 = add nuw nsw i64 %1504, 164
  %1705 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1704)
  %1706 = icmp ult i32 %1703, %1705
  br i1 %1706, label %1707, label %1710

1707:                                             ; preds = %1691
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1701, i32 noundef 0)
  %1708 = zext i32 %1703 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1708, i32 noundef %1696)
  %1709 = add i32 %1703, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1702, i32 noundef %1709)
  br label %1713

1710:                                             ; preds = %1691
  %1711 = add i32 %1503, 156
  %1712 = add i32 %1694, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %1711, i32 noundef %1712) #5
  br label %1713

1713:                                             ; preds = %1710, %1707
  %1714 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1701)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1701, i32 noundef 0)
  %.not10126 = icmp eq i32 %1714, 0
  br i1 %.not10126, label %1739, label %1715

1715:                                             ; preds = %1713
  %1716 = zext i32 %1714 to i64
  %1717 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1716)
  %1718 = zext i32 %1717 to i64
  %1719 = add nuw nsw i64 %1718, 4
  %1720 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1719)
  %1721 = load i32, ptr %133, align 4, !tbaa !15
  %1722 = icmp ult i32 %1720, %1721
  br i1 %1722, label %1723, label %.critedge10250, !prof !16

1723:                                             ; preds = %1715
  %1724 = load ptr, ptr %132, align 8, !tbaa !17
  %1725 = zext i32 %1720 to i64
  %1726 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1724, i64 %1725
  %1727 = getelementptr inbounds i8, ptr %1726, i64 8
  %1728 = load ptr, ptr %1727, align 8, !tbaa !18
  %.not10127 = icmp eq ptr %1728, null
  br i1 %.not10127, label %.critedge10250, label %1729, !prof !20

1729:                                             ; preds = %1723
  %1730 = load ptr, ptr %1726, align 8, !tbaa !22
  %1731 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %1730)
  br i1 %1731, label %1732, label %.critedge10250, !prof !16

.critedge10250:                                   ; preds = %1723, %1715, %1729
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

1732:                                             ; preds = %1729
  %1733 = load ptr, ptr %132, align 8, !tbaa !17
  %1734 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1733, i64 %1725
  %1735 = getelementptr inbounds i8, ptr %1734, i64 8
  %1736 = load ptr, ptr %1735, align 8, !tbaa !18
  %1737 = getelementptr inbounds i8, ptr %1734, i64 16
  %1738 = load ptr, ptr %1737, align 8, !tbaa !23
  tail call void %1736(ptr noundef %1738, i32 noundef %1714) #5
  br label %1739

1739:                                             ; preds = %1732, %1713
  %1740 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1507)
  %1741 = add nuw nsw i64 %1504, 152
  %1742 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1741)
  %1743 = icmp ult i32 %1740, %1742
  br i1 %1743, label %1744, label %1747

1744:                                             ; preds = %1739
  %1745 = zext i32 %1740 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1745, i32 noundef %1696)
  %1746 = add i32 %1740, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1746)
  br label %1772

1747:                                             ; preds = %1739
  %1748 = add nuw nsw i64 %1504, 144
  %1749 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1748)
  %1750 = sub i32 %1740, %1749
  %1751 = ashr i32 %1750, 2
  %1752 = add nsw i32 %1751, 1
  %1753 = icmp ugt i32 %1752, 1073741823
  br i1 %1753, label %.loopexit10280, label %1754

1754:                                             ; preds = %1747
  %1755 = sub i32 %1742, %1749
  %1756 = ashr i32 %1755, 1
  %1757 = tail call i32 @llvm.umax.i32(i32 %1752, i32 %1756)
  %1758 = icmp ugt i32 %1755, 2147483643
  %1759 = select i1 %1758, i32 1073741823, i32 %1757
  %.not10128 = icmp eq i32 %1759, 0
  br i1 %.not10128, label %._crit_edge10457, label %1760

1760:                                             ; preds = %1754
  %1761 = icmp ugt i32 %1759, 1073741823
  br i1 %1761, label %.loopexit10281, label %1762

1762:                                             ; preds = %1760
  %1763 = shl nuw i32 %1759, 2
  %1764 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %1763) #5
  br label %._crit_edge10457

._crit_edge10457:                                 ; preds = %1754, %1762
  %.pre-phi10482 = phi i32 [ %1763, %1762 ], [ 0, %1754 ]
  %.79589 = phi i32 [ %1764, %1762 ], [ 0, %1754 ]
  %1765 = and i32 %1750, -4
  %1766 = add i32 %.79589, %1765
  %1767 = zext i32 %1766 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1767, i32 noundef %1696)
  %1768 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.79589, i32 noundef %1749, i32 noundef %1750) #5
  %1769 = add i32 %1768, %.pre-phi10482
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1741, i32 noundef %1769)
  %1770 = add i32 %1766, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %1770)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1748, i32 noundef %1768)
  %.not10129 = icmp eq i32 %1749, 0
  br i1 %.not10129, label %1772, label %1771

1771:                                             ; preds = %._crit_edge10457
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1749) #5
  br label %1772

1772:                                             ; preds = %._crit_edge10457, %1771, %1744
  store i32 %1694, ptr %8, align 8, !tbaa !5
  %1773 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %1774 = add i32 %1773, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1774)
  br label %2574

1775:                                             ; preds = %1686
  %1776 = load i32, ptr %8, align 8, !tbaa !5
  %1777 = add i32 %1776, -48
  store i32 %1777, ptr %8, align 8, !tbaa !5
  %1778 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %1779 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %1780 = icmp eq i32 %1778, %1779
  br i1 %1780, label %1781, label %1784

1781:                                             ; preds = %1775
  %1782 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10125 = icmp eq i32 %1782, 0
  br i1 %.not10125, label %1783, label %2124

1783:                                             ; preds = %1781
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 2)
  br label %2124

1784:                                             ; preds = %1775
  %1785 = zext i32 %1778 to i64
  %1786 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1785)
  switch i32 %1786, label %1787 [
    i32 49, label %.preheader10634
    i32 50, label %.preheader10634
    i32 51, label %.preheader10634
    i32 52, label %.preheader10634
    i32 53, label %.preheader10634
    i32 54, label %.preheader10634
    i32 55, label %.preheader10634
    i32 56, label %.preheader10634
    i32 57, label %.preheader10634
    i32 119, label %1811
    i32 115, label %1800
    i32 107, label %1947
    i32 100, label %1789
    i32 87, label %1811
    i32 83, label %1800
    i32 68, label %1789
  ]

.preheader10634:                                  ; preds = %1784, %1784, %1784, %1784, %1784, %1784, %1784, %1784, %1784
  br label %1822

1787:                                             ; preds = %1784
  %1788 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %.pre = zext i32 %1788 to i64
  br label %2094

1789:                                             ; preds = %1784, %1784
  %1790 = add i32 %1778, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1790)
  %1791 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1792 = icmp eq i32 %1786, 68
  %1793 = zext i1 %1792 to i32
  %1794 = zext i32 %1777 to i64
  %1795 = add nuw nsw i64 %1794, 14
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1795, i32 noundef %1793)
  %1796 = add nuw nsw i64 %1794, 13
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1796, i32 noundef 1)
  %1797 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1796)
  %1798 = add nuw nsw i64 %1794, 2
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1798, i32 noundef %1797)
  %1799 = add i32 %1776, -46
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef nonnull %0, i32 noundef %1791, i32 noundef %1799)
  br label %2124

1800:                                             ; preds = %1784, %1784
  %1801 = add i32 %1778, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1801)
  %1802 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1803 = icmp eq i32 %1786, 83
  %1804 = zext i1 %1803 to i32
  %1805 = zext i32 %1777 to i64
  %1806 = add nuw nsw i64 %1805, 12
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1806, i32 noundef %1804)
  %1807 = add nuw nsw i64 %1805, 11
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1807, i32 noundef 2)
  %1808 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1807)
  %1809 = add nuw nsw i64 %1805, 4
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1809, i32 noundef %1808)
  %1810 = add i32 %1776, -44
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef nonnull %0, i32 noundef %1802, i32 noundef %1810)
  br label %2124

1811:                                             ; preds = %1784, %1784
  %1812 = add i32 %1778, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1812)
  %1813 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1814 = icmp eq i32 %1786, 87
  %1815 = zext i1 %1814 to i32
  %1816 = zext i32 %1777 to i64
  %1817 = add nuw nsw i64 %1816, 10
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1817, i32 noundef %1815)
  %1818 = add nuw nsw i64 %1816, 9
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1818, i32 noundef 4)
  %1819 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1818)
  %1820 = add nuw nsw i64 %1816, 6
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1820, i32 noundef %1819)
  %1821 = add i32 %1776, -42
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3ApushCharClass0x28hermes0x3A0x3Aregex0x3A0x3ACharacterClass0x29(ptr noundef nonnull %0, i32 noundef %1813, i32 noundef %1821)
  br label %2124

1822:                                             ; preds = %.preheader10634, %1828
  %.09601 = phi i64 [ %1835, %1828 ], [ 0, %.preheader10634 ]
  %.17 = phi i32 [ %1829, %1828 ], [ %1778, %.preheader10634 ]
  %1823 = zext i32 %.17 to i64
  %1824 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1823)
  %1825 = add i32 %1824, 65488
  %1826 = and i32 %1825, 65534
  %1827 = icmp ult i32 %1826, 10
  br i1 %1827, label %1828, label %1836

1828:                                             ; preds = %1822
  %1829 = add i32 %.17, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1829)
  %1830 = mul nuw nsw i64 %.09601, 10
  %1831 = and i32 %1824, 65535
  %1832 = zext nneg i32 %1831 to i64
  %1833 = add nsw i64 %1830, -48
  %1834 = add nsw i64 %1833, %1832
  %1835 = tail call i64 @llvm.umin.i64(i64 %1834, i64 4294967295)
  %.not10116 = icmp eq i32 %1829, %1779
  br i1 %.not10116, label %1836, label %1822

1836:                                             ; preds = %1828, %1822
  %.19602 = phi i64 [ %1835, %1828 ], [ %.09601, %1822 ]
  %1837 = trunc nuw i64 %.19602 to i32
  %1838 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %1839 = and i32 %1838, 8
  %.not10117 = icmp eq i32 %1839, 0
  br i1 %.not10117, label %1840, label %1843

1840:                                             ; preds = %1836
  %1841 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %104)
  %1842 = icmp ult i32 %1841, %1837
  br i1 %1842, label %1852, label %1843

1843:                                             ; preds = %1840, %1836
  %1844 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %103)
  %1845 = tail call i32 @llvm.umax.i32(i32 %1844, i32 %1837)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %103, i32 noundef %1845)
  %1846 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1847 = add i32 %1837, -1
  %1848 = zext i32 %1777 to i64
  %1849 = add nuw nsw i64 %1848, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1849, i32 noundef %1847)
  %1850 = add i32 %1776, -32
  %1851 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef %0, i32 noundef %1846, i32 noundef %1850)
  br label %2124

1852:                                             ; preds = %1840
  %1853 = add i32 %1778, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1853)
  %1854 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1855 = icmp ult i32 %1786, 56
  br i1 %1855, label %1856, label %1917

1856:                                             ; preds = %1852
  %1857 = add nsw i32 %1786, -48
  %1858 = icmp eq i32 %1779, %1853
  br i1 %1858, label %1886, label %1859

1859:                                             ; preds = %1856
  %1860 = zext i32 %1853 to i64
  %1861 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1860)
  %1862 = and i32 %1861, 65528
  %1863 = icmp eq i32 %1862, 48
  br i1 %1863, label %1864, label %1867

1864:                                             ; preds = %1859
  %1865 = add i32 %1778, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1865)
  %1866 = add nsw i32 %1861, -48
  br label %1867

1867:                                             ; preds = %1864, %1859
  %.99667 = phi i32 [ %1866, %1864 ], [ 0, %1859 ]
  %.79618 = phi i32 [ %1865, %1864 ], [ %1853, %1859 ]
  %1868 = icmp ugt i32 %1786, 51
  %1869 = icmp eq i32 %1779, %.79618
  %or.cond10251 = or i1 %1868, %1869
  br i1 %or.cond10251, label %1882, label %1870

1870:                                             ; preds = %1867
  %1871 = zext i32 %.79618 to i64
  %1872 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1871)
  %1873 = and i32 %1872, 65528
  %.not10119 = icmp eq i32 %1873, 48
  br i1 %.not10119, label %1874, label %1882

1874:                                             ; preds = %1870
  %1875 = add i32 %.79618, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1875)
  %1876 = shl nsw i32 %1857, 3
  %1877 = add i32 %.99667, %1876
  %1878 = select i1 %1863, i32 %1877, i32 %1857
  %1879 = shl i32 %1878, 3
  %1880 = add i32 %1879, -48
  %1881 = add i32 %1880, %1872
  br label %1886

1882:                                             ; preds = %1870, %1867
  br i1 %1863, label %1883, label %1886

1883:                                             ; preds = %1882
  %1884 = shl nsw i32 %1857, 3
  %1885 = add i32 %.99667, %1884
  br label %1886

1886:                                             ; preds = %1882, %1856, %1883, %1874
  %.89590 = phi i32 [ %1857, %1856 ], [ %1857, %1882 ], [ %1885, %1883 ], [ %1881, %1874 ]
  %1887 = and i32 %.89590, 65535
  %1888 = zext i32 %1854 to i64
  %1889 = add nuw nsw i64 %1888, 136
  %1890 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1889)
  %1891 = and i32 %1890, 1
  %.not10121 = icmp eq i32 %1891, 0
  br i1 %.not10121, label %1905, label %1892

1892:                                             ; preds = %1886
  %1893 = and i32 %1890, 8
  %1894 = icmp ult i32 %1887, 128
  br i1 %1894, label %1895, label %1902

1895:                                             ; preds = %1892
  %1896 = and i32 %.89590, 65503
  %1897 = shl nuw nsw i32 %1893, 2
  %1898 = or disjoint i32 %1897, %1896
  %1899 = add nsw i32 %1896, -65
  %1900 = icmp ult i32 %1899, 26
  %1901 = select i1 %1900, i32 %1898, i32 %1887
  br label %1905

1902:                                             ; preds = %1892
  %.lobit10122 = lshr exact i32 %1893, 3
  %1903 = tail call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1887, i32 noundef %.lobit10122) #5
  %1904 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1889)
  br label %1905

1905:                                             ; preds = %1886, %1902, %1895
  %.149648 = phi i32 [ %1890, %1886 ], [ %1890, %1895 ], [ %1904, %1902 ]
  %.89545 = phi i32 [ %1887, %1886 ], [ %1901, %1895 ], [ %1903, %1902 ]
  %1906 = zext i32 %1777 to i64
  %1907 = add nuw nsw i64 %1906, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1907, i32 noundef %.89545)
  %1908 = add nuw nsw i64 %1906, 20
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1908, i64 noundef 21474836481)
  %1909 = add i32 %1776, -20
  %1910 = add nuw nsw i64 %1906, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1910, i32 noundef %1909)
  %1911 = add nuw nsw i64 %1906, 15
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1911, i32 noundef %.149648)
  %1912 = add i32 %1776, -32
  %1913 = add i32 %1776, -33
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %0, i32 noundef %1854, i32 noundef %1912, i32 noundef %1913)
  %1914 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1910)
  %1915 = icmp eq i32 %1909, %1914
  br i1 %1915, label %2124, label %1916

1916:                                             ; preds = %1905
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1914) #5
  br label %2124

1917:                                             ; preds = %1852
  %1918 = zext i32 %1854 to i64
  %1919 = add nuw nsw i64 %1918, 136
  %1920 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1919)
  %1921 = and i32 %1920, 1
  %.not10118 = icmp eq i32 %1921, 0
  br i1 %.not10118, label %1935, label %1922

1922:                                             ; preds = %1917
  %1923 = and i32 %1920, 8
  %1924 = icmp ult i32 %1786, 128
  br i1 %1924, label %1925, label %1932

1925:                                             ; preds = %1922
  %1926 = and i32 %1786, 95
  %1927 = shl nuw nsw i32 %1923, 2
  %1928 = or disjoint i32 %1927, %1926
  %1929 = add nsw i32 %1926, -65
  %1930 = icmp ult i32 %1929, 26
  %1931 = select i1 %1930, i32 %1928, i32 %1786
  br label %1935

1932:                                             ; preds = %1922
  %.lobit = lshr exact i32 %1923, 3
  %1933 = tail call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1786, i32 noundef %.lobit) #5
  %1934 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1919)
  br label %1935

1935:                                             ; preds = %1917, %1932, %1925
  %.159649 = phi i32 [ %1786, %1917 ], [ %1931, %1925 ], [ %1933, %1932 ]
  %.99546 = phi i32 [ %1920, %1917 ], [ %1920, %1925 ], [ %1934, %1932 ]
  %1936 = zext i32 %1777 to i64
  %1937 = add nuw nsw i64 %1936, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1937, i32 noundef %.159649)
  %1938 = add nuw nsw i64 %1936, 20
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1938, i64 noundef 21474836481)
  %1939 = add i32 %1776, -20
  %1940 = add nuw nsw i64 %1936, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1940, i32 noundef %1939)
  %1941 = add nuw nsw i64 %1936, 15
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1941, i32 noundef %.99546)
  %1942 = add i32 %1776, -32
  %1943 = add i32 %1776, -33
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %0, i32 noundef %1854, i32 noundef %1942, i32 noundef %1943)
  %1944 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1940)
  %1945 = icmp eq i32 %1939, %1944
  br i1 %1945, label %2124, label %1946

1946:                                             ; preds = %1935
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1944) #5
  br label %2124

1947:                                             ; preds = %1784
  %1948 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %102)
  %1949 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %1950 = and i32 %1949, 8
  %1951 = or i32 %1950, %1948
  %.not10102 = icmp eq i32 %1951, 0
  br i1 %.not10102, label %2090, label %1952

1952:                                             ; preds = %1947
  %1953 = add i32 %1778, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1953)
  %1954 = zext i32 %1777 to i64
  %1955 = add nuw nsw i64 %1954, 20
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1955, i64 noundef 21474836480)
  %1956 = add i32 %1776, -20
  %1957 = add nuw nsw i64 %1954, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1957, i32 noundef %1956)
  %1958 = icmp eq i32 %1953, %1779
  br i1 %1958, label %1966, label %1959

1959:                                             ; preds = %1952
  %1960 = zext i32 %1953 to i64
  %1961 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %1960)
  %.not10103 = icmp eq i32 %1961, 60
  br i1 %.not10103, label %1962, label %1966

1962:                                             ; preds = %1959
  %1963 = add i32 %1778, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1963)
  %1964 = add i32 %1776, -32
  %1965 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeGroupName0x28llvh0x3A0x3ASmallVector0x3Cchar16_t0x2C0x205u0x3E0x260x29(ptr noundef nonnull %0, i32 noundef %99, i32 noundef %1964)
  %.not10104 = icmp eq i32 %1965, 0
  br i1 %.not10104, label %1966, label %1974

1966:                                             ; preds = %1962, %1959, %1952
  %1967 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10115 = icmp eq i32 %1967, 0
  br i1 %.not10115, label %1968, label %1970

1968:                                             ; preds = %1966
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 14)
  %1969 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %1969)
  br label %1970

1970:                                             ; preds = %1968, %1966
  %1971 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1957)
  %1972 = icmp eq i32 %1971, %1956
  br i1 %1972, label %2124, label %1973

1973:                                             ; preds = %1970
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1971) #5
  br label %2124

1974:                                             ; preds = %1962
  %1975 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %1976 = load i32, ptr %8, align 8, !tbaa !5
  %1977 = add i32 %1976, -16
  store i32 %1977, ptr %8, align 8, !tbaa !5
  %1978 = zext i32 %1964 to i64
  %1979 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1978)
  %1980 = zext i32 %1977 to i64
  %1981 = add nuw nsw i64 %1980, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1981, i32 noundef %1979)
  %1982 = add nuw nsw i64 %1978, 4
  %1983 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1982)
  %1984 = add nuw nsw i64 %1980, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1984, i32 noundef %1983)
  %1985 = add i32 %1975, 200
  %1986 = add i32 %1976, -12
  %1987 = add i32 %1976, -4
  %1988 = tail call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef nonnull %0, i32 noundef %1985, i32 noundef %1986, i32 noundef %1987) #5
  %.not10105 = icmp eq i32 %1988, 0
  %.pre10483 = add nuw nsw i64 %1980, 12
  br i1 %.not10105, label %._crit_edge10456, label %1989

._crit_edge10456:                                 ; preds = %1974
  %.pre10485 = zext i32 %1975 to i64
  br label %1998

1989:                                             ; preds = %1974
  %1990 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre10483)
  %1991 = zext i32 %1975 to i64
  %1992 = add nuw nsw i64 %1991, 200
  %1993 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1992)
  %1994 = add nuw nsw i64 %1991, 212
  %1995 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1994)
  %1996 = mul i32 %1995, 12
  %1997 = add i32 %1996, %1993
  %.not10106 = icmp eq i32 %1990, %1997
  br i1 %.not10106, label %1998, label %2080

1998:                                             ; preds = %._crit_edge10456, %1989
  %.pre-phi10486 = phi i64 [ %.pre10485, %._crit_edge10456 ], [ %1991, %1989 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %.pre10483, i32 noundef 0)
  %1999 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef nonnull %0, i32 noundef %1975, i32 noundef %1987)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1981, i32 noundef %1999)
  %2000 = add nuw nsw i64 %.pre-phi10486, 224
  %2001 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2000)
  %2002 = add nuw nsw i64 %.pre-phi10486, 228
  %2003 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2002)
  %2004 = icmp ult i32 %2001, %2003
  br i1 %2004, label %2005, label %2015

2005:                                             ; preds = %1998
  %2006 = zext i32 %2001 to i64
  %2007 = add nuw nsw i64 %2006, 4
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2007, i64 noundef 21474836480)
  %2008 = add i32 %2001, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2006, i32 noundef %2008)
  %2009 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1982)
  %.not10114 = icmp eq i32 %2009, 0
  br i1 %.not10114, label %2011, label %2010

2010:                                             ; preds = %2005
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %2001, i32 noundef %1964) #5
  br label %2011

2011:                                             ; preds = %2010, %2005
  %2012 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1981)
  %2013 = add nuw nsw i64 %2006, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2013, i32 noundef %2012)
  %2014 = add i32 %2001, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2000, i32 noundef %2014)
  br label %2086

2015:                                             ; preds = %1998
  %2016 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2000)
  %2017 = add nuw nsw i64 %.pre-phi10486, 220
  %2018 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2017)
  %2019 = sub i32 %2016, %2018
  %2020 = sdiv i32 %2019, 28
  %2021 = add nsw i32 %2020, 1
  %2022 = icmp ult i32 %2021, 153391690
  br i1 %2022, label %2023, label %.loopexit10280

2023:                                             ; preds = %2015
  %2024 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2002)
  %2025 = sub i32 %2024, %2018
  %2026 = sdiv i32 %2025, 28
  %2027 = shl nsw i32 %2026, 1
  %2028 = tail call i32 @llvm.umax.i32(i32 %2021, i32 %2027)
  %2029 = icmp ugt i32 %2026, 76695843
  %2030 = select i1 %2029, i32 153391689, i32 %2028
  %.not10107 = icmp eq i32 %2030, 0
  br i1 %.not10107, label %2036, label %2031

2031:                                             ; preds = %2023
  %2032 = icmp ugt i32 %2030, 153391689
  br i1 %2032, label %.loopexit10281, label %2033

2033:                                             ; preds = %2031
  %2034 = mul nuw i32 %2030, 28
  %2035 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %2034) #5
  br label %2036

2036:                                             ; preds = %2023, %2033
  %.99591 = phi i32 [ %2035, %2033 ], [ 0, %2023 ]
  %2037 = mul nsw i32 %2020, 28
  %2038 = add i32 %.99591, %2037
  %2039 = zext i32 %2038 to i64
  %2040 = add nuw nsw i64 %2039, 4
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2040, i64 noundef 21474836480)
  %2041 = add i32 %2038, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2039, i32 noundef %2041)
  %2042 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1982)
  %.not10108 = icmp eq i32 %2042, 0
  br i1 %.not10108, label %2046, label %2043

2043:                                             ; preds = %2036
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %2038, i32 noundef %1964) #5
  %2044 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2017)
  %2045 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2000)
  br label %2046

2046:                                             ; preds = %2043, %2036
  %.109668 = phi i32 [ %2045, %2043 ], [ %2016, %2036 ]
  %.29605 = phi i32 [ %2044, %2043 ], [ %2018, %2036 ]
  %2047 = mul nuw i32 %2030, 28
  %2048 = add i32 %.99591, %2047
  %2049 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1981)
  %2050 = add nuw nsw i64 %2039, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2050, i32 noundef %2049)
  %2051 = add i32 %2038, 28
  %2052 = icmp eq i32 %.109668, %.29605
  br i1 %2052, label %2078, label %.preheader10286

.preheader10286:                                  ; preds = %2046, %2062
  %.119669 = phi i32 [ %2057, %2062 ], [ %.109668, %2046 ]
  %.129569 = phi i32 [ %2053, %2062 ], [ %2038, %2046 ]
  %2053 = add i32 %.129569, -28
  %2054 = zext i32 %2053 to i64
  %2055 = add nuw nsw i64 %2054, 4
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2055, i64 noundef 21474836480)
  %2056 = add i32 %.129569, -16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2054, i32 noundef %2056)
  %2057 = add i32 %.119669, -28
  %2058 = zext i32 %2057 to i64
  %2059 = add nuw nsw i64 %2058, 4
  %2060 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2059)
  %.not10109 = icmp eq i32 %2060, 0
  br i1 %.not10109, label %2062, label %2061

2061:                                             ; preds = %.preheader10286
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef %0, i32 noundef %2053, i32 noundef %2057) #5
  br label %2062

2062:                                             ; preds = %2061, %.preheader10286
  %2063 = add i32 %.129569, -4
  %2064 = add i32 %.119669, -4
  %2065 = zext i32 %2064 to i64
  %2066 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2065)
  %2067 = zext i32 %2063 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2067, i32 noundef %2066)
  %.not10110 = icmp eq i32 %2057, %.29605
  br i1 %.not10110, label %2068, label %.preheader10286

2068:                                             ; preds = %2062
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2002, i32 noundef %2048)
  %2069 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2000)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2000, i32 noundef %2051)
  %2070 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2017)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2017, i32 noundef %2053)
  %2071 = icmp eq i32 %2069, %2070
  br i1 %2071, label %.loopexit10285, label %.preheader10284

.preheader10284:                                  ; preds = %2068, %2077
  %.129670 = phi i32 [ %2073, %2077 ], [ %2069, %2068 ]
  %2072 = add i32 %.129670, -16
  %2073 = add i32 %.129670, -28
  %2074 = zext i32 %2073 to i64
  %2075 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2074)
  %.not10111 = icmp eq i32 %2072, %2075
  br i1 %.not10111, label %2077, label %2076

2076:                                             ; preds = %.preheader10284
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2075) #5
  br label %2077

2077:                                             ; preds = %2076, %.preheader10284
  %.not10112 = icmp eq i32 %2073, %2070
  br i1 %.not10112, label %.loopexit10285, label %.preheader10284

2078:                                             ; preds = %2046
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2002, i32 noundef %2048)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2000, i32 noundef %2051)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2017, i32 noundef %2038)
  br label %.loopexit10285

.loopexit10285:                                   ; preds = %2077, %2068, %2078
  %.39606 = phi i32 [ %.109668, %2078 ], [ %2069, %2068 ], [ %2070, %2077 ]
  %.not10113 = icmp eq i32 %.39606, 0
  br i1 %.not10113, label %2086, label %2079

2079:                                             ; preds = %.loopexit10285
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.39606) #5
  br label %2086

2080:                                             ; preds = %1989
  %2081 = zext i32 %1990 to i64
  %2082 = add nuw nsw i64 %2081, 8
  %2083 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2082)
  %2084 = add i32 %2083, -1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1981, i32 noundef %2084)
  %2085 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABackRefNode0x2C0x20unsigned0x20int0x260x3E0x28unsigned0x20int0x260x29(ptr noundef nonnull %0, i32 noundef %1975, i32 noundef %1986)
  br label %2086

2086:                                             ; preds = %.loopexit10285, %2079, %2080, %2011
  store i32 %1976, ptr %8, align 8, !tbaa !5
  %2087 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1957)
  %2088 = icmp eq i32 %2087, %1956
  br i1 %2088, label %2124, label %2089

2089:                                             ; preds = %2086
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %2087) #5
  br label %2124

2090:                                             ; preds = %1947
  %2091 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %2092 = zext i32 %2091 to i64
  %2093 = add nuw nsw i64 %2092, 216
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2093, i32 noundef 1)
  br label %2094

2094:                                             ; preds = %2090, %1787
  %.pre-phi10441 = phi i64 [ %2092, %2090 ], [ %.pre, %1787 ]
  %.89619 = phi i32 [ %2091, %2090 ], [ %1788, %1787 ]
  %2095 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AconsumeCharacterEscape0x280x29(ptr noundef nonnull %0, i32 noundef %99)
  %2096 = add nuw nsw i64 %.pre-phi10441, 136
  %2097 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2096)
  %2098 = and i32 %2097, 1
  %.not10123 = icmp eq i32 %2098, 0
  br i1 %.not10123, label %2112, label %2099

2099:                                             ; preds = %2094
  %2100 = and i32 %2097, 8
  %2101 = icmp ult i32 %2095, 128
  br i1 %2101, label %2102, label %2109

2102:                                             ; preds = %2099
  %2103 = and i32 %2095, 95
  %2104 = shl nuw nsw i32 %2100, 2
  %2105 = or disjoint i32 %2104, %2103
  %2106 = add nsw i32 %2103, -65
  %2107 = icmp ult i32 %2106, 26
  %2108 = select i1 %2107, i32 %2105, i32 %2095
  br label %2112

2109:                                             ; preds = %2099
  %.lobit10124 = lshr exact i32 %2100, 3
  %2110 = tail call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef nonnull %0, i32 noundef %2095, i32 noundef %.lobit10124) #5
  %2111 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2096)
  br label %2112

2112:                                             ; preds = %2094, %2109, %2102
  %.109547 = phi i32 [ %2097, %2094 ], [ %2097, %2102 ], [ %2111, %2109 ]
  %.18 = phi i32 [ %2095, %2094 ], [ %2108, %2102 ], [ %2110, %2109 ]
  %2113 = zext i32 %1777 to i64
  %2114 = add nuw nsw i64 %2113, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2114, i32 noundef %.18)
  %2115 = add nuw nsw i64 %2113, 20
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2115, i64 noundef 21474836481)
  %2116 = add i32 %1776, -20
  %2117 = add nuw nsw i64 %2113, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2117, i32 noundef %2116)
  %2118 = add nuw nsw i64 %2113, 15
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2118, i32 noundef %.109547)
  %2119 = add i32 %1776, -32
  %2120 = add i32 %1776, -33
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef nonnull %0, i32 noundef %.89619, i32 noundef %2119, i32 noundef %2120)
  %2121 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2117)
  %2122 = icmp eq i32 %2116, %2121
  br i1 %2122, label %2124, label %2123

2123:                                             ; preds = %2112
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %2121) #5
  br label %2124

2124:                                             ; preds = %2112, %2086, %1970, %1935, %1905, %1781, %2123, %2089, %1973, %1946, %1916, %1843, %1811, %1800, %1789, %1783
  store i32 %1776, ptr %8, align 8, !tbaa !5
  br label %2574

2125:                                             ; preds = %1502
  %2126 = add i32 %.79544, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2126)
  %2127 = add nuw nsw i64 %1504, 136
  %2128 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2127)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %2128)
  %2129 = load i32, ptr %8, align 8, !tbaa !5
  %2130 = add i32 %2129, -16
  store i32 %2130, ptr %8, align 8, !tbaa !5
  %2131 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 8) #5
  %2132 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1491)
  %2133 = zext i32 %2131 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2133, i32 noundef 112412)
  %2134 = lshr i32 %2132, 4
  %2135 = and i32 %2134, 1
  %2136 = add nuw nsw i64 %2133, 5
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2136, i32 noundef %2135)
  %2137 = lshr i32 %2132, 3
  %2138 = and i32 %2137, 1
  %2139 = add nuw nsw i64 %2133, 4
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2139, i32 noundef %2138)
  %2140 = zext i32 %2130 to i64
  %2141 = add nuw nsw i64 %2140, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2141, i32 noundef %2131)
  %2142 = add nuw nsw i64 %1504, 160
  %2143 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2142)
  %2144 = add nuw nsw i64 %1504, 164
  %2145 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2144)
  %2146 = icmp ult i32 %2143, %2145
  br i1 %2146, label %2147, label %2150

2147:                                             ; preds = %2125
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2141, i32 noundef 0)
  %2148 = zext i32 %2143 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2148, i32 noundef %2131)
  %2149 = add i32 %2143, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2142, i32 noundef %2149)
  br label %2153

2150:                                             ; preds = %2125
  %2151 = add i32 %1503, 156
  %2152 = add i32 %2129, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %2151, i32 noundef %2152) #5
  br label %2153

2153:                                             ; preds = %2150, %2147
  %2154 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2141)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2141, i32 noundef 0)
  %.not10131 = icmp eq i32 %2154, 0
  br i1 %.not10131, label %2179, label %2155

2155:                                             ; preds = %2153
  %2156 = zext i32 %2154 to i64
  %2157 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2156)
  %2158 = zext i32 %2157 to i64
  %2159 = add nuw nsw i64 %2158, 4
  %2160 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2159)
  %2161 = load i32, ptr %133, align 4, !tbaa !15
  %2162 = icmp ult i32 %2160, %2161
  br i1 %2162, label %2163, label %.critedge10253, !prof !16

2163:                                             ; preds = %2155
  %2164 = load ptr, ptr %132, align 8, !tbaa !17
  %2165 = zext i32 %2160 to i64
  %2166 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2164, i64 %2165
  %2167 = getelementptr inbounds i8, ptr %2166, i64 8
  %2168 = load ptr, ptr %2167, align 8, !tbaa !18
  %.not10132 = icmp eq ptr %2168, null
  br i1 %.not10132, label %.critedge10253, label %2169, !prof !20

2169:                                             ; preds = %2163
  %2170 = load ptr, ptr %2166, align 8, !tbaa !22
  %2171 = tail call zeroext i1 @func_types_eq(ptr noundef %135, ptr noundef %2170)
  br i1 %2171, label %2172, label %.critedge10253, !prof !16

.critedge10253:                                   ; preds = %2163, %2155, %2169
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

2172:                                             ; preds = %2169
  %2173 = load ptr, ptr %132, align 8, !tbaa !17
  %2174 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2173, i64 %2165
  %2175 = getelementptr inbounds i8, ptr %2174, i64 8
  %2176 = load ptr, ptr %2175, align 8, !tbaa !18
  %2177 = getelementptr inbounds i8, ptr %2174, i64 16
  %2178 = load ptr, ptr %2177, align 8, !tbaa !23
  tail call void %2176(ptr noundef %2178, i32 noundef %2154) #5
  br label %2179

2179:                                             ; preds = %2172, %2153
  %2180 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1507)
  %2181 = add nuw nsw i64 %1504, 152
  %2182 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2181)
  %2183 = icmp ult i32 %2180, %2182
  br i1 %2183, label %2184, label %2187

2184:                                             ; preds = %2179
  %2185 = zext i32 %2180 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2185, i32 noundef %2131)
  %2186 = add i32 %2180, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %2186)
  br label %2212

2187:                                             ; preds = %2179
  %2188 = add nuw nsw i64 %1504, 144
  %2189 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2188)
  %2190 = sub i32 %2180, %2189
  %2191 = ashr i32 %2190, 2
  %2192 = add nsw i32 %2191, 1
  %2193 = icmp ugt i32 %2192, 1073741823
  br i1 %2193, label %.loopexit10280, label %2194

2194:                                             ; preds = %2187
  %2195 = sub i32 %2182, %2189
  %2196 = ashr i32 %2195, 1
  %2197 = tail call i32 @llvm.umax.i32(i32 %2192, i32 %2196)
  %2198 = icmp ugt i32 %2195, 2147483643
  %2199 = select i1 %2198, i32 1073741823, i32 %2197
  %.not10133 = icmp eq i32 %2199, 0
  br i1 %.not10133, label %._crit_edge10458, label %2200

2200:                                             ; preds = %2194
  %2201 = icmp ugt i32 %2199, 1073741823
  br i1 %2201, label %.loopexit10281, label %2202

2202:                                             ; preds = %2200
  %2203 = shl nuw i32 %2199, 2
  %2204 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %2203) #5
  br label %._crit_edge10458

._crit_edge10458:                                 ; preds = %2194, %2202
  %.pre-phi10480 = phi i32 [ %2203, %2202 ], [ 0, %2194 ]
  %.109592 = phi i32 [ %2204, %2202 ], [ 0, %2194 ]
  %2205 = and i32 %2190, -4
  %2206 = add i32 %.109592, %2205
  %2207 = zext i32 %2206 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2207, i32 noundef %2131)
  %2208 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.109592, i32 noundef %2189, i32 noundef %2190) #5
  %2209 = add i32 %2208, %.pre-phi10480
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2181, i32 noundef %2209)
  %2210 = add i32 %2206, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1507, i32 noundef %2210)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2188, i32 noundef %2208)
  %.not10134 = icmp eq i32 %2189, 0
  br i1 %.not10134, label %2212, label %2211

2211:                                             ; preds = %._crit_edge10458
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %2189) #5
  br label %2212

2212:                                             ; preds = %._crit_edge10458, %2211, %2184
  store i32 %2129, ptr %8, align 8, !tbaa !5
  br label %2574

2213:                                             ; preds = %1502
  %2214 = load i32, ptr %8, align 8, !tbaa !5
  %2215 = add i32 %2214, -32
  store i32 %2215, ptr %8, align 8, !tbaa !5
  %2216 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2217 = add i32 %2216, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2217)
  %2218 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %2219 = icmp eq i32 %2217, %2218
  br i1 %2219, label %2225, label %2220

2220:                                             ; preds = %2213
  %2221 = zext i32 %2217 to i64
  %2222 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2221)
  %.not10075 = icmp eq i32 %2222, 94
  br i1 %.not10075, label %2223, label %2225

2223:                                             ; preds = %2220
  %2224 = add i32 %2216, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2224)
  br label %2225

2225:                                             ; preds = %2220, %2213, %2223
  %.139570 = phi i32 [ 0, %2213 ], [ 0, %2220 ], [ 1, %2223 ]
  %2226 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %2227 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %2228 = zext i32 %2215 to i64
  %2229 = add nuw nsw i64 %2228, 20
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2229, i32 noundef %.139570)
  %2230 = add i32 %2214, -12
  %2231 = add i32 %2227, 136
  %2232 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3ABracketNode0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3ABracketNode0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x260x2C0x20bool0x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x3E0x28hermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x260x2C0x20bool0x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x29(ptr noundef nonnull %0, i32 noundef %2227, i32 noundef %2227, i32 noundef %2230, i32 noundef %2231)
  %2233 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2234 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %2235 = icmp eq i32 %2233, %2234
  br i1 %2235, label %.loopexit10289, label %2236

2236:                                             ; preds = %2225
  %2237 = and i32 %2226, 8
  %2238 = add i32 %2232, 8
  %2239 = add nuw nsw i64 %2228, 28
  %2240 = add i32 %2214, -24
  %2241 = add nuw nsw i64 %2228, 26
  %2242 = add nuw nsw i64 %2228, 16
  %2243 = add nuw nsw i64 %2228, 14
  %.not10086 = icmp eq i32 %2237, 0
  %2244 = add nuw nsw i64 %2228, 24
  %2245 = zext i32 %2232 to i64
  %2246 = add nuw nsw i64 %2245, 56
  %2247 = add nuw nsw i64 %2245, 60
  %2248 = add nuw nsw i64 %2245, 52
  %2249 = add nuw nsw i64 %2228, 12
  %2250 = add nuw nsw i64 %2228, 8
  %2251 = add nuw nsw i64 %2245, 8
  %2252 = add nuw nsw i64 %2245, 12
  br label %2253

2253:                                             ; preds = %2465, %2236
  %.169650 = phi i32 [ %2233, %2236 ], [ %2466, %2465 ]
  %2254 = zext i32 %.169650 to i64
  %2255 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2254)
  %2256 = icmp eq i32 %2255, 93
  br i1 %2256, label %2257, label %2259

2257:                                             ; preds = %2253
  %2258 = add i32 %.169650, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2258)
  br label %2470

2259:                                             ; preds = %2253
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeBracketClassAtom0x280x29(ptr noundef %0, i32 noundef %2230, i32 noundef %99)
  %2260 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2239)
  %.not10076 = icmp eq i32 %2260, 0
  br i1 %.not10076, label %2465, label %2261

2261:                                             ; preds = %2259
  %2262 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2263 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %.not10077 = icmp eq i32 %2262, %2263
  br i1 %.not10077, label %2268, label %2264

2264:                                             ; preds = %2261
  %2265 = zext i32 %2262 to i64
  %2266 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2265)
  %2267 = icmp eq i32 %2266, 45
  br i1 %2267, label %2299, label %2268

2268:                                             ; preds = %2264, %2261
  %2269 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2241)
  %.not10078 = icmp eq i32 %2269, 0
  br i1 %.not10078, label %2461, label %2270

2270:                                             ; preds = %2268
  %2271 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2244)
  %2272 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2246)
  %2273 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2247)
  %.not10079 = icmp eq i32 %2272, %2273
  br i1 %.not10079, label %2277, label %2274

2274:                                             ; preds = %2270
  %2275 = zext i32 %2272 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2275, i32 noundef %2271)
  %2276 = add i32 %2272, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2276)
  br label %2465

2277:                                             ; preds = %2270
  %2278 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2248)
  %2279 = sub i32 %2272, %2278
  %2280 = icmp slt i32 %2279, -2
  br i1 %2280, label %.loopexit10280, label %2281

2281:                                             ; preds = %2277
  %2282 = ashr i32 %2279, 1
  %2283 = add nsw i32 %2282, 1
  %2284 = tail call i32 @llvm.umax.i32(i32 %2279, i32 %2283)
  %2285 = icmp ugt i32 %2279, 2147483645
  %2286 = select i1 %2285, i32 2147483647, i32 %2284
  %.not10080 = icmp eq i32 %2286, 0
  br i1 %.not10080, label %._crit_edge10455, label %2287

2287:                                             ; preds = %2281
  %2288 = icmp slt i32 %2286, 0
  br i1 %2288, label %.loopexit10281, label %2289

2289:                                             ; preds = %2287
  %2290 = shl nuw i32 %2286, 1
  %2291 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2290) #5
  br label %._crit_edge10455

._crit_edge10455:                                 ; preds = %2281, %2289
  %.pre-phi10488 = phi i32 [ %2290, %2289 ], [ 0, %2281 ]
  %.119593 = phi i32 [ %2291, %2289 ], [ 0, %2281 ]
  %2292 = and i32 %2279, -2
  %2293 = add i32 %.119593, %2292
  %2294 = zext i32 %2293 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2294, i32 noundef %2271)
  %2295 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.119593, i32 noundef %2278, i32 noundef %2279) #5
  %2296 = add i32 %2295, %.pre-phi10488
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2247, i32 noundef %2296)
  %2297 = add i32 %2293, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2297)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2248, i32 noundef %2295)
  %.not10081 = icmp eq i32 %2278, 0
  br i1 %.not10081, label %2465, label %2298

2298:                                             ; preds = %._crit_edge10455
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2278) #5
  br label %2465

2299:                                             ; preds = %2264
  %2300 = add i32 %2262, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2300)
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeBracketClassAtom0x280x29(ptr noundef %0, i32 noundef %2240, i32 noundef %99)
  %2301 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2241)
  %2302 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2242)
  %.not10082 = icmp eq i32 %2302, 0
  br i1 %.not10082, label %2303, label %2336

2303:                                             ; preds = %2299
  %.not10096 = icmp eq i32 %2301, 0
  br i1 %.not10096, label %2333, label %2304

2304:                                             ; preds = %2303
  %2305 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2244)
  %2306 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2246)
  %2307 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2247)
  %.not10097 = icmp eq i32 %2306, %2307
  br i1 %.not10097, label %2311, label %2308

2308:                                             ; preds = %2304
  %2309 = zext i32 %2306 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2309, i32 noundef %2305)
  %2310 = add i32 %2306, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2310)
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef 45) #5
  br label %2465

2311:                                             ; preds = %2304
  %2312 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2248)
  %2313 = sub i32 %2306, %2312
  %2314 = icmp slt i32 %2313, -2
  br i1 %2314, label %.loopexit10280, label %2315

2315:                                             ; preds = %2311
  %2316 = ashr i32 %2313, 1
  %2317 = add nsw i32 %2316, 1
  %2318 = tail call i32 @llvm.umax.i32(i32 %2313, i32 %2317)
  %2319 = icmp ugt i32 %2313, 2147483645
  %2320 = select i1 %2319, i32 2147483647, i32 %2318
  %.not10098 = icmp eq i32 %2320, 0
  br i1 %.not10098, label %._crit_edge10454, label %2321

2321:                                             ; preds = %2315
  %2322 = icmp slt i32 %2320, 0
  br i1 %2322, label %.loopexit10281, label %2323

2323:                                             ; preds = %2321
  %2324 = shl nuw i32 %2320, 1
  %2325 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2324) #5
  br label %._crit_edge10454

._crit_edge10454:                                 ; preds = %2315, %2323
  %.pre-phi10490 = phi i32 [ %2324, %2323 ], [ 0, %2315 ]
  %.129594 = phi i32 [ %2325, %2323 ], [ 0, %2315 ]
  %2326 = and i32 %2313, -2
  %2327 = add i32 %.129594, %2326
  %2328 = zext i32 %2327 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2328, i32 noundef %2305)
  %2329 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.129594, i32 noundef %2312, i32 noundef %2313) #5
  %2330 = add i32 %2329, %.pre-phi10490
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2247, i32 noundef %2330)
  %2331 = add i32 %2327, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2331)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2248, i32 noundef %2329)
  %.not10099 = icmp eq i32 %2312, 0
  br i1 %.not10099, label %2335, label %2332

2332:                                             ; preds = %._crit_edge10454
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2312) #5
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef 45) #5
  br label %2465

2333:                                             ; preds = %2303
  %2334 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2229)
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef %2334) #5
  br label %2335

2335:                                             ; preds = %._crit_edge10454, %2333
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef 45) #5
  br label %2465

2336:                                             ; preds = %2299
  %2337 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2243)
  %2338 = or i32 %2337, %2301
  %.not10083 = icmp eq i32 %2338, 0
  br i1 %.not10083, label %2403, label %2339

2339:                                             ; preds = %2336
  br i1 %.not10086, label %2340, label %2406

2340:                                             ; preds = %2339
  %.not10087 = icmp eq i32 %2301, 0
  br i1 %.not10087, label %2370, label %2341

2341:                                             ; preds = %2340
  %2342 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2244)
  %2343 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2246)
  %2344 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2247)
  %.not10088 = icmp eq i32 %2343, %2344
  br i1 %.not10088, label %2348, label %2345

2345:                                             ; preds = %2341
  %2346 = zext i32 %2343 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2346, i32 noundef %2342)
  %2347 = add i32 %2343, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2347)
  br label %2372

2348:                                             ; preds = %2341
  %2349 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2248)
  %2350 = sub i32 %2343, %2349
  %2351 = icmp slt i32 %2350, -2
  br i1 %2351, label %.loopexit10280, label %2352

2352:                                             ; preds = %2348
  %2353 = ashr i32 %2350, 1
  %2354 = add nsw i32 %2353, 1
  %2355 = tail call i32 @llvm.umax.i32(i32 %2350, i32 %2354)
  %2356 = icmp ugt i32 %2350, 2147483645
  %2357 = select i1 %2356, i32 2147483647, i32 %2355
  %.not10089 = icmp eq i32 %2357, 0
  br i1 %.not10089, label %._crit_edge10452, label %2358

2358:                                             ; preds = %2352
  %2359 = icmp slt i32 %2357, 0
  br i1 %2359, label %.loopexit10281, label %2360

2360:                                             ; preds = %2358
  %2361 = shl nuw i32 %2357, 1
  %2362 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2361) #5
  br label %._crit_edge10452

._crit_edge10452:                                 ; preds = %2352, %2360
  %.pre-phi10494 = phi i32 [ %2361, %2360 ], [ 0, %2352 ]
  %.139595 = phi i32 [ %2362, %2360 ], [ 0, %2352 ]
  %2363 = and i32 %2350, -2
  %2364 = add i32 %.139595, %2363
  %2365 = zext i32 %2364 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2365, i32 noundef %2342)
  %2366 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.139595, i32 noundef %2349, i32 noundef %2350) #5
  %2367 = add i32 %2366, %.pre-phi10494
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2247, i32 noundef %2367)
  %2368 = add i32 %2364, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2368)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2248, i32 noundef %2366)
  %.not10090 = icmp eq i32 %2349, 0
  br i1 %.not10090, label %2372, label %2369

2369:                                             ; preds = %._crit_edge10452
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2349) #5
  br label %2372

2370:                                             ; preds = %2340
  %2371 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2229)
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef %2371) #5
  br label %2372

2372:                                             ; preds = %._crit_edge10452, %2370, %2369, %2345
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef 45) #5
  %2373 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2243)
  %.not10091 = icmp eq i32 %2373, 0
  br i1 %.not10091, label %2463, label %2374

2374:                                             ; preds = %2372
  %2375 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2249)
  %2376 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2246)
  %2377 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2247)
  %.not10092 = icmp eq i32 %2376, %2377
  br i1 %.not10092, label %2381, label %2378

2378:                                             ; preds = %2374
  %2379 = zext i32 %2376 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2379, i32 noundef %2375)
  %2380 = add i32 %2376, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2380)
  br label %2465

2381:                                             ; preds = %2374
  %2382 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2248)
  %2383 = sub i32 %2376, %2382
  %2384 = icmp slt i32 %2383, -2
  br i1 %2384, label %.loopexit10280, label %2385

2385:                                             ; preds = %2381
  %2386 = ashr i32 %2383, 1
  %2387 = add nsw i32 %2386, 1
  %2388 = tail call i32 @llvm.umax.i32(i32 %2383, i32 %2387)
  %2389 = icmp ugt i32 %2383, 2147483645
  %2390 = select i1 %2389, i32 2147483647, i32 %2388
  %.not10093 = icmp eq i32 %2390, 0
  br i1 %.not10093, label %._crit_edge10453, label %2391

2391:                                             ; preds = %2385
  %2392 = icmp slt i32 %2390, 0
  br i1 %2392, label %.loopexit10281, label %2393

2393:                                             ; preds = %2391
  %2394 = shl nuw i32 %2390, 1
  %2395 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2394) #5
  br label %._crit_edge10453

._crit_edge10453:                                 ; preds = %2385, %2393
  %.pre-phi10492 = phi i32 [ %2394, %2393 ], [ 0, %2385 ]
  %.149596 = phi i32 [ %2395, %2393 ], [ 0, %2385 ]
  %2396 = and i32 %2383, -2
  %2397 = add i32 %.149596, %2396
  %2398 = zext i32 %2397 to i64
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %2398, i32 noundef %2375)
  %2399 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.149596, i32 noundef %2382, i32 noundef %2383) #5
  %2400 = add i32 %2399, %.pre-phi10492
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2247, i32 noundef %2400)
  %2401 = add i32 %2397, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2246, i32 noundef %2401)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2248, i32 noundef %2399)
  %.not10094 = icmp eq i32 %2382, 0
  br i1 %.not10094, label %2465, label %2402

2402:                                             ; preds = %._crit_edge10453
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2382) #5
  br label %2465

2403:                                             ; preds = %2336
  %2404 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2229)
  %2405 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2250)
  %.not10084 = icmp ugt i32 %2404, %2405
  br i1 %.not10084, label %2406, label %2410

2406:                                             ; preds = %2403, %2339
  %2407 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10095 = icmp eq i32 %2407, 0
  br i1 %.not10095, label %2408, label %2470

2408:                                             ; preds = %2406
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 7)
  %2409 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2409)
  br label %2470

2410:                                             ; preds = %2403
  %2411 = load i32, ptr %8, align 8, !tbaa !5
  %2412 = add i32 %2411, -32
  store i32 %2412, ptr %8, align 8, !tbaa !5
  %2413 = zext i32 %2412 to i64
  %2414 = add nuw nsw i64 %2413, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2414, i32 noundef %2404)
  %2415 = sub i32 %2405, %2404
  %2416 = add i32 %2415, 1
  %2417 = add nuw nsw i64 %2413, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2417, i32 noundef %2416)
  %.not10085 = icmp eq i32 %2416, 0
  br i1 %.not10085, label %2460, label %2418

2418:                                             ; preds = %2410
  %2419 = add i32 %2411, -12
  %2420 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2251)
  %2421 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2252)
  %2422 = shl i32 %2421, 3
  %2423 = add i32 %2422, %2420
  %2424 = add i32 %2411, -24
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apair0x3Chermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x3E0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fequal_range0x5Babi0x3Av150070x5D0x3Cstd0x3A0x3A_0x5F20x3A0x3A_ClassicAlgPolicy0x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x3E0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x260x260x29(ptr noundef nonnull %0, i32 noundef %2419, i32 noundef %2420, i32 noundef %2423, i32 noundef %2424) #5
  %2425 = add nuw nsw i64 %2413, 20
  %2426 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2425)
  %2427 = add nuw nsw i64 %2413, 24
  %2428 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2427)
  %2429 = icmp eq i32 %2426, %2428
  br i1 %2429, label %2430, label %2431

2430:                                             ; preds = %2418
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Chermes0x3A0x3ACodePointRange0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %2238, i32 noundef %2426, i32 noundef %2424) #5
  br label %2460

2431:                                             ; preds = %2418
  %2432 = add i32 %2428, -8
  %2433 = zext i32 %2432 to i64
  %2434 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2433)
  %2435 = add nuw nsw i64 %2433, 4
  %2436 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2435)
  %2437 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2417)
  %2438 = zext i32 %2426 to i64
  %2439 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2438)
  %2440 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2414)
  %2441 = tail call i32 @llvm.umin.i32(i32 %2440, i32 %2439)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2438, i32 noundef %2441)
  %2442 = add i32 %2440, %2437
  %2443 = add i32 %2436, %2434
  %2444 = tail call i32 @llvm.umax.i32(i32 %2442, i32 %2443)
  %2445 = sub i32 %2444, %2441
  %2446 = add nuw nsw i64 %2438, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2446, i32 noundef %2445)
  %2447 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2425)
  %2448 = add i32 %2447, 8
  %2449 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2427)
  %2450 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2251)
  %2451 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2252)
  %2452 = shl i32 %2451, 3
  %2453 = sub i32 %2450, %2449
  %2454 = add i32 %2453, %2452
  %2455 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %2448, i32 noundef %2449, i32 noundef %2454) #5
  %2456 = add i32 %2454, %2455
  %2457 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2251)
  %2458 = sub i32 %2456, %2457
  %2459 = ashr i32 %2458, 3
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2252, i32 noundef %2459)
  br label %2460

2460:                                             ; preds = %2410, %2431, %2430
  store i32 %2411, ptr %8, align 8, !tbaa !5
  br label %2465

2461:                                             ; preds = %2268
  %2462 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2229)
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef %2462) #5
  br label %2465

2463:                                             ; preds = %2372
  %2464 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2250)
  tail call void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %2238, i32 noundef %2464) #5
  br label %2465

2465:                                             ; preds = %._crit_edge10453, %._crit_edge10455, %2259, %2463, %2461, %2460, %2402, %2378, %2335, %2332, %2308, %2298, %2274
  %2466 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2467 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %.not10100 = icmp eq i32 %2466, %2467
  br i1 %.not10100, label %.loopexit10289, label %2253

.loopexit10289:                                   ; preds = %2465, %2225
  %.179651 = phi i32 [ %2233, %2225 ], [ %2466, %2465 ]
  %2468 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10101 = icmp eq i32 %2468, 0
  br i1 %.not10101, label %2469, label %2470

2469:                                             ; preds = %.loopexit10289
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.179651)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 4)
  br label %2470

2470:                                             ; preds = %.loopexit10289, %2406, %2469, %2408, %2257
  store i32 %2214, ptr %8, align 8, !tbaa !5
  br label %2574

2471:                                             ; preds = %1502, %1502, %1502
  %2472 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10139 = icmp eq i32 %2472, 0
  br i1 %.not10139, label %2473, label %.loopexit10290

2473:                                             ; preds = %2471
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.139647)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 9)
  br label %.loopexit10290

2474:                                             ; preds = %1502
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1492, i32 noundef 0)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1493, i32 noundef 1)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1494, i64 noundef -4294967296)
  %2475 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %0, i32 noundef %99, i32 noundef %1495)
  %.not10140 = icmp eq i32 %2475, 0
  br i1 %.not10140, label %2488, label %2476

2476:                                             ; preds = %2474
  %2477 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2478 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %2479 = icmp eq i32 %2477, %2478
  br i1 %2479, label %2485, label %2480

2480:                                             ; preds = %2476
  %2481 = zext i32 %2477 to i64
  %2482 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2481)
  %.not10143 = icmp eq i32 %2482, 63
  br i1 %.not10143, label %2483, label %2485

2483:                                             ; preds = %2480
  %2484 = add i32 %2477, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2484)
  br label %2485

2485:                                             ; preds = %2480, %2476, %2483
  %2486 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10144 = icmp eq i32 %2486, 0
  br i1 %.not10144, label %2487, label %.loopexit10290

2487:                                             ; preds = %2485
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 9)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2478)
  br label %.loopexit10290

2488:                                             ; preds = %2474
  %2489 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %2490 = and i32 %2489, 8
  %.not10141 = icmp eq i32 %2490, 0
  br i1 %.not10141, label %2495, label %2491

2491:                                             ; preds = %2488
  %2492 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10142 = icmp eq i32 %2492, 0
  br i1 %.not10142, label %2493, label %.loopexit10290

2493:                                             ; preds = %2491
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 8)
  %2494 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2494)
  br label %.loopexit10290

2495:                                             ; preds = %2488
  %2496 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2497 = add i32 %2496, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2497)
  %2498 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %101)
  %2499 = zext i32 %2498 to i64
  %2500 = add nuw nsw i64 %2499, 136
  %2501 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2500)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1496, i32 noundef 123)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1497, i64 noundef 21474836481)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1485)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1498, i32 noundef %2501)
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %0, i32 noundef %2498, i32 noundef %1499, i32 noundef %1500)
  %2502 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1491)
  %2503 = icmp eq i32 %2502, %1485
  br i1 %2503, label %2574, label %2504

2504:                                             ; preds = %2495
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2502) #5
  br label %2574

2505:                                             ; preds = %1502, %1502
  %2506 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %2507 = and i32 %2506, 8
  %.not10145 = icmp eq i32 %2507, 0
  br i1 %.not10145, label %2552, label %2508

2508:                                             ; preds = %2505
  %2509 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10146 = icmp eq i32 %2509, 0
  br i1 %.not10146, label %2510, label %.loopexit10290

2510:                                             ; preds = %2508
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %.139647)
  %2511 = icmp eq i32 %1513, 125
  %2512 = select i1 %2511, i32 8, i32 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef %2512)
  br label %.loopexit10290

2513:                                             ; preds = %1502
  %2514 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %105)
  %2515 = and i32 %2514, 8
  %.not10151 = icmp eq i32 %2515, 0
  br i1 %.not10151, label %2552, label %2516

2516:                                             ; preds = %2513
  %2517 = and i32 %1513, 64512
  %2518 = icmp eq i32 %2517, 55296
  %2519 = select i1 %2518, i32 2, i32 0
  %2520 = add i32 %2519, %.79544
  %2521 = icmp eq i32 %.139647, %2520
  br i1 %2521, label %2552, label %2522

2522:                                             ; preds = %2516
  %2523 = zext i32 %2520 to i64
  %2524 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2523)
  %2525 = and i32 %2524, 64512
  %.not10152 = icmp eq i32 %2525, 56320
  br i1 %.not10152, label %2526, label %2552

2526:                                             ; preds = %2522
  %2527 = add i32 %2520, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2527)
  br i1 %2518, label %2528, label %2552

2528:                                             ; preds = %2526
  %2529 = shl i32 %1513, 10
  %2530 = add nsw i32 %2529, -56613888
  %2531 = add i32 %2530, %2524
  %2532 = add nuw nsw i64 %1504, 136
  %2533 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2532)
  %2534 = and i32 %2533, 1
  %.not10154 = icmp eq i32 %2534, 0
  br i1 %.not10154, label %2548, label %2535

2535:                                             ; preds = %2528
  %2536 = and i32 %2533, 8
  %2537 = icmp ult i32 %2531, 128
  br i1 %2537, label %2538, label %2545

2538:                                             ; preds = %2535
  %2539 = and i32 %2524, 95
  %2540 = shl nuw nsw i32 %2536, 2
  %2541 = or disjoint i32 %2540, %2539
  %2542 = add nsw i32 %2539, -65
  %2543 = icmp ult i32 %2542, 26
  %2544 = select i1 %2543, i32 %2541, i32 %2531
  br label %2548

2545:                                             ; preds = %2535
  %.lobit10155 = lshr exact i32 %2536, 3
  %2546 = tail call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %2531, i32 noundef %.lobit10155) #5
  %2547 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2532)
  br label %2548

2548:                                             ; preds = %2528, %2545, %2538
  %.149571 = phi i32 [ %2533, %2528 ], [ %2533, %2538 ], [ %2547, %2545 ]
  %.119548 = phi i32 [ %2531, %2528 ], [ %2544, %2538 ], [ %2546, %2545 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1496, i32 noundef %.119548)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1497, i64 noundef 21474836481)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1485)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1494, i32 noundef %.149571)
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %0, i32 noundef %1503, i32 noundef %1499, i32 noundef %1495)
  %2549 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1491)
  %2550 = icmp eq i32 %2549, %1485
  br i1 %2550, label %2574, label %2551

2551:                                             ; preds = %2548
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2549) #5
  br label %2574

2552:                                             ; preds = %2526, %2522, %2516, %2513, %2505
  %2553 = add i32 %.79544, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2553)
  %2554 = add nuw nsw i64 %1504, 136
  %2555 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2554)
  %2556 = and i32 %2555, 1
  %.not10156 = icmp eq i32 %2556, 0
  br i1 %.not10156, label %2570, label %2557

2557:                                             ; preds = %2552
  %2558 = and i32 %2555, 8
  %2559 = icmp ult i32 %1513, 128
  br i1 %2559, label %2560, label %2567

2560:                                             ; preds = %2557
  %2561 = and i32 %1513, 95
  %2562 = shl nuw nsw i32 %2558, 2
  %2563 = or disjoint i32 %2562, %2561
  %2564 = add nsw i32 %2561, -65
  %2565 = icmp ult i32 %2564, 26
  %2566 = select i1 %2565, i32 %2563, i32 %1513
  br label %2570

2567:                                             ; preds = %2557
  %.lobit10157 = lshr exact i32 %2558, 3
  %2568 = tail call i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1513, i32 noundef %.lobit10157) #5
  %2569 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %2554)
  br label %2570

2570:                                             ; preds = %2552, %2567, %2560
  %.159572 = phi i32 [ %1513, %2552 ], [ %2566, %2560 ], [ %2568, %2567 ]
  %.129549 = phi i32 [ %2555, %2552 ], [ %2555, %2560 ], [ %2569, %2567 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1496, i32 noundef %.159572)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1497, i64 noundef 21474836481)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1485)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1494, i32 noundef %.129549)
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2A0x20hermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x3A0x3AappendNode0x3Chermes0x3A0x3Aregex0x3A0x3AMatchCharNode0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x3E0x28llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x205u0x3E0x260x260x2C0x20hermes0x3A0x3Aregex0x3A0x3ASyntaxFlags0x260x260x29(ptr noundef %0, i32 noundef %1503, i32 noundef %1499, i32 noundef %1495)
  %2571 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1491)
  %2572 = icmp eq i32 %2571, %1485
  br i1 %2572, label %2574, label %2573

2573:                                             ; preds = %2570
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2571) #5
  br label %2574

2574:                                             ; preds = %2124, %2212, %2470, %2504, %2551, %2573, %2495, %2548, %2570, %1772, %1677, %1597
  %.not10160 = phi i1 [ true, %1772 ], [ true, %1597 ], [ true, %1677 ], [ false, %2570 ], [ false, %2548 ], [ false, %2495 ], [ false, %2573 ], [ false, %2551 ], [ false, %2504 ], [ false, %2470 ], [ false, %2212 ], [ false, %2124 ]
  %2575 = tail call i32 @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AtryConsumeQuantifierPrefix0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x2A0x29(ptr noundef %0, i32 noundef %99, i32 noundef %1501)
  %.not10158 = icmp eq i32 %2575, 0
  br i1 %.not10158, label %2590, label %2576

2576:                                             ; preds = %2574
  %2577 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2578 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %2579 = icmp eq i32 %2577, %2578
  br i1 %2579, label %2585, label %2580

2580:                                             ; preds = %2576
  %2581 = zext i32 %2577 to i64
  %2582 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %2581)
  %.not10159 = icmp eq i32 %2582, 63
  br i1 %.not10159, label %2583, label %2585

2583:                                             ; preds = %2580
  %2584 = add i32 %2577, 2
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2584)
  br label %2585

2585:                                             ; preds = %2580, %2576, %2583
  %.139550 = phi i32 [ 1, %2576 ], [ 1, %2580 ], [ 0, %2583 ]
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1487, i32 noundef %.139550)
  br i1 %.not10160, label %2586, label %2589

2586:                                             ; preds = %2585
  %2587 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10162 = icmp eq i32 %2587, 0
  br i1 %.not10162, label %2588, label %.loopexit10290

2588:                                             ; preds = %2586
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2578)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 9)
  br label %.loopexit10290

2589:                                             ; preds = %2585
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AapplyQuantifier0x28hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AQuantifier0x20const0x260x29(ptr noundef %0, i32 noundef %99, i32 noundef %1501)
  br label %2590

2590:                                             ; preds = %2589, %2574
  %2591 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2592 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %.not10161 = icmp eq i32 %2591, %2592
  br i1 %.not10161, label %.loopexit10290, label %1502

.loopexit10290:                                   ; preds = %1502, %1502, %1502, %2590, %2586, %2508, %2491, %2485, %2471, %1683, %1478, %2588, %2510, %2493, %2487, %2473, %1685
  store i32 %1479, ptr %8, align 8, !tbaa !5
  %2593 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %108)
  %2594 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  %.not10163 = icmp eq i32 %2593, %2594
  br i1 %.not10163, label %.loopexit10319, label %139

.loopexit10319:                                   ; preds = %.loopexit10290, %..loopexit10319_crit_edge
  %.pre-phi10468 = phi i32 [ %.pre10467, %..loopexit10319_crit_edge ], [ %129, %.loopexit10290 ]
  tail call void @w2c_hermes_hermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AcloseAlternation0x28llvh0x3A0x3ASmallVector0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x204u0x3E0x260x29(ptr noundef nonnull %0, i32 noundef %99, i32 noundef %.pre-phi10468)
  %2595 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %.not10164 = icmp eq i32 %2595, 0
  br i1 %.not10164, label %.loopexit10283, label %2596

2596:                                             ; preds = %.loopexit10319
  %2597 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %.not10165 = icmp eq i32 %2597, 0
  br i1 %.not10165, label %2598, label %2600

2598:                                             ; preds = %2596
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %106, i32 noundef 5)
  %2599 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %108, i32 noundef %2599)
  br label %2600

2600:                                             ; preds = %2598, %2596
  %2601 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %2602 = mul i32 %2595, 44
  %2603 = add i32 %2601, %2602
  br label %2604

2604:                                             ; preds = %2623, %2600
  %.189652 = phi i32 [ %2603, %2600 ], [ %2605, %2623 ]
  %2605 = add i32 %.189652, -44
  %2606 = zext i32 %2605 to i64
  %2607 = add nuw nsw i64 %2606, 28
  %2608 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2607)
  %.not10166 = icmp eq i32 %2608, 0
  br i1 %.not10166, label %2623, label %2609

2609:                                             ; preds = %2604
  %2610 = add i32 %.189652, -12
  %2611 = zext i32 %2610 to i64
  %2612 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2611)
  %.not10167 = icmp eq i32 %2612, %2608
  br i1 %.not10167, label %2622, label %.preheader10282

.preheader10282:                                  ; preds = %2609, %2619
  %.139671 = phi i32 [ %2613, %2619 ], [ %2612, %2609 ]
  %2613 = add i32 %.139671, -12
  %2614 = zext i32 %2613 to i64
  %2615 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2614)
  %.not10168 = icmp eq i32 %2615, 0
  br i1 %.not10168, label %2619, label %2616

2616:                                             ; preds = %.preheader10282
  %2617 = add i32 %.139671, -8
  %2618 = zext i32 %2617 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2618, i32 noundef %2615)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2615) #5
  br label %2619

2619:                                             ; preds = %2616, %.preheader10282
  %.not10169 = icmp eq i32 %2613, %2608
  br i1 %.not10169, label %2620, label %.preheader10282

2620:                                             ; preds = %2619
  %2621 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2607)
  br label %2622

2622:                                             ; preds = %2620, %2609
  %.19 = phi i32 [ %2621, %2620 ], [ %2608, %2609 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2611, i32 noundef %2608)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.19) #5
  br label %2623

2623:                                             ; preds = %2622, %2604
  %.not10170 = icmp eq i32 %2605, %2601
  br i1 %.not10170, label %.loopexit10283, label %2604

.loopexit10283:                                   ; preds = %2623, %.loopexit10319, %275, %277
  %2624 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %121)
  %.not10171 = icmp eq i32 %120, %2624
  br i1 %.not10171, label %2626, label %2625

2625:                                             ; preds = %.loopexit10283
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2624) #5
  br label %2626

2626:                                             ; preds = %2625, %.loopexit10283
  store i32 %109, ptr %8, align 8, !tbaa !5
  %2627 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %106)
  %2628 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %103)
  %2629 = zext i32 %6 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2629, i32 noundef %2628)
  store i32 %98, ptr %8, align 8, !tbaa !5
  %.not10172 = icmp eq i32 %2627, 0
  br i1 %.not10172, label %2630, label %.loopexit10270

2630:                                             ; preds = %2626
  %2631 = add i32 %98, -16
  store i32 %2631, ptr %8, align 8, !tbaa !5
  %2632 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 4) #5
  %2633 = zext i32 %2632 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2633, i32 noundef 112500)
  %2634 = zext i32 %2631 to i64
  %2635 = add nuw nsw i64 %2634, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2635, i32 noundef %2632)
  %2636 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %22)
  %2637 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %24)
  %2638 = icmp ult i32 %2636, %2637
  br i1 %2638, label %2639, label %2642

2639:                                             ; preds = %2630
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2635, i32 noundef 0)
  %2640 = zext i32 %2636 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2640, i32 noundef %2632)
  %2641 = add i32 %2636, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %22, i32 noundef %2641)
  br label %2645

2642:                                             ; preds = %2630
  %2643 = add i32 %1, 156
  %2644 = add i32 %98, -4
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x3E0x3E0x260x260x29(ptr noundef nonnull %0, i32 noundef %2643, i32 noundef %2644) #5
  br label %2645

2645:                                             ; preds = %2642, %2639
  %2646 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2635)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2635, i32 noundef 0)
  %.not10173 = icmp eq i32 %2646, 0
  br i1 %.not10173, label %2674, label %2647

2647:                                             ; preds = %2645
  %2648 = zext i32 %2646 to i64
  %2649 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2648)
  %2650 = zext i32 %2649 to i64
  %2651 = add nuw nsw i64 %2650, 4
  %2652 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2651)
  %2653 = getelementptr inbounds i8, ptr %0, i64 80
  %2654 = getelementptr inbounds i8, ptr %0, i64 92
  %2655 = load i32, ptr %2654, align 4, !tbaa !15
  %2656 = icmp ult i32 %2652, %2655
  br i1 %2656, label %2657, label %.critedge10255, !prof !16

2657:                                             ; preds = %2647
  %2658 = load ptr, ptr %2653, align 8, !tbaa !17
  %2659 = zext i32 %2652 to i64
  %2660 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2658, i64 %2659
  %2661 = getelementptr inbounds i8, ptr %2660, i64 8
  %2662 = load ptr, ptr %2661, align 8, !tbaa !18
  %.not10174 = icmp eq ptr %2662, null
  br i1 %.not10174, label %.critedge10255, label %2663, !prof !20

2663:                                             ; preds = %2657
  %2664 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %2665 = load ptr, ptr %2660, align 8, !tbaa !22
  %2666 = tail call zeroext i1 @func_types_eq(ptr noundef %2664, ptr noundef %2665)
  br i1 %2666, label %2667, label %.critedge10255, !prof !16

.critedge10255:                                   ; preds = %2657, %2647, %2663
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

2667:                                             ; preds = %2663
  %2668 = load ptr, ptr %2653, align 8, !tbaa !17
  %2669 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2668, i64 %2659
  %2670 = getelementptr inbounds i8, ptr %2669, i64 8
  %2671 = load ptr, ptr %2670, align 8, !tbaa !18
  %2672 = getelementptr inbounds i8, ptr %2669, i64 16
  %2673 = load ptr, ptr %2672, align 8, !tbaa !23
  tail call void %2671(ptr noundef %2673, i32 noundef %2646) #5
  br label %2674

2674:                                             ; preds = %2667, %2645
  %2675 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %15)
  %2676 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %35)
  %2677 = icmp ult i32 %2675, %2676
  br i1 %2677, label %2678, label %2681

2678:                                             ; preds = %2674
  %2679 = zext i32 %2675 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2679, i32 noundef %2632)
  %2680 = add i32 %2675, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %15, i32 noundef %2680)
  br label %2705

2681:                                             ; preds = %2674
  %2682 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %13)
  %2683 = sub i32 %2675, %2682
  %2684 = ashr i32 %2683, 2
  %2685 = add nsw i32 %2684, 1
  %2686 = icmp ugt i32 %2685, 1073741823
  br i1 %2686, label %.loopexit10280, label %2687

2687:                                             ; preds = %2681
  %2688 = sub i32 %2676, %2682
  %2689 = ashr i32 %2688, 1
  %2690 = tail call i32 @llvm.umax.i32(i32 %2685, i32 %2689)
  %2691 = icmp ugt i32 %2688, 2147483643
  %2692 = select i1 %2691, i32 1073741823, i32 %2690
  %.not10175 = icmp eq i32 %2692, 0
  br i1 %.not10175, label %._crit_edge10461, label %2693

2693:                                             ; preds = %2687
  %2694 = icmp ugt i32 %2692, 1073741823
  br i1 %2694, label %.loopexit10281, label %2695

2695:                                             ; preds = %2693
  %2696 = shl nuw i32 %2692, 2
  %2697 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %2696) #5
  br label %._crit_edge10461

._crit_edge10461:                                 ; preds = %2687, %2695
  %.pre-phi10474 = phi i32 [ %2696, %2695 ], [ 0, %2687 ]
  %.169598 = phi i32 [ %2697, %2695 ], [ 0, %2687 ]
  %2698 = and i32 %2683, -4
  %2699 = add i32 %.169598, %2698
  %2700 = zext i32 %2699 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2700, i32 noundef %2632)
  %2701 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.169598, i32 noundef %2682, i32 noundef %2683) #5
  %2702 = add i32 %2701, %.pre-phi10474
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %35, i32 noundef %2702)
  %2703 = add i32 %2699, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %15, i32 noundef %2703)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %13, i32 noundef %2701)
  %.not10176 = icmp eq i32 %2682, 0
  br i1 %.not10176, label %2705, label %2704

2704:                                             ; preds = %._crit_edge10461
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %2682) #5
  br label %2705

2705:                                             ; preds = %._crit_edge10461, %2704, %2678
  store i32 %98, ptr %8, align 8, !tbaa !5
  %2706 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %93)
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %95, i32 noundef %2706)
  %2707 = add nuw nsw i64 %95, 2
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2707, i32 noundef %2706)
  %2708 = load i32, ptr %8, align 8, !tbaa !5
  %2709 = add i32 %2708, -80
  store i32 %2709, ptr %8, align 8, !tbaa !5
  %2710 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 4) #5
  %2711 = add i32 %1, 144
  %2712 = zext i32 %2710 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2712, i32 noundef %2711)
  %2713 = add i32 %2708, -4
  %2714 = add i32 %2708, -68
  %2715 = add i32 %2708, -36
  %2716 = add i32 %2710, 4
  %2717 = add i32 %2708, -16
  %2718 = getelementptr inbounds i8, ptr %0, i64 80
  %2719 = getelementptr inbounds i8, ptr %0, i64 92
  %2720 = load ptr, ptr @w2c_hermes_t0, align 8
  %2721 = zext i32 %2709 to i64
  %2722 = add nuw nsw i64 %2721, 68
  %2723 = add nuw nsw i64 %2721, 64
  %2724 = add nuw nsw i64 %2721, 36
  %2725 = add nuw nsw i64 %2721, 32
  %2726 = add i32 %2708, -48
  %2727 = load ptr, ptr @w2c_hermes_t4, align 8
  %2728 = add nuw nsw i64 %2721, 4
  %2729 = add nuw nsw i64 %2721, 40
  %2730 = add nuw nsw i64 %2721, 8
  %2731 = add nuw nsw i64 %12, 156
  %2732 = load ptr, ptr @w2c_hermes_t3, align 8
  br label %2733

2733:                                             ; preds = %.loopexit10279, %2705
  %.199653 = phi i32 [ %2710, %2705 ], [ %.229656, %.loopexit10279 ]
  %.49607 = phi i32 [ %2716, %2705 ], [ %.79610, %.loopexit10279 ]
  %.20 = phi i32 [ %2716, %2705 ], [ %.23, %.loopexit10279 ]
  %2734 = add i32 %.20, -4
  %2735 = zext i32 %2734 to i64
  %2736 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2735)
  %2737 = zext i32 %2736 to i64
  %2738 = add nuw nsw i64 %2737, 4
  %2739 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2738)
  %2740 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2741 = icmp eq i32 %2739, %2740
  br i1 %2741, label %.loopexit10279, label %2742

2742:                                             ; preds = %2733
  %2743 = sub i32 %2739, %2740
  %2744 = ashr i32 %2743, 2
  br label %2745

2745:                                             ; preds = %2992, %2742
  %.149672 = phi i32 [ 0, %2742 ], [ %2993, %2992 ]
  %.209654 = phi i32 [ %.199653, %2742 ], [ %.219655, %2992 ]
  %.59608 = phi i32 [ %.49607, %2742 ], [ %.69609, %2992 ]
  %.21 = phi i32 [ %2734, %2742 ], [ %.22, %2992 ]
  %2746 = shl i32 %.149672, 2
  %2747 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2748 = add i32 %2747, %2746
  %2749 = zext i32 %2748 to i64
  %2750 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2749)
  %2751 = zext i32 %2750 to i64
  %2752 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2751)
  %2753 = zext i32 %2752 to i64
  %2754 = add nuw nsw i64 %2753, 24
  %2755 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2754)
  %2756 = load i32, ptr %2719, align 4, !tbaa !15
  %2757 = icmp ult i32 %2755, %2756
  br i1 %2757, label %2758, label %.critedge10257, !prof !16

2758:                                             ; preds = %2745
  %2759 = load ptr, ptr %2718, align 8, !tbaa !17
  %2760 = zext i32 %2755 to i64
  %2761 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2759, i64 %2760
  %2762 = getelementptr inbounds i8, ptr %2761, i64 8
  %2763 = load ptr, ptr %2762, align 8, !tbaa !18
  %.not10177 = icmp eq ptr %2763, null
  br i1 %.not10177, label %.critedge10257, label %2764, !prof !20

2764:                                             ; preds = %2758
  %2765 = load ptr, ptr %2761, align 8, !tbaa !22
  %2766 = tail call zeroext i1 @func_types_eq(ptr noundef %2720, ptr noundef %2765)
  br i1 %2766, label %2767, label %.critedge10257, !prof !16

.critedge10257:                                   ; preds = %2758, %2745, %2764
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

2767:                                             ; preds = %2764
  %2768 = load ptr, ptr %2718, align 8, !tbaa !17
  %2769 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2768, i64 %2760
  %2770 = getelementptr inbounds i8, ptr %2769, i64 8
  %2771 = load ptr, ptr %2770, align 8, !tbaa !18
  %2772 = getelementptr inbounds i8, ptr %2769, i64 16
  %2773 = load ptr, ptr %2772, align 8, !tbaa !23
  tail call void %2771(ptr noundef %2773, i32 noundef %2717, i32 noundef %2750) #5
  %2774 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2722)
  %2775 = icmp slt i32 %2774, 1
  br i1 %2775, label %.loopexit10276, label %2776

2776:                                             ; preds = %2767
  %2777 = shl i32 %2774, 2
  %2778 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2723)
  %2779 = sub i32 %.59608, %.21
  %2780 = ashr i32 %2779, 2
  %.not10178 = icmp slt i32 %2780, %2774
  br i1 %.not10178, label %2789, label %2781

2781:                                             ; preds = %2776
  %2782 = add i32 %2778, %2777
  br label %2783

2783:                                             ; preds = %2783, %2781
  %.169573 = phi i32 [ %.21, %2781 ], [ %2787, %2783 ]
  %.149551 = phi i32 [ %2778, %2781 ], [ %2788, %2783 ]
  %2784 = zext i32 %.149551 to i64
  %2785 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2784)
  %2786 = zext i32 %.169573 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2786, i32 noundef %2785)
  %2787 = add i32 %.169573, 4
  %2788 = add i32 %.149551, 4
  %.not10181 = icmp eq i32 %2788, %2782
  br i1 %.not10181, label %.loopexit10276, label %2783

2789:                                             ; preds = %2776
  %2790 = sub i32 %.21, %.209654
  %2791 = ashr i32 %2790, 2
  %2792 = add i32 %2774, %2791
  %2793 = icmp ugt i32 %2792, 1073741823
  br i1 %2793, label %.loopexit10280, label %2794

2794:                                             ; preds = %2789
  %2795 = sub i32 %.59608, %.209654
  %2796 = ashr i32 %2795, 1
  %2797 = tail call i32 @llvm.umax.i32(i32 %2792, i32 %2796)
  %2798 = icmp ugt i32 %2795, 2147483643
  %2799 = select i1 %2798, i32 1073741823, i32 %2797
  %.not10179 = icmp eq i32 %2799, 0
  br i1 %.not10179, label %._crit_edge10462, label %2800

2800:                                             ; preds = %2794
  %2801 = icmp ugt i32 %2799, 1073741823
  br i1 %2801, label %.loopexit10281, label %2802

2802:                                             ; preds = %2800
  %2803 = shl nuw i32 %2799, 2
  %2804 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %2803) #5
  br label %._crit_edge10462

._crit_edge10462:                                 ; preds = %2794, %2802
  %.pre-phi10472 = phi i32 [ %2803, %2802 ], [ 0, %2794 ]
  %.179599 = phi i32 [ %2804, %2802 ], [ 0, %2794 ]
  %2805 = and i32 %2790, -4
  %2806 = add i32 %.179599, %2805
  %2807 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef nonnull %0, i32 noundef %2806, i32 noundef %2778, i32 noundef %2777) #5
  %2808 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.179599, i32 noundef %.209654, i32 noundef %2790) #5
  %2809 = add i32 %2807, %2777
  %2810 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %2809, i32 noundef %.21, i32 noundef 0) #5
  %2811 = add i32 %2808, %.pre-phi10472
  %.not10180 = icmp eq i32 %.209654, 0
  br i1 %.not10180, label %.loopexit10276, label %2812

2812:                                             ; preds = %._crit_edge10462
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %.209654) #5
  br label %.loopexit10276

.loopexit10276:                                   ; preds = %2783, %._crit_edge10462, %2812, %2767
  %.219655 = phi i32 [ %.209654, %2767 ], [ %2808, %2812 ], [ %2808, %._crit_edge10462 ], [ %.209654, %2783 ]
  %.69609 = phi i32 [ %.59608, %2767 ], [ %2811, %2812 ], [ %2811, %._crit_edge10462 ], [ %.59608, %2783 ]
  %.22 = phi i32 [ %.21, %2767 ], [ %2810, %2812 ], [ %2810, %._crit_edge10462 ], [ %2787, %2783 ]
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2724, i64 noundef 21474836480)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2725, i32 noundef %2715)
  %.not10182 = icmp ult i32 %.149672, %2744
  br i1 %.not10182, label %.preheader10274, label %.loopexit10275

.preheader10274:                                  ; preds = %.loopexit10276, %2842
  %.179574 = phi i32 [ %2843, %2842 ], [ %.149672, %.loopexit10276 ]
  %2813 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2814 = shl i32 %.179574, 2
  %2815 = add i32 %2813, %2814
  %2816 = zext i32 %2815 to i64
  %2817 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2816)
  %2818 = zext i32 %2817 to i64
  %2819 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2818)
  %2820 = zext i32 %2819 to i64
  %2821 = add nuw nsw i64 %2820, 12
  %2822 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2821)
  %2823 = load i32, ptr %2719, align 4, !tbaa !15
  %2824 = icmp ult i32 %2822, %2823
  br i1 %2824, label %2825, label %.critedge10259, !prof !16

2825:                                             ; preds = %.preheader10274
  %2826 = load ptr, ptr %2718, align 8, !tbaa !17
  %2827 = zext i32 %2822 to i64
  %2828 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2826, i64 %2827
  %2829 = getelementptr inbounds i8, ptr %2828, i64 8
  %2830 = load ptr, ptr %2829, align 8, !tbaa !18
  %.not10183 = icmp eq ptr %2830, null
  br i1 %.not10183, label %.critedge10259, label %2831, !prof !20

2831:                                             ; preds = %2825
  %2832 = load ptr, ptr %2828, align 8, !tbaa !22
  %2833 = tail call zeroext i1 @func_types_eq(ptr noundef %2727, ptr noundef %2832)
  br i1 %2833, label %2834, label %.critedge10259, !prof !16

.critedge10259:                                   ; preds = %2825, %.preheader10274, %2831
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

2834:                                             ; preds = %2831
  %2835 = load ptr, ptr %2718, align 8, !tbaa !17
  %2836 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2835, i64 %2827
  %2837 = getelementptr inbounds i8, ptr %2836, i64 8
  %2838 = load ptr, ptr %2837, align 8, !tbaa !18
  %2839 = getelementptr inbounds i8, ptr %2836, i64 16
  %2840 = load ptr, ptr %2839, align 8, !tbaa !23
  %2841 = tail call i32 %2838(ptr noundef %2840, i32 noundef %2817, i32 noundef %2726) #5
  %.not10184 = icmp eq i32 %2841, 0
  br i1 %.not10184, label %.loopexit10275, label %2842

2842:                                             ; preds = %2834
  %2843 = add i32 %.179574, 1
  %.not10185 = icmp eq i32 %2843, %2744
  br i1 %.not10185, label %.loopexit10275, label %.preheader10274

.loopexit10275:                                   ; preds = %2842, %2834, %.loopexit10276
  %.189575 = phi i32 [ %.149672, %.loopexit10276 ], [ %2744, %2842 ], [ %.179574, %2834 ]
  %2844 = sub i32 %.189575, %.149672
  %2845 = icmp ult i32 %2844, 2
  br i1 %2845, label %2986, label %2846

2846:                                             ; preds = %.loopexit10275
  %2847 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 40) #5
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2728, i64 noundef 21474836480)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2721, i32 noundef %2714)
  %2848 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2724)
  %.not10186 = icmp eq i32 %2848, 0
  br i1 %.not10186, label %2849, label %2855

2849:                                             ; preds = %2846
  %2850 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %95)
  %2851 = zext i32 %2847 to i64
  %2852 = add nuw nsw i64 %2851, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2852, i64 noundef 21474836480)
  %2853 = add i32 %2847, 16
  %2854 = add nuw nsw i64 %2851, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2854, i32 noundef %2853)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2851, i32 noundef 112544)
  br label %2892

2855:                                             ; preds = %2846
  %2856 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2725)
  %.not10187 = icmp eq i32 %2715, %2856
  br i1 %.not10187, label %2859, label %2857

2857:                                             ; preds = %2855
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2728, i32 noundef %2848)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2721, i32 noundef %2856)
  %2858 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2729)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2729, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2730, i32 noundef %2858)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2725, i32 noundef %2715)
  br label %2869

2859:                                             ; preds = %2855
  %2860 = icmp ugt i32 %2848, 5
  br i1 %2860, label %2861, label %2863

2861:                                             ; preds = %2859
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %2709, i32 noundef %2714, i32 noundef %2848, i32 noundef 4) #5
  %2862 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2724)
  %.not10188 = icmp eq i32 %2862, 0
  br i1 %.not10188, label %2868, label %2863

2863:                                             ; preds = %2861, %2859
  %.159673 = phi i32 [ %2862, %2861 ], [ %2848, %2859 ]
  %2864 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2721)
  %2865 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2725)
  %2866 = shl i32 %.159673, 2
  %2867 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %2864, i32 noundef %2865, i32 noundef %2866) #5
  br label %2868

2868:                                             ; preds = %2861, %2863
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2728, i32 noundef %2848)
  br label %2869

2869:                                             ; preds = %2868, %2857
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2724, i32 noundef 0)
  %2870 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %95)
  %2871 = zext i32 %2847 to i64
  %2872 = add nuw nsw i64 %2871, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %2872, i64 noundef 21474836480)
  %2873 = add i32 %2847, 16
  %2874 = add nuw nsw i64 %2871, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2874, i32 noundef %2873)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2871, i32 noundef 112544)
  %2875 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2721)
  %.not10189 = icmp eq i32 %2714, %2875
  br i1 %.not10189, label %2879, label %2876

2876:                                             ; preds = %2869
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2872, i32 noundef %2848)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2874, i32 noundef %2875)
  %2877 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2730)
  %2878 = add nuw nsw i64 %2871, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2878, i32 noundef %2877)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2730, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2721, i32 noundef %2714)
  br label %2891

2879:                                             ; preds = %2869
  %2880 = add i32 %2847, 4
  %2881 = icmp ugt i32 %2848, 5
  br i1 %2881, label %2882, label %2884

2882:                                             ; preds = %2879
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %2880, i32 noundef %2873, i32 noundef %2848, i32 noundef 4) #5
  %2883 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2728)
  %.not10190 = icmp eq i32 %2883, 0
  br i1 %.not10190, label %2890, label %2884

2884:                                             ; preds = %2882, %2879
  %.89633 = phi i32 [ %2883, %2882 ], [ %2848, %2879 ]
  %2885 = zext i32 %2880 to i64
  %2886 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2885)
  %2887 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2721)
  %2888 = shl i32 %.89633, 2
  %2889 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %2886, i32 noundef %2887, i32 noundef %2888) #5
  br label %2890

2890:                                             ; preds = %2882, %2884
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2872, i32 noundef %2848)
  br label %2891

2891:                                             ; preds = %2890, %2876
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2728, i32 noundef 0)
  br label %2892

2892:                                             ; preds = %2891, %2849
  %.pre-phi = phi i64 [ %2871, %2891 ], [ %2851, %2849 ]
  %.169674 = phi i32 [ %2870, %2891 ], [ %2850, %2849 ]
  %2893 = and i32 %.169674, 1
  %2894 = add nuw nsw i64 %.pre-phi, 36
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2894, i32 noundef %2893)
  %2895 = lshr i32 %.169674, 3
  %2896 = and i32 %2895, 1
  %2897 = add nuw nsw i64 %.pre-phi, 37
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %2897, i32 noundef %2896)
  %2898 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %22)
  %2899 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %24)
  %2900 = icmp ult i32 %2898, %2899
  br i1 %2900, label %2901, label %2904

2901:                                             ; preds = %2892
  %2902 = zext i32 %2898 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2902, i32 noundef %2847)
  %2903 = add i32 %2898, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %22, i32 noundef %2903)
  br label %2966

2904:                                             ; preds = %2892
  %2905 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2731)
  %2906 = sub i32 %2898, %2905
  %2907 = ashr i32 %2906, 2
  %2908 = add nsw i32 %2907, 1
  %2909 = icmp ugt i32 %2908, 1073741823
  br i1 %2909, label %.loopexit10280, label %2910

2910:                                             ; preds = %2904
  %2911 = sub i32 %2899, %2905
  %2912 = ashr i32 %2911, 1
  %2913 = tail call i32 @llvm.umax.i32(i32 %2908, i32 %2912)
  %2914 = icmp ugt i32 %2911, 2147483643
  %2915 = select i1 %2914, i32 1073741823, i32 %2913
  %.not10191 = icmp eq i32 %2915, 0
  br i1 %.not10191, label %._crit_edge10463, label %2916

2916:                                             ; preds = %2910
  %2917 = icmp ugt i32 %2915, 1073741823
  br i1 %2917, label %.loopexit10281, label %2918

2918:                                             ; preds = %2916
  %2919 = shl nuw i32 %2915, 2
  %2920 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2919) #5
  br label %._crit_edge10463

._crit_edge10463:                                 ; preds = %2910, %2918
  %.pre-phi10470 = phi i32 [ %2919, %2918 ], [ 0, %2910 ]
  %.189600 = phi i32 [ %2920, %2918 ], [ 0, %2910 ]
  %2921 = and i32 %2906, -4
  %2922 = add i32 %.189600, %2921
  %2923 = zext i32 %2922 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2923, i32 noundef %2847)
  %2924 = add i32 %.189600, %.pre-phi10470
  %2925 = add i32 %2922, 4
  %2926 = icmp eq i32 %2898, %2905
  br i1 %2926, label %2927, label %.preheader10273

2927:                                             ; preds = %._crit_edge10463
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %24, i32 noundef %2924)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %22, i32 noundef %2925)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2731, i32 noundef %2922)
  br label %.loopexit10272

.preheader10273:                                  ; preds = %._crit_edge10463, %.preheader10273
  %.179675 = phi i32 [ %2931, %.preheader10273 ], [ %2922, %._crit_edge10463 ]
  %.179554 = phi i32 [ %2928, %.preheader10273 ], [ %2898, %._crit_edge10463 ]
  %2928 = add i32 %.179554, -4
  %2929 = zext i32 %2928 to i64
  %2930 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2929)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2929, i32 noundef 0)
  %2931 = add i32 %.179675, -4
  %2932 = zext i32 %2931 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2932, i32 noundef %2930)
  %.not10192 = icmp eq i32 %2928, %2905
  br i1 %.not10192, label %2933, label %.preheader10273

2933:                                             ; preds = %.preheader10273
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %24, i32 noundef %2924)
  %2934 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %22)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %22, i32 noundef %2925)
  %2935 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2731)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2731, i32 noundef %2931)
  %2936 = icmp eq i32 %2935, %2934
  br i1 %2936, label %.loopexit10272, label %.preheader10271

.preheader10271:                                  ; preds = %2933, %2964
  %.19621 = phi i32 [ %2937, %2964 ], [ %2934, %2933 ]
  %2937 = add i32 %.19621, -4
  %2938 = zext i32 %2937 to i64
  %2939 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2938)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2938, i32 noundef 0)
  %.not10193 = icmp eq i32 %2939, 0
  br i1 %.not10193, label %2964, label %2940

2940:                                             ; preds = %.preheader10271
  %2941 = zext i32 %2939 to i64
  %2942 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2941)
  %2943 = zext i32 %2942 to i64
  %2944 = add nuw nsw i64 %2943, 4
  %2945 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2944)
  %2946 = load i32, ptr %2719, align 4, !tbaa !15
  %2947 = icmp ult i32 %2945, %2946
  br i1 %2947, label %2948, label %.critedge10261, !prof !16

2948:                                             ; preds = %2940
  %2949 = load ptr, ptr %2718, align 8, !tbaa !17
  %2950 = zext i32 %2945 to i64
  %2951 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2949, i64 %2950
  %2952 = getelementptr inbounds i8, ptr %2951, i64 8
  %2953 = load ptr, ptr %2952, align 8, !tbaa !18
  %.not10194 = icmp eq ptr %2953, null
  br i1 %.not10194, label %.critedge10261, label %2954, !prof !20

2954:                                             ; preds = %2948
  %2955 = load ptr, ptr %2951, align 8, !tbaa !22
  %2956 = tail call zeroext i1 @func_types_eq(ptr noundef %2732, ptr noundef %2955)
  br i1 %2956, label %2957, label %.critedge10261, !prof !16

.critedge10261:                                   ; preds = %2948, %2940, %2954
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

2957:                                             ; preds = %2954
  %2958 = load ptr, ptr %2718, align 8, !tbaa !17
  %2959 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2958, i64 %2950
  %2960 = getelementptr inbounds i8, ptr %2959, i64 8
  %2961 = load ptr, ptr %2960, align 8, !tbaa !18
  %2962 = getelementptr inbounds i8, ptr %2959, i64 16
  %2963 = load ptr, ptr %2962, align 8, !tbaa !23
  tail call void %2961(ptr noundef %2963, i32 noundef %2939) #5
  br label %2964

2964:                                             ; preds = %2957, %.preheader10271
  %.not10195 = icmp eq i32 %2935, %2937
  br i1 %.not10195, label %.loopexit10272, label %.preheader10271

.loopexit10272:                                   ; preds = %2964, %2933, %2927
  %.189555 = phi i32 [ %2898, %2927 ], [ %2934, %2933 ], [ %2935, %2964 ]
  %.not10196 = icmp eq i32 %.189555, 0
  br i1 %.not10196, label %2966, label %2965

2965:                                             ; preds = %.loopexit10272
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.189555) #5
  br label %2966

2966:                                             ; preds = %.loopexit10272, %2965, %2901
  %2967 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2721)
  %.not10197 = icmp eq i32 %2714, %2967
  br i1 %.not10197, label %2969, label %2968

2968:                                             ; preds = %2966
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2967) #5
  br label %2969

2969:                                             ; preds = %2968, %2966
  %2970 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2971 = add i32 %2970, %2746
  %2972 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %22)
  %2973 = add i32 %2972, -4
  %2974 = zext i32 %2973 to i64
  %2975 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2974)
  %2976 = zext i32 %2971 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2976, i32 noundef %2975)
  %2977 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2978 = shl i32 %.189575, 2
  %2979 = add i32 %2977, %2978
  %2980 = add i32 %2746, 4
  %2981 = add i32 %2980, %2977
  %2982 = sub i32 %2979, %2981
  %2983 = icmp slt i32 %2982, 1
  br i1 %2983, label %2986, label %2984

2984:                                             ; preds = %2969
  %2985 = tail call i32 @w2c_hermes_0x5F_memset(ptr noundef %0, i32 noundef %2981, i32 noundef 0, i32 noundef %2982) #5
  br label %2986

2986:                                             ; preds = %2969, %.loopexit10275, %2984
  %2987 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2725)
  %.not10198 = icmp eq i32 %2715, %2987
  br i1 %.not10198, label %2989, label %2988

2988:                                             ; preds = %2986
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2987) #5
  br label %2989

2989:                                             ; preds = %2988, %2986
  %2990 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2723)
  %.not10199 = icmp eq i32 %2713, %2990
  br i1 %.not10199, label %2992, label %2991

2991:                                             ; preds = %2989
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %2990) #5
  br label %2992

2992:                                             ; preds = %2991, %2989
  %2993 = add i32 %.189575, 1
  %2994 = icmp ugt i32 %2744, %2993
  br i1 %2994, label %2745, label %2995

2995:                                             ; preds = %2992
  %2996 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2737)
  %2997 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2738)
  %2998 = icmp eq i32 %2996, %2997
  br i1 %2998, label %.loopexit10279, label %.preheader10278

.preheader10278:                                  ; preds = %2995, %3001
  %.199576 = phi i32 [ %3002, %3001 ], [ %2996, %2995 ]
  %2999 = zext i32 %.199576 to i64
  %3000 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2999)
  %.not10200 = icmp eq i32 %3000, 0
  br i1 %.not10200, label %3003, label %3001

3001:                                             ; preds = %.preheader10278
  %3002 = add i32 %.199576, 4
  %.not10203 = icmp eq i32 %3002, %2997
  br i1 %.not10203, label %.loopexit10279, label %.preheader10278

3003:                                             ; preds = %.preheader10278
  %3004 = icmp eq i32 %2997, %.199576
  %3005 = add i32 %.199576, 4
  %3006 = icmp eq i32 %3005, %2997
  %or.cond10263 = or i1 %3004, %3006
  br i1 %or.cond10263, label %3016, label %.preheader10277

.preheader10277:                                  ; preds = %3003, %3012
  %.29622 = phi i32 [ %3013, %3012 ], [ %3005, %3003 ]
  %.209577 = phi i32 [ %.219578, %3012 ], [ %.199576, %3003 ]
  %3007 = zext i32 %.29622 to i64
  %3008 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3007)
  %.not10201 = icmp eq i32 %3008, 0
  br i1 %.not10201, label %3012, label %3009

3009:                                             ; preds = %.preheader10277
  %3010 = zext i32 %.209577 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %3010, i32 noundef %3008)
  %3011 = add i32 %.209577, 4
  br label %3012

3012:                                             ; preds = %3009, %.preheader10277
  %.219578 = phi i32 [ %3011, %3009 ], [ %.209577, %.preheader10277 ]
  %3013 = add i32 %.29622, 4
  %.not10202 = icmp eq i32 %3013, %2997
  br i1 %.not10202, label %3014, label %.preheader10277

3014:                                             ; preds = %3012
  %3015 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %2738)
  br label %3016

3016:                                             ; preds = %3003, %3014
  %.229579 = phi i32 [ %.199576, %3003 ], [ %.219578, %3014 ]
  %.199556 = phi i32 [ %2997, %3003 ], [ %3015, %3014 ]
  %3017 = icmp eq i32 %.199556, %.229579
  br i1 %3017, label %.loopexit10279, label %3018

3018:                                             ; preds = %3016
  %3019 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.229579, i32 noundef %.199556, i32 noundef 0) #5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %2738, i32 noundef %3019)
  br label %.loopexit10279

.loopexit10279:                                   ; preds = %3001, %3016, %2995, %2733, %3018
  %.229656 = phi i32 [ %.199653, %2733 ], [ %.219655, %2995 ], [ %.219655, %3016 ], [ %.219655, %3018 ], [ %.219655, %3001 ]
  %.79610 = phi i32 [ %.49607, %2733 ], [ %.69609, %2995 ], [ %.69609, %3016 ], [ %.69609, %3018 ], [ %.69609, %3001 ]
  %.23 = phi i32 [ %2734, %2733 ], [ %.22, %2995 ], [ %.22, %3016 ], [ %.22, %3018 ], [ %.22, %3001 ]
  %.not10204 = icmp eq i32 %.23, %.229656
  br i1 %.not10204, label %3020, label %2733

3020:                                             ; preds = %.loopexit10279
  %.not10205 = icmp eq i32 %.229656, 0
  br i1 %.not10205, label %3022, label %3021

3021:                                             ; preds = %3020
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.229656) #5
  br label %3022

3022:                                             ; preds = %3021, %3020
  store i32 %2708, ptr %8, align 8, !tbaa !5
  %3023 = add nuw nsw i64 %12, 220
  %3024 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3023)
  %3025 = add nuw nsw i64 %12, 224
  %3026 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3025)
  %3027 = icmp eq i32 %3024, %3026
  br i1 %3027, label %.loopexit10270, label %3028

3028:                                             ; preds = %3022
  %3029 = add i32 %1, 200
  %3030 = add nuw nsw i64 %95, 4
  %3031 = add nuw nsw i64 %95, 8
  %3032 = add i32 %9, -12
  %3033 = add i32 %9, -4
  %3034 = add nuw nsw i64 %95, 12
  %3035 = add nuw nsw i64 %12, 200
  %3036 = add nuw nsw i64 %12, 212
  br label %3037

3037:                                             ; preds = %3050, %3028
  %.239657 = phi i32 [ %3024, %3028 ], [ %3059, %3050 ]
  %3038 = zext i32 %.239657 to i64
  %3039 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3038)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %3030, i32 noundef %3039)
  %3040 = add nuw nsw i64 %3038, 4
  %3041 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3040)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %3031, i32 noundef %3041)
  %3042 = tail call i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef %0, i32 noundef %3029, i32 noundef %3032, i32 noundef %3033) #5
  %.not10206 = icmp eq i32 %3042, 0
  br i1 %.not10206, label %.loopexit10269, label %3043

3043:                                             ; preds = %3037
  %3044 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3034)
  %3045 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3035)
  %3046 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3036)
  %3047 = mul i32 %3046, 12
  %3048 = add i32 %3047, %3045
  %3049 = icmp eq i32 %3044, %3048
  br i1 %3049, label %.loopexit10269, label %3050

3050:                                             ; preds = %3043
  %3051 = add nuw nsw i64 %3038, 24
  %3052 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3051)
  %3053 = zext i32 %3044 to i64
  %3054 = add nuw nsw i64 %3053, 8
  %3055 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %3054)
  %3056 = add i32 %3055, -1
  %3057 = zext i32 %3052 to i64
  %3058 = add nuw nsw i64 %3057, 4
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %3058, i32 noundef %3056)
  %3059 = add i32 %.239657, 28
  %.not10207 = icmp eq i32 %3059, %3026
  br i1 %.not10207, label %.loopexit10270, label %3037

.loopexit10270:                                   ; preds = %3050, %3022, %2626
  %3060 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %13)
  %3061 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %15)
  %.not10208 = icmp eq i32 %3060, %3061
  br i1 %.not10208, label %.loopexit, label %.preheader

.preheader:                                       ; preds = %.loopexit10270
  %3062 = getelementptr inbounds i8, ptr %0, i64 80
  %3063 = getelementptr inbounds i8, ptr %0, i64 92
  %3064 = load ptr, ptr @w2c_hermes_t5, align 8
  br label %3065

3065:                                             ; preds = %.preheader, %3084
  %.189676 = phi i32 [ %3092, %3084 ], [ 0, %.preheader ]
  %.24 = phi i32 [ %3093, %3084 ], [ %3060, %.preheader ]
  %3066 = zext i32 %.24 to i64
  %3067 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3066)
  %3068 = zext i32 %3067 to i64
  %3069 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3068)
  %3070 = zext i32 %3069 to i64
  %3071 = add nuw nsw i64 %3070, 16
  %3072 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %3071)
  %3073 = load i32, ptr %3063, align 4, !tbaa !15
  %3074 = icmp ult i32 %3072, %3073
  br i1 %3074, label %3075, label %.critedge10265, !prof !16

3075:                                             ; preds = %3065
  %3076 = load ptr, ptr %3062, align 8, !tbaa !17
  %3077 = zext i32 %3072 to i64
  %3078 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3076, i64 %3077
  %3079 = getelementptr inbounds i8, ptr %3078, i64 8
  %3080 = load ptr, ptr %3079, align 8, !tbaa !18
  %.not10209 = icmp eq ptr %3080, null
  br i1 %.not10209, label %.critedge10265, label %3081, !prof !20

3081:                                             ; preds = %3075
  %3082 = load ptr, ptr %3078, align 8, !tbaa !22
  %3083 = tail call zeroext i1 @func_types_eq(ptr noundef %3064, ptr noundef %3082)
  br i1 %3083, label %3084, label %.critedge10265, !prof !16

.critedge10265:                                   ; preds = %3075, %3065, %3081
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

3084:                                             ; preds = %3081
  %3085 = load ptr, ptr %3062, align 8, !tbaa !17
  %3086 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3085, i64 %3077
  %3087 = getelementptr inbounds i8, ptr %3086, i64 8
  %3088 = load ptr, ptr %3087, align 8, !tbaa !18
  %3089 = getelementptr inbounds i8, ptr %3086, i64 16
  %3090 = load ptr, ptr %3089, align 8, !tbaa !23
  %3091 = tail call i32 %3088(ptr noundef %3090, i32 noundef %3067) #5
  %3092 = or i32 %3091, %.189676
  %3093 = add i32 %.24, 4
  %.not10210 = icmp eq i32 %3093, %3061
  br i1 %.not10210, label %.loopexit, label %3065

.loopexit:                                        ; preds = %3084, %.loopexit10270
  %.199677 = phi i32 [ 0, %.loopexit10270 ], [ %3092, %3084 ]
  %3094 = add nuw nsw i64 %12, 172
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %3094, i32 noundef %.199677)
  br label %.loopexit10269

.loopexit10269:                                   ; preds = %3043, %3037, %.loopexit
  %.239580 = phi i32 [ %2627, %.loopexit ], [ 15, %3037 ], [ 15, %3043 ]
  store i32 %9, ptr %8, align 8, !tbaa !5
  ret i32 %.239580

.loopexit10280:                                   ; preds = %799, %677, %462, %179, %2187, %2015, %1747, %1652, %1572, %2277, %2311, %2348, %2381, %2789, %2904, %2681, %40
  tail call void @w2c_hermes_abort(ptr noundef %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

.loopexit10281:                                   ; preds = %474, %689, %1283, %1258, %1198, %1099, %812, %191, %1585, %1665, %1760, %2200, %2031, %2391, %2358, %2321, %2287, %2916, %2800, %2693, %51
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable
}

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

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorTemplateBase0x3Chermes0x3A0x3Aregex0x3A0x3AParser0x3Chermes0x3A0x3Aregex0x3A0x3ARegex0x3Chermes0x3A0x3Aregex0x3A0x3AUTF16RegexTraits0x3E0x2C0x20char16_t0x20const0x2A0x3E0x3A0x3AParseStackElement0x2C0x20false0x3E0x3A0x3Agrow0x28unsigned0x20long0x29(ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Aback_insert_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Aregex0x3A0x3ANode0x2A0x3E0x3E0x3E0x3A0x3Aoperator0x3D0x5Babi0x3Av150070x5D0x28hermes0x3A0x3Aregex0x3A0x3ANode0x2A0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x3A0x3Aoperator0x3D0x28llvh0x3A0x3ASmallVectorImpl0x3Cchar16_t0x3E0x260x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_bool0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3ALookupBucketFor0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x20const0x2A0x260x290x20const(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3A0x3AInsertIntoBucketImpl0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x3E0x28llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x20const0x260x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cllvh0x3A0x3AArrayRef0x3Cchar16_t0x3E0x2C0x20unsigned0x20int0x3E0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Acanonicalize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

declare void @w2c_hermes_hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apair0x3Chermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x3E0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fequal_range0x5Babi0x3Av150070x5D0x3Cstd0x3A0x3A_0x5F20x3A0x3A_ClassicAlgPolicy0x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x3E0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x2C0x20hermes0x3A0x3ACodePointSet0x3A0x3Aadd0x28hermes0x3A0x3ACodePointRange0x290x3A0x3A0x27lambda0x270x28hermes0x3A0x3ACodePointRange0x2C0x20hermes0x3A0x3ACodePointRange0x290x260x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fidentity0x260x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorImpl0x3Chermes0x3A0x3ACodePointRange0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ACodePointRange0x2A0x2C0x20hermes0x3A0x3ACodePointRange0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

; 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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #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 = { "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 = { 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 #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}
!15 = !{!6, !10, i64 92}
!16 = !{!"branch_weights", !"expected", i32 2000, i32 1}
!17 = !{!6, !7, i64 80}
!18 = !{!19, !7, i64 8}
!19 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16}
!20 = !{!"branch_weights", !"expected", i32 1, i32 2000}
!21 = !{!7, !7, i64 0}
!22 = !{!19, !7, i64 0}
!23 = !{!19, !7, i64 16}


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