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

; 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_t0 = external constant ptr, align 8
@w2c_hermes_t3 = external constant ptr, align 8
@w2c_hermes_t2 = 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: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

84:                                               ; preds = %8
  br label %147

85:                                               ; preds = %8
  %86 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %86, ptr %23, align 4, !tbaa !9
  %87 = load ptr, ptr %9, align 8, !tbaa !5
  %88 = getelementptr inbounds %struct.w2c_hermes, ptr %87, i32 0, i32 6
  %89 = load i32, ptr %23, align 4, !tbaa !9
  %90 = zext i32 %89 to i64
  %91 = add i64 %90, 5772
  %92 = call i32 @i32_load8_u(ptr noundef %88, i64 noundef %91)
  store i32 %92, ptr %23, align 4, !tbaa !9
  %93 = load i32, ptr %23, align 4, !tbaa !9
  %94 = icmp ne i32 %93, 0
  br i1 %94, label %95, label %96

95:                                               ; preds = %85
  br label %147

96:                                               ; preds = %85
  %97 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %97, ptr %23, align 4, !tbaa !9
  %98 = load ptr, ptr %9, align 8, !tbaa !5
  %99 = load i32, ptr %23, align 4, !tbaa !9
  %100 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AassertBuiltinsUnmodified0x280x29(ptr noundef %98, i32 noundef %99)
  store i32 %100, ptr %23, align 4, !tbaa !9
  %101 = load i32, ptr %23, align 4, !tbaa !9
  %102 = icmp ne i32 %101, 0
  %103 = xor i1 %102, true
  %104 = zext i1 %103 to i32
  store i32 %104, ptr %23, align 4, !tbaa !9
  %105 = load i32, ptr %23, align 4, !tbaa !9
  %106 = icmp ne i32 %105, 0
  br i1 %106, label %107, label %114

107:                                              ; preds = %96
  %108 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %108, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %109 = load ptr, ptr %9, align 8, !tbaa !5
  %110 = getelementptr inbounds %struct.w2c_hermes, ptr %109, i32 0, i32 6
  %111 = load i32, ptr %23, align 4, !tbaa !9
  %112 = zext i32 %111 to i64
  %113 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %110, i64 noundef %112, i32 noundef %113)
  br label %2887

114:                                              ; preds = %96
  %115 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %115, ptr %23, align 4, !tbaa !9
  %116 = load ptr, ptr %9, align 8, !tbaa !5
  %117 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AfreezeBuiltins0x280x29(ptr noundef %116, i32 noundef %117)
  %118 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %118, ptr %23, align 4, !tbaa !9
  %119 = load ptr, ptr %9, align 8, !tbaa !5
  %120 = getelementptr inbounds %struct.w2c_hermes, ptr %119, i32 0, i32 6
  %121 = load i32, ptr %23, align 4, !tbaa !9
  %122 = zext i32 %121 to i64
  %123 = add i64 %122, 5772
  %124 = call i32 @i32_load8_u(ptr noundef %120, i64 noundef %123)
  store i32 %124, ptr %23, align 4, !tbaa !9
  %125 = load i32, ptr %23, align 4, !tbaa !9
  %126 = icmp ne i32 %125, 0
  %127 = xor i1 %126, true
  %128 = zext i1 %127 to i32
  store i32 %128, ptr %23, align 4, !tbaa !9
  %129 = load i32, ptr %23, align 4, !tbaa !9
  %130 = icmp ne i32 %129, 0
  br i1 %130, label %131, label %132

131:                                              ; preds = %114
  br label %2895

132:                                              ; preds = %114
  %133 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %133, ptr %23, align 4, !tbaa !9
  %134 = load ptr, ptr %9, align 8, !tbaa !5
  %135 = getelementptr inbounds %struct.w2c_hermes, ptr %134, i32 0, i32 6
  %136 = load i32, ptr %23, align 4, !tbaa !9
  %137 = zext i32 %136 to i64
  %138 = call i32 @i32_load(ptr noundef %135, i64 noundef %137)
  store i32 %138, ptr %23, align 4, !tbaa !9
  %139 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %139, ptr %18, align 4, !tbaa !9
  %140 = load ptr, ptr %9, align 8, !tbaa !5
  %141 = getelementptr inbounds %struct.w2c_hermes, ptr %140, i32 0, i32 6
  %142 = load i32, ptr %23, align 4, !tbaa !9
  %143 = zext i32 %142 to i64
  %144 = add i64 %143, 4
  %145 = call i32 @i32_load8_u(ptr noundef %141, i64 noundef %144)
  store i32 %145, ptr %23, align 4, !tbaa !9
  %146 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %146, ptr %19, align 4, !tbaa !9
  br label %147

147:                                              ; preds = %132, %95, %84
  %148 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %148, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %149 = load i32, ptr %24, align 4, !tbaa !9
  %150 = load i32, ptr %23, align 4, !tbaa !9
  %151 = and i32 %150, %149
  store i32 %151, ptr %23, align 4, !tbaa !9
  %152 = load i32, ptr %23, align 4, !tbaa !9
  %153 = icmp ne i32 %152, 0
  %154 = xor i1 %153, true
  %155 = zext i1 %154 to i32
  store i32 %155, ptr %23, align 4, !tbaa !9
  %156 = load i32, ptr %23, align 4, !tbaa !9
  %157 = icmp ne i32 %156, 0
  br i1 %157, label %158, label %159

158:                                              ; preds = %147
  br label %309

159:                                              ; preds = %147
  %160 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %160, ptr %23, align 4, !tbaa !9
  %161 = load ptr, ptr %9, align 8, !tbaa !5
  %162 = getelementptr inbounds %struct.w2c_hermes, ptr %161, i32 0, i32 6
  %163 = load i32, ptr %23, align 4, !tbaa !9
  %164 = zext i32 %163 to i64
  %165 = add i64 %164, 5344
  %166 = call i32 @i32_load8_u(ptr noundef %162, i64 noundef %165)
  store i32 %166, ptr %23, align 4, !tbaa !9
  %167 = load i32, ptr %23, align 4, !tbaa !9
  %168 = icmp ne i32 %167, 0
  br i1 %168, label %169, label %170

169:                                              ; preds = %159
  br label %309

170:                                              ; preds = %159
  %171 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %171, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %172 = load ptr, ptr %9, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.w2c_hermes, ptr %172, i32 0, i32 6
  %174 = load i32, ptr %23, align 4, !tbaa !9
  %175 = zext i32 %174 to i64
  %176 = add i64 %175, 200
  %177 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %173, i64 noundef %176, i32 noundef %177)
  %178 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %178, ptr %23, align 4, !tbaa !9
  store i64 317827579905, ptr %32, align 8, !tbaa !11
  %179 = load ptr, ptr %9, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.w2c_hermes, ptr %179, i32 0, i32 6
  %181 = load i32, ptr %23, align 4, !tbaa !9
  %182 = zext i32 %181 to i64
  %183 = add i64 %182, 192
  %184 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %180, i64 noundef %183, i64 noundef %184)
  %185 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %185, ptr %23, align 4, !tbaa !9
  store i32 3, ptr %24, align 4, !tbaa !9
  %186 = load ptr, ptr %9, align 8, !tbaa !5
  %187 = getelementptr inbounds %struct.w2c_hermes, ptr %186, i32 0, i32 6
  %188 = load i32, ptr %23, align 4, !tbaa !9
  %189 = zext i32 %188 to i64
  %190 = add i64 %189, 176
  %191 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %187, i64 noundef %190, i32 noundef %191)
  %192 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %192, ptr %23, align 4, !tbaa !9
  store i32 114369, ptr %24, align 4, !tbaa !9
  %193 = load ptr, ptr %9, align 8, !tbaa !5
  %194 = getelementptr inbounds %struct.w2c_hermes, ptr %193, i32 0, i32 6
  %195 = load i32, ptr %23, align 4, !tbaa !9
  %196 = zext i32 %195 to i64
  %197 = add i64 %196, 168
  %198 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %194, i64 noundef %197, i32 noundef %198)
  %199 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %199, ptr %23, align 4, !tbaa !9
  %200 = load ptr, ptr %9, align 8, !tbaa !5
  %201 = getelementptr inbounds %struct.w2c_hermes, ptr %200, i32 0, i32 6
  %202 = load i32, ptr %23, align 4, !tbaa !9
  %203 = zext i32 %202 to i64
  %204 = add i64 %203, 128
  %205 = call i64 @i64_load(ptr noundef %201, i64 noundef %204)
  store i64 %205, ptr %31, align 8, !tbaa !11
  %206 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %206, ptr %22, align 8, !tbaa !11
  store i64 -844424930131969, ptr %32, align 8, !tbaa !11
  %207 = load i64, ptr %31, align 8, !tbaa !11
  %208 = load i64, ptr %32, align 8, !tbaa !11
  %209 = icmp ule i64 %207, %208
  %210 = zext i1 %209 to i32
  store i32 %210, ptr %23, align 4, !tbaa !9
  %211 = load i32, ptr %23, align 4, !tbaa !9
  %212 = icmp ne i32 %211, 0
  br i1 %212, label %213, label %214

213:                                              ; preds = %170
  br label %2913

214:                                              ; preds = %170
  %215 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %215, ptr %31, align 8, !tbaa !11
  %216 = load i64, ptr %31, align 8, !tbaa !11
  %217 = trunc i64 %216 to i32
  store i32 %217, ptr %23, align 4, !tbaa !9
  %218 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %218, ptr %12, align 4, !tbaa !9
  %219 = load i32, ptr %23, align 4, !tbaa !9
  %220 = icmp ne i32 %219, 0
  %221 = xor i1 %220, true
  %222 = zext i1 %221 to i32
  store i32 %222, ptr %23, align 4, !tbaa !9
  %223 = load i32, ptr %23, align 4, !tbaa !9
  %224 = icmp ne i32 %223, 0
  br i1 %224, label %225, label %226

225:                                              ; preds = %214
  br label %2931

226:                                              ; preds = %214
  %227 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %227, ptr %23, align 4, !tbaa !9
  %228 = load ptr, ptr %9, align 8, !tbaa !5
  %229 = getelementptr inbounds %struct.w2c_hermes, ptr %228, i32 0, i32 6
  %230 = load i32, ptr %23, align 4, !tbaa !9
  %231 = zext i32 %230 to i64
  %232 = call i32 @i32_load(ptr noundef %229, i64 noundef %231)
  store i32 %232, ptr %23, align 4, !tbaa !9
  store i32 436207616, ptr %24, align 4, !tbaa !9
  %233 = load i32, ptr %24, align 4, !tbaa !9
  %234 = load i32, ptr %23, align 4, !tbaa !9
  %235 = sub i32 %234, %233
  store i32 %235, ptr %23, align 4, !tbaa !9
  store i32 855638016, ptr %24, align 4, !tbaa !9
  %236 = load i32, ptr %23, align 4, !tbaa !9
  %237 = load i32, ptr %24, align 4, !tbaa !9
  %238 = icmp uge i32 %236, %237
  %239 = zext i1 %238 to i32
  store i32 %239, ptr %23, align 4, !tbaa !9
  %240 = load i32, ptr %23, align 4, !tbaa !9
  %241 = icmp ne i32 %240, 0
  br i1 %241, label %242, label %243

242:                                              ; preds = %226
  br label %2949

243:                                              ; preds = %226
  %244 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %244, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %245 = load ptr, ptr %9, align 8, !tbaa !5
  %246 = getelementptr inbounds %struct.w2c_hermes, ptr %245, i32 0, i32 6
  %247 = load i32, ptr %23, align 4, !tbaa !9
  %248 = zext i32 %247 to i64
  %249 = add i64 %248, 40
  %250 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %246, i64 noundef %249, i32 noundef %250)
  %251 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %251, ptr %23, align 4, !tbaa !9
  %252 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %252, ptr %24, align 4, !tbaa !9
  store i32 128, ptr %25, align 4, !tbaa !9
  %253 = load i32, ptr %25, align 4, !tbaa !9
  %254 = load i32, ptr %24, align 4, !tbaa !9
  %255 = add i32 %254, %253
  store i32 %255, ptr %24, align 4, !tbaa !9
  %256 = load ptr, ptr %9, align 8, !tbaa !5
  %257 = getelementptr inbounds %struct.w2c_hermes, ptr %256, i32 0, i32 6
  %258 = load i32, ptr %23, align 4, !tbaa !9
  %259 = zext i32 %258 to i64
  %260 = add i64 %259, 44
  %261 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %257, i64 noundef %260, i32 noundef %261)
  %262 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %262, ptr %23, align 4, !tbaa !9
  %263 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %263, ptr %24, align 4, !tbaa !9
  %264 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %264, ptr %25, align 4, !tbaa !9
  store i32 40, ptr %26, align 4, !tbaa !9
  %265 = load i32, ptr %26, align 4, !tbaa !9
  %266 = load i32, ptr %25, align 4, !tbaa !9
  %267 = add i32 %266, %265
  store i32 %267, ptr %25, align 4, !tbaa !9
  %268 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %268, ptr %26, align 4, !tbaa !9
  store i32 168, ptr %27, align 4, !tbaa !9
  %269 = load i32, ptr %27, align 4, !tbaa !9
  %270 = load i32, ptr %26, align 4, !tbaa !9
  %271 = add i32 %270, %269
  store i32 %271, ptr %26, align 4, !tbaa !9
  %272 = load ptr, ptr %9, align 8, !tbaa !5
  %273 = load i32, ptr %24, align 4, !tbaa !9
  %274 = load i32, ptr %25, align 4, !tbaa !9
  %275 = load i32, ptr %26, align 4, !tbaa !9
  %276 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AraisePlaceholder0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %272, i32 noundef %273, i32 noundef %274, i32 noundef %275)
  store i32 %276, ptr %24, align 4, !tbaa !9
  %277 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %277, ptr %11, align 4, !tbaa !9
  %278 = load ptr, ptr %9, align 8, !tbaa !5
  %279 = getelementptr inbounds %struct.w2c_hermes, ptr %278, i32 0, i32 6
  %280 = load i32, ptr %23, align 4, !tbaa !9
  %281 = zext i32 %280 to i64
  %282 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %279, i64 noundef %281, i32 noundef %282)
  %283 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %283, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %284 = load i32, ptr %23, align 4, !tbaa !9
  %285 = load i32, ptr %24, align 4, !tbaa !9
  %286 = icmp ne i32 %284, %285
  %287 = zext i1 %286 to i32
  store i32 %287, ptr %23, align 4, !tbaa !9
  %288 = load i32, ptr %23, align 4, !tbaa !9
  %289 = icmp ne i32 %288, 0
  br i1 %289, label %290, label %291

290:                                              ; preds = %243
  br label %2887

291:                                              ; preds = %243
  store i32 0, ptr %23, align 4, !tbaa !9
  %292 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %292, ptr %17, align 4, !tbaa !9
  store i32 109717, ptr %24, align 4, !tbaa !9
  %293 = load i32, ptr %24, align 4, !tbaa !9
  %294 = load i32, ptr %23, align 4, !tbaa !9
  %295 = add i32 %294, %293
  store i32 %295, ptr %23, align 4, !tbaa !9
  %296 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %296, ptr %24, align 4, !tbaa !9
  store i32 77564, ptr %25, align 4, !tbaa !9
  %297 = load i32, ptr %25, align 4, !tbaa !9
  %298 = load i32, ptr %24, align 4, !tbaa !9
  %299 = add i32 %298, %297
  store i32 %299, ptr %24, align 4, !tbaa !9
  store i32 168, ptr %25, align 4, !tbaa !9
  %300 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %300, ptr %26, align 4, !tbaa !9
  store i32 28083, ptr %27, align 4, !tbaa !9
  %301 = load i32, ptr %27, align 4, !tbaa !9
  %302 = load i32, ptr %26, align 4, !tbaa !9
  %303 = add i32 %302, %301
  store i32 %303, ptr %26, align 4, !tbaa !9
  %304 = load ptr, ptr %9, align 8, !tbaa !5
  %305 = load i32, ptr %23, align 4, !tbaa !9
  %306 = load i32, ptr %24, align 4, !tbaa !9
  %307 = load i32, ptr %25, align 4, !tbaa !9
  %308 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %304, i32 noundef %305, i32 noundef %306, i32 noundef %307, i32 noundef %308)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

309:                                              ; preds = %169, %158
  %310 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %310, ptr %23, align 4, !tbaa !9
  %311 = load ptr, ptr %9, align 8, !tbaa !5
  %312 = getelementptr inbounds %struct.w2c_hermes, ptr %311, i32 0, i32 6
  %313 = load i32, ptr %23, align 4, !tbaa !9
  %314 = zext i32 %313 to i64
  %315 = call i32 @i32_load8_u(ptr noundef %312, i64 noundef %314)
  store i32 %315, ptr %23, align 4, !tbaa !9
  %316 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %316, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %317 = load i32, ptr %24, align 4, !tbaa !9
  %318 = load i32, ptr %23, align 4, !tbaa !9
  %319 = and i32 %318, %317
  store i32 %319, ptr %23, align 4, !tbaa !9
  %320 = load i32, ptr %23, align 4, !tbaa !9
  %321 = icmp ne i32 %320, 0
  %322 = xor i1 %321, true
  %323 = zext i1 %322 to i32
  store i32 %323, ptr %23, align 4, !tbaa !9
  %324 = load i32, ptr %23, align 4, !tbaa !9
  %325 = icmp ne i32 %324, 0
  br i1 %325, label %326, label %327

326:                                              ; preds = %309
  br label %1152

327:                                              ; preds = %309
  %328 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %328, ptr %23, align 4, !tbaa !9
  store i32 5820, ptr %24, align 4, !tbaa !9
  %329 = load i32, ptr %24, align 4, !tbaa !9
  %330 = load i32, ptr %23, align 4, !tbaa !9
  %331 = add i32 %330, %329
  store i32 %331, ptr %23, align 4, !tbaa !9
  %332 = load ptr, ptr %9, align 8, !tbaa !5
  %333 = getelementptr inbounds %struct.w2c_hermes, ptr %332, i32 0, i32 6
  %334 = load i32, ptr %23, align 4, !tbaa !9
  %335 = zext i32 %334 to i64
  %336 = call i32 @i32_load(ptr noundef %333, i64 noundef %335)
  store i32 %336, ptr %23, align 4, !tbaa !9
  %337 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %337, ptr %19, align 4, !tbaa !9
  %338 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %338, ptr %24, align 4, !tbaa !9
  store i32 5824, ptr %25, align 4, !tbaa !9
  %339 = load i32, ptr %25, align 4, !tbaa !9
  %340 = load i32, ptr %24, align 4, !tbaa !9
  %341 = add i32 %340, %339
  store i32 %341, ptr %24, align 4, !tbaa !9
  %342 = load ptr, ptr %9, align 8, !tbaa !5
  %343 = getelementptr inbounds %struct.w2c_hermes, ptr %342, i32 0, i32 6
  %344 = load i32, ptr %24, align 4, !tbaa !9
  %345 = zext i32 %344 to i64
  %346 = call i32 @i32_load(ptr noundef %343, i64 noundef %345)
  store i32 %346, ptr %24, align 4, !tbaa !9
  %347 = load i32, ptr %23, align 4, !tbaa !9
  %348 = load i32, ptr %24, align 4, !tbaa !9
  %349 = icmp ne i32 %347, %348
  %350 = zext i1 %349 to i32
  store i32 %350, ptr %23, align 4, !tbaa !9
  %351 = load i32, ptr %23, align 4, !tbaa !9
  %352 = icmp ne i32 %351, 0
  br i1 %352, label %353, label %409

353:                                              ; preds = %327
  %354 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %354, ptr %23, align 4, !tbaa !9
  %355 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %355, ptr %24, align 4, !tbaa !9
  %356 = load ptr, ptr %9, align 8, !tbaa !5
  %357 = getelementptr inbounds %struct.w2c_hermes, ptr %356, i32 0, i32 6
  %358 = load i32, ptr %23, align 4, !tbaa !9
  %359 = zext i32 %358 to i64
  %360 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %357, i64 noundef %359, i32 noundef %360)
  %361 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %361, ptr %23, align 4, !tbaa !9
  %362 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %362, ptr %24, align 4, !tbaa !9
  %363 = load ptr, ptr %9, align 8, !tbaa !5
  %364 = getelementptr inbounds %struct.w2c_hermes, ptr %363, i32 0, i32 6
  %365 = load i32, ptr %24, align 4, !tbaa !9
  %366 = zext i32 %365 to i64
  %367 = add i64 %366, 4
  %368 = call i32 @i32_load(ptr noundef %364, i64 noundef %367)
  store i32 %368, ptr %24, align 4, !tbaa !9
  %369 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %369, ptr %18, align 4, !tbaa !9
  %370 = load ptr, ptr %9, align 8, !tbaa !5
  %371 = getelementptr inbounds %struct.w2c_hermes, ptr %370, i32 0, i32 6
  %372 = load i32, ptr %23, align 4, !tbaa !9
  %373 = zext i32 %372 to i64
  %374 = add i64 %373, 4
  %375 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %371, i64 noundef %374, i32 noundef %375)
  %376 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %376, ptr %23, align 4, !tbaa !9
  %377 = load i32, ptr %23, align 4, !tbaa !9
  %378 = icmp ne i32 %377, 0
  br i1 %378, label %379, label %397

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

397:                                              ; preds = %379, %353
  %398 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %398, ptr %23, align 4, !tbaa !9
  %399 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %399, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %400 = load i32, ptr %25, align 4, !tbaa !9
  %401 = load i32, ptr %24, align 4, !tbaa !9
  %402 = add i32 %401, %400
  store i32 %402, ptr %24, align 4, !tbaa !9
  %403 = load ptr, ptr %9, align 8, !tbaa !5
  %404 = getelementptr inbounds %struct.w2c_hermes, ptr %403, i32 0, i32 6
  %405 = load i32, ptr %23, align 4, !tbaa !9
  %406 = zext i32 %405 to i64
  %407 = add i64 %406, 5820
  %408 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %404, i64 noundef %407, i32 noundef %408)
  br label %418

409:                                              ; preds = %327
  %410 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %410, ptr %23, align 4, !tbaa !9
  store i32 5816, ptr %24, align 4, !tbaa !9
  %411 = load i32, ptr %24, align 4, !tbaa !9
  %412 = load i32, ptr %23, align 4, !tbaa !9
  %413 = add i32 %412, %411
  store i32 %413, ptr %23, align 4, !tbaa !9
  %414 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %414, ptr %24, align 4, !tbaa !9
  %415 = load ptr, ptr %9, align 8, !tbaa !5
  %416 = load i32, ptr %23, align 4, !tbaa !9
  %417 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x20const0x260x3E0x28std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x20const0x260x29(ptr noundef %415, i32 noundef %416, i32 noundef %417)
  br label %418

418:                                              ; preds = %409, %397
  %419 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %419, ptr %23, align 4, !tbaa !9
  %420 = load ptr, ptr %9, align 8, !tbaa !5
  %421 = getelementptr inbounds %struct.w2c_hermes, ptr %420, i32 0, i32 6
  %422 = load i32, ptr %23, align 4, !tbaa !9
  %423 = zext i32 %422 to i64
  %424 = add i64 %423, 5351
  %425 = call i32 @i32_load8_u(ptr noundef %421, i64 noundef %424)
  store i32 %425, ptr %23, align 4, !tbaa !9
  %426 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %426, ptr %18, align 4, !tbaa !9
  %427 = load i32, ptr %23, align 4, !tbaa !9
  %428 = icmp ne i32 %427, 0
  br i1 %428, label %429, label %512

429:                                              ; preds = %418
  %430 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %430, ptr %23, align 4, !tbaa !9
  %431 = load ptr, ptr %9, align 8, !tbaa !5
  %432 = getelementptr inbounds %struct.w2c_hermes, ptr %431, i32 0, i32 6
  %433 = load i32, ptr %23, align 4, !tbaa !9
  %434 = zext i32 %433 to i64
  %435 = call i32 @i32_load(ptr noundef %432, i64 noundef %434)
  store i32 %435, ptr %23, align 4, !tbaa !9
  %436 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %436, ptr %19, align 4, !tbaa !9
  %437 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %437, ptr %24, align 4, !tbaa !9
  %438 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %438, ptr %25, align 4, !tbaa !9
  %439 = load ptr, ptr %9, align 8, !tbaa !5
  %440 = getelementptr inbounds %struct.w2c_hermes, ptr %439, i32 0, i32 6
  %441 = load i32, ptr %25, align 4, !tbaa !9
  %442 = zext i32 %441 to i64
  %443 = call i32 @i32_load(ptr noundef %440, i64 noundef %442)
  store i32 %443, ptr %25, align 4, !tbaa !9
  %444 = load ptr, ptr %9, align 8, !tbaa !5
  %445 = getelementptr inbounds %struct.w2c_hermes, ptr %444, i32 0, i32 6
  %446 = load i32, ptr %25, align 4, !tbaa !9
  %447 = zext i32 %446 to i64
  %448 = add i64 %447, 48
  %449 = call i32 @i32_load(ptr noundef %445, i64 noundef %448)
  store i32 %449, ptr %25, align 4, !tbaa !9
  %450 = load i32, ptr %25, align 4, !tbaa !9
  %451 = load ptr, ptr %9, align 8, !tbaa !5
  %452 = getelementptr inbounds %struct.w2c_hermes, ptr %451, i32 0, i32 7
  %453 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %452, i32 0, i32 2
  %454 = load i32, ptr %453, align 4, !tbaa !18
  %455 = icmp ult i32 %450, %454
  br i1 %455, label %456, label %479

456:                                              ; preds = %429
  %457 = load ptr, ptr %9, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.w2c_hermes, ptr %457, i32 0, i32 7
  %459 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %458, i32 0, i32 0
  %460 = load ptr, ptr %459, align 8, !tbaa !19
  %461 = load i32, ptr %25, align 4, !tbaa !9
  %462 = zext i32 %461 to i64
  %463 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %460, i64 %462
  %464 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %463, i32 0, i32 1
  %465 = load ptr, ptr %464, align 8, !tbaa !20
  %466 = icmp ne ptr %465, null
  br i1 %466, label %467, label %479

467:                                              ; preds = %456
  %468 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %469 = load ptr, ptr %9, align 8, !tbaa !5
  %470 = getelementptr inbounds %struct.w2c_hermes, ptr %469, i32 0, i32 7
  %471 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %470, i32 0, i32 0
  %472 = load ptr, ptr %471, align 8, !tbaa !19
  %473 = load i32, ptr %25, align 4, !tbaa !9
  %474 = zext i32 %473 to i64
  %475 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %472, i64 %474
  %476 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %475, i32 0, i32 0
  %477 = load ptr, ptr %476, align 8, !tbaa !22
  %478 = call zeroext i1 @func_types_eq(ptr noundef %468, ptr noundef %477)
  br label %479

479:                                              ; preds = %467, %456, %429
  %480 = phi i1 [ false, %456 ], [ false, %429 ], [ %478, %467 ]
  %481 = xor i1 %480, true
  %482 = xor i1 %481, true
  %483 = zext i1 %482 to i32
  %484 = sext i32 %483 to i64
  %485 = call i64 @llvm.expect.i64(i64 %484, i64 1)
  %486 = icmp ne i64 %485, 0
  br i1 %486, label %489, label %487

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

488:                                              ; No predecessors!
  br label %489

489:                                              ; preds = %488, %479
  %490 = phi i1 [ true, %479 ], [ false, %488 ]
  %491 = zext i1 %490 to i32
  %492 = load ptr, ptr %9, align 8, !tbaa !5
  %493 = getelementptr inbounds %struct.w2c_hermes, ptr %492, i32 0, i32 7
  %494 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %493, i32 0, i32 0
  %495 = load ptr, ptr %494, align 8, !tbaa !19
  %496 = load i32, ptr %25, align 4, !tbaa !9
  %497 = zext i32 %496 to i64
  %498 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %495, i64 %497
  %499 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %498, i32 0, i32 1
  %500 = load ptr, ptr %499, align 8, !tbaa !20
  %501 = load ptr, ptr %9, align 8, !tbaa !5
  %502 = getelementptr inbounds %struct.w2c_hermes, ptr %501, i32 0, i32 7
  %503 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %502, i32 0, i32 0
  %504 = load ptr, ptr %503, align 8, !tbaa !19
  %505 = load i32, ptr %25, align 4, !tbaa !9
  %506 = zext i32 %505 to i64
  %507 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %504, i64 %506
  %508 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %507, i32 0, i32 2
  %509 = load ptr, ptr %508, align 8, !tbaa !23
  %510 = load i32, ptr %23, align 4, !tbaa !9
  %511 = load i32, ptr %24, align 4, !tbaa !9
  call void %500(ptr noundef %509, i32 noundef %510, i32 noundef %511)
  br label %512

512:                                              ; preds = %489, %418
  %513 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %513, ptr %23, align 4, !tbaa !9
  %514 = load ptr, ptr %9, align 8, !tbaa !5
  %515 = getelementptr inbounds %struct.w2c_hermes, ptr %514, i32 0, i32 6
  %516 = load i32, ptr %23, align 4, !tbaa !9
  %517 = zext i32 %516 to i64
  %518 = add i64 %517, 5356
  %519 = call i32 @i32_load(ptr noundef %515, i64 noundef %518)
  store i32 %519, ptr %23, align 4, !tbaa !9
  %520 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %520, ptr %18, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %521 = load i32, ptr %24, align 4, !tbaa !9
  %522 = load i32, ptr %23, align 4, !tbaa !9
  %523 = and i32 %522, %521
  store i32 %523, ptr %23, align 4, !tbaa !9
  %524 = load i32, ptr %23, align 4, !tbaa !9
  %525 = icmp ne i32 %524, 0
  br i1 %525, label %526, label %608

526:                                              ; preds = %512
  %527 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %527, ptr %23, align 4, !tbaa !9
  %528 = load ptr, ptr %9, align 8, !tbaa !5
  %529 = getelementptr inbounds %struct.w2c_hermes, ptr %528, i32 0, i32 6
  %530 = load i32, ptr %23, align 4, !tbaa !9
  %531 = zext i32 %530 to i64
  %532 = call i32 @i32_load(ptr noundef %529, i64 noundef %531)
  store i32 %532, ptr %23, align 4, !tbaa !9
  %533 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %533, ptr %18, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %534 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %534, ptr %25, align 4, !tbaa !9
  %535 = load ptr, ptr %9, align 8, !tbaa !5
  %536 = getelementptr inbounds %struct.w2c_hermes, ptr %535, i32 0, i32 6
  %537 = load i32, ptr %25, align 4, !tbaa !9
  %538 = zext i32 %537 to i64
  %539 = call i32 @i32_load(ptr noundef %536, i64 noundef %538)
  store i32 %539, ptr %25, align 4, !tbaa !9
  %540 = load ptr, ptr %9, align 8, !tbaa !5
  %541 = getelementptr inbounds %struct.w2c_hermes, ptr %540, i32 0, i32 6
  %542 = load i32, ptr %25, align 4, !tbaa !9
  %543 = zext i32 %542 to i64
  %544 = add i64 %543, 52
  %545 = call i32 @i32_load(ptr noundef %541, i64 noundef %544)
  store i32 %545, ptr %25, align 4, !tbaa !9
  %546 = load i32, ptr %25, align 4, !tbaa !9
  %547 = load ptr, ptr %9, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.w2c_hermes, ptr %547, i32 0, i32 7
  %549 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %548, i32 0, i32 2
  %550 = load i32, ptr %549, align 4, !tbaa !18
  %551 = icmp ult i32 %546, %550
  br i1 %551, label %552, label %575

552:                                              ; preds = %526
  %553 = load ptr, ptr %9, align 8, !tbaa !5
  %554 = getelementptr inbounds %struct.w2c_hermes, ptr %553, i32 0, i32 7
  %555 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %554, i32 0, i32 0
  %556 = load ptr, ptr %555, align 8, !tbaa !19
  %557 = load i32, ptr %25, align 4, !tbaa !9
  %558 = zext i32 %557 to i64
  %559 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %556, i64 %558
  %560 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %559, i32 0, i32 1
  %561 = load ptr, ptr %560, align 8, !tbaa !20
  %562 = icmp ne ptr %561, null
  br i1 %562, label %563, label %575

563:                                              ; preds = %552
  %564 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %565 = load ptr, ptr %9, align 8, !tbaa !5
  %566 = getelementptr inbounds %struct.w2c_hermes, ptr %565, i32 0, i32 7
  %567 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %566, i32 0, i32 0
  %568 = load ptr, ptr %567, align 8, !tbaa !19
  %569 = load i32, ptr %25, align 4, !tbaa !9
  %570 = zext i32 %569 to i64
  %571 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %568, i64 %570
  %572 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %571, i32 0, i32 0
  %573 = load ptr, ptr %572, align 8, !tbaa !22
  %574 = call zeroext i1 @func_types_eq(ptr noundef %564, ptr noundef %573)
  br label %575

575:                                              ; preds = %563, %552, %526
  %576 = phi i1 [ false, %552 ], [ false, %526 ], [ %574, %563 ]
  %577 = xor i1 %576, true
  %578 = xor i1 %577, true
  %579 = zext i1 %578 to i32
  %580 = sext i32 %579 to i64
  %581 = call i64 @llvm.expect.i64(i64 %580, i64 1)
  %582 = icmp ne i64 %581, 0
  br i1 %582, label %585, label %583

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

584:                                              ; No predecessors!
  br label %585

585:                                              ; preds = %584, %575
  %586 = phi i1 [ true, %575 ], [ false, %584 ]
  %587 = zext i1 %586 to i32
  %588 = load ptr, ptr %9, align 8, !tbaa !5
  %589 = getelementptr inbounds %struct.w2c_hermes, ptr %588, i32 0, i32 7
  %590 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %589, i32 0, i32 0
  %591 = load ptr, ptr %590, align 8, !tbaa !19
  %592 = load i32, ptr %25, align 4, !tbaa !9
  %593 = zext i32 %592 to i64
  %594 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %591, i64 %593
  %595 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %594, i32 0, i32 1
  %596 = load ptr, ptr %595, align 8, !tbaa !20
  %597 = load ptr, ptr %9, align 8, !tbaa !5
  %598 = getelementptr inbounds %struct.w2c_hermes, ptr %597, i32 0, i32 7
  %599 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %598, i32 0, i32 0
  %600 = load ptr, ptr %599, align 8, !tbaa !19
  %601 = load i32, ptr %25, align 4, !tbaa !9
  %602 = zext i32 %601 to i64
  %603 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %600, i64 %602
  %604 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %603, i32 0, i32 2
  %605 = load ptr, ptr %604, align 8, !tbaa !23
  %606 = load i32, ptr %23, align 4, !tbaa !9
  %607 = load i32, ptr %24, align 4, !tbaa !9
  call void %596(ptr noundef %605, i32 noundef %606, i32 noundef %607)
  br label %702

608:                                              ; preds = %512
  %609 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %609, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %610 = load i32, ptr %24, align 4, !tbaa !9
  %611 = load i32, ptr %23, align 4, !tbaa !9
  %612 = and i32 %611, %610
  store i32 %612, ptr %23, align 4, !tbaa !9
  %613 = load i32, ptr %23, align 4, !tbaa !9
  %614 = icmp ne i32 %613, 0
  %615 = xor i1 %614, true
  %616 = zext i1 %615 to i32
  store i32 %616, ptr %23, align 4, !tbaa !9
  %617 = load i32, ptr %23, align 4, !tbaa !9
  %618 = icmp ne i32 %617, 0
  br i1 %618, label %619, label %620

619:                                              ; preds = %608
  br label %702

620:                                              ; preds = %608
  %621 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %621, ptr %23, align 4, !tbaa !9
  %622 = load ptr, ptr %9, align 8, !tbaa !5
  %623 = getelementptr inbounds %struct.w2c_hermes, ptr %622, i32 0, i32 6
  %624 = load i32, ptr %23, align 4, !tbaa !9
  %625 = zext i32 %624 to i64
  %626 = call i32 @i32_load(ptr noundef %623, i64 noundef %625)
  store i32 %626, ptr %23, align 4, !tbaa !9
  %627 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %627, ptr %18, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %628 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %628, ptr %25, align 4, !tbaa !9
  %629 = load ptr, ptr %9, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.w2c_hermes, ptr %629, i32 0, i32 6
  %631 = load i32, ptr %25, align 4, !tbaa !9
  %632 = zext i32 %631 to i64
  %633 = call i32 @i32_load(ptr noundef %630, i64 noundef %632)
  store i32 %633, ptr %25, align 4, !tbaa !9
  %634 = load ptr, ptr %9, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.w2c_hermes, ptr %634, i32 0, i32 6
  %636 = load i32, ptr %25, align 4, !tbaa !9
  %637 = zext i32 %636 to i64
  %638 = add i64 %637, 52
  %639 = call i32 @i32_load(ptr noundef %635, i64 noundef %638)
  store i32 %639, ptr %25, align 4, !tbaa !9
  %640 = load i32, ptr %25, align 4, !tbaa !9
  %641 = load ptr, ptr %9, align 8, !tbaa !5
  %642 = getelementptr inbounds %struct.w2c_hermes, ptr %641, i32 0, i32 7
  %643 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %642, i32 0, i32 2
  %644 = load i32, ptr %643, align 4, !tbaa !18
  %645 = icmp ult i32 %640, %644
  br i1 %645, label %646, label %669

646:                                              ; preds = %620
  %647 = load ptr, ptr %9, align 8, !tbaa !5
  %648 = getelementptr inbounds %struct.w2c_hermes, ptr %647, i32 0, i32 7
  %649 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %648, i32 0, i32 0
  %650 = load ptr, ptr %649, align 8, !tbaa !19
  %651 = load i32, ptr %25, align 4, !tbaa !9
  %652 = zext i32 %651 to i64
  %653 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %650, i64 %652
  %654 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %653, i32 0, i32 1
  %655 = load ptr, ptr %654, align 8, !tbaa !20
  %656 = icmp ne ptr %655, null
  br i1 %656, label %657, label %669

657:                                              ; preds = %646
  %658 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %659 = load ptr, ptr %9, align 8, !tbaa !5
  %660 = getelementptr inbounds %struct.w2c_hermes, ptr %659, i32 0, i32 7
  %661 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %660, i32 0, i32 0
  %662 = load ptr, ptr %661, align 8, !tbaa !19
  %663 = load i32, ptr %25, align 4, !tbaa !9
  %664 = zext i32 %663 to i64
  %665 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %662, i64 %664
  %666 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %665, i32 0, i32 0
  %667 = load ptr, ptr %666, align 8, !tbaa !22
  %668 = call zeroext i1 @func_types_eq(ptr noundef %658, ptr noundef %667)
  br label %669

669:                                              ; preds = %657, %646, %620
  %670 = phi i1 [ false, %646 ], [ false, %620 ], [ %668, %657 ]
  %671 = xor i1 %670, true
  %672 = xor i1 %671, true
  %673 = zext i1 %672 to i32
  %674 = sext i32 %673 to i64
  %675 = call i64 @llvm.expect.i64(i64 %674, i64 1)
  %676 = icmp ne i64 %675, 0
  br i1 %676, label %679, label %677

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

678:                                              ; No predecessors!
  br label %679

679:                                              ; preds = %678, %669
  %680 = phi i1 [ true, %669 ], [ false, %678 ]
  %681 = zext i1 %680 to i32
  %682 = load ptr, ptr %9, align 8, !tbaa !5
  %683 = getelementptr inbounds %struct.w2c_hermes, ptr %682, i32 0, i32 7
  %684 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %683, i32 0, i32 0
  %685 = load ptr, ptr %684, align 8, !tbaa !19
  %686 = load i32, ptr %25, align 4, !tbaa !9
  %687 = zext i32 %686 to i64
  %688 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %685, i64 %687
  %689 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %688, i32 0, i32 1
  %690 = load ptr, ptr %689, align 8, !tbaa !20
  %691 = load ptr, ptr %9, align 8, !tbaa !5
  %692 = getelementptr inbounds %struct.w2c_hermes, ptr %691, i32 0, i32 7
  %693 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %692, i32 0, i32 0
  %694 = load ptr, ptr %693, align 8, !tbaa !19
  %695 = load i32, ptr %25, align 4, !tbaa !9
  %696 = zext i32 %695 to i64
  %697 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %694, i64 %696
  %698 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %697, i32 0, i32 2
  %699 = load ptr, ptr %698, align 8, !tbaa !23
  %700 = load i32, ptr %23, align 4, !tbaa !9
  %701 = load i32, ptr %24, align 4, !tbaa !9
  call void %690(ptr noundef %699, i32 noundef %700, i32 noundef %701)
  br label %702

702:                                              ; preds = %679, %619, %585
  %703 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %703, ptr %23, align 4, !tbaa !9
  %704 = load ptr, ptr %9, align 8, !tbaa !5
  %705 = getelementptr inbounds %struct.w2c_hermes, ptr %704, i32 0, i32 6
  %706 = load i32, ptr %23, align 4, !tbaa !9
  %707 = zext i32 %706 to i64
  %708 = add i64 %707, 5356
  %709 = call i32 @i32_load8_u(ptr noundef %705, i64 noundef %708)
  store i32 %709, ptr %23, align 4, !tbaa !9
  store i32 128, ptr %24, align 4, !tbaa !9
  %710 = load i32, ptr %24, align 4, !tbaa !9
  %711 = load i32, ptr %23, align 4, !tbaa !9
  %712 = and i32 %711, %710
  store i32 %712, ptr %23, align 4, !tbaa !9
  %713 = load i32, ptr %23, align 4, !tbaa !9
  %714 = icmp ne i32 %713, 0
  %715 = xor i1 %714, true
  %716 = zext i1 %715 to i32
  store i32 %716, ptr %23, align 4, !tbaa !9
  %717 = load i32, ptr %23, align 4, !tbaa !9
  %718 = icmp ne i32 %717, 0
  br i1 %718, label %719, label %720

719:                                              ; preds = %702
  br label %859

720:                                              ; preds = %702
  %721 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %721, ptr %23, align 4, !tbaa !9
  store i32 168, ptr %24, align 4, !tbaa !9
  %722 = load i32, ptr %24, align 4, !tbaa !9
  %723 = load i32, ptr %23, align 4, !tbaa !9
  %724 = add i32 %723, %722
  store i32 %724, ptr %23, align 4, !tbaa !9
  %725 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %725, ptr %24, align 4, !tbaa !9
  %726 = load ptr, ptr %9, align 8, !tbaa !5
  %727 = getelementptr inbounds %struct.w2c_hermes, ptr %726, i32 0, i32 6
  %728 = load i32, ptr %24, align 4, !tbaa !9
  %729 = zext i32 %728 to i64
  %730 = call i32 @i32_load(ptr noundef %727, i64 noundef %729)
  store i32 %730, ptr %24, align 4, !tbaa !9
  %731 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %731, ptr %18, align 4, !tbaa !9
  %732 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %732, ptr %25, align 4, !tbaa !9
  %733 = load ptr, ptr %9, align 8, !tbaa !5
  %734 = getelementptr inbounds %struct.w2c_hermes, ptr %733, i32 0, i32 6
  %735 = load i32, ptr %25, align 4, !tbaa !9
  %736 = zext i32 %735 to i64
  %737 = call i32 @i32_load(ptr noundef %734, i64 noundef %736)
  store i32 %737, ptr %25, align 4, !tbaa !9
  %738 = load ptr, ptr %9, align 8, !tbaa !5
  %739 = getelementptr inbounds %struct.w2c_hermes, ptr %738, i32 0, i32 6
  %740 = load i32, ptr %25, align 4, !tbaa !9
  %741 = zext i32 %740 to i64
  %742 = add i64 %741, 76
  %743 = call i32 @i32_load(ptr noundef %739, i64 noundef %742)
  store i32 %743, ptr %25, align 4, !tbaa !9
  %744 = load i32, ptr %25, align 4, !tbaa !9
  %745 = load ptr, ptr %9, align 8, !tbaa !5
  %746 = getelementptr inbounds %struct.w2c_hermes, ptr %745, i32 0, i32 7
  %747 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %746, i32 0, i32 2
  %748 = load i32, ptr %747, align 4, !tbaa !18
  %749 = icmp ult i32 %744, %748
  br i1 %749, label %750, label %773

750:                                              ; preds = %720
  %751 = load ptr, ptr %9, align 8, !tbaa !5
  %752 = getelementptr inbounds %struct.w2c_hermes, ptr %751, i32 0, i32 7
  %753 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %752, i32 0, i32 0
  %754 = load ptr, ptr %753, align 8, !tbaa !19
  %755 = load i32, ptr %25, align 4, !tbaa !9
  %756 = zext i32 %755 to i64
  %757 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %754, i64 %756
  %758 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %757, i32 0, i32 1
  %759 = load ptr, ptr %758, align 8, !tbaa !20
  %760 = icmp ne ptr %759, null
  br i1 %760, label %761, label %773

761:                                              ; preds = %750
  %762 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %763 = load ptr, ptr %9, align 8, !tbaa !5
  %764 = getelementptr inbounds %struct.w2c_hermes, ptr %763, i32 0, i32 7
  %765 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %764, i32 0, i32 0
  %766 = load ptr, ptr %765, align 8, !tbaa !19
  %767 = load i32, ptr %25, align 4, !tbaa !9
  %768 = zext i32 %767 to i64
  %769 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %766, i64 %768
  %770 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %769, i32 0, i32 0
  %771 = load ptr, ptr %770, align 8, !tbaa !22
  %772 = call zeroext i1 @func_types_eq(ptr noundef %762, ptr noundef %771)
  br label %773

773:                                              ; preds = %761, %750, %720
  %774 = phi i1 [ false, %750 ], [ false, %720 ], [ %772, %761 ]
  %775 = xor i1 %774, true
  %776 = xor i1 %775, true
  %777 = zext i1 %776 to i32
  %778 = sext i32 %777 to i64
  %779 = call i64 @llvm.expect.i64(i64 %778, i64 1)
  %780 = icmp ne i64 %779, 0
  br i1 %780, label %783, label %781

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

782:                                              ; No predecessors!
  br label %783

783:                                              ; preds = %782, %773
  %784 = phi i1 [ true, %773 ], [ false, %782 ]
  %785 = zext i1 %784 to i32
  %786 = load ptr, ptr %9, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.w2c_hermes, ptr %786, i32 0, i32 7
  %788 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %787, i32 0, i32 0
  %789 = load ptr, ptr %788, align 8, !tbaa !19
  %790 = load i32, ptr %25, align 4, !tbaa !9
  %791 = zext i32 %790 to i64
  %792 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %789, i64 %791
  %793 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %792, i32 0, i32 1
  %794 = load ptr, ptr %793, align 8, !tbaa !20
  %795 = load ptr, ptr %9, align 8, !tbaa !5
  %796 = getelementptr inbounds %struct.w2c_hermes, ptr %795, i32 0, i32 7
  %797 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %796, i32 0, i32 0
  %798 = load ptr, ptr %797, align 8, !tbaa !19
  %799 = load i32, ptr %25, align 4, !tbaa !9
  %800 = zext i32 %799 to i64
  %801 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %798, i64 %800
  %802 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %801, i32 0, i32 2
  %803 = load ptr, ptr %802, align 8, !tbaa !23
  %804 = load i32, ptr %23, align 4, !tbaa !9
  %805 = load i32, ptr %24, align 4, !tbaa !9
  call void %794(ptr noundef %803, i32 noundef %804, i32 noundef %805)
  %806 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %806, ptr %23, align 4, !tbaa !9
  %807 = load ptr, ptr %9, align 8, !tbaa !5
  %808 = getelementptr inbounds %struct.w2c_hermes, ptr %807, i32 0, i32 6
  %809 = load i32, ptr %23, align 4, !tbaa !9
  %810 = zext i32 %809 to i64
  %811 = add i64 %810, 172
  %812 = call i32 @i32_load(ptr noundef %808, i64 noundef %811)
  store i32 %812, ptr %23, align 4, !tbaa !9
  %813 = load i32, ptr %23, align 4, !tbaa !9
  %814 = icmp ne i32 %813, 0
  %815 = xor i1 %814, true
  %816 = zext i1 %815 to i32
  store i32 %816, ptr %23, align 4, !tbaa !9
  %817 = load i32, ptr %23, align 4, !tbaa !9
  %818 = icmp ne i32 %817, 0
  br i1 %818, label %819, label %820

819:                                              ; preds = %783
  br label %859

820:                                              ; preds = %783
  %821 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %821, ptr %23, align 4, !tbaa !9
  %822 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %822, ptr %24, align 4, !tbaa !9
  %823 = load ptr, ptr %9, align 8, !tbaa !5
  %824 = getelementptr inbounds %struct.w2c_hermes, ptr %823, i32 0, i32 6
  %825 = load i32, ptr %24, align 4, !tbaa !9
  %826 = zext i32 %825 to i64
  %827 = add i64 %826, 168
  %828 = call i64 @i64_load(ptr noundef %824, i64 noundef %827)
  store i64 %828, ptr %32, align 8, !tbaa !11
  %829 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %829, ptr %22, align 8, !tbaa !11
  %830 = load ptr, ptr %9, align 8, !tbaa !5
  %831 = getelementptr inbounds %struct.w2c_hermes, ptr %830, i32 0, i32 6
  %832 = load i32, ptr %23, align 4, !tbaa !9
  %833 = zext i32 %832 to i64
  %834 = add i64 %833, 360
  %835 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %831, i64 noundef %834, i64 noundef %835)
  %836 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %836, ptr %23, align 4, !tbaa !9
  %837 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %837, ptr %32, align 8, !tbaa !11
  %838 = load ptr, ptr %9, align 8, !tbaa !5
  %839 = getelementptr inbounds %struct.w2c_hermes, ptr %838, i32 0, i32 6
  %840 = load i32, ptr %23, align 4, !tbaa !9
  %841 = zext i32 %840 to i64
  %842 = add i64 %841, 32
  %843 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %839, i64 noundef %842, i64 noundef %843)
  %844 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %844, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %845 = load i32, ptr %24, align 4, !tbaa !9
  %846 = load i32, ptr %23, align 4, !tbaa !9
  %847 = add i32 %846, %845
  store i32 %847, ptr %23, align 4, !tbaa !9
  %848 = load ptr, ptr %9, align 8, !tbaa !5
  %849 = load i32, ptr %23, align 4, !tbaa !9
  %850 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABCProviderFromBuffer0x3A0x3AbytecodeHashIsValid0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef %848, i32 noundef %849)
  store i32 %850, ptr %23, align 4, !tbaa !9
  %851 = load i32, ptr %23, align 4, !tbaa !9
  %852 = icmp ne i32 %851, 0
  %853 = xor i1 %852, true
  %854 = zext i1 %853 to i32
  store i32 %854, ptr %23, align 4, !tbaa !9
  %855 = load i32, ptr %23, align 4, !tbaa !9
  %856 = icmp ne i32 %855, 0
  br i1 %856, label %857, label %858

857:                                              ; preds = %820
  br label %2967

858:                                              ; preds = %820
  br label %859

859:                                              ; preds = %858, %819, %719
  %860 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %860, ptr %23, align 4, !tbaa !9
  %861 = load ptr, ptr %9, align 8, !tbaa !5
  %862 = getelementptr inbounds %struct.w2c_hermes, ptr %861, i32 0, i32 6
  %863 = load i32, ptr %23, align 4, !tbaa !9
  %864 = zext i32 %863 to i64
  %865 = add i64 %864, 5352
  %866 = call i32 @i32_load8_u(ptr noundef %862, i64 noundef %865)
  store i32 %866, ptr %23, align 4, !tbaa !9
  %867 = load i32, ptr %23, align 4, !tbaa !9
  %868 = icmp ne i32 %867, 0
  %869 = xor i1 %868, true
  %870 = zext i1 %869 to i32
  store i32 %870, ptr %23, align 4, !tbaa !9
  %871 = load i32, ptr %23, align 4, !tbaa !9
  %872 = icmp ne i32 %871, 0
  br i1 %872, label %873, label %874

873:                                              ; preds = %859
  br label %1152

874:                                              ; preds = %859
  %875 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %875, ptr %23, align 4, !tbaa !9
  store i32 168, ptr %24, align 4, !tbaa !9
  %876 = load i32, ptr %24, align 4, !tbaa !9
  %877 = load i32, ptr %23, align 4, !tbaa !9
  %878 = add i32 %877, %876
  store i32 %878, ptr %23, align 4, !tbaa !9
  %879 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %879, ptr %24, align 4, !tbaa !9
  %880 = load ptr, ptr %9, align 8, !tbaa !5
  %881 = getelementptr inbounds %struct.w2c_hermes, ptr %880, i32 0, i32 6
  %882 = load i32, ptr %24, align 4, !tbaa !9
  %883 = zext i32 %882 to i64
  %884 = call i32 @i32_load(ptr noundef %881, i64 noundef %883)
  store i32 %884, ptr %24, align 4, !tbaa !9
  %885 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %885, ptr %18, align 4, !tbaa !9
  %886 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %886, ptr %25, align 4, !tbaa !9
  %887 = load ptr, ptr %9, align 8, !tbaa !5
  %888 = getelementptr inbounds %struct.w2c_hermes, ptr %887, i32 0, i32 6
  %889 = load i32, ptr %25, align 4, !tbaa !9
  %890 = zext i32 %889 to i64
  %891 = call i32 @i32_load(ptr noundef %888, i64 noundef %890)
  store i32 %891, ptr %25, align 4, !tbaa !9
  %892 = load ptr, ptr %9, align 8, !tbaa !5
  %893 = getelementptr inbounds %struct.w2c_hermes, ptr %892, i32 0, i32 6
  %894 = load i32, ptr %25, align 4, !tbaa !9
  %895 = zext i32 %894 to i64
  %896 = add i64 %895, 76
  %897 = call i32 @i32_load(ptr noundef %893, i64 noundef %896)
  store i32 %897, ptr %25, align 4, !tbaa !9
  %898 = load i32, ptr %25, align 4, !tbaa !9
  %899 = load ptr, ptr %9, align 8, !tbaa !5
  %900 = getelementptr inbounds %struct.w2c_hermes, ptr %899, i32 0, i32 7
  %901 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %900, i32 0, i32 2
  %902 = load i32, ptr %901, align 4, !tbaa !18
  %903 = icmp ult i32 %898, %902
  br i1 %903, label %904, label %927

904:                                              ; preds = %874
  %905 = load ptr, ptr %9, align 8, !tbaa !5
  %906 = getelementptr inbounds %struct.w2c_hermes, ptr %905, i32 0, i32 7
  %907 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %906, i32 0, i32 0
  %908 = load ptr, ptr %907, align 8, !tbaa !19
  %909 = load i32, ptr %25, align 4, !tbaa !9
  %910 = zext i32 %909 to i64
  %911 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %908, i64 %910
  %912 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %911, i32 0, i32 1
  %913 = load ptr, ptr %912, align 8, !tbaa !20
  %914 = icmp ne ptr %913, null
  br i1 %914, label %915, label %927

915:                                              ; preds = %904
  %916 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %917 = load ptr, ptr %9, align 8, !tbaa !5
  %918 = getelementptr inbounds %struct.w2c_hermes, ptr %917, i32 0, i32 7
  %919 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %918, i32 0, i32 0
  %920 = load ptr, ptr %919, align 8, !tbaa !19
  %921 = load i32, ptr %25, align 4, !tbaa !9
  %922 = zext i32 %921 to i64
  %923 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %920, i64 %922
  %924 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %923, i32 0, i32 0
  %925 = load ptr, ptr %924, align 8, !tbaa !22
  %926 = call zeroext i1 @func_types_eq(ptr noundef %916, ptr noundef %925)
  br label %927

927:                                              ; preds = %915, %904, %874
  %928 = phi i1 [ false, %904 ], [ false, %874 ], [ %926, %915 ]
  %929 = xor i1 %928, true
  %930 = xor i1 %929, true
  %931 = zext i1 %930 to i32
  %932 = sext i32 %931 to i64
  %933 = call i64 @llvm.expect.i64(i64 %932, i64 1)
  %934 = icmp ne i64 %933, 0
  br i1 %934, label %937, label %935

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

936:                                              ; No predecessors!
  br label %937

937:                                              ; preds = %936, %927
  %938 = phi i1 [ true, %927 ], [ false, %936 ]
  %939 = zext i1 %938 to i32
  %940 = load ptr, ptr %9, align 8, !tbaa !5
  %941 = getelementptr inbounds %struct.w2c_hermes, ptr %940, i32 0, i32 7
  %942 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %941, i32 0, i32 0
  %943 = load ptr, ptr %942, align 8, !tbaa !19
  %944 = load i32, ptr %25, align 4, !tbaa !9
  %945 = zext i32 %944 to i64
  %946 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %943, i64 %945
  %947 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %946, i32 0, i32 1
  %948 = load ptr, ptr %947, align 8, !tbaa !20
  %949 = load ptr, ptr %9, align 8, !tbaa !5
  %950 = getelementptr inbounds %struct.w2c_hermes, ptr %949, i32 0, i32 7
  %951 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %950, i32 0, i32 0
  %952 = load ptr, ptr %951, align 8, !tbaa !19
  %953 = load i32, ptr %25, align 4, !tbaa !9
  %954 = zext i32 %953 to i64
  %955 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %952, i64 %954
  %956 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %955, i32 0, i32 2
  %957 = load ptr, ptr %956, align 8, !tbaa !23
  %958 = load i32, ptr %23, align 4, !tbaa !9
  %959 = load i32, ptr %24, align 4, !tbaa !9
  call void %948(ptr noundef %957, i32 noundef %958, i32 noundef %959)
  %960 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %960, ptr %23, align 4, !tbaa !9
  %961 = load ptr, ptr %9, align 8, !tbaa !5
  %962 = getelementptr inbounds %struct.w2c_hermes, ptr %961, i32 0, i32 6
  %963 = load i32, ptr %23, align 4, !tbaa !9
  %964 = zext i32 %963 to i64
  %965 = add i64 %964, 172
  %966 = call i32 @i32_load(ptr noundef %962, i64 noundef %965)
  store i32 %966, ptr %23, align 4, !tbaa !9
  store i32 65537, ptr %24, align 4, !tbaa !9
  %967 = load i32, ptr %23, align 4, !tbaa !9
  %968 = load i32, ptr %24, align 4, !tbaa !9
  %969 = icmp ult i32 %967, %968
  %970 = zext i1 %969 to i32
  store i32 %970, ptr %23, align 4, !tbaa !9
  %971 = load i32, ptr %23, align 4, !tbaa !9
  %972 = icmp ne i32 %971, 0
  br i1 %972, label %973, label %974

973:                                              ; preds = %937
  br label %1152

974:                                              ; preds = %937
  %975 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %975, ptr %23, align 4, !tbaa !9
  %976 = load ptr, ptr %9, align 8, !tbaa !5
  %977 = getelementptr inbounds %struct.w2c_hermes, ptr %976, i32 0, i32 6
  %978 = load i32, ptr %23, align 4, !tbaa !9
  %979 = zext i32 %978 to i64
  %980 = call i32 @i32_load(ptr noundef %977, i64 noundef %979)
  store i32 %980, ptr %23, align 4, !tbaa !9
  %981 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %981, ptr %18, align 4, !tbaa !9
  %982 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %982, ptr %24, align 4, !tbaa !9
  %983 = load ptr, ptr %9, align 8, !tbaa !5
  %984 = getelementptr inbounds %struct.w2c_hermes, ptr %983, i32 0, i32 6
  %985 = load i32, ptr %24, align 4, !tbaa !9
  %986 = zext i32 %985 to i64
  %987 = call i32 @i32_load(ptr noundef %984, i64 noundef %986)
  store i32 %987, ptr %24, align 4, !tbaa !9
  %988 = load ptr, ptr %9, align 8, !tbaa !5
  %989 = getelementptr inbounds %struct.w2c_hermes, ptr %988, i32 0, i32 6
  %990 = load i32, ptr %24, align 4, !tbaa !9
  %991 = zext i32 %990 to i64
  %992 = add i64 %991, 68
  %993 = call i32 @i32_load(ptr noundef %989, i64 noundef %992)
  store i32 %993, ptr %24, align 4, !tbaa !9
  %994 = load i32, ptr %24, align 4, !tbaa !9
  %995 = load ptr, ptr %9, align 8, !tbaa !5
  %996 = getelementptr inbounds %struct.w2c_hermes, ptr %995, i32 0, i32 7
  %997 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %996, i32 0, i32 2
  %998 = load i32, ptr %997, align 4, !tbaa !18
  %999 = icmp ult i32 %994, %998
  br i1 %999, label %1000, label %1023

1000:                                             ; preds = %974
  %1001 = load ptr, ptr %9, align 8, !tbaa !5
  %1002 = getelementptr inbounds %struct.w2c_hermes, ptr %1001, i32 0, i32 7
  %1003 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1002, i32 0, i32 0
  %1004 = load ptr, ptr %1003, align 8, !tbaa !19
  %1005 = load i32, ptr %24, align 4, !tbaa !9
  %1006 = zext i32 %1005 to i64
  %1007 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1004, i64 %1006
  %1008 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1007, i32 0, i32 1
  %1009 = load ptr, ptr %1008, align 8, !tbaa !20
  %1010 = icmp ne ptr %1009, null
  br i1 %1010, label %1011, label %1023

1011:                                             ; preds = %1000
  %1012 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1013 = load ptr, ptr %9, align 8, !tbaa !5
  %1014 = getelementptr inbounds %struct.w2c_hermes, ptr %1013, i32 0, i32 7
  %1015 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1014, i32 0, i32 0
  %1016 = load ptr, ptr %1015, align 8, !tbaa !19
  %1017 = load i32, ptr %24, align 4, !tbaa !9
  %1018 = zext i32 %1017 to i64
  %1019 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1016, i64 %1018
  %1020 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1019, i32 0, i32 0
  %1021 = load ptr, ptr %1020, align 8, !tbaa !22
  %1022 = call zeroext i1 @func_types_eq(ptr noundef %1012, ptr noundef %1021)
  br label %1023

1023:                                             ; preds = %1011, %1000, %974
  %1024 = phi i1 [ false, %1000 ], [ false, %974 ], [ %1022, %1011 ]
  %1025 = xor i1 %1024, true
  %1026 = xor i1 %1025, true
  %1027 = zext i1 %1026 to i32
  %1028 = sext i32 %1027 to i64
  %1029 = call i64 @llvm.expect.i64(i64 %1028, i64 1)
  %1030 = icmp ne i64 %1029, 0
  br i1 %1030, label %1033, label %1031

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

1032:                                             ; No predecessors!
  br label %1033

1033:                                             ; preds = %1032, %1023
  %1034 = phi i1 [ true, %1023 ], [ false, %1032 ]
  %1035 = zext i1 %1034 to i32
  %1036 = load ptr, ptr %9, align 8, !tbaa !5
  %1037 = getelementptr inbounds %struct.w2c_hermes, ptr %1036, i32 0, i32 7
  %1038 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1037, i32 0, i32 0
  %1039 = load ptr, ptr %1038, align 8, !tbaa !19
  %1040 = load i32, ptr %24, align 4, !tbaa !9
  %1041 = zext i32 %1040 to i64
  %1042 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1039, i64 %1041
  %1043 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1042, i32 0, i32 1
  %1044 = load ptr, ptr %1043, align 8, !tbaa !20
  %1045 = load ptr, ptr %9, align 8, !tbaa !5
  %1046 = getelementptr inbounds %struct.w2c_hermes, ptr %1045, i32 0, i32 7
  %1047 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1046, i32 0, i32 0
  %1048 = load ptr, ptr %1047, align 8, !tbaa !19
  %1049 = load i32, ptr %24, align 4, !tbaa !9
  %1050 = zext i32 %1049 to i64
  %1051 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1048, i64 %1050
  %1052 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1051, i32 0, i32 2
  %1053 = load ptr, ptr %1052, align 8, !tbaa !23
  %1054 = load i32, ptr %23, align 4, !tbaa !9
  call void %1044(ptr noundef %1053, i32 noundef %1054)
  %1055 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1055, ptr %23, align 4, !tbaa !9
  %1056 = load ptr, ptr %9, align 8, !tbaa !5
  %1057 = getelementptr inbounds %struct.w2c_hermes, ptr %1056, i32 0, i32 6
  %1058 = load i32, ptr %23, align 4, !tbaa !9
  %1059 = zext i32 %1058 to i64
  %1060 = call i32 @i32_load(ptr noundef %1057, i64 noundef %1059)
  store i32 %1060, ptr %23, align 4, !tbaa !9
  %1061 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1061, ptr %18, align 4, !tbaa !9
  %1062 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1062, ptr %24, align 4, !tbaa !9
  %1063 = load ptr, ptr %9, align 8, !tbaa !5
  %1064 = getelementptr inbounds %struct.w2c_hermes, ptr %1063, i32 0, i32 6
  %1065 = load i32, ptr %24, align 4, !tbaa !9
  %1066 = zext i32 %1065 to i64
  %1067 = call i32 @i32_load(ptr noundef %1064, i64 noundef %1066)
  store i32 %1067, ptr %24, align 4, !tbaa !9
  %1068 = load ptr, ptr %9, align 8, !tbaa !5
  %1069 = getelementptr inbounds %struct.w2c_hermes, ptr %1068, i32 0, i32 6
  %1070 = load i32, ptr %24, align 4, !tbaa !9
  %1071 = zext i32 %1070 to i64
  %1072 = add i64 %1071, 72
  %1073 = call i32 @i32_load(ptr noundef %1069, i64 noundef %1072)
  store i32 %1073, ptr %24, align 4, !tbaa !9
  %1074 = load i32, ptr %24, align 4, !tbaa !9
  %1075 = load ptr, ptr %9, align 8, !tbaa !5
  %1076 = getelementptr inbounds %struct.w2c_hermes, ptr %1075, i32 0, i32 7
  %1077 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1076, i32 0, i32 2
  %1078 = load i32, ptr %1077, align 4, !tbaa !18
  %1079 = icmp ult i32 %1074, %1078
  br i1 %1079, label %1080, label %1103

1080:                                             ; preds = %1033
  %1081 = load ptr, ptr %9, align 8, !tbaa !5
  %1082 = getelementptr inbounds %struct.w2c_hermes, ptr %1081, i32 0, i32 7
  %1083 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1082, i32 0, i32 0
  %1084 = load ptr, ptr %1083, align 8, !tbaa !19
  %1085 = load i32, ptr %24, align 4, !tbaa !9
  %1086 = zext i32 %1085 to i64
  %1087 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1084, i64 %1086
  %1088 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1087, i32 0, i32 1
  %1089 = load ptr, ptr %1088, align 8, !tbaa !20
  %1090 = icmp ne ptr %1089, null
  br i1 %1090, label %1091, label %1103

1091:                                             ; preds = %1080
  %1092 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !5
  %1093 = load ptr, ptr %9, align 8, !tbaa !5
  %1094 = getelementptr inbounds %struct.w2c_hermes, ptr %1093, i32 0, i32 7
  %1095 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1094, i32 0, i32 0
  %1096 = load ptr, ptr %1095, align 8, !tbaa !19
  %1097 = load i32, ptr %24, align 4, !tbaa !9
  %1098 = zext i32 %1097 to i64
  %1099 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1096, i64 %1098
  %1100 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1099, i32 0, i32 0
  %1101 = load ptr, ptr %1100, align 8, !tbaa !22
  %1102 = call zeroext i1 @func_types_eq(ptr noundef %1092, ptr noundef %1101)
  br label %1103

1103:                                             ; preds = %1091, %1080, %1033
  %1104 = phi i1 [ false, %1080 ], [ false, %1033 ], [ %1102, %1091 ]
  %1105 = xor i1 %1104, true
  %1106 = xor i1 %1105, true
  %1107 = zext i1 %1106 to i32
  %1108 = sext i32 %1107 to i64
  %1109 = call i64 @llvm.expect.i64(i64 %1108, i64 1)
  %1110 = icmp ne i64 %1109, 0
  br i1 %1110, label %1113, label %1111

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

1112:                                             ; No predecessors!
  br label %1113

1113:                                             ; preds = %1112, %1103
  %1114 = phi i1 [ true, %1103 ], [ false, %1112 ]
  %1115 = zext i1 %1114 to i32
  %1116 = load ptr, ptr %9, align 8, !tbaa !5
  %1117 = getelementptr inbounds %struct.w2c_hermes, ptr %1116, i32 0, i32 7
  %1118 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1117, i32 0, i32 0
  %1119 = load ptr, ptr %1118, align 8, !tbaa !19
  %1120 = load i32, ptr %24, align 4, !tbaa !9
  %1121 = zext i32 %1120 to i64
  %1122 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1119, i64 %1121
  %1123 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1122, i32 0, i32 1
  %1124 = load ptr, ptr %1123, align 8, !tbaa !20
  %1125 = load ptr, ptr %9, align 8, !tbaa !5
  %1126 = getelementptr inbounds %struct.w2c_hermes, ptr %1125, i32 0, i32 7
  %1127 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1126, i32 0, i32 0
  %1128 = load ptr, ptr %1127, align 8, !tbaa !19
  %1129 = load i32, ptr %24, align 4, !tbaa !9
  %1130 = zext i32 %1129 to i64
  %1131 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1128, i64 %1130
  %1132 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1131, i32 0, i32 2
  %1133 = load ptr, ptr %1132, align 8, !tbaa !23
  %1134 = load i32, ptr %23, align 4, !tbaa !9
  %1135 = call i32 %1124(ptr noundef %1133, i32 noundef %1134)
  store i32 %1135, ptr %23, align 4, !tbaa !9
  %1136 = load i32, ptr %23, align 4, !tbaa !9
  %1137 = icmp ne i32 %1136, 0
  br i1 %1137, label %1138, label %1139

1138:                                             ; preds = %1113
  br label %1152

1139:                                             ; preds = %1113
  store i32 0, ptr %23, align 4, !tbaa !9
  %1140 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1140, ptr %18, align 4, !tbaa !9
  store i32 44700, ptr %24, align 4, !tbaa !9
  %1141 = load i32, ptr %24, align 4, !tbaa !9
  %1142 = load i32, ptr %23, align 4, !tbaa !9
  %1143 = add i32 %1142, %1141
  store i32 %1143, ptr %23, align 4, !tbaa !9
  %1144 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1144, ptr %24, align 4, !tbaa !9
  store i32 113167, ptr %25, align 4, !tbaa !9
  %1145 = load i32, ptr %25, align 4, !tbaa !9
  %1146 = load i32, ptr %24, align 4, !tbaa !9
  %1147 = add i32 %1146, %1145
  store i32 %1147, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %25, align 4, !tbaa !9
  %1148 = load ptr, ptr %9, align 8, !tbaa !5
  %1149 = load i32, ptr %23, align 4, !tbaa !9
  %1150 = load i32, ptr %24, align 4, !tbaa !9
  %1151 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef %1148, i32 noundef %1149, i32 noundef %1150, i32 noundef %1151)
  br label %1152

1152:                                             ; preds = %1139, %1138, %973, %873, %326
  %1153 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1153, ptr %23, align 4, !tbaa !9
  store i64 48, ptr %32, align 8, !tbaa !11
  %1154 = load ptr, ptr %9, align 8, !tbaa !5
  %1155 = getelementptr inbounds %struct.w2c_hermes, ptr %1154, i32 0, i32 6
  %1156 = load i32, ptr %23, align 4, !tbaa !9
  %1157 = zext i32 %1156 to i64
  %1158 = add i64 %1157, 176
  %1159 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1155, i64 noundef %1158, i64 noundef %1159)
  %1160 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1160, ptr %23, align 4, !tbaa !9
  %1161 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1161, ptr %24, align 4, !tbaa !9
  %1162 = load ptr, ptr %9, align 8, !tbaa !5
  %1163 = getelementptr inbounds %struct.w2c_hermes, ptr %1162, i32 0, i32 6
  %1164 = load i32, ptr %23, align 4, !tbaa !9
  %1165 = zext i32 %1164 to i64
  %1166 = add i64 %1165, 172
  %1167 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1163, i64 noundef %1166, i32 noundef %1167)
  %1168 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1168, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1169 = load ptr, ptr %9, align 8, !tbaa !5
  %1170 = getelementptr inbounds %struct.w2c_hermes, ptr %1169, i32 0, i32 6
  %1171 = load i32, ptr %23, align 4, !tbaa !9
  %1172 = zext i32 %1171 to i64
  %1173 = add i64 %1172, 168
  %1174 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1170, i64 noundef %1173, i32 noundef %1174)
  %1175 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1175, ptr %23, align 4, !tbaa !9
  %1176 = load ptr, ptr %9, align 8, !tbaa !5
  %1177 = getelementptr inbounds %struct.w2c_hermes, ptr %1176, i32 0, i32 6
  %1178 = load i32, ptr %23, align 4, !tbaa !9
  %1179 = zext i32 %1178 to i64
  %1180 = add i64 %1179, 4
  %1181 = call i32 @i32_load(ptr noundef %1177, i64 noundef %1180)
  store i32 %1181, ptr %23, align 4, !tbaa !9
  %1182 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1182, ptr %18, align 4, !tbaa !9
  %1183 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1183, ptr %23, align 4, !tbaa !9
  store i32 332, ptr %24, align 4, !tbaa !9
  %1184 = load i32, ptr %24, align 4, !tbaa !9
  %1185 = load i32, ptr %23, align 4, !tbaa !9
  %1186 = add i32 %1185, %1184
  store i32 %1186, ptr %23, align 4, !tbaa !9
  %1187 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1187, ptr %19, align 4, !tbaa !9
  %1188 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1188, ptr %24, align 4, !tbaa !9
  store i32 192, ptr %25, align 4, !tbaa !9
  %1189 = load i32, ptr %25, align 4, !tbaa !9
  %1190 = load i32, ptr %24, align 4, !tbaa !9
  %1191 = add i32 %1190, %1189
  store i32 %1191, ptr %24, align 4, !tbaa !9
  %1192 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1192, ptr %21, align 4, !tbaa !9
  %1193 = load ptr, ptr %9, align 8, !tbaa !5
  %1194 = getelementptr inbounds %struct.w2c_hermes, ptr %1193, i32 0, i32 6
  %1195 = load i32, ptr %23, align 4, !tbaa !9
  %1196 = zext i32 %1195 to i64
  %1197 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1194, i64 noundef %1196, i32 noundef %1197)
  %1198 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1198, ptr %23, align 4, !tbaa !9
  store i64 17179869185, ptr %32, align 8, !tbaa !11
  %1199 = load ptr, ptr %9, align 8, !tbaa !5
  %1200 = getelementptr inbounds %struct.w2c_hermes, ptr %1199, i32 0, i32 6
  %1201 = load i32, ptr %23, align 4, !tbaa !9
  %1202 = zext i32 %1201 to i64
  %1203 = add i64 %1202, 324
  %1204 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1200, i64 noundef %1203, i64 noundef %1204)
  %1205 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1205, ptr %23, align 4, !tbaa !9
  %1206 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1206, ptr %24, align 4, !tbaa !9
  %1207 = load ptr, ptr %9, align 8, !tbaa !5
  %1208 = getelementptr inbounds %struct.w2c_hermes, ptr %1207, i32 0, i32 6
  %1209 = load i32, ptr %23, align 4, !tbaa !9
  %1210 = zext i32 %1209 to i64
  %1211 = add i64 %1210, 320
  %1212 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1208, i64 noundef %1211, i32 noundef %1212)
  %1213 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1213, ptr %23, align 4, !tbaa !9
  %1214 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1214, ptr %24, align 4, !tbaa !9
  %1215 = load ptr, ptr %9, align 8, !tbaa !5
  %1216 = getelementptr inbounds %struct.w2c_hermes, ptr %1215, i32 0, i32 6
  %1217 = load i32, ptr %23, align 4, !tbaa !9
  %1218 = zext i32 %1217 to i64
  %1219 = add i64 %1218, 184
  %1220 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1216, i64 noundef %1219, i32 noundef %1220)
  %1221 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1221, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1222 = load ptr, ptr %9, align 8, !tbaa !5
  %1223 = getelementptr inbounds %struct.w2c_hermes, ptr %1222, i32 0, i32 6
  %1224 = load i32, ptr %23, align 4, !tbaa !9
  %1225 = zext i32 %1224 to i64
  %1226 = add i64 %1225, 356
  %1227 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1223, i64 noundef %1226, i32 noundef %1227)
  %1228 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1228, ptr %23, align 4, !tbaa !9
  %1229 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1229, ptr %24, align 4, !tbaa !9
  store i32 320, ptr %25, align 4, !tbaa !9
  %1230 = load i32, ptr %25, align 4, !tbaa !9
  %1231 = load i32, ptr %24, align 4, !tbaa !9
  %1232 = add i32 %1231, %1230
  store i32 %1232, ptr %24, align 4, !tbaa !9
  %1233 = load ptr, ptr %9, align 8, !tbaa !5
  %1234 = getelementptr inbounds %struct.w2c_hermes, ptr %1233, i32 0, i32 6
  %1235 = load i32, ptr %23, align 4, !tbaa !9
  %1236 = zext i32 %1235 to i64
  %1237 = add i64 %1236, 352
  %1238 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1234, i64 noundef %1237, i32 noundef %1238)
  %1239 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1239, ptr %23, align 4, !tbaa !9
  %1240 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1240, ptr %24, align 4, !tbaa !9
  %1241 = load ptr, ptr %9, align 8, !tbaa !5
  %1242 = getelementptr inbounds %struct.w2c_hermes, ptr %1241, i32 0, i32 6
  %1243 = load i32, ptr %23, align 4, !tbaa !9
  %1244 = zext i32 %1243 to i64
  %1245 = add i64 %1244, 348
  %1246 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1242, i64 noundef %1245, i32 noundef %1246)
  %1247 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1247, ptr %23, align 4, !tbaa !9
  %1248 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1248, ptr %24, align 4, !tbaa !9
  store i32 168, ptr %25, align 4, !tbaa !9
  %1249 = load i32, ptr %25, align 4, !tbaa !9
  %1250 = load i32, ptr %24, align 4, !tbaa !9
  %1251 = add i32 %1250, %1249
  store i32 %1251, ptr %24, align 4, !tbaa !9
  %1252 = load ptr, ptr %9, align 8, !tbaa !5
  %1253 = getelementptr inbounds %struct.w2c_hermes, ptr %1252, i32 0, i32 6
  %1254 = load i32, ptr %23, align 4, !tbaa !9
  %1255 = zext i32 %1254 to i64
  %1256 = add i64 %1255, 4
  %1257 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1253, i64 noundef %1256, i32 noundef %1257)
  %1258 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1258, ptr %23, align 4, !tbaa !9
  store i32 40, ptr %24, align 4, !tbaa !9
  %1259 = load i32, ptr %24, align 4, !tbaa !9
  %1260 = load i32, ptr %23, align 4, !tbaa !9
  %1261 = add i32 %1260, %1259
  store i32 %1261, ptr %23, align 4, !tbaa !9
  %1262 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1262, ptr %24, align 4, !tbaa !9
  %1263 = load ptr, ptr %9, align 8, !tbaa !5
  %1264 = load i32, ptr %23, align 4, !tbaa !9
  %1265 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %1263, i32 noundef %1264, i32 noundef %1265)
  %1266 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1266, ptr %23, align 4, !tbaa !9
  %1267 = load ptr, ptr %9, align 8, !tbaa !5
  %1268 = getelementptr inbounds %struct.w2c_hermes, ptr %1267, i32 0, i32 6
  %1269 = load i32, ptr %23, align 4, !tbaa !9
  %1270 = zext i32 %1269 to i64
  %1271 = add i64 %1270, 44
  %1272 = call i32 @i32_load8_u(ptr noundef %1268, i64 noundef %1271)
  store i32 %1272, ptr %23, align 4, !tbaa !9
  %1273 = load i32, ptr %23, align 4, !tbaa !9
  %1274 = icmp ne i32 %1273, 0
  %1275 = xor i1 %1274, true
  %1276 = zext i1 %1275 to i32
  store i32 %1276, ptr %23, align 4, !tbaa !9
  %1277 = load i32, ptr %23, align 4, !tbaa !9
  %1278 = icmp ne i32 %1277, 0
  br i1 %1278, label %1279, label %1280

1279:                                             ; preds = %1152
  br label %2999

1280:                                             ; preds = %1152
  %1281 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1281, ptr %23, align 4, !tbaa !9
  %1282 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1282, ptr %24, align 4, !tbaa !9
  store i32 160, ptr %25, align 4, !tbaa !9
  %1283 = load i32, ptr %25, align 4, !tbaa !9
  %1284 = load i32, ptr %24, align 4, !tbaa !9
  %1285 = add i32 %1284, %1283
  store i32 %1285, ptr %24, align 4, !tbaa !9
  %1286 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1286, ptr %25, align 4, !tbaa !9
  %1287 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1287, ptr %26, align 4, !tbaa !9
  %1288 = load ptr, ptr %9, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.w2c_hermes, ptr %1288, i32 0, i32 6
  %1290 = load i32, ptr %26, align 4, !tbaa !9
  %1291 = zext i32 %1290 to i64
  %1292 = add i64 %1291, 40
  %1293 = call i32 @i32_load(ptr noundef %1289, i64 noundef %1292)
  store i32 %1293, ptr %26, align 4, !tbaa !9
  %1294 = load ptr, ptr %9, align 8, !tbaa !5
  %1295 = load i32, ptr %24, align 4, !tbaa !9
  %1296 = load i32, ptr %25, align 4, !tbaa !9
  %1297 = load i32, ptr %26, align 4, !tbaa !9
  %1298 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ADomain0x2A0x29(ptr noundef %1294, i32 noundef %1295, i32 noundef %1296, i32 noundef %1297)
  store i32 %1298, ptr %24, align 4, !tbaa !9
  %1299 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1299, ptr %18, align 4, !tbaa !9
  %1300 = load ptr, ptr %9, align 8, !tbaa !5
  %1301 = getelementptr inbounds %struct.w2c_hermes, ptr %1300, i32 0, i32 6
  %1302 = load i32, ptr %24, align 4, !tbaa !9
  %1303 = zext i32 %1302 to i64
  %1304 = add i64 %1303, 4
  %1305 = call i32 @i32_load(ptr noundef %1301, i64 noundef %1304)
  store i32 %1305, ptr %24, align 4, !tbaa !9
  %1306 = load ptr, ptr %9, align 8, !tbaa !5
  %1307 = getelementptr inbounds %struct.w2c_hermes, ptr %1306, i32 0, i32 6
  %1308 = load i32, ptr %23, align 4, !tbaa !9
  %1309 = zext i32 %1308 to i64
  %1310 = add i64 %1309, 156
  %1311 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1307, i64 noundef %1310, i32 noundef %1311)
  %1312 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1312, ptr %23, align 4, !tbaa !9
  %1313 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1313, ptr %24, align 4, !tbaa !9
  %1314 = load ptr, ptr %9, align 8, !tbaa !5
  %1315 = getelementptr inbounds %struct.w2c_hermes, ptr %1314, i32 0, i32 6
  %1316 = load i32, ptr %24, align 4, !tbaa !9
  %1317 = zext i32 %1316 to i64
  %1318 = call i32 @i32_load(ptr noundef %1315, i64 noundef %1317)
  store i32 %1318, ptr %24, align 4, !tbaa !9
  %1319 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1319, ptr %19, align 4, !tbaa !9
  %1320 = load ptr, ptr %9, align 8, !tbaa !5
  %1321 = getelementptr inbounds %struct.w2c_hermes, ptr %1320, i32 0, i32 6
  %1322 = load i32, ptr %23, align 4, !tbaa !9
  %1323 = zext i32 %1322 to i64
  %1324 = add i64 %1323, 152
  %1325 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1321, i64 noundef %1324, i32 noundef %1325)
  %1326 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1326, ptr %23, align 4, !tbaa !9
  %1327 = load i32, ptr %23, align 4, !tbaa !9
  %1328 = icmp ne i32 %1327, 0
  br i1 %1328, label %1329, label %1345

1329:                                             ; preds = %1280
  %1330 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1330, ptr %23, align 4, !tbaa !9
  %1331 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1331, ptr %24, align 4, !tbaa !9
  %1332 = load ptr, ptr %9, align 8, !tbaa !5
  %1333 = getelementptr inbounds %struct.w2c_hermes, ptr %1332, i32 0, i32 6
  %1334 = load i32, ptr %24, align 4, !tbaa !9
  %1335 = zext i32 %1334 to i64
  %1336 = call i32 @i32_load(ptr noundef %1333, i64 noundef %1335)
  store i32 %1336, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1337 = load i32, ptr %25, align 4, !tbaa !9
  %1338 = load i32, ptr %24, align 4, !tbaa !9
  %1339 = add i32 %1338, %1337
  store i32 %1339, ptr %24, align 4, !tbaa !9
  %1340 = load ptr, ptr %9, align 8, !tbaa !5
  %1341 = getelementptr inbounds %struct.w2c_hermes, ptr %1340, i32 0, i32 6
  %1342 = load i32, ptr %23, align 4, !tbaa !9
  %1343 = zext i32 %1342 to i64
  %1344 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1341, i64 noundef %1343, i32 noundef %1344)
  br label %1345

1345:                                             ; preds = %1329, %1280
  %1346 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1346, ptr %23, align 4, !tbaa !9
  %1347 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1347, ptr %24, align 4, !tbaa !9
  %1348 = load ptr, ptr %9, align 8, !tbaa !5
  %1349 = getelementptr inbounds %struct.w2c_hermes, ptr %1348, i32 0, i32 6
  %1350 = load i32, ptr %24, align 4, !tbaa !9
  %1351 = zext i32 %1350 to i64
  %1352 = add i64 %1351, 5800
  %1353 = call i32 @i32_load(ptr noundef %1349, i64 noundef %1352)
  store i32 %1353, ptr %24, align 4, !tbaa !9
  %1354 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1354, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1355 = load i32, ptr %25, align 4, !tbaa !9
  %1356 = load i32, ptr %24, align 4, !tbaa !9
  %1357 = add i32 %1356, %1355
  store i32 %1357, ptr %24, align 4, !tbaa !9
  %1358 = load ptr, ptr %9, align 8, !tbaa !5
  %1359 = getelementptr inbounds %struct.w2c_hermes, ptr %1358, i32 0, i32 6
  %1360 = load i32, ptr %23, align 4, !tbaa !9
  %1361 = zext i32 %1360 to i64
  %1362 = add i64 %1361, 5800
  %1363 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1359, i64 noundef %1362, i32 noundef %1363)
  %1364 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1364, ptr %23, align 4, !tbaa !9
  %1365 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1365, ptr %24, align 4, !tbaa !9
  %1366 = load ptr, ptr %9, align 8, !tbaa !5
  %1367 = getelementptr inbounds %struct.w2c_hermes, ptr %1366, i32 0, i32 6
  %1368 = load i32, ptr %23, align 4, !tbaa !9
  %1369 = zext i32 %1368 to i64
  %1370 = add i64 %1369, 151
  %1371 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1367, i64 noundef %1370, i32 noundef %1371)
  %1372 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1372, ptr %23, align 4, !tbaa !9
  %1373 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1373, ptr %24, align 4, !tbaa !9
  %1374 = load ptr, ptr %9, align 8, !tbaa !5
  %1375 = getelementptr inbounds %struct.w2c_hermes, ptr %1374, i32 0, i32 6
  %1376 = load i32, ptr %24, align 4, !tbaa !9
  %1377 = zext i32 %1376 to i64
  %1378 = call i64 @i64_load(ptr noundef %1375, i64 noundef %1377)
  store i64 %1378, ptr %32, align 8, !tbaa !11
  %1379 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1379, ptr %22, align 8, !tbaa !11
  %1380 = load ptr, ptr %9, align 8, !tbaa !5
  %1381 = getelementptr inbounds %struct.w2c_hermes, ptr %1380, i32 0, i32 6
  %1382 = load i32, ptr %23, align 4, !tbaa !9
  %1383 = zext i32 %1382 to i64
  %1384 = add i64 %1383, 136
  %1385 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1381, i64 noundef %1384, i64 noundef %1385)
  %1386 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1386, ptr %23, align 4, !tbaa !9
  %1387 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1387, ptr %24, align 4, !tbaa !9
  %1388 = load ptr, ptr %9, align 8, !tbaa !5
  %1389 = getelementptr inbounds %struct.w2c_hermes, ptr %1388, i32 0, i32 6
  %1390 = load i32, ptr %23, align 4, !tbaa !9
  %1391 = zext i32 %1390 to i64
  %1392 = add i64 %1391, 15
  %1393 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1389, i64 noundef %1392, i32 noundef %1393)
  %1394 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1394, ptr %23, align 4, !tbaa !9
  %1395 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %1395, ptr %32, align 8, !tbaa !11
  %1396 = load ptr, ptr %9, align 8, !tbaa !5
  %1397 = getelementptr inbounds %struct.w2c_hermes, ptr %1396, i32 0, i32 6
  %1398 = load i32, ptr %23, align 4, !tbaa !9
  %1399 = zext i32 %1398 to i64
  %1400 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1397, i64 noundef %1399, i64 noundef %1400)
  %1401 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1401, ptr %23, align 4, !tbaa !9
  %1402 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1402, ptr %24, align 4, !tbaa !9
  store i32 152, ptr %25, align 4, !tbaa !9
  %1403 = load i32, ptr %25, align 4, !tbaa !9
  %1404 = load i32, ptr %24, align 4, !tbaa !9
  %1405 = add i32 %1404, %1403
  store i32 %1405, ptr %24, align 4, !tbaa !9
  %1406 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1406, ptr %25, align 4, !tbaa !9
  %1407 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1407, ptr %26, align 4, !tbaa !9
  %1408 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1408, ptr %27, align 4, !tbaa !9
  store i32 15, ptr %28, align 4, !tbaa !9
  %1409 = load i32, ptr %28, align 4, !tbaa !9
  %1410 = load i32, ptr %27, align 4, !tbaa !9
  %1411 = add i32 %1410, %1409
  store i32 %1411, ptr %27, align 4, !tbaa !9
  %1412 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1412, ptr %28, align 4, !tbaa !9
  %1413 = load ptr, ptr %9, align 8, !tbaa !5
  %1414 = load i32, ptr %23, align 4, !tbaa !9
  %1415 = load i32, ptr %24, align 4, !tbaa !9
  %1416 = load i32, ptr %25, align 4, !tbaa !9
  %1417 = load i32, ptr %26, align 4, !tbaa !9
  %1418 = load i32, ptr %27, align 4, !tbaa !9
  %1419 = load i32, ptr %28, align 4, !tbaa !9
  %1420 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x260x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModuleFlags0x2C0x20llvh0x3A0x3AStringRef0x29(ptr noundef %1413, i32 noundef %1414, i32 noundef %1415, i32 noundef %1416, i32 noundef %1417, i32 noundef %1418, i32 noundef %1419)
  store i32 %1420, ptr %23, align 4, !tbaa !9
  %1421 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1421, ptr %12, align 4, !tbaa !9
  %1422 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1422, ptr %23, align 4, !tbaa !9
  %1423 = load ptr, ptr %9, align 8, !tbaa !5
  %1424 = getelementptr inbounds %struct.w2c_hermes, ptr %1423, i32 0, i32 6
  %1425 = load i32, ptr %23, align 4, !tbaa !9
  %1426 = zext i32 %1425 to i64
  %1427 = add i64 %1426, 152
  %1428 = call i32 @i32_load(ptr noundef %1424, i64 noundef %1427)
  store i32 %1428, ptr %23, align 4, !tbaa !9
  %1429 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1429, ptr %19, align 4, !tbaa !9
  %1430 = load i32, ptr %23, align 4, !tbaa !9
  %1431 = icmp ne i32 %1430, 0
  br i1 %1431, label %1432, label %1448

1432:                                             ; preds = %1345
  %1433 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1433, ptr %23, align 4, !tbaa !9
  %1434 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1434, ptr %24, align 4, !tbaa !9
  %1435 = load ptr, ptr %9, align 8, !tbaa !5
  %1436 = getelementptr inbounds %struct.w2c_hermes, ptr %1435, i32 0, i32 6
  %1437 = load i32, ptr %24, align 4, !tbaa !9
  %1438 = zext i32 %1437 to i64
  %1439 = call i32 @i32_load(ptr noundef %1436, i64 noundef %1438)
  store i32 %1439, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1440 = load i32, ptr %25, align 4, !tbaa !9
  %1441 = load i32, ptr %24, align 4, !tbaa !9
  %1442 = sub i32 %1441, %1440
  store i32 %1442, ptr %24, align 4, !tbaa !9
  %1443 = load ptr, ptr %9, align 8, !tbaa !5
  %1444 = getelementptr inbounds %struct.w2c_hermes, ptr %1443, i32 0, i32 6
  %1445 = load i32, ptr %23, align 4, !tbaa !9
  %1446 = zext i32 %1445 to i64
  %1447 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1444, i64 noundef %1446, i32 noundef %1447)
  br label %1448

1448:                                             ; preds = %1432, %1345
  %1449 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1449, ptr %23, align 4, !tbaa !9
  store i32 -1, ptr %24, align 4, !tbaa !9
  %1450 = load i32, ptr %23, align 4, !tbaa !9
  %1451 = load i32, ptr %24, align 4, !tbaa !9
  %1452 = icmp eq i32 %1450, %1451
  %1453 = zext i1 %1452 to i32
  store i32 %1453, ptr %23, align 4, !tbaa !9
  %1454 = load i32, ptr %23, align 4, !tbaa !9
  %1455 = icmp ne i32 %1454, 0
  br i1 %1455, label %1456, label %1463

1456:                                             ; preds = %1448
  %1457 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1457, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1458 = load ptr, ptr %9, align 8, !tbaa !5
  %1459 = getelementptr inbounds %struct.w2c_hermes, ptr %1458, i32 0, i32 6
  %1460 = load i32, ptr %23, align 4, !tbaa !9
  %1461 = zext i32 %1460 to i64
  %1462 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1459, i64 noundef %1461, i32 noundef %1462)
  br label %2853

1463:                                             ; preds = %1448
  %1464 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1464, ptr %23, align 4, !tbaa !9
  %1465 = load ptr, ptr %9, align 8, !tbaa !5
  %1466 = getelementptr inbounds %struct.w2c_hermes, ptr %1465, i32 0, i32 6
  %1467 = load i32, ptr %23, align 4, !tbaa !9
  %1468 = zext i32 %1467 to i64
  %1469 = add i64 %1468, 28
  %1470 = call i32 @i32_load(ptr noundef %1466, i64 noundef %1469)
  store i32 %1470, ptr %23, align 4, !tbaa !9
  %1471 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1471, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1472 = load i32, ptr %25, align 4, !tbaa !9
  %1473 = and i32 %1472, 31
  %1474 = load i32, ptr %24, align 4, !tbaa !9
  %1475 = shl i32 %1474, %1473
  store i32 %1475, ptr %24, align 4, !tbaa !9
  %1476 = load i32, ptr %24, align 4, !tbaa !9
  %1477 = load i32, ptr %23, align 4, !tbaa !9
  %1478 = add i32 %1477, %1476
  store i32 %1478, ptr %23, align 4, !tbaa !9
  %1479 = load ptr, ptr %9, align 8, !tbaa !5
  %1480 = getelementptr inbounds %struct.w2c_hermes, ptr %1479, i32 0, i32 6
  %1481 = load i32, ptr %23, align 4, !tbaa !9
  %1482 = zext i32 %1481 to i64
  %1483 = call i32 @i32_load(ptr noundef %1480, i64 noundef %1482)
  store i32 %1483, ptr %23, align 4, !tbaa !9
  %1484 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1484, ptr %19, align 4, !tbaa !9
  %1485 = load i32, ptr %23, align 4, !tbaa !9
  %1486 = icmp ne i32 %1485, 0
  %1487 = xor i1 %1486, true
  %1488 = zext i1 %1487 to i32
  store i32 %1488, ptr %23, align 4, !tbaa !9
  %1489 = load i32, ptr %23, align 4, !tbaa !9
  %1490 = icmp ne i32 %1489, 0
  br i1 %1490, label %1491, label %1499

1491:                                             ; preds = %1463
  %1492 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1492, ptr %23, align 4, !tbaa !9
  %1493 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1493, ptr %24, align 4, !tbaa !9
  %1494 = load ptr, ptr %9, align 8, !tbaa !5
  %1495 = load i32, ptr %23, align 4, !tbaa !9
  %1496 = load i32, ptr %24, align 4, !tbaa !9
  %1497 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AgetCodeBlockSlowPath0x28unsigned0x20int0x29(ptr noundef %1494, i32 noundef %1495, i32 noundef %1496)
  store i32 %1497, ptr %23, align 4, !tbaa !9
  %1498 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1498, ptr %19, align 4, !tbaa !9
  br label %1499

1499:                                             ; preds = %1491, %1463
  %1500 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1500, ptr %23, align 4, !tbaa !9
  %1501 = load ptr, ptr %9, align 8, !tbaa !5
  %1502 = getelementptr inbounds %struct.w2c_hermes, ptr %1501, i32 0, i32 6
  %1503 = load i32, ptr %23, align 4, !tbaa !9
  %1504 = zext i32 %1503 to i64
  %1505 = add i64 %1504, 40
  %1506 = call i32 @i32_load(ptr noundef %1502, i64 noundef %1505)
  store i32 %1506, ptr %23, align 4, !tbaa !9
  %1507 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1507, ptr %12, align 4, !tbaa !9
  %1508 = load ptr, ptr %9, align 8, !tbaa !5
  %1509 = getelementptr inbounds %struct.w2c_hermes, ptr %1508, i32 0, i32 6
  %1510 = load i32, ptr %23, align 4, !tbaa !9
  %1511 = zext i32 %1510 to i64
  %1512 = add i64 %1511, 104
  %1513 = call i64 @i64_load(ptr noundef %1509, i64 noundef %1512)
  store i64 %1513, ptr %31, align 8, !tbaa !11
  store i64 4294967296, ptr %32, align 8, !tbaa !11
  %1514 = load i64, ptr %31, align 8, !tbaa !11
  %1515 = load i64, ptr %32, align 8, !tbaa !11
  %1516 = icmp uge i64 %1514, %1515
  %1517 = zext i1 %1516 to i32
  store i32 %1517, ptr %23, align 4, !tbaa !9
  %1518 = load i32, ptr %23, align 4, !tbaa !9
  %1519 = icmp ne i32 %1518, 0
  br i1 %1519, label %1520, label %2038

1520:                                             ; preds = %1499
  %1521 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1521, ptr %23, align 4, !tbaa !9
  %1522 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1522, ptr %24, align 4, !tbaa !9
  %1523 = load ptr, ptr %9, align 8, !tbaa !5
  %1524 = getelementptr inbounds %struct.w2c_hermes, ptr %1523, i32 0, i32 6
  %1525 = load i32, ptr %24, align 4, !tbaa !9
  %1526 = zext i32 %1525 to i64
  %1527 = add i64 %1526, 4
  %1528 = call i32 @i32_load(ptr noundef %1524, i64 noundef %1527)
  store i32 %1528, ptr %24, align 4, !tbaa !9
  %1529 = load ptr, ptr %9, align 8, !tbaa !5
  %1530 = getelementptr inbounds %struct.w2c_hermes, ptr %1529, i32 0, i32 6
  %1531 = load i32, ptr %23, align 4, !tbaa !9
  %1532 = zext i32 %1531 to i64
  %1533 = add i64 %1532, 132
  %1534 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1530, i64 noundef %1533, i32 noundef %1534)
  %1535 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1535, ptr %23, align 4, !tbaa !9
  %1536 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1536, ptr %24, align 4, !tbaa !9
  %1537 = load ptr, ptr %9, align 8, !tbaa !5
  %1538 = getelementptr inbounds %struct.w2c_hermes, ptr %1537, i32 0, i32 6
  %1539 = load i32, ptr %24, align 4, !tbaa !9
  %1540 = zext i32 %1539 to i64
  %1541 = call i32 @i32_load(ptr noundef %1538, i64 noundef %1540)
  store i32 %1541, ptr %24, align 4, !tbaa !9
  %1542 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1542, ptr %12, align 4, !tbaa !9
  %1543 = load ptr, ptr %9, align 8, !tbaa !5
  %1544 = getelementptr inbounds %struct.w2c_hermes, ptr %1543, i32 0, i32 6
  %1545 = load i32, ptr %23, align 4, !tbaa !9
  %1546 = zext i32 %1545 to i64
  %1547 = add i64 %1546, 128
  %1548 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1544, i64 noundef %1547, i32 noundef %1548)
  %1549 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1549, ptr %23, align 4, !tbaa !9
  %1550 = load i32, ptr %23, align 4, !tbaa !9
  %1551 = icmp ne i32 %1550, 0
  br i1 %1551, label %1552, label %1568

1552:                                             ; preds = %1520
  %1553 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1553, ptr %23, align 4, !tbaa !9
  %1554 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1554, ptr %24, align 4, !tbaa !9
  %1555 = load ptr, ptr %9, align 8, !tbaa !5
  %1556 = getelementptr inbounds %struct.w2c_hermes, ptr %1555, i32 0, i32 6
  %1557 = load i32, ptr %24, align 4, !tbaa !9
  %1558 = zext i32 %1557 to i64
  %1559 = call i32 @i32_load(ptr noundef %1556, i64 noundef %1558)
  store i32 %1559, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1560 = load i32, ptr %25, align 4, !tbaa !9
  %1561 = load i32, ptr %24, align 4, !tbaa !9
  %1562 = add i32 %1561, %1560
  store i32 %1562, ptr %24, align 4, !tbaa !9
  %1563 = load ptr, ptr %9, align 8, !tbaa !5
  %1564 = getelementptr inbounds %struct.w2c_hermes, ptr %1563, i32 0, i32 6
  %1565 = load i32, ptr %23, align 4, !tbaa !9
  %1566 = zext i32 %1565 to i64
  %1567 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1564, i64 noundef %1566, i32 noundef %1567)
  br label %1568

1568:                                             ; preds = %1552, %1520
  %1569 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1569, ptr %23, align 4, !tbaa !9
  store i32 40, ptr %24, align 4, !tbaa !9
  %1570 = load i32, ptr %24, align 4, !tbaa !9
  %1571 = load i32, ptr %23, align 4, !tbaa !9
  %1572 = add i32 %1571, %1570
  store i32 %1572, ptr %23, align 4, !tbaa !9
  %1573 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1573, ptr %24, align 4, !tbaa !9
  %1574 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1574, ptr %25, align 4, !tbaa !9
  store i32 128, ptr %26, align 4, !tbaa !9
  %1575 = load i32, ptr %26, align 4, !tbaa !9
  %1576 = load i32, ptr %25, align 4, !tbaa !9
  %1577 = add i32 %1576, %1575
  store i32 %1577, ptr %25, align 4, !tbaa !9
  %1578 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1578, ptr %26, align 4, !tbaa !9
  store i32 120, ptr %27, align 4, !tbaa !9
  %1579 = load i32, ptr %27, align 4, !tbaa !9
  %1580 = load i32, ptr %26, align 4, !tbaa !9
  %1581 = add i32 %1580, %1579
  store i32 %1581, ptr %26, align 4, !tbaa !9
  %1582 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1582, ptr %27, align 4, !tbaa !9
  %1583 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1583, ptr %28, align 4, !tbaa !9
  store i32 5516, ptr %29, align 4, !tbaa !9
  %1584 = load i32, ptr %29, align 4, !tbaa !9
  %1585 = load i32, ptr %28, align 4, !tbaa !9
  %1586 = add i32 %1585, %1584
  store i32 %1586, ptr %28, align 4, !tbaa !9
  %1587 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1587, ptr %29, align 4, !tbaa !9
  store i32 474, ptr %30, align 4, !tbaa !9
  %1588 = load ptr, ptr %9, align 8, !tbaa !5
  %1589 = load i32, ptr %28, align 4, !tbaa !9
  %1590 = load i32, ptr %29, align 4, !tbaa !9
  %1591 = load i32, ptr %30, align 4, !tbaa !9
  %1592 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef %1588, i32 noundef %1589, i32 noundef %1590, i32 noundef %1591)
  store i32 %1592, ptr %28, align 4, !tbaa !9
  %1593 = load ptr, ptr %9, align 8, !tbaa !5
  %1594 = load i32, ptr %26, align 4, !tbaa !9
  %1595 = load i32, ptr %27, align 4, !tbaa !9
  %1596 = load i32, ptr %28, align 4, !tbaa !9
  %1597 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AStringPrimitive0x2A0x29(ptr noundef %1593, i32 noundef %1594, i32 noundef %1595, i32 noundef %1596)
  store i32 %1597, ptr %26, align 4, !tbaa !9
  %1598 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1598, ptr %12, align 4, !tbaa !9
  %1599 = load ptr, ptr %9, align 8, !tbaa !5
  %1600 = load i32, ptr %23, align 4, !tbaa !9
  %1601 = load i32, ptr %24, align 4, !tbaa !9
  %1602 = load i32, ptr %25, align 4, !tbaa !9
  %1603 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef %1599, i32 noundef %1600, i32 noundef %1601, i32 noundef %1602, i32 noundef %1603)
  %1604 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1604, ptr %23, align 4, !tbaa !9
  %1605 = load ptr, ptr %9, align 8, !tbaa !5
  %1606 = getelementptr inbounds %struct.w2c_hermes, ptr %1605, i32 0, i32 6
  %1607 = load i32, ptr %23, align 4, !tbaa !9
  %1608 = zext i32 %1607 to i64
  %1609 = call i32 @i32_load(ptr noundef %1606, i64 noundef %1608)
  store i32 %1609, ptr %23, align 4, !tbaa !9
  %1610 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1610, ptr %12, align 4, !tbaa !9
  %1611 = load i32, ptr %23, align 4, !tbaa !9
  %1612 = icmp ne i32 %1611, 0
  br i1 %1612, label %1613, label %1629

1613:                                             ; preds = %1568
  %1614 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1614, ptr %23, align 4, !tbaa !9
  %1615 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1615, ptr %24, align 4, !tbaa !9
  %1616 = load ptr, ptr %9, align 8, !tbaa !5
  %1617 = getelementptr inbounds %struct.w2c_hermes, ptr %1616, i32 0, i32 6
  %1618 = load i32, ptr %24, align 4, !tbaa !9
  %1619 = zext i32 %1618 to i64
  %1620 = call i32 @i32_load(ptr noundef %1617, i64 noundef %1619)
  store i32 %1620, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1621 = load i32, ptr %25, align 4, !tbaa !9
  %1622 = load i32, ptr %24, align 4, !tbaa !9
  %1623 = sub i32 %1622, %1621
  store i32 %1623, ptr %24, align 4, !tbaa !9
  %1624 = load ptr, ptr %9, align 8, !tbaa !5
  %1625 = getelementptr inbounds %struct.w2c_hermes, ptr %1624, i32 0, i32 6
  %1626 = load i32, ptr %23, align 4, !tbaa !9
  %1627 = zext i32 %1626 to i64
  %1628 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1625, i64 noundef %1627, i32 noundef %1628)
  br label %1629

1629:                                             ; preds = %1613, %1568
  %1630 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1630, ptr %23, align 4, !tbaa !9
  %1631 = load ptr, ptr %9, align 8, !tbaa !5
  %1632 = getelementptr inbounds %struct.w2c_hermes, ptr %1631, i32 0, i32 6
  %1633 = load i32, ptr %23, align 4, !tbaa !9
  %1634 = zext i32 %1633 to i64
  %1635 = add i64 %1634, 128
  %1636 = call i32 @i32_load(ptr noundef %1632, i64 noundef %1635)
  store i32 %1636, ptr %23, align 4, !tbaa !9
  %1637 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1637, ptr %12, align 4, !tbaa !9
  %1638 = load i32, ptr %23, align 4, !tbaa !9
  %1639 = icmp ne i32 %1638, 0
  br i1 %1639, label %1640, label %1656

1640:                                             ; preds = %1629
  %1641 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1641, ptr %23, align 4, !tbaa !9
  %1642 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1642, ptr %24, align 4, !tbaa !9
  %1643 = load ptr, ptr %9, align 8, !tbaa !5
  %1644 = getelementptr inbounds %struct.w2c_hermes, ptr %1643, i32 0, i32 6
  %1645 = load i32, ptr %24, align 4, !tbaa !9
  %1646 = zext i32 %1645 to i64
  %1647 = call i32 @i32_load(ptr noundef %1644, i64 noundef %1646)
  store i32 %1647, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1648 = load i32, ptr %25, align 4, !tbaa !9
  %1649 = load i32, ptr %24, align 4, !tbaa !9
  %1650 = sub i32 %1649, %1648
  store i32 %1650, ptr %24, align 4, !tbaa !9
  %1651 = load ptr, ptr %9, align 8, !tbaa !5
  %1652 = getelementptr inbounds %struct.w2c_hermes, ptr %1651, i32 0, i32 6
  %1653 = load i32, ptr %23, align 4, !tbaa !9
  %1654 = zext i32 %1653 to i64
  %1655 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1652, i64 noundef %1654, i32 noundef %1655)
  br label %1656

1656:                                             ; preds = %1640, %1629
  %1657 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1657, ptr %23, align 4, !tbaa !9
  %1658 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1658, ptr %24, align 4, !tbaa !9
  %1659 = load ptr, ptr %9, align 8, !tbaa !5
  %1660 = getelementptr inbounds %struct.w2c_hermes, ptr %1659, i32 0, i32 6
  %1661 = load i32, ptr %24, align 4, !tbaa !9
  %1662 = zext i32 %1661 to i64
  %1663 = add i64 %1662, 44
  %1664 = call i32 @i32_load(ptr noundef %1660, i64 noundef %1663)
  store i32 %1664, ptr %24, align 4, !tbaa !9
  %1665 = load ptr, ptr %9, align 8, !tbaa !5
  %1666 = getelementptr inbounds %struct.w2c_hermes, ptr %1665, i32 0, i32 6
  %1667 = load i32, ptr %23, align 4, !tbaa !9
  %1668 = zext i32 %1667 to i64
  %1669 = add i64 %1668, 116
  %1670 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1666, i64 noundef %1669, i32 noundef %1670)
  %1671 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1671, ptr %23, align 4, !tbaa !9
  %1672 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1672, ptr %24, align 4, !tbaa !9
  %1673 = load ptr, ptr %9, align 8, !tbaa !5
  %1674 = getelementptr inbounds %struct.w2c_hermes, ptr %1673, i32 0, i32 6
  %1675 = load i32, ptr %24, align 4, !tbaa !9
  %1676 = zext i32 %1675 to i64
  %1677 = add i64 %1676, 40
  %1678 = call i32 @i32_load(ptr noundef %1674, i64 noundef %1677)
  store i32 %1678, ptr %24, align 4, !tbaa !9
  %1679 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1679, ptr %12, align 4, !tbaa !9
  %1680 = load ptr, ptr %9, align 8, !tbaa !5
  %1681 = getelementptr inbounds %struct.w2c_hermes, ptr %1680, i32 0, i32 6
  %1682 = load i32, ptr %23, align 4, !tbaa !9
  %1683 = zext i32 %1682 to i64
  %1684 = add i64 %1683, 112
  %1685 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1681, i64 noundef %1684, i32 noundef %1685)
  %1686 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1686, ptr %23, align 4, !tbaa !9
  %1687 = load i32, ptr %23, align 4, !tbaa !9
  %1688 = icmp ne i32 %1687, 0
  br i1 %1688, label %1689, label %1705

1689:                                             ; preds = %1656
  %1690 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1690, ptr %23, align 4, !tbaa !9
  %1691 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1691, ptr %24, align 4, !tbaa !9
  %1692 = load ptr, ptr %9, align 8, !tbaa !5
  %1693 = getelementptr inbounds %struct.w2c_hermes, ptr %1692, i32 0, i32 6
  %1694 = load i32, ptr %24, align 4, !tbaa !9
  %1695 = zext i32 %1694 to i64
  %1696 = call i32 @i32_load(ptr noundef %1693, i64 noundef %1695)
  store i32 %1696, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1697 = load i32, ptr %25, align 4, !tbaa !9
  %1698 = load i32, ptr %24, align 4, !tbaa !9
  %1699 = add i32 %1698, %1697
  store i32 %1699, ptr %24, align 4, !tbaa !9
  %1700 = load ptr, ptr %9, align 8, !tbaa !5
  %1701 = getelementptr inbounds %struct.w2c_hermes, ptr %1700, i32 0, i32 6
  %1702 = load i32, ptr %23, align 4, !tbaa !9
  %1703 = zext i32 %1702 to i64
  %1704 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1701, i64 noundef %1703, i32 noundef %1704)
  br label %1705

1705:                                             ; preds = %1689, %1656
  %1706 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1706, ptr %23, align 4, !tbaa !9
  %1707 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1707, ptr %24, align 4, !tbaa !9
  %1708 = load ptr, ptr %9, align 8, !tbaa !5
  %1709 = getelementptr inbounds %struct.w2c_hermes, ptr %1708, i32 0, i32 6
  %1710 = load i32, ptr %24, align 4, !tbaa !9
  %1711 = zext i32 %1710 to i64
  %1712 = add i64 %1711, 4
  %1713 = call i32 @i32_load(ptr noundef %1709, i64 noundef %1712)
  store i32 %1713, ptr %24, align 4, !tbaa !9
  %1714 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1714, ptr %19, align 4, !tbaa !9
  %1715 = load ptr, ptr %9, align 8, !tbaa !5
  %1716 = getelementptr inbounds %struct.w2c_hermes, ptr %1715, i32 0, i32 6
  %1717 = load i32, ptr %23, align 4, !tbaa !9
  %1718 = zext i32 %1717 to i64
  %1719 = add i64 %1718, 108
  %1720 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1716, i64 noundef %1719, i32 noundef %1720)
  %1721 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1721, ptr %23, align 4, !tbaa !9
  %1722 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1722, ptr %24, align 4, !tbaa !9
  %1723 = load ptr, ptr %9, align 8, !tbaa !5
  %1724 = getelementptr inbounds %struct.w2c_hermes, ptr %1723, i32 0, i32 6
  %1725 = load i32, ptr %24, align 4, !tbaa !9
  %1726 = zext i32 %1725 to i64
  %1727 = call i32 @i32_load(ptr noundef %1724, i64 noundef %1726)
  store i32 %1727, ptr %24, align 4, !tbaa !9
  %1728 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1728, ptr %12, align 4, !tbaa !9
  %1729 = load ptr, ptr %9, align 8, !tbaa !5
  %1730 = getelementptr inbounds %struct.w2c_hermes, ptr %1729, i32 0, i32 6
  %1731 = load i32, ptr %23, align 4, !tbaa !9
  %1732 = zext i32 %1731 to i64
  %1733 = add i64 %1732, 104
  %1734 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1730, i64 noundef %1733, i32 noundef %1734)
  %1735 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1735, ptr %23, align 4, !tbaa !9
  %1736 = load i32, ptr %23, align 4, !tbaa !9
  %1737 = icmp ne i32 %1736, 0
  br i1 %1737, label %1738, label %1754

1738:                                             ; preds = %1705
  %1739 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1739, ptr %23, align 4, !tbaa !9
  %1740 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1740, ptr %24, align 4, !tbaa !9
  %1741 = load ptr, ptr %9, align 8, !tbaa !5
  %1742 = getelementptr inbounds %struct.w2c_hermes, ptr %1741, i32 0, i32 6
  %1743 = load i32, ptr %24, align 4, !tbaa !9
  %1744 = zext i32 %1743 to i64
  %1745 = call i32 @i32_load(ptr noundef %1742, i64 noundef %1744)
  store i32 %1745, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1746 = load i32, ptr %25, align 4, !tbaa !9
  %1747 = load i32, ptr %24, align 4, !tbaa !9
  %1748 = add i32 %1747, %1746
  store i32 %1748, ptr %24, align 4, !tbaa !9
  %1749 = load ptr, ptr %9, align 8, !tbaa !5
  %1750 = getelementptr inbounds %struct.w2c_hermes, ptr %1749, i32 0, i32 6
  %1751 = load i32, ptr %23, align 4, !tbaa !9
  %1752 = zext i32 %1751 to i64
  %1753 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1750, i64 noundef %1752, i32 noundef %1753)
  br label %1754

1754:                                             ; preds = %1738, %1705
  %1755 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1755, ptr %23, align 4, !tbaa !9
  %1756 = load ptr, ptr %9, align 8, !tbaa !5
  %1757 = getelementptr inbounds %struct.w2c_hermes, ptr %1756, i32 0, i32 6
  %1758 = load i32, ptr %23, align 4, !tbaa !9
  %1759 = zext i32 %1758 to i64
  %1760 = call i64 @i64_load(ptr noundef %1757, i64 noundef %1759)
  store i64 %1760, ptr %31, align 8, !tbaa !11
  %1761 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1761, ptr %22, align 8, !tbaa !11
  store i64 48, ptr %32, align 8, !tbaa !11
  %1762 = load i64, ptr %31, align 8, !tbaa !11
  %1763 = load i64, ptr %32, align 8, !tbaa !11
  %1764 = and i64 %1763, 63
  %1765 = ashr i64 %1762, %1764
  store i64 %1765, ptr %31, align 8, !tbaa !11
  %1766 = load i64, ptr %31, align 8, !tbaa !11
  %1767 = trunc i64 %1766 to i32
  store i32 %1767, ptr %23, align 4, !tbaa !9
  store i32 -1, ptr %24, align 4, !tbaa !9
  %1768 = load i32, ptr %23, align 4, !tbaa !9
  %1769 = load i32, ptr %24, align 4, !tbaa !9
  %1770 = icmp ne i32 %1768, %1769
  %1771 = zext i1 %1770 to i32
  store i32 %1771, ptr %23, align 4, !tbaa !9
  %1772 = load i32, ptr %23, align 4, !tbaa !9
  %1773 = icmp ne i32 %1772, 0
  br i1 %1773, label %1774, label %1775

1774:                                             ; preds = %1754
  br label %3017

1775:                                             ; preds = %1754
  %1776 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %1776, ptr %31, align 8, !tbaa !11
  store i64 -844424930131969, ptr %32, align 8, !tbaa !11
  %1777 = load i64, ptr %31, align 8, !tbaa !11
  %1778 = load i64, ptr %32, align 8, !tbaa !11
  %1779 = icmp ule i64 %1777, %1778
  %1780 = zext i1 %1779 to i32
  store i32 %1780, ptr %23, align 4, !tbaa !9
  %1781 = load i32, ptr %23, align 4, !tbaa !9
  %1782 = icmp ne i32 %1781, 0
  br i1 %1782, label %1783, label %1784

1783:                                             ; preds = %1775
  br label %3035

1784:                                             ; preds = %1775
  %1785 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %1785, ptr %31, align 8, !tbaa !11
  %1786 = load i64, ptr %31, align 8, !tbaa !11
  %1787 = trunc i64 %1786 to i32
  store i32 %1787, ptr %23, align 4, !tbaa !9
  %1788 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1788, ptr %12, align 4, !tbaa !9
  %1789 = load i32, ptr %23, align 4, !tbaa !9
  %1790 = icmp ne i32 %1789, 0
  %1791 = xor i1 %1790, true
  %1792 = zext i1 %1791 to i32
  store i32 %1792, ptr %23, align 4, !tbaa !9
  %1793 = load i32, ptr %23, align 4, !tbaa !9
  %1794 = icmp ne i32 %1793, 0
  br i1 %1794, label %1795, label %1796

1795:                                             ; preds = %1784
  br label %3053

1796:                                             ; preds = %1784
  %1797 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1797, ptr %23, align 4, !tbaa !9
  store i32 -64, ptr %24, align 4, !tbaa !9
  %1798 = load i32, ptr %24, align 4, !tbaa !9
  %1799 = load i32, ptr %23, align 4, !tbaa !9
  %1800 = sub i32 %1799, %1798
  store i32 %1800, ptr %23, align 4, !tbaa !9
  %1801 = load ptr, ptr %9, align 8, !tbaa !5
  %1802 = getelementptr inbounds %struct.w2c_hermes, ptr %1801, i32 0, i32 6
  %1803 = load i32, ptr %23, align 4, !tbaa !9
  %1804 = zext i32 %1803 to i64
  %1805 = call i32 @i32_load8_u(ptr noundef %1802, i64 noundef %1804)
  store i32 %1805, ptr %23, align 4, !tbaa !9
  %1806 = load i32, ptr %23, align 4, !tbaa !9
  %1807 = icmp ne i32 %1806, 0
  %1808 = xor i1 %1807, true
  %1809 = zext i1 %1808 to i32
  store i32 %1809, ptr %23, align 4, !tbaa !9
  %1810 = load i32, ptr %23, align 4, !tbaa !9
  %1811 = icmp ne i32 %1810, 0
  br i1 %1811, label %1812, label %1813

1812:                                             ; preds = %1796
  br label %3071

1813:                                             ; preds = %1796
  %1814 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1814, ptr %23, align 4, !tbaa !9
  %1815 = load ptr, ptr %9, align 8, !tbaa !5
  %1816 = getelementptr inbounds %struct.w2c_hermes, ptr %1815, i32 0, i32 6
  %1817 = load i32, ptr %23, align 4, !tbaa !9
  %1818 = zext i32 %1817 to i64
  %1819 = add i64 %1818, 12
  %1820 = call i32 @i32_load(ptr noundef %1816, i64 noundef %1819)
  store i32 %1820, ptr %23, align 4, !tbaa !9
  %1821 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1821, ptr %19, align 4, !tbaa !9
  %1822 = load i32, ptr %23, align 4, !tbaa !9
  %1823 = icmp ne i32 %1822, 0
  %1824 = xor i1 %1823, true
  %1825 = zext i1 %1824 to i32
  store i32 %1825, ptr %23, align 4, !tbaa !9
  %1826 = load i32, ptr %23, align 4, !tbaa !9
  %1827 = icmp ne i32 %1826, 0
  br i1 %1827, label %1828, label %1829

1828:                                             ; preds = %1813
  br label %3089

1829:                                             ; preds = %1813
  %1830 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1830, ptr %23, align 4, !tbaa !9
  %1831 = load ptr, ptr %9, align 8, !tbaa !5
  %1832 = getelementptr inbounds %struct.w2c_hermes, ptr %1831, i32 0, i32 6
  %1833 = load i32, ptr %23, align 4, !tbaa !9
  %1834 = zext i32 %1833 to i64
  %1835 = add i64 %1834, 3
  %1836 = call i32 @i32_load8_u(ptr noundef %1832, i64 noundef %1835)
  store i32 %1836, ptr %23, align 4, !tbaa !9
  store i32 24, ptr %24, align 4, !tbaa !9
  %1837 = load i32, ptr %24, align 4, !tbaa !9
  %1838 = and i32 %1837, 31
  %1839 = load i32, ptr %23, align 4, !tbaa !9
  %1840 = shl i32 %1839, %1838
  store i32 %1840, ptr %23, align 4, !tbaa !9
  store i32 234881024, ptr %24, align 4, !tbaa !9
  %1841 = load i32, ptr %23, align 4, !tbaa !9
  %1842 = load i32, ptr %24, align 4, !tbaa !9
  %1843 = icmp ne i32 %1841, %1842
  %1844 = zext i1 %1843 to i32
  store i32 %1844, ptr %23, align 4, !tbaa !9
  %1845 = load i32, ptr %23, align 4, !tbaa !9
  %1846 = icmp ne i32 %1845, 0
  br i1 %1846, label %1847, label %1848

1847:                                             ; preds = %1829
  br label %3107

1848:                                             ; preds = %1829
  %1849 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1849, ptr %23, align 4, !tbaa !9
  %1850 = load ptr, ptr %9, align 8, !tbaa !5
  %1851 = getelementptr inbounds %struct.w2c_hermes, ptr %1850, i32 0, i32 6
  %1852 = load i32, ptr %23, align 4, !tbaa !9
  %1853 = zext i32 %1852 to i64
  %1854 = add i64 %1853, 60
  %1855 = call i32 @i32_load(ptr noundef %1851, i64 noundef %1854)
  store i32 %1855, ptr %23, align 4, !tbaa !9
  %1856 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1856, ptr %12, align 4, !tbaa !9
  %1857 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1857, ptr %24, align 4, !tbaa !9
  %1858 = load ptr, ptr %9, align 8, !tbaa !5
  %1859 = getelementptr inbounds %struct.w2c_hermes, ptr %1858, i32 0, i32 6
  %1860 = load i32, ptr %24, align 4, !tbaa !9
  %1861 = zext i32 %1860 to i64
  %1862 = add i64 %1861, 12
  %1863 = call i32 @i32_load(ptr noundef %1859, i64 noundef %1862)
  store i32 %1863, ptr %24, align 4, !tbaa !9
  %1864 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1864, ptr %13, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %1865 = load i32, ptr %25, align 4, !tbaa !9
  %1866 = icmp eq i32 %1865, 0
  %1867 = xor i1 %1866, true
  %1868 = xor i1 %1867, true
  %1869 = zext i1 %1868 to i32
  %1870 = sext i32 %1869 to i64
  %1871 = call i64 @llvm.expect.i64(i64 %1870, i64 0)
  %1872 = icmp ne i64 %1871, 0
  br i1 %1872, label %1873, label %1875

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

1874:                                             ; No predecessors!
  br label %1879

1875:                                             ; preds = %1848
  %1876 = load i32, ptr %24, align 4, !tbaa !9
  %1877 = load i32, ptr %25, align 4, !tbaa !9
  %1878 = udiv i32 %1876, %1877
  br label %1879

1879:                                             ; preds = %1875, %1874
  %1880 = phi i32 [ 0, %1874 ], [ %1878, %1875 ]
  store i32 %1880, ptr %24, align 4, !tbaa !9
  %1881 = load i32, ptr %23, align 4, !tbaa !9
  %1882 = load i32, ptr %24, align 4, !tbaa !9
  %1883 = icmp uge i32 %1881, %1882
  %1884 = zext i1 %1883 to i32
  store i32 %1884, ptr %23, align 4, !tbaa !9
  %1885 = load i32, ptr %23, align 4, !tbaa !9
  %1886 = icmp ne i32 %1885, 0
  br i1 %1886, label %1887, label %1888

1887:                                             ; preds = %1879
  br label %3143

1888:                                             ; preds = %1879
  %1889 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1889, ptr %23, align 4, !tbaa !9
  %1890 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1890, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %1891 = load i32, ptr %25, align 4, !tbaa !9
  %1892 = load i32, ptr %24, align 4, !tbaa !9
  %1893 = mul i32 %1892, %1891
  store i32 %1893, ptr %24, align 4, !tbaa !9
  %1894 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1894, ptr %14, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1895 = load i32, ptr %25, align 4, !tbaa !9
  %1896 = load i32, ptr %24, align 4, !tbaa !9
  %1897 = add i32 %1896, %1895
  store i32 %1897, ptr %24, align 4, !tbaa !9
  %1898 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1898, ptr %12, align 4, !tbaa !9
  %1899 = load i32, ptr %23, align 4, !tbaa !9
  %1900 = load i32, ptr %24, align 4, !tbaa !9
  %1901 = icmp ule i32 %1899, %1900
  %1902 = zext i1 %1901 to i32
  store i32 %1902, ptr %23, align 4, !tbaa !9
  %1903 = load i32, ptr %23, align 4, !tbaa !9
  %1904 = icmp ne i32 %1903, 0
  br i1 %1904, label %1905, label %1906

1905:                                             ; preds = %1888
  br label %3125

1906:                                             ; preds = %1888
  %1907 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1907, ptr %23, align 4, !tbaa !9
  %1908 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1908, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %1909 = load i32, ptr %25, align 4, !tbaa !9
  %1910 = and i32 %1909, 31
  %1911 = load i32, ptr %24, align 4, !tbaa !9
  %1912 = shl i32 %1911, %1910
  store i32 %1912, ptr %24, align 4, !tbaa !9
  %1913 = load i32, ptr %24, align 4, !tbaa !9
  %1914 = load i32, ptr %23, align 4, !tbaa !9
  %1915 = add i32 %1914, %1913
  store i32 %1915, ptr %23, align 4, !tbaa !9
  %1916 = load ptr, ptr %9, align 8, !tbaa !5
  %1917 = getelementptr inbounds %struct.w2c_hermes, ptr %1916, i32 0, i32 6
  %1918 = load i32, ptr %23, align 4, !tbaa !9
  %1919 = zext i32 %1918 to i64
  %1920 = add i64 %1919, 16
  %1921 = call i64 @i64_load(ptr noundef %1917, i64 noundef %1920)
  store i64 %1921, ptr %31, align 8, !tbaa !11
  store i64 47, ptr %32, align 8, !tbaa !11
  %1922 = load i64, ptr %31, align 8, !tbaa !11
  %1923 = load i64, ptr %32, align 8, !tbaa !11
  %1924 = and i64 %1923, 63
  %1925 = ashr i64 %1922, %1924
  store i64 %1925, ptr %31, align 8, !tbaa !11
  %1926 = load i64, ptr %31, align 8, !tbaa !11
  %1927 = trunc i64 %1926 to i32
  store i32 %1927, ptr %23, align 4, !tbaa !9
  store i32 -14, ptr %24, align 4, !tbaa !9
  %1928 = load i32, ptr %23, align 4, !tbaa !9
  %1929 = load i32, ptr %24, align 4, !tbaa !9
  %1930 = icmp eq i32 %1928, %1929
  %1931 = zext i1 %1930 to i32
  store i32 %1931, ptr %23, align 4, !tbaa !9
  %1932 = load i32, ptr %23, align 4, !tbaa !9
  %1933 = icmp ne i32 %1932, 0
  br i1 %1933, label %1934, label %1935

1934:                                             ; preds = %1906
  br label %3143

1935:                                             ; preds = %1906
  %1936 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1936, ptr %23, align 4, !tbaa !9
  %1937 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1937, ptr %24, align 4, !tbaa !9
  %1938 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1938, ptr %25, align 4, !tbaa !9
  store i32 112, ptr %26, align 4, !tbaa !9
  %1939 = load i32, ptr %26, align 4, !tbaa !9
  %1940 = load i32, ptr %25, align 4, !tbaa !9
  %1941 = add i32 %1940, %1939
  store i32 %1941, ptr %25, align 4, !tbaa !9
  %1942 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1942, ptr %26, align 4, !tbaa !9
  store i32 104, ptr %27, align 4, !tbaa !9
  %1943 = load i32, ptr %27, align 4, !tbaa !9
  %1944 = load i32, ptr %26, align 4, !tbaa !9
  %1945 = add i32 %1944, %1943
  store i32 %1945, ptr %26, align 4, !tbaa !9
  %1946 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1946, ptr %27, align 4, !tbaa !9
  %1947 = load ptr, ptr %9, align 8, !tbaa !5
  %1948 = load i32, ptr %23, align 4, !tbaa !9
  %1949 = load i32, ptr %24, align 4, !tbaa !9
  %1950 = load i32, ptr %25, align 4, !tbaa !9
  %1951 = load i32, ptr %26, align 4, !tbaa !9
  %1952 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %1947, i32 noundef %1948, i32 noundef %1949, i32 noundef %1950, i32 noundef %1951, i32 noundef %1952)
  %1953 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1953, ptr %23, align 4, !tbaa !9
  %1954 = load ptr, ptr %9, align 8, !tbaa !5
  %1955 = getelementptr inbounds %struct.w2c_hermes, ptr %1954, i32 0, i32 6
  %1956 = load i32, ptr %23, align 4, !tbaa !9
  %1957 = zext i32 %1956 to i64
  %1958 = add i64 %1957, 104
  %1959 = call i32 @i32_load(ptr noundef %1955, i64 noundef %1958)
  store i32 %1959, ptr %23, align 4, !tbaa !9
  %1960 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1960, ptr %11, align 4, !tbaa !9
  %1961 = load i32, ptr %23, align 4, !tbaa !9
  %1962 = icmp ne i32 %1961, 0
  br i1 %1962, label %1963, label %1979

1963:                                             ; preds = %1935
  %1964 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1964, ptr %23, align 4, !tbaa !9
  %1965 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1965, ptr %24, align 4, !tbaa !9
  %1966 = load ptr, ptr %9, align 8, !tbaa !5
  %1967 = getelementptr inbounds %struct.w2c_hermes, ptr %1966, i32 0, i32 6
  %1968 = load i32, ptr %24, align 4, !tbaa !9
  %1969 = zext i32 %1968 to i64
  %1970 = call i32 @i32_load(ptr noundef %1967, i64 noundef %1969)
  store i32 %1970, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1971 = load i32, ptr %25, align 4, !tbaa !9
  %1972 = load i32, ptr %24, align 4, !tbaa !9
  %1973 = sub i32 %1972, %1971
  store i32 %1973, ptr %24, align 4, !tbaa !9
  %1974 = load ptr, ptr %9, align 8, !tbaa !5
  %1975 = getelementptr inbounds %struct.w2c_hermes, ptr %1974, i32 0, i32 6
  %1976 = load i32, ptr %23, align 4, !tbaa !9
  %1977 = zext i32 %1976 to i64
  %1978 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1975, i64 noundef %1977, i32 noundef %1978)
  br label %1979

1979:                                             ; preds = %1963, %1935
  %1980 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1980, ptr %23, align 4, !tbaa !9
  %1981 = load ptr, ptr %9, align 8, !tbaa !5
  %1982 = getelementptr inbounds %struct.w2c_hermes, ptr %1981, i32 0, i32 6
  %1983 = load i32, ptr %23, align 4, !tbaa !9
  %1984 = zext i32 %1983 to i64
  %1985 = add i64 %1984, 112
  %1986 = call i32 @i32_load(ptr noundef %1982, i64 noundef %1985)
  store i32 %1986, ptr %23, align 4, !tbaa !9
  %1987 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1987, ptr %11, align 4, !tbaa !9
  %1988 = load i32, ptr %23, align 4, !tbaa !9
  %1989 = icmp ne i32 %1988, 0
  br i1 %1989, label %1990, label %2006

1990:                                             ; preds = %1979
  %1991 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1991, ptr %23, align 4, !tbaa !9
  %1992 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1992, ptr %24, align 4, !tbaa !9
  %1993 = load ptr, ptr %9, align 8, !tbaa !5
  %1994 = getelementptr inbounds %struct.w2c_hermes, ptr %1993, i32 0, i32 6
  %1995 = load i32, ptr %24, align 4, !tbaa !9
  %1996 = zext i32 %1995 to i64
  %1997 = call i32 @i32_load(ptr noundef %1994, i64 noundef %1996)
  store i32 %1997, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1998 = load i32, ptr %25, align 4, !tbaa !9
  %1999 = load i32, ptr %24, align 4, !tbaa !9
  %2000 = sub i32 %1999, %1998
  store i32 %2000, ptr %24, align 4, !tbaa !9
  %2001 = load ptr, ptr %9, align 8, !tbaa !5
  %2002 = getelementptr inbounds %struct.w2c_hermes, ptr %2001, i32 0, i32 6
  %2003 = load i32, ptr %23, align 4, !tbaa !9
  %2004 = zext i32 %2003 to i64
  %2005 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2002, i64 noundef %2004, i32 noundef %2005)
  br label %2006

2006:                                             ; preds = %1990, %1979
  %2007 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2007, ptr %23, align 4, !tbaa !9
  %2008 = load ptr, ptr %9, align 8, !tbaa !5
  %2009 = getelementptr inbounds %struct.w2c_hermes, ptr %2008, i32 0, i32 6
  %2010 = load i32, ptr %23, align 4, !tbaa !9
  %2011 = zext i32 %2010 to i64
  %2012 = add i64 %2011, 40
  %2013 = call i32 @i32_load(ptr noundef %2009, i64 noundef %2012)
  store i32 %2013, ptr %23, align 4, !tbaa !9
  %2014 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2014, ptr %11, align 4, !tbaa !9
  %2015 = load i32, ptr %23, align 4, !tbaa !9
  %2016 = icmp ne i32 %2015, 0
  %2017 = xor i1 %2016, true
  %2018 = zext i1 %2017 to i32
  store i32 %2018, ptr %23, align 4, !tbaa !9
  %2019 = load i32, ptr %23, align 4, !tbaa !9
  %2020 = icmp ne i32 %2019, 0
  br i1 %2020, label %2021, label %2022

2021:                                             ; preds = %2006
  br label %2853

2022:                                             ; preds = %2006
  %2023 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2023, ptr %23, align 4, !tbaa !9
  %2024 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2024, ptr %24, align 4, !tbaa !9
  %2025 = load ptr, ptr %9, align 8, !tbaa !5
  %2026 = getelementptr inbounds %struct.w2c_hermes, ptr %2025, i32 0, i32 6
  %2027 = load i32, ptr %24, align 4, !tbaa !9
  %2028 = zext i32 %2027 to i64
  %2029 = call i32 @i32_load(ptr noundef %2026, i64 noundef %2028)
  store i32 %2029, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2030 = load i32, ptr %25, align 4, !tbaa !9
  %2031 = load i32, ptr %24, align 4, !tbaa !9
  %2032 = sub i32 %2031, %2030
  store i32 %2032, ptr %24, align 4, !tbaa !9
  %2033 = load ptr, ptr %9, align 8, !tbaa !5
  %2034 = getelementptr inbounds %struct.w2c_hermes, ptr %2033, i32 0, i32 6
  %2035 = load i32, ptr %23, align 4, !tbaa !9
  %2036 = zext i32 %2035 to i64
  %2037 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2034, i64 noundef %2036, i32 noundef %2037)
  br label %2853

2038:                                             ; preds = %1499
  %2039 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2039, ptr %23, align 4, !tbaa !9
  %2040 = load ptr, ptr %9, align 8, !tbaa !5
  %2041 = getelementptr inbounds %struct.w2c_hermes, ptr %2040, i32 0, i32 6
  %2042 = load i32, ptr %23, align 4, !tbaa !9
  %2043 = zext i32 %2042 to i64
  %2044 = add i64 %2043, 112
  %2045 = call i64 @i64_load(ptr noundef %2041, i64 noundef %2044)
  store i64 %2045, ptr %31, align 8, !tbaa !11
  store i64 4294967296, ptr %32, align 8, !tbaa !11
  %2046 = load i64, ptr %31, align 8, !tbaa !11
  %2047 = load i64, ptr %32, align 8, !tbaa !11
  %2048 = icmp uge i64 %2046, %2047
  %2049 = zext i1 %2048 to i32
  store i32 %2049, ptr %23, align 4, !tbaa !9
  %2050 = load i32, ptr %23, align 4, !tbaa !9
  %2051 = icmp ne i32 %2050, 0
  br i1 %2051, label %2052, label %2413

2052:                                             ; preds = %2038
  store i32 217520, ptr %23, align 4, !tbaa !9
  %2053 = load ptr, ptr %9, align 8, !tbaa !5
  %2054 = getelementptr inbounds %struct.w2c_hermes, ptr %2053, i32 0, i32 6
  %2055 = load i32, ptr %23, align 4, !tbaa !9
  %2056 = zext i32 %2055 to i64
  %2057 = call i64 @i64_load(ptr noundef %2054, i64 noundef %2056)
  store i64 %2057, ptr %31, align 8, !tbaa !11
  %2058 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %2058, ptr %22, align 8, !tbaa !11
  store i64 -844424930131969, ptr %32, align 8, !tbaa !11
  %2059 = load i64, ptr %31, align 8, !tbaa !11
  %2060 = load i64, ptr %32, align 8, !tbaa !11
  %2061 = icmp ule i64 %2059, %2060
  %2062 = zext i1 %2061 to i32
  store i32 %2062, ptr %23, align 4, !tbaa !9
  %2063 = load i32, ptr %23, align 4, !tbaa !9
  %2064 = icmp ne i32 %2063, 0
  br i1 %2064, label %2065, label %2066

2065:                                             ; preds = %2052
  br label %3161

2066:                                             ; preds = %2052
  %2067 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %2067, ptr %31, align 8, !tbaa !11
  %2068 = load i64, ptr %31, align 8, !tbaa !11
  %2069 = trunc i64 %2068 to i32
  store i32 %2069, ptr %23, align 4, !tbaa !9
  %2070 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2070, ptr %12, align 4, !tbaa !9
  %2071 = load i32, ptr %23, align 4, !tbaa !9
  %2072 = icmp ne i32 %2071, 0
  br i1 %2072, label %2073, label %2093

2073:                                             ; preds = %2066
  %2074 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2074, ptr %23, align 4, !tbaa !9
  %2075 = load ptr, ptr %9, align 8, !tbaa !5
  %2076 = getelementptr inbounds %struct.w2c_hermes, ptr %2075, i32 0, i32 6
  %2077 = load i32, ptr %23, align 4, !tbaa !9
  %2078 = zext i32 %2077 to i64
  %2079 = add i64 %2078, 3
  %2080 = call i32 @i32_load8_u(ptr noundef %2076, i64 noundef %2079)
  store i32 %2080, ptr %23, align 4, !tbaa !9
  store i32 24, ptr %24, align 4, !tbaa !9
  %2081 = load i32, ptr %24, align 4, !tbaa !9
  %2082 = and i32 %2081, 31
  %2083 = load i32, ptr %23, align 4, !tbaa !9
  %2084 = shl i32 %2083, %2082
  store i32 %2084, ptr %23, align 4, !tbaa !9
  store i32 1073741824, ptr %24, align 4, !tbaa !9
  %2085 = load i32, ptr %23, align 4, !tbaa !9
  %2086 = load i32, ptr %24, align 4, !tbaa !9
  %2087 = icmp ne i32 %2085, %2086
  %2088 = zext i1 %2087 to i32
  store i32 %2088, ptr %23, align 4, !tbaa !9
  %2089 = load i32, ptr %23, align 4, !tbaa !9
  %2090 = icmp ne i32 %2089, 0
  br i1 %2090, label %2091, label %2092

2091:                                             ; preds = %2073
  br label %3179

2092:                                             ; preds = %2073
  br label %2093

2093:                                             ; preds = %2092, %2066
  %2094 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2094, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2095 = load ptr, ptr %9, align 8, !tbaa !5
  %2096 = getelementptr inbounds %struct.w2c_hermes, ptr %2095, i32 0, i32 6
  %2097 = load i32, ptr %23, align 4, !tbaa !9
  %2098 = zext i32 %2097 to i64
  %2099 = add i64 %2098, 96
  %2100 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2096, i64 noundef %2099, i32 noundef %2100)
  %2101 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2101, ptr %23, align 4, !tbaa !9
  store i32 217520, ptr %24, align 4, !tbaa !9
  %2102 = load ptr, ptr %9, align 8, !tbaa !5
  %2103 = getelementptr inbounds %struct.w2c_hermes, ptr %2102, i32 0, i32 6
  %2104 = load i32, ptr %23, align 4, !tbaa !9
  %2105 = zext i32 %2104 to i64
  %2106 = add i64 %2105, 100
  %2107 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2103, i64 noundef %2106, i32 noundef %2107)
  %2108 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2108, ptr %23, align 4, !tbaa !9
  %2109 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2109, ptr %24, align 4, !tbaa !9
  %2110 = load ptr, ptr %9, align 8, !tbaa !5
  %2111 = getelementptr inbounds %struct.w2c_hermes, ptr %2110, i32 0, i32 6
  %2112 = load i32, ptr %24, align 4, !tbaa !9
  %2113 = zext i32 %2112 to i64
  %2114 = add i64 %2113, 4
  %2115 = call i32 @i32_load(ptr noundef %2111, i64 noundef %2114)
  store i32 %2115, ptr %24, align 4, !tbaa !9
  %2116 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2116, ptr %19, align 4, !tbaa !9
  %2117 = load ptr, ptr %9, align 8, !tbaa !5
  %2118 = getelementptr inbounds %struct.w2c_hermes, ptr %2117, i32 0, i32 6
  %2119 = load i32, ptr %23, align 4, !tbaa !9
  %2120 = zext i32 %2119 to i64
  %2121 = add i64 %2120, 92
  %2122 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2118, i64 noundef %2121, i32 noundef %2122)
  %2123 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2123, ptr %23, align 4, !tbaa !9
  %2124 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2124, ptr %24, align 4, !tbaa !9
  %2125 = load ptr, ptr %9, align 8, !tbaa !5
  %2126 = getelementptr inbounds %struct.w2c_hermes, ptr %2125, i32 0, i32 6
  %2127 = load i32, ptr %24, align 4, !tbaa !9
  %2128 = zext i32 %2127 to i64
  %2129 = call i32 @i32_load(ptr noundef %2126, i64 noundef %2128)
  store i32 %2129, ptr %24, align 4, !tbaa !9
  %2130 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2130, ptr %12, align 4, !tbaa !9
  %2131 = load ptr, ptr %9, align 8, !tbaa !5
  %2132 = getelementptr inbounds %struct.w2c_hermes, ptr %2131, i32 0, i32 6
  %2133 = load i32, ptr %23, align 4, !tbaa !9
  %2134 = zext i32 %2133 to i64
  %2135 = add i64 %2134, 88
  %2136 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2132, i64 noundef %2135, i32 noundef %2136)
  %2137 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2137, ptr %23, align 4, !tbaa !9
  %2138 = load i32, ptr %23, align 4, !tbaa !9
  %2139 = icmp ne i32 %2138, 0
  br i1 %2139, label %2140, label %2156

2140:                                             ; preds = %2093
  %2141 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2141, ptr %23, align 4, !tbaa !9
  %2142 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2142, ptr %24, align 4, !tbaa !9
  %2143 = load ptr, ptr %9, align 8, !tbaa !5
  %2144 = getelementptr inbounds %struct.w2c_hermes, ptr %2143, i32 0, i32 6
  %2145 = load i32, ptr %24, align 4, !tbaa !9
  %2146 = zext i32 %2145 to i64
  %2147 = call i32 @i32_load(ptr noundef %2144, i64 noundef %2146)
  store i32 %2147, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2148 = load i32, ptr %25, align 4, !tbaa !9
  %2149 = load i32, ptr %24, align 4, !tbaa !9
  %2150 = add i32 %2149, %2148
  store i32 %2150, ptr %24, align 4, !tbaa !9
  %2151 = load ptr, ptr %9, align 8, !tbaa !5
  %2152 = getelementptr inbounds %struct.w2c_hermes, ptr %2151, i32 0, i32 6
  %2153 = load i32, ptr %23, align 4, !tbaa !9
  %2154 = zext i32 %2153 to i64
  %2155 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2152, i64 noundef %2154, i32 noundef %2155)
  br label %2156

2156:                                             ; preds = %2140, %2093
  %2157 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2157, ptr %23, align 4, !tbaa !9
  %2158 = load ptr, ptr %9, align 8, !tbaa !5
  %2159 = getelementptr inbounds %struct.w2c_hermes, ptr %2158, i32 0, i32 6
  %2160 = load i32, ptr %23, align 4, !tbaa !9
  %2161 = zext i32 %2160 to i64
  %2162 = call i64 @i64_load(ptr noundef %2159, i64 noundef %2161)
  store i64 %2162, ptr %31, align 8, !tbaa !11
  %2163 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %2163, ptr %22, align 8, !tbaa !11
  store i64 48, ptr %32, align 8, !tbaa !11
  %2164 = load i64, ptr %31, align 8, !tbaa !11
  %2165 = load i64, ptr %32, align 8, !tbaa !11
  %2166 = and i64 %2165, 63
  %2167 = ashr i64 %2164, %2166
  store i64 %2167, ptr %31, align 8, !tbaa !11
  %2168 = load i64, ptr %31, align 8, !tbaa !11
  %2169 = trunc i64 %2168 to i32
  store i32 %2169, ptr %23, align 4, !tbaa !9
  store i32 -1, ptr %24, align 4, !tbaa !9
  %2170 = load i32, ptr %23, align 4, !tbaa !9
  %2171 = load i32, ptr %24, align 4, !tbaa !9
  %2172 = icmp ne i32 %2170, %2171
  %2173 = zext i1 %2172 to i32
  store i32 %2173, ptr %23, align 4, !tbaa !9
  %2174 = load i32, ptr %23, align 4, !tbaa !9
  %2175 = icmp ne i32 %2174, 0
  br i1 %2175, label %2176, label %2177

2176:                                             ; preds = %2156
  br label %3197

2177:                                             ; preds = %2156
  %2178 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %2178, ptr %31, align 8, !tbaa !11
  store i64 -844424930131969, ptr %32, align 8, !tbaa !11
  %2179 = load i64, ptr %31, align 8, !tbaa !11
  %2180 = load i64, ptr %32, align 8, !tbaa !11
  %2181 = icmp ule i64 %2179, %2180
  %2182 = zext i1 %2181 to i32
  store i32 %2182, ptr %23, align 4, !tbaa !9
  %2183 = load i32, ptr %23, align 4, !tbaa !9
  %2184 = icmp ne i32 %2183, 0
  br i1 %2184, label %2185, label %2186

2185:                                             ; preds = %2177
  br label %3215

2186:                                             ; preds = %2177
  %2187 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %2187, ptr %31, align 8, !tbaa !11
  %2188 = load i64, ptr %31, align 8, !tbaa !11
  %2189 = trunc i64 %2188 to i32
  store i32 %2189, ptr %23, align 4, !tbaa !9
  %2190 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2190, ptr %12, align 4, !tbaa !9
  %2191 = load i32, ptr %23, align 4, !tbaa !9
  %2192 = icmp ne i32 %2191, 0
  %2193 = xor i1 %2192, true
  %2194 = zext i1 %2193 to i32
  store i32 %2194, ptr %23, align 4, !tbaa !9
  %2195 = load i32, ptr %23, align 4, !tbaa !9
  %2196 = icmp ne i32 %2195, 0
  br i1 %2196, label %2197, label %2198

2197:                                             ; preds = %2186
  br label %3233

2198:                                             ; preds = %2186
  %2199 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2199, ptr %23, align 4, !tbaa !9
  store i32 -64, ptr %24, align 4, !tbaa !9
  %2200 = load i32, ptr %24, align 4, !tbaa !9
  %2201 = load i32, ptr %23, align 4, !tbaa !9
  %2202 = sub i32 %2201, %2200
  store i32 %2202, ptr %23, align 4, !tbaa !9
  %2203 = load ptr, ptr %9, align 8, !tbaa !5
  %2204 = getelementptr inbounds %struct.w2c_hermes, ptr %2203, i32 0, i32 6
  %2205 = load i32, ptr %23, align 4, !tbaa !9
  %2206 = zext i32 %2205 to i64
  %2207 = call i32 @i32_load8_u(ptr noundef %2204, i64 noundef %2206)
  store i32 %2207, ptr %23, align 4, !tbaa !9
  %2208 = load i32, ptr %23, align 4, !tbaa !9
  %2209 = icmp ne i32 %2208, 0
  %2210 = xor i1 %2209, true
  %2211 = zext i1 %2210 to i32
  store i32 %2211, ptr %23, align 4, !tbaa !9
  %2212 = load i32, ptr %23, align 4, !tbaa !9
  %2213 = icmp ne i32 %2212, 0
  br i1 %2213, label %2214, label %2215

2214:                                             ; preds = %2198
  br label %3251

2215:                                             ; preds = %2198
  %2216 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2216, ptr %23, align 4, !tbaa !9
  %2217 = load ptr, ptr %9, align 8, !tbaa !5
  %2218 = getelementptr inbounds %struct.w2c_hermes, ptr %2217, i32 0, i32 6
  %2219 = load i32, ptr %23, align 4, !tbaa !9
  %2220 = zext i32 %2219 to i64
  %2221 = add i64 %2220, 12
  %2222 = call i32 @i32_load(ptr noundef %2218, i64 noundef %2221)
  store i32 %2222, ptr %23, align 4, !tbaa !9
  %2223 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2223, ptr %19, align 4, !tbaa !9
  %2224 = load i32, ptr %23, align 4, !tbaa !9
  %2225 = icmp ne i32 %2224, 0
  %2226 = xor i1 %2225, true
  %2227 = zext i1 %2226 to i32
  store i32 %2227, ptr %23, align 4, !tbaa !9
  %2228 = load i32, ptr %23, align 4, !tbaa !9
  %2229 = icmp ne i32 %2228, 0
  br i1 %2229, label %2230, label %2231

2230:                                             ; preds = %2215
  br label %3269

2231:                                             ; preds = %2215
  %2232 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2232, ptr %23, align 4, !tbaa !9
  %2233 = load ptr, ptr %9, align 8, !tbaa !5
  %2234 = getelementptr inbounds %struct.w2c_hermes, ptr %2233, i32 0, i32 6
  %2235 = load i32, ptr %23, align 4, !tbaa !9
  %2236 = zext i32 %2235 to i64
  %2237 = add i64 %2236, 3
  %2238 = call i32 @i32_load8_u(ptr noundef %2234, i64 noundef %2237)
  store i32 %2238, ptr %23, align 4, !tbaa !9
  store i32 24, ptr %24, align 4, !tbaa !9
  %2239 = load i32, ptr %24, align 4, !tbaa !9
  %2240 = and i32 %2239, 31
  %2241 = load i32, ptr %23, align 4, !tbaa !9
  %2242 = shl i32 %2241, %2240
  store i32 %2242, ptr %23, align 4, !tbaa !9
  store i32 234881024, ptr %24, align 4, !tbaa !9
  %2243 = load i32, ptr %23, align 4, !tbaa !9
  %2244 = load i32, ptr %24, align 4, !tbaa !9
  %2245 = icmp ne i32 %2243, %2244
  %2246 = zext i1 %2245 to i32
  store i32 %2246, ptr %23, align 4, !tbaa !9
  %2247 = load i32, ptr %23, align 4, !tbaa !9
  %2248 = icmp ne i32 %2247, 0
  br i1 %2248, label %2249, label %2250

2249:                                             ; preds = %2231
  br label %3287

2250:                                             ; preds = %2231
  %2251 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2251, ptr %23, align 4, !tbaa !9
  %2252 = load ptr, ptr %9, align 8, !tbaa !5
  %2253 = getelementptr inbounds %struct.w2c_hermes, ptr %2252, i32 0, i32 6
  %2254 = load i32, ptr %23, align 4, !tbaa !9
  %2255 = zext i32 %2254 to i64
  %2256 = add i64 %2255, 60
  %2257 = call i32 @i32_load(ptr noundef %2253, i64 noundef %2256)
  store i32 %2257, ptr %23, align 4, !tbaa !9
  %2258 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2258, ptr %12, align 4, !tbaa !9
  %2259 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2259, ptr %24, align 4, !tbaa !9
  %2260 = load ptr, ptr %9, align 8, !tbaa !5
  %2261 = getelementptr inbounds %struct.w2c_hermes, ptr %2260, i32 0, i32 6
  %2262 = load i32, ptr %24, align 4, !tbaa !9
  %2263 = zext i32 %2262 to i64
  %2264 = add i64 %2263, 12
  %2265 = call i32 @i32_load(ptr noundef %2261, i64 noundef %2264)
  store i32 %2265, ptr %24, align 4, !tbaa !9
  %2266 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2266, ptr %13, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %2267 = load i32, ptr %25, align 4, !tbaa !9
  %2268 = icmp eq i32 %2267, 0
  %2269 = xor i1 %2268, true
  %2270 = xor i1 %2269, true
  %2271 = zext i1 %2270 to i32
  %2272 = sext i32 %2271 to i64
  %2273 = call i64 @llvm.expect.i64(i64 %2272, i64 0)
  %2274 = icmp ne i64 %2273, 0
  br i1 %2274, label %2275, label %2277

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

2276:                                             ; No predecessors!
  br label %2281

2277:                                             ; preds = %2250
  %2278 = load i32, ptr %24, align 4, !tbaa !9
  %2279 = load i32, ptr %25, align 4, !tbaa !9
  %2280 = udiv i32 %2278, %2279
  br label %2281

2281:                                             ; preds = %2277, %2276
  %2282 = phi i32 [ 0, %2276 ], [ %2280, %2277 ]
  store i32 %2282, ptr %24, align 4, !tbaa !9
  %2283 = load i32, ptr %23, align 4, !tbaa !9
  %2284 = load i32, ptr %24, align 4, !tbaa !9
  %2285 = icmp uge i32 %2283, %2284
  %2286 = zext i1 %2285 to i32
  store i32 %2286, ptr %23, align 4, !tbaa !9
  %2287 = load i32, ptr %23, align 4, !tbaa !9
  %2288 = icmp ne i32 %2287, 0
  br i1 %2288, label %2289, label %2290

2289:                                             ; preds = %2281
  br label %3323

2290:                                             ; preds = %2281
  %2291 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2291, ptr %23, align 4, !tbaa !9
  %2292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2292, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %2293 = load i32, ptr %25, align 4, !tbaa !9
  %2294 = load i32, ptr %24, align 4, !tbaa !9
  %2295 = mul i32 %2294, %2293
  store i32 %2295, ptr %24, align 4, !tbaa !9
  %2296 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2296, ptr %14, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2297 = load i32, ptr %25, align 4, !tbaa !9
  %2298 = load i32, ptr %24, align 4, !tbaa !9
  %2299 = add i32 %2298, %2297
  store i32 %2299, ptr %24, align 4, !tbaa !9
  %2300 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2300, ptr %12, align 4, !tbaa !9
  %2301 = load i32, ptr %23, align 4, !tbaa !9
  %2302 = load i32, ptr %24, align 4, !tbaa !9
  %2303 = icmp ule i32 %2301, %2302
  %2304 = zext i1 %2303 to i32
  store i32 %2304, ptr %23, align 4, !tbaa !9
  %2305 = load i32, ptr %23, align 4, !tbaa !9
  %2306 = icmp ne i32 %2305, 0
  br i1 %2306, label %2307, label %2308

2307:                                             ; preds = %2290
  br label %3305

2308:                                             ; preds = %2290
  %2309 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2309, ptr %23, align 4, !tbaa !9
  %2310 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2310, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %2311 = load i32, ptr %25, align 4, !tbaa !9
  %2312 = and i32 %2311, 31
  %2313 = load i32, ptr %24, align 4, !tbaa !9
  %2314 = shl i32 %2313, %2312
  store i32 %2314, ptr %24, align 4, !tbaa !9
  %2315 = load i32, ptr %24, align 4, !tbaa !9
  %2316 = load i32, ptr %23, align 4, !tbaa !9
  %2317 = add i32 %2316, %2315
  store i32 %2317, ptr %23, align 4, !tbaa !9
  %2318 = load ptr, ptr %9, align 8, !tbaa !5
  %2319 = getelementptr inbounds %struct.w2c_hermes, ptr %2318, i32 0, i32 6
  %2320 = load i32, ptr %23, align 4, !tbaa !9
  %2321 = zext i32 %2320 to i64
  %2322 = add i64 %2321, 16
  %2323 = call i64 @i64_load(ptr noundef %2319, i64 noundef %2322)
  store i64 %2323, ptr %31, align 8, !tbaa !11
  store i64 47, ptr %32, align 8, !tbaa !11
  %2324 = load i64, ptr %31, align 8, !tbaa !11
  %2325 = load i64, ptr %32, align 8, !tbaa !11
  %2326 = and i64 %2325, 63
  %2327 = ashr i64 %2324, %2326
  store i64 %2327, ptr %31, align 8, !tbaa !11
  %2328 = load i64, ptr %31, align 8, !tbaa !11
  %2329 = trunc i64 %2328 to i32
  store i32 %2329, ptr %23, align 4, !tbaa !9
  store i32 -14, ptr %24, align 4, !tbaa !9
  %2330 = load i32, ptr %23, align 4, !tbaa !9
  %2331 = load i32, ptr %24, align 4, !tbaa !9
  %2332 = icmp eq i32 %2330, %2331
  %2333 = zext i1 %2332 to i32
  store i32 %2333, ptr %23, align 4, !tbaa !9
  %2334 = load i32, ptr %23, align 4, !tbaa !9
  %2335 = icmp ne i32 %2334, 0
  br i1 %2335, label %2336, label %2337

2336:                                             ; preds = %2308
  br label %3323

2337:                                             ; preds = %2308
  %2338 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2338, ptr %23, align 4, !tbaa !9
  %2339 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2339, ptr %24, align 4, !tbaa !9
  %2340 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2340, ptr %25, align 4, !tbaa !9
  store i32 96, ptr %26, align 4, !tbaa !9
  %2341 = load i32, ptr %26, align 4, !tbaa !9
  %2342 = load i32, ptr %25, align 4, !tbaa !9
  %2343 = add i32 %2342, %2341
  store i32 %2343, ptr %25, align 4, !tbaa !9
  %2344 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2344, ptr %26, align 4, !tbaa !9
  store i32 88, ptr %27, align 4, !tbaa !9
  %2345 = load i32, ptr %27, align 4, !tbaa !9
  %2346 = load i32, ptr %26, align 4, !tbaa !9
  %2347 = add i32 %2346, %2345
  store i32 %2347, ptr %26, align 4, !tbaa !9
  %2348 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2348, ptr %27, align 4, !tbaa !9
  %2349 = load ptr, ptr %9, align 8, !tbaa !5
  %2350 = load i32, ptr %23, align 4, !tbaa !9
  %2351 = load i32, ptr %24, align 4, !tbaa !9
  %2352 = load i32, ptr %25, align 4, !tbaa !9
  %2353 = load i32, ptr %26, align 4, !tbaa !9
  %2354 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %2349, i32 noundef %2350, i32 noundef %2351, i32 noundef %2352, i32 noundef %2353, i32 noundef %2354)
  %2355 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2355, ptr %23, align 4, !tbaa !9
  %2356 = load ptr, ptr %9, align 8, !tbaa !5
  %2357 = getelementptr inbounds %struct.w2c_hermes, ptr %2356, i32 0, i32 6
  %2358 = load i32, ptr %23, align 4, !tbaa !9
  %2359 = zext i32 %2358 to i64
  %2360 = add i64 %2359, 88
  %2361 = call i32 @i32_load(ptr noundef %2357, i64 noundef %2360)
  store i32 %2361, ptr %23, align 4, !tbaa !9
  %2362 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2362, ptr %11, align 4, !tbaa !9
  %2363 = load i32, ptr %23, align 4, !tbaa !9
  %2364 = icmp ne i32 %2363, 0
  br i1 %2364, label %2365, label %2381

2365:                                             ; preds = %2337
  %2366 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2366, ptr %23, align 4, !tbaa !9
  %2367 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2367, ptr %24, align 4, !tbaa !9
  %2368 = load ptr, ptr %9, align 8, !tbaa !5
  %2369 = getelementptr inbounds %struct.w2c_hermes, ptr %2368, i32 0, i32 6
  %2370 = load i32, ptr %24, align 4, !tbaa !9
  %2371 = zext i32 %2370 to i64
  %2372 = call i32 @i32_load(ptr noundef %2369, i64 noundef %2371)
  store i32 %2372, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2373 = load i32, ptr %25, align 4, !tbaa !9
  %2374 = load i32, ptr %24, align 4, !tbaa !9
  %2375 = sub i32 %2374, %2373
  store i32 %2375, ptr %24, align 4, !tbaa !9
  %2376 = load ptr, ptr %9, align 8, !tbaa !5
  %2377 = getelementptr inbounds %struct.w2c_hermes, ptr %2376, i32 0, i32 6
  %2378 = load i32, ptr %23, align 4, !tbaa !9
  %2379 = zext i32 %2378 to i64
  %2380 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2377, i64 noundef %2379, i32 noundef %2380)
  br label %2381

2381:                                             ; preds = %2365, %2337
  %2382 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2382, ptr %23, align 4, !tbaa !9
  %2383 = load ptr, ptr %9, align 8, !tbaa !5
  %2384 = getelementptr inbounds %struct.w2c_hermes, ptr %2383, i32 0, i32 6
  %2385 = load i32, ptr %23, align 4, !tbaa !9
  %2386 = zext i32 %2385 to i64
  %2387 = add i64 %2386, 96
  %2388 = call i32 @i32_load(ptr noundef %2384, i64 noundef %2387)
  store i32 %2388, ptr %23, align 4, !tbaa !9
  %2389 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2389, ptr %11, align 4, !tbaa !9
  %2390 = load i32, ptr %23, align 4, !tbaa !9
  %2391 = icmp ne i32 %2390, 0
  %2392 = xor i1 %2391, true
  %2393 = zext i1 %2392 to i32
  store i32 %2393, ptr %23, align 4, !tbaa !9
  %2394 = load i32, ptr %23, align 4, !tbaa !9
  %2395 = icmp ne i32 %2394, 0
  br i1 %2395, label %2396, label %2397

2396:                                             ; preds = %2381
  br label %2853

2397:                                             ; preds = %2381
  %2398 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2398, ptr %23, align 4, !tbaa !9
  %2399 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2399, ptr %24, align 4, !tbaa !9
  %2400 = load ptr, ptr %9, align 8, !tbaa !5
  %2401 = getelementptr inbounds %struct.w2c_hermes, ptr %2400, i32 0, i32 6
  %2402 = load i32, ptr %24, align 4, !tbaa !9
  %2403 = zext i32 %2402 to i64
  %2404 = call i32 @i32_load(ptr noundef %2401, i64 noundef %2403)
  store i32 %2404, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2405 = load i32, ptr %25, align 4, !tbaa !9
  %2406 = load i32, ptr %24, align 4, !tbaa !9
  %2407 = sub i32 %2406, %2405
  store i32 %2407, ptr %24, align 4, !tbaa !9
  %2408 = load ptr, ptr %9, align 8, !tbaa !5
  %2409 = getelementptr inbounds %struct.w2c_hermes, ptr %2408, i32 0, i32 6
  %2410 = load i32, ptr %23, align 4, !tbaa !9
  %2411 = zext i32 %2410 to i64
  %2412 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2409, i64 noundef %2411, i32 noundef %2412)
  br label %2853

2413:                                             ; preds = %2038
  %2414 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2414, ptr %23, align 4, !tbaa !9
  %2415 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2415, ptr %24, align 4, !tbaa !9
  %2416 = load ptr, ptr %9, align 8, !tbaa !5
  %2417 = getelementptr inbounds %struct.w2c_hermes, ptr %2416, i32 0, i32 6
  %2418 = load i32, ptr %24, align 4, !tbaa !9
  %2419 = zext i32 %2418 to i64
  %2420 = add i64 %2419, 4
  %2421 = call i32 @i32_load(ptr noundef %2417, i64 noundef %2420)
  store i32 %2421, ptr %24, align 4, !tbaa !9
  %2422 = load ptr, ptr %9, align 8, !tbaa !5
  %2423 = getelementptr inbounds %struct.w2c_hermes, ptr %2422, i32 0, i32 6
  %2424 = load i32, ptr %23, align 4, !tbaa !9
  %2425 = zext i32 %2424 to i64
  %2426 = add i64 %2425, 76
  %2427 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2423, i64 noundef %2426, i32 noundef %2427)
  %2428 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2428, ptr %23, align 4, !tbaa !9
  %2429 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2429, ptr %24, align 4, !tbaa !9
  %2430 = load ptr, ptr %9, align 8, !tbaa !5
  %2431 = getelementptr inbounds %struct.w2c_hermes, ptr %2430, i32 0, i32 6
  %2432 = load i32, ptr %24, align 4, !tbaa !9
  %2433 = zext i32 %2432 to i64
  %2434 = call i32 @i32_load(ptr noundef %2431, i64 noundef %2433)
  store i32 %2434, ptr %24, align 4, !tbaa !9
  %2435 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2435, ptr %12, align 4, !tbaa !9
  %2436 = load ptr, ptr %9, align 8, !tbaa !5
  %2437 = getelementptr inbounds %struct.w2c_hermes, ptr %2436, i32 0, i32 6
  %2438 = load i32, ptr %23, align 4, !tbaa !9
  %2439 = zext i32 %2438 to i64
  %2440 = add i64 %2439, 72
  %2441 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2437, i64 noundef %2440, i32 noundef %2441)
  %2442 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2442, ptr %23, align 4, !tbaa !9
  %2443 = load i32, ptr %23, align 4, !tbaa !9
  %2444 = icmp ne i32 %2443, 0
  br i1 %2444, label %2445, label %2461

2445:                                             ; preds = %2413
  %2446 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2446, ptr %23, align 4, !tbaa !9
  %2447 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2447, ptr %24, align 4, !tbaa !9
  %2448 = load ptr, ptr %9, align 8, !tbaa !5
  %2449 = getelementptr inbounds %struct.w2c_hermes, ptr %2448, i32 0, i32 6
  %2450 = load i32, ptr %24, align 4, !tbaa !9
  %2451 = zext i32 %2450 to i64
  %2452 = call i32 @i32_load(ptr noundef %2449, i64 noundef %2451)
  store i32 %2452, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2453 = load i32, ptr %25, align 4, !tbaa !9
  %2454 = load i32, ptr %24, align 4, !tbaa !9
  %2455 = add i32 %2454, %2453
  store i32 %2455, ptr %24, align 4, !tbaa !9
  %2456 = load ptr, ptr %9, align 8, !tbaa !5
  %2457 = getelementptr inbounds %struct.w2c_hermes, ptr %2456, i32 0, i32 6
  %2458 = load i32, ptr %23, align 4, !tbaa !9
  %2459 = zext i32 %2458 to i64
  %2460 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2457, i64 noundef %2459, i32 noundef %2460)
  br label %2461

2461:                                             ; preds = %2445, %2413
  %2462 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2462, ptr %23, align 4, !tbaa !9
  %2463 = load ptr, ptr %9, align 8, !tbaa !5
  %2464 = getelementptr inbounds %struct.w2c_hermes, ptr %2463, i32 0, i32 6
  %2465 = load i32, ptr %23, align 4, !tbaa !9
  %2466 = zext i32 %2465 to i64
  %2467 = add i64 %2466, 192
  %2468 = call i64 @i64_load(ptr noundef %2464, i64 noundef %2467)
  store i64 %2468, ptr %31, align 8, !tbaa !11
  %2469 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %2469, ptr %22, align 8, !tbaa !11
  store i64 -844424930131969, ptr %32, align 8, !tbaa !11
  %2470 = load i64, ptr %31, align 8, !tbaa !11
  %2471 = load i64, ptr %32, align 8, !tbaa !11
  %2472 = icmp ule i64 %2470, %2471
  %2473 = zext i1 %2472 to i32
  store i32 %2473, ptr %23, align 4, !tbaa !9
  %2474 = load i32, ptr %23, align 4, !tbaa !9
  %2475 = icmp ne i32 %2474, 0
  br i1 %2475, label %2476, label %2477

2476:                                             ; preds = %2461
  br label %3341

2477:                                             ; preds = %2461
  %2478 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %2478, ptr %31, align 8, !tbaa !11
  %2479 = load i64, ptr %31, align 8, !tbaa !11
  %2480 = trunc i64 %2479 to i32
  store i32 %2480, ptr %23, align 4, !tbaa !9
  %2481 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2481, ptr %12, align 4, !tbaa !9
  %2482 = load i32, ptr %23, align 4, !tbaa !9
  %2483 = icmp ne i32 %2482, 0
  %2484 = xor i1 %2483, true
  %2485 = zext i1 %2484 to i32
  store i32 %2485, ptr %23, align 4, !tbaa !9
  %2486 = load i32, ptr %23, align 4, !tbaa !9
  %2487 = icmp ne i32 %2486, 0
  br i1 %2487, label %2488, label %2489

2488:                                             ; preds = %2477
  br label %3359

2489:                                             ; preds = %2477
  %2490 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2490, ptr %23, align 4, !tbaa !9
  %2491 = load ptr, ptr %9, align 8, !tbaa !5
  %2492 = getelementptr inbounds %struct.w2c_hermes, ptr %2491, i32 0, i32 6
  %2493 = load i32, ptr %23, align 4, !tbaa !9
  %2494 = zext i32 %2493 to i64
  %2495 = call i32 @i32_load(ptr noundef %2492, i64 noundef %2494)
  store i32 %2495, ptr %23, align 4, !tbaa !9
  store i32 436207616, ptr %24, align 4, !tbaa !9
  %2496 = load i32, ptr %24, align 4, !tbaa !9
  %2497 = load i32, ptr %23, align 4, !tbaa !9
  %2498 = sub i32 %2497, %2496
  store i32 %2498, ptr %23, align 4, !tbaa !9
  store i32 855638016, ptr %24, align 4, !tbaa !9
  %2499 = load i32, ptr %23, align 4, !tbaa !9
  %2500 = load i32, ptr %24, align 4, !tbaa !9
  %2501 = icmp uge i32 %2499, %2500
  %2502 = zext i1 %2501 to i32
  store i32 %2502, ptr %23, align 4, !tbaa !9
  %2503 = load i32, ptr %23, align 4, !tbaa !9
  %2504 = icmp ne i32 %2503, 0
  br i1 %2504, label %2505, label %2506

2505:                                             ; preds = %2489
  br label %3377

2506:                                             ; preds = %2489
  %2507 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2507, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2508 = load ptr, ptr %9, align 8, !tbaa !5
  %2509 = getelementptr inbounds %struct.w2c_hermes, ptr %2508, i32 0, i32 6
  %2510 = load i32, ptr %23, align 4, !tbaa !9
  %2511 = zext i32 %2510 to i64
  %2512 = add i64 %2511, 64
  %2513 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2509, i64 noundef %2512, i32 noundef %2513)
  %2514 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2514, ptr %23, align 4, !tbaa !9
  %2515 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2515, ptr %24, align 4, !tbaa !9
  store i32 192, ptr %25, align 4, !tbaa !9
  %2516 = load i32, ptr %25, align 4, !tbaa !9
  %2517 = load i32, ptr %24, align 4, !tbaa !9
  %2518 = add i32 %2517, %2516
  store i32 %2518, ptr %24, align 4, !tbaa !9
  %2519 = load ptr, ptr %9, align 8, !tbaa !5
  %2520 = getelementptr inbounds %struct.w2c_hermes, ptr %2519, i32 0, i32 6
  %2521 = load i32, ptr %23, align 4, !tbaa !9
  %2522 = zext i32 %2521 to i64
  %2523 = add i64 %2522, 68
  %2524 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2520, i64 noundef %2523, i32 noundef %2524)
  %2525 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2525, ptr %23, align 4, !tbaa !9
  %2526 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2526, ptr %24, align 4, !tbaa !9
  %2527 = load ptr, ptr %9, align 8, !tbaa !5
  %2528 = getelementptr inbounds %struct.w2c_hermes, ptr %2527, i32 0, i32 6
  %2529 = load i32, ptr %24, align 4, !tbaa !9
  %2530 = zext i32 %2529 to i64
  %2531 = add i64 %2530, 4
  %2532 = call i32 @i32_load(ptr noundef %2528, i64 noundef %2531)
  store i32 %2532, ptr %24, align 4, !tbaa !9
  %2533 = load ptr, ptr %9, align 8, !tbaa !5
  %2534 = getelementptr inbounds %struct.w2c_hermes, ptr %2533, i32 0, i32 6
  %2535 = load i32, ptr %23, align 4, !tbaa !9
  %2536 = zext i32 %2535 to i64
  %2537 = add i64 %2536, 60
  %2538 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2534, i64 noundef %2537, i32 noundef %2538)
  %2539 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2539, ptr %23, align 4, !tbaa !9
  %2540 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2540, ptr %24, align 4, !tbaa !9
  %2541 = load ptr, ptr %9, align 8, !tbaa !5
  %2542 = getelementptr inbounds %struct.w2c_hermes, ptr %2541, i32 0, i32 6
  %2543 = load i32, ptr %24, align 4, !tbaa !9
  %2544 = zext i32 %2543 to i64
  %2545 = call i32 @i32_load(ptr noundef %2542, i64 noundef %2544)
  store i32 %2545, ptr %24, align 4, !tbaa !9
  %2546 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2546, ptr %12, align 4, !tbaa !9
  %2547 = load ptr, ptr %9, align 8, !tbaa !5
  %2548 = getelementptr inbounds %struct.w2c_hermes, ptr %2547, i32 0, i32 6
  %2549 = load i32, ptr %23, align 4, !tbaa !9
  %2550 = zext i32 %2549 to i64
  %2551 = add i64 %2550, 56
  %2552 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2548, i64 noundef %2551, i32 noundef %2552)
  %2553 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2553, ptr %23, align 4, !tbaa !9
  %2554 = load i32, ptr %23, align 4, !tbaa !9
  %2555 = icmp ne i32 %2554, 0
  br i1 %2555, label %2556, label %2572

2556:                                             ; preds = %2506
  %2557 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2557, ptr %23, align 4, !tbaa !9
  %2558 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2558, ptr %24, align 4, !tbaa !9
  %2559 = load ptr, ptr %9, align 8, !tbaa !5
  %2560 = getelementptr inbounds %struct.w2c_hermes, ptr %2559, i32 0, i32 6
  %2561 = load i32, ptr %24, align 4, !tbaa !9
  %2562 = zext i32 %2561 to i64
  %2563 = call i32 @i32_load(ptr noundef %2560, i64 noundef %2562)
  store i32 %2563, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2564 = load i32, ptr %25, align 4, !tbaa !9
  %2565 = load i32, ptr %24, align 4, !tbaa !9
  %2566 = add i32 %2565, %2564
  store i32 %2566, ptr %24, align 4, !tbaa !9
  %2567 = load ptr, ptr %9, align 8, !tbaa !5
  %2568 = getelementptr inbounds %struct.w2c_hermes, ptr %2567, i32 0, i32 6
  %2569 = load i32, ptr %23, align 4, !tbaa !9
  %2570 = zext i32 %2569 to i64
  %2571 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2568, i64 noundef %2570, i32 noundef %2571)
  br label %2572

2572:                                             ; preds = %2556, %2506
  %2573 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2573, ptr %23, align 4, !tbaa !9
  store i32 80, ptr %24, align 4, !tbaa !9
  %2574 = load i32, ptr %24, align 4, !tbaa !9
  %2575 = load i32, ptr %23, align 4, !tbaa !9
  %2576 = add i32 %2575, %2574
  store i32 %2576, ptr %23, align 4, !tbaa !9
  %2577 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2577, ptr %24, align 4, !tbaa !9
  %2578 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2578, ptr %25, align 4, !tbaa !9
  store i32 72, ptr %26, align 4, !tbaa !9
  %2579 = load i32, ptr %26, align 4, !tbaa !9
  %2580 = load i32, ptr %25, align 4, !tbaa !9
  %2581 = add i32 %2580, %2579
  store i32 %2581, ptr %25, align 4, !tbaa !9
  %2582 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2582, ptr %26, align 4, !tbaa !9
  store i32 -64, ptr %27, align 4, !tbaa !9
  %2583 = load i32, ptr %27, align 4, !tbaa !9
  %2584 = load i32, ptr %26, align 4, !tbaa !9
  %2585 = sub i32 %2584, %2583
  store i32 %2585, ptr %26, align 4, !tbaa !9
  %2586 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2586, ptr %27, align 4, !tbaa !9
  store i32 56, ptr %28, align 4, !tbaa !9
  %2587 = load i32, ptr %28, align 4, !tbaa !9
  %2588 = load i32, ptr %27, align 4, !tbaa !9
  %2589 = add i32 %2588, %2587
  store i32 %2589, ptr %27, align 4, !tbaa !9
  %2590 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2590, ptr %28, align 4, !tbaa !9
  %2591 = load ptr, ptr %9, align 8, !tbaa !5
  %2592 = load i32, ptr %23, align 4, !tbaa !9
  %2593 = load i32, ptr %24, align 4, !tbaa !9
  %2594 = load i32, ptr %25, align 4, !tbaa !9
  %2595 = load i32, ptr %26, align 4, !tbaa !9
  %2596 = load i32, ptr %27, align 4, !tbaa !9
  %2597 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %2591, i32 noundef %2592, i32 noundef %2593, i32 noundef %2594, i32 noundef %2595, i32 noundef %2596, i32 noundef %2597)
  %2598 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2598, ptr %23, align 4, !tbaa !9
  %2599 = load ptr, ptr %9, align 8, !tbaa !5
  %2600 = getelementptr inbounds %struct.w2c_hermes, ptr %2599, i32 0, i32 6
  %2601 = load i32, ptr %23, align 4, !tbaa !9
  %2602 = zext i32 %2601 to i64
  %2603 = add i64 %2602, 56
  %2604 = call i32 @i32_load(ptr noundef %2600, i64 noundef %2603)
  store i32 %2604, ptr %23, align 4, !tbaa !9
  %2605 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2605, ptr %12, align 4, !tbaa !9
  %2606 = load i32, ptr %23, align 4, !tbaa !9
  %2607 = icmp ne i32 %2606, 0
  br i1 %2607, label %2608, label %2624

2608:                                             ; preds = %2572
  %2609 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2609, ptr %23, align 4, !tbaa !9
  %2610 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2610, ptr %24, align 4, !tbaa !9
  %2611 = load ptr, ptr %9, align 8, !tbaa !5
  %2612 = getelementptr inbounds %struct.w2c_hermes, ptr %2611, i32 0, i32 6
  %2613 = load i32, ptr %24, align 4, !tbaa !9
  %2614 = zext i32 %2613 to i64
  %2615 = call i32 @i32_load(ptr noundef %2612, i64 noundef %2614)
  store i32 %2615, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2616 = load i32, ptr %25, align 4, !tbaa !9
  %2617 = load i32, ptr %24, align 4, !tbaa !9
  %2618 = sub i32 %2617, %2616
  store i32 %2618, ptr %24, align 4, !tbaa !9
  %2619 = load ptr, ptr %9, align 8, !tbaa !5
  %2620 = getelementptr inbounds %struct.w2c_hermes, ptr %2619, i32 0, i32 6
  %2621 = load i32, ptr %23, align 4, !tbaa !9
  %2622 = zext i32 %2621 to i64
  %2623 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2620, i64 noundef %2622, i32 noundef %2623)
  br label %2624

2624:                                             ; preds = %2608, %2572
  %2625 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2625, ptr %23, align 4, !tbaa !9
  %2626 = load ptr, ptr %9, align 8, !tbaa !5
  %2627 = getelementptr inbounds %struct.w2c_hermes, ptr %2626, i32 0, i32 6
  %2628 = load i32, ptr %23, align 4, !tbaa !9
  %2629 = zext i32 %2628 to i64
  %2630 = add i64 %2629, 64
  %2631 = call i32 @i32_load(ptr noundef %2627, i64 noundef %2630)
  store i32 %2631, ptr %23, align 4, !tbaa !9
  %2632 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2632, ptr %12, align 4, !tbaa !9
  %2633 = load i32, ptr %23, align 4, !tbaa !9
  %2634 = icmp ne i32 %2633, 0
  br i1 %2634, label %2635, label %2651

2635:                                             ; preds = %2624
  %2636 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2636, ptr %23, align 4, !tbaa !9
  %2637 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2637, ptr %24, align 4, !tbaa !9
  %2638 = load ptr, ptr %9, align 8, !tbaa !5
  %2639 = getelementptr inbounds %struct.w2c_hermes, ptr %2638, i32 0, i32 6
  %2640 = load i32, ptr %24, align 4, !tbaa !9
  %2641 = zext i32 %2640 to i64
  %2642 = call i32 @i32_load(ptr noundef %2639, i64 noundef %2641)
  store i32 %2642, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2643 = load i32, ptr %25, align 4, !tbaa !9
  %2644 = load i32, ptr %24, align 4, !tbaa !9
  %2645 = sub i32 %2644, %2643
  store i32 %2645, ptr %24, align 4, !tbaa !9
  %2646 = load ptr, ptr %9, align 8, !tbaa !5
  %2647 = getelementptr inbounds %struct.w2c_hermes, ptr %2646, i32 0, i32 6
  %2648 = load i32, ptr %23, align 4, !tbaa !9
  %2649 = zext i32 %2648 to i64
  %2650 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2647, i64 noundef %2649, i32 noundef %2650)
  br label %2651

2651:                                             ; preds = %2635, %2624
  %2652 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2652, ptr %23, align 4, !tbaa !9
  %2653 = load ptr, ptr %9, align 8, !tbaa !5
  %2654 = getelementptr inbounds %struct.w2c_hermes, ptr %2653, i32 0, i32 6
  %2655 = load i32, ptr %23, align 4, !tbaa !9
  %2656 = zext i32 %2655 to i64
  %2657 = add i64 %2656, 72
  %2658 = call i32 @i32_load(ptr noundef %2654, i64 noundef %2657)
  store i32 %2658, ptr %23, align 4, !tbaa !9
  %2659 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2659, ptr %12, align 4, !tbaa !9
  %2660 = load i32, ptr %23, align 4, !tbaa !9
  %2661 = icmp ne i32 %2660, 0
  br i1 %2661, label %2662, label %2678

2662:                                             ; preds = %2651
  %2663 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2663, ptr %23, align 4, !tbaa !9
  %2664 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2664, ptr %24, align 4, !tbaa !9
  %2665 = load ptr, ptr %9, align 8, !tbaa !5
  %2666 = getelementptr inbounds %struct.w2c_hermes, ptr %2665, i32 0, i32 6
  %2667 = load i32, ptr %24, align 4, !tbaa !9
  %2668 = zext i32 %2667 to i64
  %2669 = call i32 @i32_load(ptr noundef %2666, i64 noundef %2668)
  store i32 %2669, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2670 = load i32, ptr %25, align 4, !tbaa !9
  %2671 = load i32, ptr %24, align 4, !tbaa !9
  %2672 = sub i32 %2671, %2670
  store i32 %2672, ptr %24, align 4, !tbaa !9
  %2673 = load ptr, ptr %9, align 8, !tbaa !5
  %2674 = getelementptr inbounds %struct.w2c_hermes, ptr %2673, i32 0, i32 6
  %2675 = load i32, ptr %23, align 4, !tbaa !9
  %2676 = zext i32 %2675 to i64
  %2677 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2674, i64 noundef %2676, i32 noundef %2677)
  br label %2678

2678:                                             ; preds = %2662, %2651
  %2679 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2679, ptr %23, align 4, !tbaa !9
  %2680 = load ptr, ptr %9, align 8, !tbaa !5
  %2681 = getelementptr inbounds %struct.w2c_hermes, ptr %2680, i32 0, i32 6
  %2682 = load i32, ptr %23, align 4, !tbaa !9
  %2683 = zext i32 %2682 to i64
  %2684 = add i64 %2683, 84
  %2685 = call i32 @i32_load8_u(ptr noundef %2681, i64 noundef %2684)
  store i32 %2685, ptr %23, align 4, !tbaa !9
  %2686 = load i32, ptr %23, align 4, !tbaa !9
  %2687 = icmp ne i32 %2686, 0
  %2688 = xor i1 %2687, true
  %2689 = zext i1 %2688 to i32
  store i32 %2689, ptr %23, align 4, !tbaa !9
  %2690 = load i32, ptr %23, align 4, !tbaa !9
  %2691 = icmp ne i32 %2690, 0
  br i1 %2691, label %2692, label %2693

2692:                                             ; preds = %2678
  br label %3395

2693:                                             ; preds = %2678
  %2694 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2694, ptr %23, align 4, !tbaa !9
  store i32 40, ptr %24, align 4, !tbaa !9
  %2695 = load i32, ptr %24, align 4, !tbaa !9
  %2696 = load i32, ptr %23, align 4, !tbaa !9
  %2697 = add i32 %2696, %2695
  store i32 %2697, ptr %23, align 4, !tbaa !9
  %2698 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2698, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %25, align 4, !tbaa !9
  %2699 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2699, ptr %26, align 4, !tbaa !9
  %2700 = load ptr, ptr %9, align 8, !tbaa !5
  %2701 = getelementptr inbounds %struct.w2c_hermes, ptr %2700, i32 0, i32 6
  %2702 = load i32, ptr %26, align 4, !tbaa !9
  %2703 = zext i32 %2702 to i64
  %2704 = add i64 %2703, 80
  %2705 = call i64 @i64_load32_u(ptr noundef %2701, i64 noundef %2704)
  store i64 %2705, ptr %33, align 8, !tbaa !11
  store i64 -281474976710656, ptr %34, align 8, !tbaa !11
  %2706 = load i64, ptr %34, align 8, !tbaa !11
  %2707 = load i64, ptr %33, align 8, !tbaa !11
  %2708 = or i64 %2707, %2706
  store i64 %2708, ptr %33, align 8, !tbaa !11
  store i64 -1688849860263936, ptr %34, align 8, !tbaa !11
  %2709 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2709, ptr %28, align 4, !tbaa !9
  %2710 = load ptr, ptr %9, align 8, !tbaa !5
  %2711 = getelementptr inbounds %struct.w2c_hermes, ptr %2710, i32 0, i32 6
  %2712 = load i32, ptr %28, align 4, !tbaa !9
  %2713 = zext i32 %2712 to i64
  %2714 = add i64 %2713, 4
  %2715 = call i32 @i32_load(ptr noundef %2711, i64 noundef %2714)
  store i32 %2715, ptr %28, align 4, !tbaa !9
  %2716 = load ptr, ptr %9, align 8, !tbaa !5
  %2717 = getelementptr inbounds %struct.w2c_hermes, ptr %2716, i32 0, i32 6
  %2718 = load i32, ptr %28, align 4, !tbaa !9
  %2719 = zext i32 %2718 to i64
  %2720 = call i64 @i64_load(ptr noundef %2717, i64 noundef %2719)
  store i64 %2720, ptr %35, align 8, !tbaa !11
  %2721 = load ptr, ptr %9, align 8, !tbaa !5
  %2722 = load i32, ptr %23, align 4, !tbaa !9
  %2723 = load i32, ptr %24, align 4, !tbaa !9
  %2724 = load i32, ptr %25, align 4, !tbaa !9
  %2725 = load i64, ptr %33, align 8, !tbaa !11
  %2726 = load i64, ptr %34, align 8, !tbaa !11
  %2727 = load i64, ptr %35, align 8, !tbaa !11
  %2728 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AScopedNativeCallFrame0x3A0x3AScopedNativeCallFrame0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2721, i32 noundef %2722, i32 noundef %2723, i32 noundef %2724, i64 noundef %2725, i64 noundef %2726, i64 noundef %2727)
  store i32 %2728, ptr %23, align 4, !tbaa !9
  %2729 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2729, ptr %12, align 4, !tbaa !9
  %2730 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2730, ptr %24, align 4, !tbaa !9
  %2731 = load ptr, ptr %9, align 8, !tbaa !5
  %2732 = getelementptr inbounds %struct.w2c_hermes, ptr %2731, i32 0, i32 6
  %2733 = load i32, ptr %24, align 4, !tbaa !9
  %2734 = zext i32 %2733 to i64
  %2735 = add i64 %2734, 12
  %2736 = call i32 @i32_load8_u(ptr noundef %2732, i64 noundef %2735)
  store i32 %2736, ptr %24, align 4, !tbaa !9
  %2737 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2737, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2738 = load i32, ptr %25, align 4, !tbaa !9
  %2739 = load i32, ptr %24, align 4, !tbaa !9
  %2740 = xor i32 %2739, %2738
  store i32 %2740, ptr %24, align 4, !tbaa !9
  %2741 = load ptr, ptr %9, align 8, !tbaa !5
  %2742 = getelementptr inbounds %struct.w2c_hermes, ptr %2741, i32 0, i32 6
  %2743 = load i32, ptr %23, align 4, !tbaa !9
  %2744 = zext i32 %2743 to i64
  %2745 = add i64 %2744, 13
  %2746 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2742, i64 noundef %2745, i32 noundef %2746)
  %2747 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2747, ptr %23, align 4, !tbaa !9
  %2748 = load i32, ptr %23, align 4, !tbaa !9
  %2749 = icmp ne i32 %2748, 0
  br i1 %2749, label %2750, label %2789

2750:                                             ; preds = %2693
  %2751 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2751, ptr %23, align 4, !tbaa !9
  %2752 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2752, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2753 = load ptr, ptr %9, align 8, !tbaa !5
  %2754 = load i32, ptr %24, align 4, !tbaa !9
  %2755 = load i32, ptr %25, align 4, !tbaa !9
  %2756 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseStackOverflow0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AStackOverflowKind0x29(ptr noundef %2753, i32 noundef %2754, i32 noundef %2755)
  store i32 %2756, ptr %24, align 4, !tbaa !9
  %2757 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2757, ptr %11, align 4, !tbaa !9
  %2758 = load ptr, ptr %9, align 8, !tbaa !5
  %2759 = getelementptr inbounds %struct.w2c_hermes, ptr %2758, i32 0, i32 6
  %2760 = load i32, ptr %23, align 4, !tbaa !9
  %2761 = zext i32 %2760 to i64
  %2762 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2759, i64 noundef %2761, i32 noundef %2762)
  %2763 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2763, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %2764 = load i32, ptr %23, align 4, !tbaa !9
  %2765 = load i32, ptr %24, align 4, !tbaa !9
  %2766 = icmp ne i32 %2764, %2765
  %2767 = zext i1 %2766 to i32
  store i32 %2767, ptr %23, align 4, !tbaa !9
  %2768 = load i32, ptr %23, align 4, !tbaa !9
  %2769 = icmp ne i32 %2768, 0
  br i1 %2769, label %2770, label %2771

2770:                                             ; preds = %2750
  br label %2815

2771:                                             ; preds = %2750
  store i32 0, ptr %23, align 4, !tbaa !9
  %2772 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2772, ptr %17, align 4, !tbaa !9
  store i32 109717, ptr %24, align 4, !tbaa !9
  %2773 = load i32, ptr %24, align 4, !tbaa !9
  %2774 = load i32, ptr %23, align 4, !tbaa !9
  %2775 = add i32 %2774, %2773
  store i32 %2775, ptr %23, align 4, !tbaa !9
  %2776 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2776, ptr %24, align 4, !tbaa !9
  store i32 77564, ptr %25, align 4, !tbaa !9
  %2777 = load i32, ptr %25, align 4, !tbaa !9
  %2778 = load i32, ptr %24, align 4, !tbaa !9
  %2779 = add i32 %2778, %2777
  store i32 %2779, ptr %24, align 4, !tbaa !9
  store i32 168, ptr %25, align 4, !tbaa !9
  %2780 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2780, ptr %26, align 4, !tbaa !9
  store i32 28083, ptr %27, align 4, !tbaa !9
  %2781 = load i32, ptr %27, align 4, !tbaa !9
  %2782 = load i32, ptr %26, align 4, !tbaa !9
  %2783 = add i32 %2782, %2781
  store i32 %2783, ptr %26, align 4, !tbaa !9
  %2784 = load ptr, ptr %9, align 8, !tbaa !5
  %2785 = load i32, ptr %23, align 4, !tbaa !9
  %2786 = load i32, ptr %24, align 4, !tbaa !9
  %2787 = load i32, ptr %25, align 4, !tbaa !9
  %2788 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2784, i32 noundef %2785, i32 noundef %2786, i32 noundef %2787, i32 noundef %2788)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2789:                                             ; preds = %2693
  %2790 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2790, ptr %23, align 4, !tbaa !9
  %2791 = load ptr, ptr %9, align 8, !tbaa !5
  %2792 = getelementptr inbounds %struct.w2c_hermes, ptr %2791, i32 0, i32 6
  %2793 = load i32, ptr %23, align 4, !tbaa !9
  %2794 = zext i32 %2793 to i64
  %2795 = add i64 %2794, 5350
  %2796 = call i32 @i32_load8_u(ptr noundef %2792, i64 noundef %2795)
  store i32 %2796, ptr %23, align 4, !tbaa !9
  %2797 = load i32, ptr %23, align 4, !tbaa !9
  %2798 = icmp ne i32 %2797, 0
  br i1 %2798, label %2799, label %2807

2799:                                             ; preds = %2789
  %2800 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2800, ptr %23, align 4, !tbaa !9
  %2801 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2801, ptr %24, align 4, !tbaa !9
  %2802 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2802, ptr %25, align 4, !tbaa !9
  %2803 = load ptr, ptr %9, align 8, !tbaa !5
  %2804 = load i32, ptr %23, align 4, !tbaa !9
  %2805 = load i32, ptr %24, align 4, !tbaa !9
  %2806 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AinterpretFunctionWithRandomStack0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %2803, i32 noundef %2804, i32 noundef %2805, i32 noundef %2806)
  br label %2815

2807:                                             ; preds = %2789
  %2808 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2808, ptr %23, align 4, !tbaa !9
  %2809 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2809, ptr %24, align 4, !tbaa !9
  %2810 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2810, ptr %25, align 4, !tbaa !9
  %2811 = load ptr, ptr %9, align 8, !tbaa !5
  %2812 = load i32, ptr %23, align 4, !tbaa !9
  %2813 = load i32, ptr %24, align 4, !tbaa !9
  %2814 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %2811, i32 noundef %2812, i32 noundef %2813, i32 noundef %2814)
  br label %2815

2815:                                             ; preds = %2807, %2799, %2770
  %2816 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2816, ptr %23, align 4, !tbaa !9
  %2817 = load ptr, ptr %9, align 8, !tbaa !5
  %2818 = getelementptr inbounds %struct.w2c_hermes, ptr %2817, i32 0, i32 6
  %2819 = load i32, ptr %23, align 4, !tbaa !9
  %2820 = zext i32 %2819 to i64
  %2821 = call i32 @i32_load(ptr noundef %2818, i64 noundef %2820)
  store i32 %2821, ptr %23, align 4, !tbaa !9
  %2822 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2822, ptr %11, align 4, !tbaa !9
  %2823 = load ptr, ptr %9, align 8, !tbaa !5
  %2824 = getelementptr inbounds %struct.w2c_hermes, ptr %2823, i32 0, i32 6
  %2825 = load i32, ptr %23, align 4, !tbaa !9
  %2826 = zext i32 %2825 to i64
  %2827 = add i64 %2826, 5636
  %2828 = call i32 @i32_load(ptr noundef %2824, i64 noundef %2827)
  store i32 %2828, ptr %23, align 4, !tbaa !9
  %2829 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2829, ptr %24, align 4, !tbaa !9
  %2830 = load ptr, ptr %9, align 8, !tbaa !5
  %2831 = getelementptr inbounds %struct.w2c_hermes, ptr %2830, i32 0, i32 6
  %2832 = load i32, ptr %24, align 4, !tbaa !9
  %2833 = zext i32 %2832 to i64
  %2834 = add i64 %2833, 4
  %2835 = call i32 @i32_load(ptr noundef %2831, i64 noundef %2834)
  store i32 %2835, ptr %24, align 4, !tbaa !9
  %2836 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2836, ptr %12, align 4, !tbaa !9
  %2837 = load i32, ptr %23, align 4, !tbaa !9
  %2838 = load i32, ptr %24, align 4, !tbaa !9
  %2839 = icmp ult i32 %2837, %2838
  %2840 = zext i1 %2839 to i32
  store i32 %2840, ptr %23, align 4, !tbaa !9
  %2841 = load i32, ptr %23, align 4, !tbaa !9
  %2842 = icmp ne i32 %2841, 0
  br i1 %2842, label %2843, label %2844

2843:                                             ; preds = %2815
  br label %3413

2844:                                             ; preds = %2815
  %2845 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2845, ptr %23, align 4, !tbaa !9
  %2846 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2846, ptr %24, align 4, !tbaa !9
  %2847 = load ptr, ptr %9, align 8, !tbaa !5
  %2848 = getelementptr inbounds %struct.w2c_hermes, ptr %2847, i32 0, i32 6
  %2849 = load i32, ptr %23, align 4, !tbaa !9
  %2850 = zext i32 %2849 to i64
  %2851 = add i64 %2850, 5636
  %2852 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2848, i64 noundef %2851, i32 noundef %2852)
  br label %2853

2853:                                             ; preds = %2844, %2397, %2396, %2022, %2021, %1456
  %2854 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2854, ptr %23, align 4, !tbaa !9
  %2855 = load ptr, ptr %9, align 8, !tbaa !5
  %2856 = getelementptr inbounds %struct.w2c_hermes, ptr %2855, i32 0, i32 6
  %2857 = load i32, ptr %23, align 4, !tbaa !9
  %2858 = zext i32 %2857 to i64
  %2859 = call i32 @i32_load(ptr noundef %2856, i64 noundef %2858)
  store i32 %2859, ptr %23, align 4, !tbaa !9
  %2860 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2860, ptr %11, align 4, !tbaa !9
  %2861 = load i32, ptr %23, align 4, !tbaa !9
  %2862 = icmp ne i32 %2861, 0
  br i1 %2862, label %2863, label %2879

2863:                                             ; preds = %2853
  %2864 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2864, ptr %23, align 4, !tbaa !9
  %2865 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2865, ptr %24, align 4, !tbaa !9
  %2866 = load ptr, ptr %9, align 8, !tbaa !5
  %2867 = getelementptr inbounds %struct.w2c_hermes, ptr %2866, i32 0, i32 6
  %2868 = load i32, ptr %24, align 4, !tbaa !9
  %2869 = zext i32 %2868 to i64
  %2870 = call i32 @i32_load(ptr noundef %2867, i64 noundef %2869)
  store i32 %2870, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %2871 = load i32, ptr %25, align 4, !tbaa !9
  %2872 = load i32, ptr %24, align 4, !tbaa !9
  %2873 = sub i32 %2872, %2871
  store i32 %2873, ptr %24, align 4, !tbaa !9
  %2874 = load ptr, ptr %9, align 8, !tbaa !5
  %2875 = getelementptr inbounds %struct.w2c_hermes, ptr %2874, i32 0, i32 6
  %2876 = load i32, ptr %23, align 4, !tbaa !9
  %2877 = zext i32 %2876 to i64
  %2878 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2875, i64 noundef %2877, i32 noundef %2878)
  br label %2879

2879:                                             ; preds = %2863, %2853
  %2880 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2880, ptr %23, align 4, !tbaa !9
  store i32 168, ptr %24, align 4, !tbaa !9
  %2881 = load i32, ptr %24, align 4, !tbaa !9
  %2882 = load i32, ptr %23, align 4, !tbaa !9
  %2883 = add i32 %2882, %2881
  store i32 %2883, ptr %23, align 4, !tbaa !9
  %2884 = load ptr, ptr %9, align 8, !tbaa !5
  %2885 = load i32, ptr %23, align 4, !tbaa !9
  %2886 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %2884, i32 noundef %2885)
  store i32 %2886, ptr %23, align 4, !tbaa !9
  br label %2887

2887:                                             ; preds = %2879, %290, %107
  %2888 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2888, ptr %23, align 4, !tbaa !9
  store i32 368, ptr %24, align 4, !tbaa !9
  %2889 = load i32, ptr %24, align 4, !tbaa !9
  %2890 = load i32, ptr %23, align 4, !tbaa !9
  %2891 = add i32 %2890, %2889
  store i32 %2891, ptr %23, align 4, !tbaa !9
  %2892 = load i32, ptr %23, align 4, !tbaa !9
  %2893 = load ptr, ptr %9, align 8, !tbaa !5
  %2894 = getelementptr inbounds %struct.w2c_hermes, ptr %2893, i32 0, i32 3
  store i32 %2892, ptr %2894, align 8, !tbaa !13
  br label %3431

2895:                                             ; preds = %131
  store i32 0, ptr %23, align 4, !tbaa !9
  %2896 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2896, ptr %17, align 4, !tbaa !9
  store i32 189078, ptr %24, align 4, !tbaa !9
  %2897 = load i32, ptr %24, align 4, !tbaa !9
  %2898 = load i32, ptr %23, align 4, !tbaa !9
  %2899 = add i32 %2898, %2897
  store i32 %2899, ptr %23, align 4, !tbaa !9
  %2900 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2900, ptr %24, align 4, !tbaa !9
  store i32 60884, ptr %25, align 4, !tbaa !9
  %2901 = load i32, ptr %25, align 4, !tbaa !9
  %2902 = load i32, ptr %24, align 4, !tbaa !9
  %2903 = add i32 %2902, %2901
  store i32 %2903, ptr %24, align 4, !tbaa !9
  store i32 987, ptr %25, align 4, !tbaa !9
  %2904 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2904, ptr %26, align 4, !tbaa !9
  store i32 100712, ptr %27, align 4, !tbaa !9
  %2905 = load i32, ptr %27, align 4, !tbaa !9
  %2906 = load i32, ptr %26, align 4, !tbaa !9
  %2907 = add i32 %2906, %2905
  store i32 %2907, ptr %26, align 4, !tbaa !9
  %2908 = load ptr, ptr %9, align 8, !tbaa !5
  %2909 = load i32, ptr %23, align 4, !tbaa !9
  %2910 = load i32, ptr %24, align 4, !tbaa !9
  %2911 = load i32, ptr %25, align 4, !tbaa !9
  %2912 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2908, i32 noundef %2909, i32 noundef %2910, i32 noundef %2911, i32 noundef %2912)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2913:                                             ; preds = %213
  store i32 0, ptr %23, align 4, !tbaa !9
  %2914 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2914, ptr %17, align 4, !tbaa !9
  store i32 146777, ptr %24, align 4, !tbaa !9
  %2915 = load i32, ptr %24, align 4, !tbaa !9
  %2916 = load i32, ptr %23, align 4, !tbaa !9
  %2917 = add i32 %2916, %2915
  store i32 %2917, ptr %23, align 4, !tbaa !9
  %2918 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2918, ptr %24, align 4, !tbaa !9
  store i32 82692, ptr %25, align 4, !tbaa !9
  %2919 = load i32, ptr %25, align 4, !tbaa !9
  %2920 = load i32, ptr %24, align 4, !tbaa !9
  %2921 = add i32 %2920, %2919
  store i32 %2921, ptr %24, align 4, !tbaa !9
  store i32 43, ptr %25, align 4, !tbaa !9
  %2922 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2922, ptr %26, align 4, !tbaa !9
  store i32 24718, ptr %27, align 4, !tbaa !9
  %2923 = load i32, ptr %27, align 4, !tbaa !9
  %2924 = load i32, ptr %26, align 4, !tbaa !9
  %2925 = add i32 %2924, %2923
  store i32 %2925, ptr %26, align 4, !tbaa !9
  %2926 = load ptr, ptr %9, align 8, !tbaa !5
  %2927 = load i32, ptr %23, align 4, !tbaa !9
  %2928 = load i32, ptr %24, align 4, !tbaa !9
  %2929 = load i32, ptr %25, align 4, !tbaa !9
  %2930 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2926, i32 noundef %2927, i32 noundef %2928, i32 noundef %2929, i32 noundef %2930)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2931:                                             ; preds = %225
  store i32 0, ptr %23, align 4, !tbaa !9
  %2932 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2932, ptr %17, align 4, !tbaa !9
  store i32 147142, ptr %24, align 4, !tbaa !9
  %2933 = load i32, ptr %24, align 4, !tbaa !9
  %2934 = load i32, ptr %23, align 4, !tbaa !9
  %2935 = add i32 %2934, %2933
  store i32 %2935, ptr %23, align 4, !tbaa !9
  %2936 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2936, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %2937 = load i32, ptr %25, align 4, !tbaa !9
  %2938 = load i32, ptr %24, align 4, !tbaa !9
  %2939 = add i32 %2938, %2937
  store i32 %2939, ptr %24, align 4, !tbaa !9
  store i32 106, ptr %25, align 4, !tbaa !9
  %2940 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2940, ptr %26, align 4, !tbaa !9
  store i32 28119, ptr %27, align 4, !tbaa !9
  %2941 = load i32, ptr %27, align 4, !tbaa !9
  %2942 = load i32, ptr %26, align 4, !tbaa !9
  %2943 = add i32 %2942, %2941
  store i32 %2943, ptr %26, align 4, !tbaa !9
  %2944 = load ptr, ptr %9, align 8, !tbaa !5
  %2945 = load i32, ptr %23, align 4, !tbaa !9
  %2946 = load i32, ptr %24, align 4, !tbaa !9
  %2947 = load i32, ptr %25, align 4, !tbaa !9
  %2948 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2944, i32 noundef %2945, i32 noundef %2946, i32 noundef %2947, i32 noundef %2948)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2949:                                             ; preds = %242
  store i32 0, ptr %23, align 4, !tbaa !9
  %2950 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2950, ptr %17, align 4, !tbaa !9
  store i32 205012, ptr %24, align 4, !tbaa !9
  %2951 = load i32, ptr %24, align 4, !tbaa !9
  %2952 = load i32, ptr %23, align 4, !tbaa !9
  %2953 = add i32 %2952, %2951
  store i32 %2953, ptr %23, align 4, !tbaa !9
  %2954 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2954, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %2955 = load i32, ptr %25, align 4, !tbaa !9
  %2956 = load i32, ptr %24, align 4, !tbaa !9
  %2957 = add i32 %2956, %2955
  store i32 %2957, ptr %24, align 4, !tbaa !9
  store i32 255, ptr %25, align 4, !tbaa !9
  %2958 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2958, ptr %26, align 4, !tbaa !9
  store i32 24720, ptr %27, align 4, !tbaa !9
  %2959 = load i32, ptr %27, align 4, !tbaa !9
  %2960 = load i32, ptr %26, align 4, !tbaa !9
  %2961 = add i32 %2960, %2959
  store i32 %2961, ptr %26, align 4, !tbaa !9
  %2962 = load ptr, ptr %9, align 8, !tbaa !5
  %2963 = load i32, ptr %23, align 4, !tbaa !9
  %2964 = load i32, ptr %24, align 4, !tbaa !9
  %2965 = load i32, ptr %25, align 4, !tbaa !9
  %2966 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2962, i32 noundef %2963, i32 noundef %2964, i32 noundef %2965, i32 noundef %2966)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2967:                                             ; preds = %857
  %2968 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2968, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2969 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2969, ptr %11, align 4, !tbaa !9
  store i32 105758, ptr %25, align 4, !tbaa !9
  %2970 = load i32, ptr %25, align 4, !tbaa !9
  %2971 = load i32, ptr %24, align 4, !tbaa !9
  %2972 = add i32 %2971, %2970
  store i32 %2972, ptr %24, align 4, !tbaa !9
  %2973 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2973, ptr %12, align 4, !tbaa !9
  %2974 = load ptr, ptr %9, align 8, !tbaa !5
  %2975 = getelementptr inbounds %struct.w2c_hermes, ptr %2974, i32 0, i32 6
  %2976 = load i32, ptr %23, align 4, !tbaa !9
  %2977 = zext i32 %2976 to i64
  %2978 = add i64 %2977, 16
  %2979 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2975, i64 noundef %2978, i32 noundef %2979)
  %2980 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2980, ptr %23, align 4, !tbaa !9
  store i32 44700, ptr %24, align 4, !tbaa !9
  %2981 = load i32, ptr %24, align 4, !tbaa !9
  %2982 = load i32, ptr %23, align 4, !tbaa !9
  %2983 = add i32 %2982, %2981
  store i32 %2983, ptr %23, align 4, !tbaa !9
  %2984 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2984, ptr %24, align 4, !tbaa !9
  store i32 45688, ptr %25, align 4, !tbaa !9
  %2985 = load i32, ptr %25, align 4, !tbaa !9
  %2986 = load i32, ptr %24, align 4, !tbaa !9
  %2987 = add i32 %2986, %2985
  store i32 %2987, ptr %24, align 4, !tbaa !9
  %2988 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2988, ptr %25, align 4, !tbaa !9
  store i32 16, ptr %26, align 4, !tbaa !9
  %2989 = load i32, ptr %26, align 4, !tbaa !9
  %2990 = load i32, ptr %25, align 4, !tbaa !9
  %2991 = add i32 %2990, %2989
  store i32 %2991, ptr %25, align 4, !tbaa !9
  %2992 = load ptr, ptr %9, align 8, !tbaa !5
  %2993 = load i32, ptr %23, align 4, !tbaa !9
  %2994 = load i32, ptr %24, align 4, !tbaa !9
  %2995 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef %2992, i32 noundef %2993, i32 noundef %2994, i32 noundef %2995)
  %2996 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2996, ptr %23, align 4, !tbaa !9
  %2997 = load ptr, ptr %9, align 8, !tbaa !5
  %2998 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %2997, i32 noundef %2998)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2999:                                             ; preds = %1279
  store i32 0, ptr %23, align 4, !tbaa !9
  %3000 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3000, ptr %17, align 4, !tbaa !9
  store i32 179505, ptr %24, align 4, !tbaa !9
  %3001 = load i32, ptr %24, align 4, !tbaa !9
  %3002 = load i32, ptr %23, align 4, !tbaa !9
  %3003 = add i32 %3002, %3001
  store i32 %3003, ptr %23, align 4, !tbaa !9
  %3004 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3004, ptr %24, align 4, !tbaa !9
  store i32 84574, ptr %25, align 4, !tbaa !9
  %3005 = load i32, ptr %25, align 4, !tbaa !9
  %3006 = load i32, ptr %24, align 4, !tbaa !9
  %3007 = add i32 %3006, %3005
  store i32 %3007, ptr %24, align 4, !tbaa !9
  store i32 127, ptr %25, align 4, !tbaa !9
  %3008 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3008, ptr %26, align 4, !tbaa !9
  store i32 35614, ptr %27, align 4, !tbaa !9
  %3009 = load i32, ptr %27, align 4, !tbaa !9
  %3010 = load i32, ptr %26, align 4, !tbaa !9
  %3011 = add i32 %3010, %3009
  store i32 %3011, ptr %26, align 4, !tbaa !9
  %3012 = load ptr, ptr %9, align 8, !tbaa !5
  %3013 = load i32, ptr %23, align 4, !tbaa !9
  %3014 = load i32, ptr %24, align 4, !tbaa !9
  %3015 = load i32, ptr %25, align 4, !tbaa !9
  %3016 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3012, i32 noundef %3013, i32 noundef %3014, i32 noundef %3015, i32 noundef %3016)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3017:                                             ; preds = %1774
  store i32 0, ptr %23, align 4, !tbaa !9
  %3018 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3018, ptr %17, align 4, !tbaa !9
  store i32 118124, ptr %24, align 4, !tbaa !9
  %3019 = load i32, ptr %24, align 4, !tbaa !9
  %3020 = load i32, ptr %23, align 4, !tbaa !9
  %3021 = add i32 %3020, %3019
  store i32 %3021, ptr %23, align 4, !tbaa !9
  %3022 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3022, ptr %24, align 4, !tbaa !9
  store i32 83341, ptr %25, align 4, !tbaa !9
  %3023 = load i32, ptr %25, align 4, !tbaa !9
  %3024 = load i32, ptr %24, align 4, !tbaa !9
  %3025 = add i32 %3024, %3023
  store i32 %3025, ptr %24, align 4, !tbaa !9
  store i32 480, ptr %25, align 4, !tbaa !9
  %3026 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3026, ptr %26, align 4, !tbaa !9
  store i32 38798, ptr %27, align 4, !tbaa !9
  %3027 = load i32, ptr %27, align 4, !tbaa !9
  %3028 = load i32, ptr %26, align 4, !tbaa !9
  %3029 = add i32 %3028, %3027
  store i32 %3029, ptr %26, align 4, !tbaa !9
  %3030 = load ptr, ptr %9, align 8, !tbaa !5
  %3031 = load i32, ptr %23, align 4, !tbaa !9
  %3032 = load i32, ptr %24, align 4, !tbaa !9
  %3033 = load i32, ptr %25, align 4, !tbaa !9
  %3034 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3030, i32 noundef %3031, i32 noundef %3032, i32 noundef %3033, i32 noundef %3034)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3035:                                             ; preds = %1783
  store i32 0, ptr %23, align 4, !tbaa !9
  %3036 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3036, ptr %17, align 4, !tbaa !9
  store i32 118273, ptr %24, align 4, !tbaa !9
  %3037 = load i32, ptr %24, align 4, !tbaa !9
  %3038 = load i32, ptr %23, align 4, !tbaa !9
  %3039 = add i32 %3038, %3037
  store i32 %3039, ptr %23, align 4, !tbaa !9
  %3040 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3040, ptr %24, align 4, !tbaa !9
  store i32 83341, ptr %25, align 4, !tbaa !9
  %3041 = load i32, ptr %25, align 4, !tbaa !9
  %3042 = load i32, ptr %24, align 4, !tbaa !9
  %3043 = add i32 %3042, %3041
  store i32 %3043, ptr %24, align 4, !tbaa !9
  store i32 438, ptr %25, align 4, !tbaa !9
  %3044 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3044, ptr %26, align 4, !tbaa !9
  store i32 49706, ptr %27, align 4, !tbaa !9
  %3045 = load i32, ptr %27, align 4, !tbaa !9
  %3046 = load i32, ptr %26, align 4, !tbaa !9
  %3047 = add i32 %3046, %3045
  store i32 %3047, ptr %26, align 4, !tbaa !9
  %3048 = load ptr, ptr %9, align 8, !tbaa !5
  %3049 = load i32, ptr %23, align 4, !tbaa !9
  %3050 = load i32, ptr %24, align 4, !tbaa !9
  %3051 = load i32, ptr %25, align 4, !tbaa !9
  %3052 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3048, i32 noundef %3049, i32 noundef %3050, i32 noundef %3051, i32 noundef %3052)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3053:                                             ; preds = %1795
  store i32 0, ptr %23, align 4, !tbaa !9
  %3054 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3054, ptr %17, align 4, !tbaa !9
  store i32 168498, ptr %24, align 4, !tbaa !9
  %3055 = load i32, ptr %24, align 4, !tbaa !9
  %3056 = load i32, ptr %23, align 4, !tbaa !9
  %3057 = add i32 %3056, %3055
  store i32 %3057, ptr %23, align 4, !tbaa !9
  %3058 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3058, ptr %24, align 4, !tbaa !9
  store i32 78081, ptr %25, align 4, !tbaa !9
  %3059 = load i32, ptr %25, align 4, !tbaa !9
  %3060 = load i32, ptr %24, align 4, !tbaa !9
  %3061 = add i32 %3060, %3059
  store i32 %3061, ptr %24, align 4, !tbaa !9
  store i32 269, ptr %25, align 4, !tbaa !9
  %3062 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3062, ptr %26, align 4, !tbaa !9
  store i32 20456, ptr %27, align 4, !tbaa !9
  %3063 = load i32, ptr %27, align 4, !tbaa !9
  %3064 = load i32, ptr %26, align 4, !tbaa !9
  %3065 = add i32 %3064, %3063
  store i32 %3065, ptr %26, align 4, !tbaa !9
  %3066 = load ptr, ptr %9, align 8, !tbaa !5
  %3067 = load i32, ptr %23, align 4, !tbaa !9
  %3068 = load i32, ptr %24, align 4, !tbaa !9
  %3069 = load i32, ptr %25, align 4, !tbaa !9
  %3070 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3066, i32 noundef %3067, i32 noundef %3068, i32 noundef %3069, i32 noundef %3070)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3071:                                             ; preds = %1812
  store i32 0, ptr %23, align 4, !tbaa !9
  %3072 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3072, ptr %17, align 4, !tbaa !9
  store i32 118714, ptr %24, align 4, !tbaa !9
  %3073 = load i32, ptr %24, align 4, !tbaa !9
  %3074 = load i32, ptr %23, align 4, !tbaa !9
  %3075 = add i32 %3074, %3073
  store i32 %3075, ptr %23, align 4, !tbaa !9
  %3076 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3076, ptr %24, align 4, !tbaa !9
  store i32 83198, ptr %25, align 4, !tbaa !9
  %3077 = load i32, ptr %25, align 4, !tbaa !9
  %3078 = load i32, ptr %24, align 4, !tbaa !9
  %3079 = add i32 %3078, %3077
  store i32 %3079, ptr %24, align 4, !tbaa !9
  store i32 58, ptr %25, align 4, !tbaa !9
  %3080 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3080, ptr %26, align 4, !tbaa !9
  store i32 90402, ptr %27, align 4, !tbaa !9
  %3081 = load i32, ptr %27, align 4, !tbaa !9
  %3082 = load i32, ptr %26, align 4, !tbaa !9
  %3083 = add i32 %3082, %3081
  store i32 %3083, ptr %26, align 4, !tbaa !9
  %3084 = load ptr, ptr %9, align 8, !tbaa !5
  %3085 = load i32, ptr %23, align 4, !tbaa !9
  %3086 = load i32, ptr %24, align 4, !tbaa !9
  %3087 = load i32, ptr %25, align 4, !tbaa !9
  %3088 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3084, i32 noundef %3085, i32 noundef %3086, i32 noundef %3087, i32 noundef %3088)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3089:                                             ; preds = %1828
  store i32 0, ptr %23, align 4, !tbaa !9
  %3090 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3090, ptr %17, align 4, !tbaa !9
  store i32 177264, ptr %24, align 4, !tbaa !9
  %3091 = load i32, ptr %24, align 4, !tbaa !9
  %3092 = load i32, ptr %23, align 4, !tbaa !9
  %3093 = add i32 %3092, %3091
  store i32 %3093, ptr %23, align 4, !tbaa !9
  %3094 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3094, ptr %24, align 4, !tbaa !9
  store i32 81945, ptr %25, align 4, !tbaa !9
  %3095 = load i32, ptr %25, align 4, !tbaa !9
  %3096 = load i32, ptr %24, align 4, !tbaa !9
  %3097 = add i32 %3096, %3095
  store i32 %3097, ptr %24, align 4, !tbaa !9
  store i32 152, ptr %25, align 4, !tbaa !9
  %3098 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3098, ptr %26, align 4, !tbaa !9
  store i32 34697, ptr %27, align 4, !tbaa !9
  %3099 = load i32, ptr %27, align 4, !tbaa !9
  %3100 = load i32, ptr %26, align 4, !tbaa !9
  %3101 = add i32 %3100, %3099
  store i32 %3101, ptr %26, align 4, !tbaa !9
  %3102 = load ptr, ptr %9, align 8, !tbaa !5
  %3103 = load i32, ptr %23, align 4, !tbaa !9
  %3104 = load i32, ptr %24, align 4, !tbaa !9
  %3105 = load i32, ptr %25, align 4, !tbaa !9
  %3106 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3102, i32 noundef %3103, i32 noundef %3104, i32 noundef %3105, i32 noundef %3106)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3107:                                             ; preds = %1847
  store i32 0, ptr %23, align 4, !tbaa !9
  %3108 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3108, ptr %17, align 4, !tbaa !9
  store i32 205012, ptr %24, align 4, !tbaa !9
  %3109 = load i32, ptr %24, align 4, !tbaa !9
  %3110 = load i32, ptr %23, align 4, !tbaa !9
  %3111 = add i32 %3110, %3109
  store i32 %3111, ptr %23, align 4, !tbaa !9
  %3112 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3112, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %3113 = load i32, ptr %25, align 4, !tbaa !9
  %3114 = load i32, ptr %24, align 4, !tbaa !9
  %3115 = add i32 %3114, %3113
  store i32 %3115, ptr %24, align 4, !tbaa !9
  store i32 255, ptr %25, align 4, !tbaa !9
  %3116 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3116, ptr %26, align 4, !tbaa !9
  store i32 24720, ptr %27, align 4, !tbaa !9
  %3117 = load i32, ptr %27, align 4, !tbaa !9
  %3118 = load i32, ptr %26, align 4, !tbaa !9
  %3119 = add i32 %3118, %3117
  store i32 %3119, ptr %26, align 4, !tbaa !9
  %3120 = load ptr, ptr %9, align 8, !tbaa !5
  %3121 = load i32, ptr %23, align 4, !tbaa !9
  %3122 = load i32, ptr %24, align 4, !tbaa !9
  %3123 = load i32, ptr %25, align 4, !tbaa !9
  %3124 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3120, i32 noundef %3121, i32 noundef %3122, i32 noundef %3123, i32 noundef %3124)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3125:                                             ; preds = %1905
  store i32 0, ptr %23, align 4, !tbaa !9
  %3126 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3126, ptr %17, align 4, !tbaa !9
  store i32 169961, ptr %24, align 4, !tbaa !9
  %3127 = load i32, ptr %24, align 4, !tbaa !9
  %3128 = load i32, ptr %23, align 4, !tbaa !9
  %3129 = add i32 %3128, %3127
  store i32 %3129, ptr %23, align 4, !tbaa !9
  %3130 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3130, ptr %24, align 4, !tbaa !9
  store i32 85168, ptr %25, align 4, !tbaa !9
  %3131 = load i32, ptr %25, align 4, !tbaa !9
  %3132 = load i32, ptr %24, align 4, !tbaa !9
  %3133 = add i32 %3132, %3131
  store i32 %3133, ptr %24, align 4, !tbaa !9
  store i32 150, ptr %25, align 4, !tbaa !9
  %3134 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3134, ptr %26, align 4, !tbaa !9
  store i32 39587, ptr %27, align 4, !tbaa !9
  %3135 = load i32, ptr %27, align 4, !tbaa !9
  %3136 = load i32, ptr %26, align 4, !tbaa !9
  %3137 = add i32 %3136, %3135
  store i32 %3137, ptr %26, align 4, !tbaa !9
  %3138 = load ptr, ptr %9, align 8, !tbaa !5
  %3139 = load i32, ptr %23, align 4, !tbaa !9
  %3140 = load i32, ptr %24, align 4, !tbaa !9
  %3141 = load i32, ptr %25, align 4, !tbaa !9
  %3142 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3138, i32 noundef %3139, i32 noundef %3140, i32 noundef %3141, i32 noundef %3142)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3143:                                             ; preds = %1934, %1887
  store i32 0, ptr %23, align 4, !tbaa !9
  %3144 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3144, ptr %17, align 4, !tbaa !9
  store i32 118714, ptr %24, align 4, !tbaa !9
  %3145 = load i32, ptr %24, align 4, !tbaa !9
  %3146 = load i32, ptr %23, align 4, !tbaa !9
  %3147 = add i32 %3146, %3145
  store i32 %3147, ptr %23, align 4, !tbaa !9
  %3148 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3148, ptr %24, align 4, !tbaa !9
  store i32 83198, ptr %25, align 4, !tbaa !9
  %3149 = load i32, ptr %25, align 4, !tbaa !9
  %3150 = load i32, ptr %24, align 4, !tbaa !9
  %3151 = add i32 %3150, %3149
  store i32 %3151, ptr %24, align 4, !tbaa !9
  store i32 58, ptr %25, align 4, !tbaa !9
  %3152 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3152, ptr %26, align 4, !tbaa !9
  store i32 90402, ptr %27, align 4, !tbaa !9
  %3153 = load i32, ptr %27, align 4, !tbaa !9
  %3154 = load i32, ptr %26, align 4, !tbaa !9
  %3155 = add i32 %3154, %3153
  store i32 %3155, ptr %26, align 4, !tbaa !9
  %3156 = load ptr, ptr %9, align 8, !tbaa !5
  %3157 = load i32, ptr %23, align 4, !tbaa !9
  %3158 = load i32, ptr %24, align 4, !tbaa !9
  %3159 = load i32, ptr %25, align 4, !tbaa !9
  %3160 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3156, i32 noundef %3157, i32 noundef %3158, i32 noundef %3159, i32 noundef %3160)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3161:                                             ; preds = %2065
  store i32 0, ptr %23, align 4, !tbaa !9
  %3162 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3162, ptr %17, align 4, !tbaa !9
  store i32 146777, ptr %24, align 4, !tbaa !9
  %3163 = load i32, ptr %24, align 4, !tbaa !9
  %3164 = load i32, ptr %23, align 4, !tbaa !9
  %3165 = add i32 %3164, %3163
  store i32 %3165, ptr %23, align 4, !tbaa !9
  %3166 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3166, ptr %24, align 4, !tbaa !9
  store i32 82692, ptr %25, align 4, !tbaa !9
  %3167 = load i32, ptr %25, align 4, !tbaa !9
  %3168 = load i32, ptr %24, align 4, !tbaa !9
  %3169 = add i32 %3168, %3167
  store i32 %3169, ptr %24, align 4, !tbaa !9
  store i32 61, ptr %25, align 4, !tbaa !9
  %3170 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3170, ptr %26, align 4, !tbaa !9
  store i32 72547, ptr %27, align 4, !tbaa !9
  %3171 = load i32, ptr %27, align 4, !tbaa !9
  %3172 = load i32, ptr %26, align 4, !tbaa !9
  %3173 = add i32 %3172, %3171
  store i32 %3173, ptr %26, align 4, !tbaa !9
  %3174 = load ptr, ptr %9, align 8, !tbaa !5
  %3175 = load i32, ptr %23, align 4, !tbaa !9
  %3176 = load i32, ptr %24, align 4, !tbaa !9
  %3177 = load i32, ptr %25, align 4, !tbaa !9
  %3178 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3174, i32 noundef %3175, i32 noundef %3176, i32 noundef %3177, i32 noundef %3178)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3179:                                             ; preds = %2091
  store i32 0, ptr %23, align 4, !tbaa !9
  %3180 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3180, ptr %17, align 4, !tbaa !9
  store i32 205071, ptr %24, align 4, !tbaa !9
  %3181 = load i32, ptr %24, align 4, !tbaa !9
  %3182 = load i32, ptr %23, align 4, !tbaa !9
  %3183 = add i32 %3182, %3181
  store i32 %3183, ptr %23, align 4, !tbaa !9
  %3184 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3184, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %3185 = load i32, ptr %25, align 4, !tbaa !9
  %3186 = load i32, ptr %24, align 4, !tbaa !9
  %3187 = add i32 %3186, %3185
  store i32 %3187, ptr %24, align 4, !tbaa !9
  store i32 299, ptr %25, align 4, !tbaa !9
  %3188 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3188, ptr %26, align 4, !tbaa !9
  store i32 72549, ptr %27, align 4, !tbaa !9
  %3189 = load i32, ptr %27, align 4, !tbaa !9
  %3190 = load i32, ptr %26, align 4, !tbaa !9
  %3191 = add i32 %3190, %3189
  store i32 %3191, ptr %26, align 4, !tbaa !9
  %3192 = load ptr, ptr %9, align 8, !tbaa !5
  %3193 = load i32, ptr %23, align 4, !tbaa !9
  %3194 = load i32, ptr %24, align 4, !tbaa !9
  %3195 = load i32, ptr %25, align 4, !tbaa !9
  %3196 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3192, i32 noundef %3193, i32 noundef %3194, i32 noundef %3195, i32 noundef %3196)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3197:                                             ; preds = %2176
  store i32 0, ptr %23, align 4, !tbaa !9
  %3198 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3198, ptr %17, align 4, !tbaa !9
  store i32 118124, ptr %24, align 4, !tbaa !9
  %3199 = load i32, ptr %24, align 4, !tbaa !9
  %3200 = load i32, ptr %23, align 4, !tbaa !9
  %3201 = add i32 %3200, %3199
  store i32 %3201, ptr %23, align 4, !tbaa !9
  %3202 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3202, ptr %24, align 4, !tbaa !9
  store i32 83341, ptr %25, align 4, !tbaa !9
  %3203 = load i32, ptr %25, align 4, !tbaa !9
  %3204 = load i32, ptr %24, align 4, !tbaa !9
  %3205 = add i32 %3204, %3203
  store i32 %3205, ptr %24, align 4, !tbaa !9
  store i32 480, ptr %25, align 4, !tbaa !9
  %3206 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3206, ptr %26, align 4, !tbaa !9
  store i32 38798, ptr %27, align 4, !tbaa !9
  %3207 = load i32, ptr %27, align 4, !tbaa !9
  %3208 = load i32, ptr %26, align 4, !tbaa !9
  %3209 = add i32 %3208, %3207
  store i32 %3209, ptr %26, align 4, !tbaa !9
  %3210 = load ptr, ptr %9, align 8, !tbaa !5
  %3211 = load i32, ptr %23, align 4, !tbaa !9
  %3212 = load i32, ptr %24, align 4, !tbaa !9
  %3213 = load i32, ptr %25, align 4, !tbaa !9
  %3214 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3210, i32 noundef %3211, i32 noundef %3212, i32 noundef %3213, i32 noundef %3214)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3215:                                             ; preds = %2185
  store i32 0, ptr %23, align 4, !tbaa !9
  %3216 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3216, ptr %17, align 4, !tbaa !9
  store i32 118273, ptr %24, align 4, !tbaa !9
  %3217 = load i32, ptr %24, align 4, !tbaa !9
  %3218 = load i32, ptr %23, align 4, !tbaa !9
  %3219 = add i32 %3218, %3217
  store i32 %3219, ptr %23, align 4, !tbaa !9
  %3220 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3220, ptr %24, align 4, !tbaa !9
  store i32 83341, ptr %25, align 4, !tbaa !9
  %3221 = load i32, ptr %25, align 4, !tbaa !9
  %3222 = load i32, ptr %24, align 4, !tbaa !9
  %3223 = add i32 %3222, %3221
  store i32 %3223, ptr %24, align 4, !tbaa !9
  store i32 438, ptr %25, align 4, !tbaa !9
  %3224 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3224, ptr %26, align 4, !tbaa !9
  store i32 49706, ptr %27, align 4, !tbaa !9
  %3225 = load i32, ptr %27, align 4, !tbaa !9
  %3226 = load i32, ptr %26, align 4, !tbaa !9
  %3227 = add i32 %3226, %3225
  store i32 %3227, ptr %26, align 4, !tbaa !9
  %3228 = load ptr, ptr %9, align 8, !tbaa !5
  %3229 = load i32, ptr %23, align 4, !tbaa !9
  %3230 = load i32, ptr %24, align 4, !tbaa !9
  %3231 = load i32, ptr %25, align 4, !tbaa !9
  %3232 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3228, i32 noundef %3229, i32 noundef %3230, i32 noundef %3231, i32 noundef %3232)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3233:                                             ; preds = %2197
  store i32 0, ptr %23, align 4, !tbaa !9
  %3234 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3234, ptr %17, align 4, !tbaa !9
  store i32 168498, ptr %24, align 4, !tbaa !9
  %3235 = load i32, ptr %24, align 4, !tbaa !9
  %3236 = load i32, ptr %23, align 4, !tbaa !9
  %3237 = add i32 %3236, %3235
  store i32 %3237, ptr %23, align 4, !tbaa !9
  %3238 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3238, ptr %24, align 4, !tbaa !9
  store i32 78081, ptr %25, align 4, !tbaa !9
  %3239 = load i32, ptr %25, align 4, !tbaa !9
  %3240 = load i32, ptr %24, align 4, !tbaa !9
  %3241 = add i32 %3240, %3239
  store i32 %3241, ptr %24, align 4, !tbaa !9
  store i32 269, ptr %25, align 4, !tbaa !9
  %3242 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3242, ptr %26, align 4, !tbaa !9
  store i32 20456, ptr %27, align 4, !tbaa !9
  %3243 = load i32, ptr %27, align 4, !tbaa !9
  %3244 = load i32, ptr %26, align 4, !tbaa !9
  %3245 = add i32 %3244, %3243
  store i32 %3245, ptr %26, align 4, !tbaa !9
  %3246 = load ptr, ptr %9, align 8, !tbaa !5
  %3247 = load i32, ptr %23, align 4, !tbaa !9
  %3248 = load i32, ptr %24, align 4, !tbaa !9
  %3249 = load i32, ptr %25, align 4, !tbaa !9
  %3250 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3246, i32 noundef %3247, i32 noundef %3248, i32 noundef %3249, i32 noundef %3250)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3251:                                             ; preds = %2214
  store i32 0, ptr %23, align 4, !tbaa !9
  %3252 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3252, ptr %17, align 4, !tbaa !9
  store i32 118714, ptr %24, align 4, !tbaa !9
  %3253 = load i32, ptr %24, align 4, !tbaa !9
  %3254 = load i32, ptr %23, align 4, !tbaa !9
  %3255 = add i32 %3254, %3253
  store i32 %3255, ptr %23, align 4, !tbaa !9
  %3256 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3256, ptr %24, align 4, !tbaa !9
  store i32 83198, ptr %25, align 4, !tbaa !9
  %3257 = load i32, ptr %25, align 4, !tbaa !9
  %3258 = load i32, ptr %24, align 4, !tbaa !9
  %3259 = add i32 %3258, %3257
  store i32 %3259, ptr %24, align 4, !tbaa !9
  store i32 58, ptr %25, align 4, !tbaa !9
  %3260 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3260, ptr %26, align 4, !tbaa !9
  store i32 90402, ptr %27, align 4, !tbaa !9
  %3261 = load i32, ptr %27, align 4, !tbaa !9
  %3262 = load i32, ptr %26, align 4, !tbaa !9
  %3263 = add i32 %3262, %3261
  store i32 %3263, ptr %26, align 4, !tbaa !9
  %3264 = load ptr, ptr %9, align 8, !tbaa !5
  %3265 = load i32, ptr %23, align 4, !tbaa !9
  %3266 = load i32, ptr %24, align 4, !tbaa !9
  %3267 = load i32, ptr %25, align 4, !tbaa !9
  %3268 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3264, i32 noundef %3265, i32 noundef %3266, i32 noundef %3267, i32 noundef %3268)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3269:                                             ; preds = %2230
  store i32 0, ptr %23, align 4, !tbaa !9
  %3270 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3270, ptr %17, align 4, !tbaa !9
  store i32 177264, ptr %24, align 4, !tbaa !9
  %3271 = load i32, ptr %24, align 4, !tbaa !9
  %3272 = load i32, ptr %23, align 4, !tbaa !9
  %3273 = add i32 %3272, %3271
  store i32 %3273, ptr %23, align 4, !tbaa !9
  %3274 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3274, ptr %24, align 4, !tbaa !9
  store i32 81945, ptr %25, align 4, !tbaa !9
  %3275 = load i32, ptr %25, align 4, !tbaa !9
  %3276 = load i32, ptr %24, align 4, !tbaa !9
  %3277 = add i32 %3276, %3275
  store i32 %3277, ptr %24, align 4, !tbaa !9
  store i32 152, ptr %25, align 4, !tbaa !9
  %3278 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3278, ptr %26, align 4, !tbaa !9
  store i32 34697, ptr %27, align 4, !tbaa !9
  %3279 = load i32, ptr %27, align 4, !tbaa !9
  %3280 = load i32, ptr %26, align 4, !tbaa !9
  %3281 = add i32 %3280, %3279
  store i32 %3281, ptr %26, align 4, !tbaa !9
  %3282 = load ptr, ptr %9, align 8, !tbaa !5
  %3283 = load i32, ptr %23, align 4, !tbaa !9
  %3284 = load i32, ptr %24, align 4, !tbaa !9
  %3285 = load i32, ptr %25, align 4, !tbaa !9
  %3286 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3282, i32 noundef %3283, i32 noundef %3284, i32 noundef %3285, i32 noundef %3286)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3287:                                             ; preds = %2249
  store i32 0, ptr %23, align 4, !tbaa !9
  %3288 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3288, ptr %17, align 4, !tbaa !9
  store i32 205012, ptr %24, align 4, !tbaa !9
  %3289 = load i32, ptr %24, align 4, !tbaa !9
  %3290 = load i32, ptr %23, align 4, !tbaa !9
  %3291 = add i32 %3290, %3289
  store i32 %3291, ptr %23, align 4, !tbaa !9
  %3292 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3292, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %3293 = load i32, ptr %25, align 4, !tbaa !9
  %3294 = load i32, ptr %24, align 4, !tbaa !9
  %3295 = add i32 %3294, %3293
  store i32 %3295, ptr %24, align 4, !tbaa !9
  store i32 255, ptr %25, align 4, !tbaa !9
  %3296 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3296, ptr %26, align 4, !tbaa !9
  store i32 24720, ptr %27, align 4, !tbaa !9
  %3297 = load i32, ptr %27, align 4, !tbaa !9
  %3298 = load i32, ptr %26, align 4, !tbaa !9
  %3299 = add i32 %3298, %3297
  store i32 %3299, ptr %26, align 4, !tbaa !9
  %3300 = load ptr, ptr %9, align 8, !tbaa !5
  %3301 = load i32, ptr %23, align 4, !tbaa !9
  %3302 = load i32, ptr %24, align 4, !tbaa !9
  %3303 = load i32, ptr %25, align 4, !tbaa !9
  %3304 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3300, i32 noundef %3301, i32 noundef %3302, i32 noundef %3303, i32 noundef %3304)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3305:                                             ; preds = %2307
  store i32 0, ptr %23, align 4, !tbaa !9
  %3306 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3306, ptr %17, align 4, !tbaa !9
  store i32 169961, ptr %24, align 4, !tbaa !9
  %3307 = load i32, ptr %24, align 4, !tbaa !9
  %3308 = load i32, ptr %23, align 4, !tbaa !9
  %3309 = add i32 %3308, %3307
  store i32 %3309, ptr %23, align 4, !tbaa !9
  %3310 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3310, ptr %24, align 4, !tbaa !9
  store i32 85168, ptr %25, align 4, !tbaa !9
  %3311 = load i32, ptr %25, align 4, !tbaa !9
  %3312 = load i32, ptr %24, align 4, !tbaa !9
  %3313 = add i32 %3312, %3311
  store i32 %3313, ptr %24, align 4, !tbaa !9
  store i32 150, ptr %25, align 4, !tbaa !9
  %3314 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3314, ptr %26, align 4, !tbaa !9
  store i32 39587, ptr %27, align 4, !tbaa !9
  %3315 = load i32, ptr %27, align 4, !tbaa !9
  %3316 = load i32, ptr %26, align 4, !tbaa !9
  %3317 = add i32 %3316, %3315
  store i32 %3317, ptr %26, align 4, !tbaa !9
  %3318 = load ptr, ptr %9, align 8, !tbaa !5
  %3319 = load i32, ptr %23, align 4, !tbaa !9
  %3320 = load i32, ptr %24, align 4, !tbaa !9
  %3321 = load i32, ptr %25, align 4, !tbaa !9
  %3322 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3318, i32 noundef %3319, i32 noundef %3320, i32 noundef %3321, i32 noundef %3322)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3323:                                             ; preds = %2336, %2289
  store i32 0, ptr %23, align 4, !tbaa !9
  %3324 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3324, ptr %17, align 4, !tbaa !9
  store i32 118714, ptr %24, align 4, !tbaa !9
  %3325 = load i32, ptr %24, align 4, !tbaa !9
  %3326 = load i32, ptr %23, align 4, !tbaa !9
  %3327 = add i32 %3326, %3325
  store i32 %3327, ptr %23, align 4, !tbaa !9
  %3328 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3328, ptr %24, align 4, !tbaa !9
  store i32 83198, ptr %25, align 4, !tbaa !9
  %3329 = load i32, ptr %25, align 4, !tbaa !9
  %3330 = load i32, ptr %24, align 4, !tbaa !9
  %3331 = add i32 %3330, %3329
  store i32 %3331, ptr %24, align 4, !tbaa !9
  store i32 58, ptr %25, align 4, !tbaa !9
  %3332 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3332, ptr %26, align 4, !tbaa !9
  store i32 90402, ptr %27, align 4, !tbaa !9
  %3333 = load i32, ptr %27, align 4, !tbaa !9
  %3334 = load i32, ptr %26, align 4, !tbaa !9
  %3335 = add i32 %3334, %3333
  store i32 %3335, ptr %26, align 4, !tbaa !9
  %3336 = load ptr, ptr %9, align 8, !tbaa !5
  %3337 = load i32, ptr %23, align 4, !tbaa !9
  %3338 = load i32, ptr %24, align 4, !tbaa !9
  %3339 = load i32, ptr %25, align 4, !tbaa !9
  %3340 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3336, i32 noundef %3337, i32 noundef %3338, i32 noundef %3339, i32 noundef %3340)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3341:                                             ; preds = %2476
  store i32 0, ptr %23, align 4, !tbaa !9
  %3342 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3342, ptr %17, align 4, !tbaa !9
  store i32 146777, ptr %24, align 4, !tbaa !9
  %3343 = load i32, ptr %24, align 4, !tbaa !9
  %3344 = load i32, ptr %23, align 4, !tbaa !9
  %3345 = add i32 %3344, %3343
  store i32 %3345, ptr %23, align 4, !tbaa !9
  %3346 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3346, ptr %24, align 4, !tbaa !9
  store i32 82692, ptr %25, align 4, !tbaa !9
  %3347 = load i32, ptr %25, align 4, !tbaa !9
  %3348 = load i32, ptr %24, align 4, !tbaa !9
  %3349 = add i32 %3348, %3347
  store i32 %3349, ptr %24, align 4, !tbaa !9
  store i32 43, ptr %25, align 4, !tbaa !9
  %3350 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3350, ptr %26, align 4, !tbaa !9
  store i32 24718, ptr %27, align 4, !tbaa !9
  %3351 = load i32, ptr %27, align 4, !tbaa !9
  %3352 = load i32, ptr %26, align 4, !tbaa !9
  %3353 = add i32 %3352, %3351
  store i32 %3353, ptr %26, align 4, !tbaa !9
  %3354 = load ptr, ptr %9, align 8, !tbaa !5
  %3355 = load i32, ptr %23, align 4, !tbaa !9
  %3356 = load i32, ptr %24, align 4, !tbaa !9
  %3357 = load i32, ptr %25, align 4, !tbaa !9
  %3358 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3354, i32 noundef %3355, i32 noundef %3356, i32 noundef %3357, i32 noundef %3358)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3359:                                             ; preds = %2488
  store i32 0, ptr %23, align 4, !tbaa !9
  %3360 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3360, ptr %17, align 4, !tbaa !9
  store i32 147142, ptr %24, align 4, !tbaa !9
  %3361 = load i32, ptr %24, align 4, !tbaa !9
  %3362 = load i32, ptr %23, align 4, !tbaa !9
  %3363 = add i32 %3362, %3361
  store i32 %3363, ptr %23, align 4, !tbaa !9
  %3364 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3364, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %3365 = load i32, ptr %25, align 4, !tbaa !9
  %3366 = load i32, ptr %24, align 4, !tbaa !9
  %3367 = add i32 %3366, %3365
  store i32 %3367, ptr %24, align 4, !tbaa !9
  store i32 106, ptr %25, align 4, !tbaa !9
  %3368 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3368, ptr %26, align 4, !tbaa !9
  store i32 28119, ptr %27, align 4, !tbaa !9
  %3369 = load i32, ptr %27, align 4, !tbaa !9
  %3370 = load i32, ptr %26, align 4, !tbaa !9
  %3371 = add i32 %3370, %3369
  store i32 %3371, ptr %26, align 4, !tbaa !9
  %3372 = load ptr, ptr %9, align 8, !tbaa !5
  %3373 = load i32, ptr %23, align 4, !tbaa !9
  %3374 = load i32, ptr %24, align 4, !tbaa !9
  %3375 = load i32, ptr %25, align 4, !tbaa !9
  %3376 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3372, i32 noundef %3373, i32 noundef %3374, i32 noundef %3375, i32 noundef %3376)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3377:                                             ; preds = %2505
  store i32 0, ptr %23, align 4, !tbaa !9
  %3378 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3378, ptr %17, align 4, !tbaa !9
  store i32 205012, ptr %24, align 4, !tbaa !9
  %3379 = load i32, ptr %24, align 4, !tbaa !9
  %3380 = load i32, ptr %23, align 4, !tbaa !9
  %3381 = add i32 %3380, %3379
  store i32 %3381, ptr %23, align 4, !tbaa !9
  %3382 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3382, ptr %24, align 4, !tbaa !9
  store i32 82611, ptr %25, align 4, !tbaa !9
  %3383 = load i32, ptr %25, align 4, !tbaa !9
  %3384 = load i32, ptr %24, align 4, !tbaa !9
  %3385 = add i32 %3384, %3383
  store i32 %3385, ptr %24, align 4, !tbaa !9
  store i32 255, ptr %25, align 4, !tbaa !9
  %3386 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3386, ptr %26, align 4, !tbaa !9
  store i32 24720, ptr %27, align 4, !tbaa !9
  %3387 = load i32, ptr %27, align 4, !tbaa !9
  %3388 = load i32, ptr %26, align 4, !tbaa !9
  %3389 = add i32 %3388, %3387
  store i32 %3389, ptr %26, align 4, !tbaa !9
  %3390 = load ptr, ptr %9, align 8, !tbaa !5
  %3391 = load i32, ptr %23, align 4, !tbaa !9
  %3392 = load i32, ptr %24, align 4, !tbaa !9
  %3393 = load i32, ptr %25, align 4, !tbaa !9
  %3394 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3390, i32 noundef %3391, i32 noundef %3392, i32 noundef %3393, i32 noundef %3394)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3395:                                             ; preds = %2692
  store i32 0, ptr %23, align 4, !tbaa !9
  %3396 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3396, ptr %17, align 4, !tbaa !9
  store i32 179505, ptr %24, align 4, !tbaa !9
  %3397 = load i32, ptr %24, align 4, !tbaa !9
  %3398 = load i32, ptr %23, align 4, !tbaa !9
  %3399 = add i32 %3398, %3397
  store i32 %3399, ptr %23, align 4, !tbaa !9
  %3400 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3400, ptr %24, align 4, !tbaa !9
  store i32 84574, ptr %25, align 4, !tbaa !9
  %3401 = load i32, ptr %25, align 4, !tbaa !9
  %3402 = load i32, ptr %24, align 4, !tbaa !9
  %3403 = add i32 %3402, %3401
  store i32 %3403, ptr %24, align 4, !tbaa !9
  store i32 143, ptr %25, align 4, !tbaa !9
  %3404 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3404, ptr %26, align 4, !tbaa !9
  store i32 90429, ptr %27, align 4, !tbaa !9
  %3405 = load i32, ptr %27, align 4, !tbaa !9
  %3406 = load i32, ptr %26, align 4, !tbaa !9
  %3407 = add i32 %3406, %3405
  store i32 %3407, ptr %26, align 4, !tbaa !9
  %3408 = load ptr, ptr %9, align 8, !tbaa !5
  %3409 = load i32, ptr %23, align 4, !tbaa !9
  %3410 = load i32, ptr %24, align 4, !tbaa !9
  %3411 = load i32, ptr %25, align 4, !tbaa !9
  %3412 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3408, i32 noundef %3409, i32 noundef %3410, i32 noundef %3411, i32 noundef %3412)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3413:                                             ; preds = %2843
  store i32 0, ptr %23, align 4, !tbaa !9
  %3414 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3414, ptr %17, align 4, !tbaa !9
  store i32 159110, ptr %24, align 4, !tbaa !9
  %3415 = load i32, ptr %24, align 4, !tbaa !9
  %3416 = load i32, ptr %23, align 4, !tbaa !9
  %3417 = add i32 %3416, %3415
  store i32 %3417, ptr %23, align 4, !tbaa !9
  %3418 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3418, ptr %24, align 4, !tbaa !9
  store i32 84373, ptr %25, align 4, !tbaa !9
  %3419 = load i32, ptr %25, align 4, !tbaa !9
  %3420 = load i32, ptr %24, align 4, !tbaa !9
  %3421 = add i32 %3420, %3419
  store i32 %3421, ptr %24, align 4, !tbaa !9
  store i32 2038, ptr %25, align 4, !tbaa !9
  %3422 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3422, ptr %26, align 4, !tbaa !9
  store i32 49738, ptr %27, align 4, !tbaa !9
  %3423 = load i32, ptr %27, align 4, !tbaa !9
  %3424 = load i32, ptr %26, align 4, !tbaa !9
  %3425 = add i32 %3424, %3423
  store i32 %3425, ptr %26, align 4, !tbaa !9
  %3426 = load ptr, ptr %9, align 8, !tbaa !5
  %3427 = load i32, ptr %23, align 4, !tbaa !9
  %3428 = load i32, ptr %24, align 4, !tbaa !9
  %3429 = load i32, ptr %25, align 4, !tbaa !9
  %3430 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3426, i32 noundef %3427, i32 noundef %3428, i32 noundef %3429, i32 noundef %3430)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3431:                                             ; preds = %2887
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 8, 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 8, 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
  ret void
}

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !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_t0 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t3 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t2 = external local_unnamed_addr constant ptr, align 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3ArunBytecode0x28std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x260x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModuleFlags0x2C0x20llvh0x3A0x3AStringRef0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7) local_unnamed_addr #3 {
  %9 = getelementptr inbounds i8, ptr %0, i64 24
  %10 = load i32, ptr %9, align 8, !tbaa !5
  %11 = add i32 %10, -368
  store i32 %11, ptr %9, align 8, !tbaa !5
  %12 = getelementptr inbounds i8, ptr %0, i64 40
  %13 = zext i32 %2 to i64
  %14 = add nuw nsw i64 %13, 704
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %14, i64 noundef -1970324836974592)
  %15 = zext i32 %3 to i64
  %16 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %17 = zext i32 %16 to i64
  %18 = add nuw nsw i64 %17, 12
  %19 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %18)
  %20 = add nuw nsw i64 %17, 4
  %21 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %20)
  %22 = and i32 %21, 1
  %.not = icmp eq i32 %22, 0
  br i1 %.not, label %37, label %23

23:                                               ; preds = %8
  %24 = add nuw nsw i64 %13, 5772
  %25 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %24)
  %.not1822 = icmp eq i32 %25, 0
  br i1 %.not1822, label %26, label %37

26:                                               ; preds = %23
  %27 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AassertBuiltinsUnmodified0x280x29(ptr noundef nonnull %0, i32 noundef %2)
  %.not1823 = icmp eq i32 %27, 0
  br i1 %.not1823, label %28, label %30

28:                                               ; preds = %26
  %29 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %29, i32 noundef 0)
  br label %655

30:                                               ; preds = %26
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AfreezeBuiltins0x280x29(ptr noundef nonnull %0, i32 noundef %2)
  %31 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %24)
  %.not1824 = icmp eq i32 %31, 0
  br i1 %.not1824, label %656, label %32

32:                                               ; preds = %30
  %33 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %34 = zext i32 %33 to i64
  %35 = add nuw nsw i64 %34, 4
  %36 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %35)
  br label %37

37:                                               ; preds = %23, %8, %32
  %.01782 = phi i32 [ %16, %8 ], [ %16, %23 ], [ %33, %32 ]
  %.0 = phi i32 [ %21, %8 ], [ %21, %23 ], [ %36, %32 ]
  %38 = and i32 %.0, 4
  %.not1825 = icmp eq i32 %38, 0
  br i1 %.not1825, label %66, label %39

39:                                               ; preds = %37
  %40 = add nuw nsw i64 %13, 5344
  %41 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %40)
  %.not1826 = icmp eq i32 %41, 0
  br i1 %.not1826, label %42, label %66

42:                                               ; preds = %39
  %43 = zext i32 %11 to i64
  %44 = add nuw nsw i64 %43, 200
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %44, i32 noundef 0)
  %45 = add nuw nsw i64 %43, 192
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %45, i64 noundef 317827579905)
  %46 = add nuw nsw i64 %43, 176
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %46, i32 noundef 3)
  %47 = add nuw nsw i64 %43, 168
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %47, i32 noundef 114369)
  %48 = add nuw nsw i64 %13, 128
  %49 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %48)
  %50 = icmp ult i64 %49, -844424930131968
  br i1 %50, label %657, label %51

51:                                               ; preds = %42
  %52 = and i64 %49, 4294967295
  %.not1827 = icmp eq i64 %52, 0
  br i1 %.not1827, label %658, label %53

53:                                               ; preds = %51
  %54 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %52)
  %55 = add i32 %54, -1291845632
  %56 = icmp ult i32 %55, -855638016
  br i1 %56, label %659, label %57

57:                                               ; preds = %53
  %58 = add nuw nsw i64 %43, 40
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %58, i32 noundef 0)
  %59 = add i32 %2, 128
  %60 = add nuw nsw i64 %43, 44
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %60, i32 noundef %59)
  %61 = add i32 %10, -328
  %62 = add i32 %10, -200
  %63 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AraisePlaceholder0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %61, i32 noundef %62) #4
  %64 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %64, i32 noundef %63)
  %.not1828 = icmp eq i32 %63, 1
  br i1 %.not1828, label %65, label %655

65:                                               ; preds = %57
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109717, i32 noundef 77564, i32 noundef 168, i32 noundef 28083) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

66:                                               ; preds = %39, %37
  %67 = zext i32 %4 to i64
  %68 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %67)
  %69 = and i32 %68, 1
  %.not1829 = icmp eq i32 %69, 0
  br i1 %.not1829, label %316, label %70

70:                                               ; preds = %66
  %71 = add i32 %2, 5820
  %72 = zext i32 %71 to i64
  %73 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %72)
  %74 = add i32 %2, 5824
  %75 = zext i32 %74 to i64
  %76 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %75)
  %.not1830 = icmp eq i32 %73, %76
  br i1 %.not1830, label %90, label %77

77:                                               ; preds = %70
  %78 = zext i32 %73 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %78, i32 noundef %.01782)
  %79 = add nuw nsw i64 %15, 4
  %80 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %79)
  %81 = add nuw nsw i64 %78, 4
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %81, i32 noundef %80)
  %.not1831 = icmp eq i32 %80, 0
  br i1 %.not1831, label %87, label %82

82:                                               ; preds = %77
  %83 = zext i32 %80 to i64
  %84 = add nuw nsw i64 %83, 4
  %85 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %84)
  %86 = add i32 %85, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %84, i32 noundef %86)
  br label %87

87:                                               ; preds = %82, %77
  %88 = add i32 %73, 8
  %89 = add nuw nsw i64 %13, 5820
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %89, i32 noundef %88)
  br label %92

90:                                               ; preds = %70
  %91 = add i32 %2, 5816
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x3E0x3E0x3A0x3A_0x5Fpush_back_slow_path0x3Cstd0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x20const0x260x3E0x28std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %91, i32 noundef %3) #4
  br label %92

92:                                               ; preds = %90, %87
  %93 = add nuw nsw i64 %13, 5351
  %94 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %93)
  %.not1832 = icmp eq i32 %94, 0
  br i1 %.not1832, label %123, label %95

95:                                               ; preds = %92
  %96 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %97 = zext i32 %96 to i64
  %98 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %97)
  %99 = zext i32 %98 to i64
  %100 = add nuw nsw i64 %99, 48
  %101 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %100)
  %102 = getelementptr inbounds i8, ptr %0, i64 80
  %103 = getelementptr inbounds i8, ptr %0, i64 92
  %104 = load i32, ptr %103, align 4, !tbaa !15
  %105 = icmp ult i32 %101, %104
  br i1 %105, label %106, label %.critedge, !prof !16

106:                                              ; preds = %95
  %107 = load ptr, ptr %102, align 8, !tbaa !17
  %108 = zext i32 %101 to i64
  %109 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %107, i64 %108
  %110 = getelementptr inbounds i8, ptr %109, i64 8
  %111 = load ptr, ptr %110, align 8, !tbaa !18
  %.not1833 = icmp eq ptr %111, null
  br i1 %.not1833, label %.critedge, label %112, !prof !20

112:                                              ; preds = %106
  %113 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %114 = load ptr, ptr %109, align 8, !tbaa !22
  %115 = tail call zeroext i1 @func_types_eq(ptr noundef %113, ptr noundef %114)
  br i1 %115, label %116, label %.critedge, !prof !16

.critedge:                                        ; preds = %106, %95, %112
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

116:                                              ; preds = %112
  %117 = load ptr, ptr %102, align 8, !tbaa !17
  %118 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %117, i64 %108
  %119 = getelementptr inbounds i8, ptr %118, i64 8
  %120 = load ptr, ptr %119, align 8, !tbaa !18
  %121 = getelementptr inbounds i8, ptr %118, i64 16
  %122 = load ptr, ptr %121, align 8, !tbaa !23
  tail call void %120(ptr noundef %122, i32 noundef %96, i32 noundef %94) #4
  br label %123

123:                                              ; preds = %116, %92
  %124 = add nuw nsw i64 %13, 5356
  %125 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %124)
  %126 = and i32 %125, 8
  %.not1834 = icmp eq i32 %126, 0
  br i1 %.not1834, label %155, label %127

127:                                              ; preds = %123
  %128 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %129 = zext i32 %128 to i64
  %130 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %129)
  %131 = zext i32 %130 to i64
  %132 = add nuw nsw i64 %131, 52
  %133 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %132)
  %134 = getelementptr inbounds i8, ptr %0, i64 80
  %135 = getelementptr inbounds i8, ptr %0, i64 92
  %136 = load i32, ptr %135, align 4, !tbaa !15
  %137 = icmp ult i32 %133, %136
  br i1 %137, label %138, label %.critedge1896, !prof !16

138:                                              ; preds = %127
  %139 = load ptr, ptr %134, align 8, !tbaa !17
  %140 = zext i32 %133 to i64
  %141 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %139, i64 %140
  %142 = getelementptr inbounds i8, ptr %141, i64 8
  %143 = load ptr, ptr %142, align 8, !tbaa !18
  %.not1837 = icmp eq ptr %143, null
  br i1 %.not1837, label %.critedge1896, label %144, !prof !20

144:                                              ; preds = %138
  %145 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %146 = load ptr, ptr %141, align 8, !tbaa !22
  %147 = tail call zeroext i1 @func_types_eq(ptr noundef %145, ptr noundef %146)
  br i1 %147, label %148, label %.critedge1896, !prof !16

.critedge1896:                                    ; preds = %138, %127, %144
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

148:                                              ; preds = %144
  %149 = load ptr, ptr %134, align 8, !tbaa !17
  %150 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %149, i64 %140
  %151 = getelementptr inbounds i8, ptr %150, i64 8
  %152 = load ptr, ptr %151, align 8, !tbaa !18
  %153 = getelementptr inbounds i8, ptr %150, i64 16
  %154 = load ptr, ptr %153, align 8, !tbaa !23
  tail call void %152(ptr noundef %154, i32 noundef %128, i32 noundef 0) #4
  br label %185

155:                                              ; preds = %123
  %156 = and i32 %125, 4
  %.not1835 = icmp eq i32 %156, 0
  br i1 %.not1835, label %185, label %157

157:                                              ; preds = %155
  %158 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %159 = zext i32 %158 to i64
  %160 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %159)
  %161 = zext i32 %160 to i64
  %162 = add nuw nsw i64 %161, 52
  %163 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %162)
  %164 = getelementptr inbounds i8, ptr %0, i64 80
  %165 = getelementptr inbounds i8, ptr %0, i64 92
  %166 = load i32, ptr %165, align 4, !tbaa !15
  %167 = icmp ult i32 %163, %166
  br i1 %167, label %168, label %.critedge1898, !prof !16

168:                                              ; preds = %157
  %169 = load ptr, ptr %164, align 8, !tbaa !17
  %170 = zext i32 %163 to i64
  %171 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %169, i64 %170
  %172 = getelementptr inbounds i8, ptr %171, i64 8
  %173 = load ptr, ptr %172, align 8, !tbaa !18
  %.not1836 = icmp eq ptr %173, null
  br i1 %.not1836, label %.critedge1898, label %174, !prof !20

174:                                              ; preds = %168
  %175 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %176 = load ptr, ptr %171, align 8, !tbaa !22
  %177 = tail call zeroext i1 @func_types_eq(ptr noundef %175, ptr noundef %176)
  br i1 %177, label %178, label %.critedge1898, !prof !16

.critedge1898:                                    ; preds = %168, %157, %174
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

178:                                              ; preds = %174
  %179 = load ptr, ptr %164, align 8, !tbaa !17
  %180 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %179, i64 %170
  %181 = getelementptr inbounds i8, ptr %180, i64 8
  %182 = load ptr, ptr %181, align 8, !tbaa !18
  %183 = getelementptr inbounds i8, ptr %180, i64 16
  %184 = load ptr, ptr %183, align 8, !tbaa !23
  tail call void %182(ptr noundef %184, i32 noundef %158, i32 noundef 1) #4
  br label %185

185:                                              ; preds = %155, %178, %148
  %186 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %124)
  %187 = and i32 %186, 128
  %.not1838 = icmp eq i32 %187, 0
  br i1 %.not1838, label %227, label %188

188:                                              ; preds = %185
  %189 = add i32 %10, -200
  %190 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %191 = zext i32 %190 to i64
  %192 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %191)
  %193 = zext i32 %192 to i64
  %194 = add nuw nsw i64 %193, 76
  %195 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %194)
  %196 = getelementptr inbounds i8, ptr %0, i64 80
  %197 = getelementptr inbounds i8, ptr %0, i64 92
  %198 = load i32, ptr %197, align 4, !tbaa !15
  %199 = icmp ult i32 %195, %198
  br i1 %199, label %200, label %.critedge1900, !prof !16

200:                                              ; preds = %188
  %201 = load ptr, ptr %196, align 8, !tbaa !17
  %202 = zext i32 %195 to i64
  %203 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %201, i64 %202
  %204 = getelementptr inbounds i8, ptr %203, i64 8
  %205 = load ptr, ptr %204, align 8, !tbaa !18
  %.not1839 = icmp eq ptr %205, null
  br i1 %.not1839, label %.critedge1900, label %206, !prof !20

206:                                              ; preds = %200
  %207 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %208 = load ptr, ptr %203, align 8, !tbaa !22
  %209 = tail call zeroext i1 @func_types_eq(ptr noundef %207, ptr noundef %208)
  br i1 %209, label %210, label %.critedge1900, !prof !16

.critedge1900:                                    ; preds = %200, %188, %206
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

210:                                              ; preds = %206
  %211 = load ptr, ptr %196, align 8, !tbaa !17
  %212 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %211, i64 %202
  %213 = getelementptr inbounds i8, ptr %212, i64 8
  %214 = load ptr, ptr %213, align 8, !tbaa !18
  %215 = getelementptr inbounds i8, ptr %212, i64 16
  %216 = load ptr, ptr %215, align 8, !tbaa !23
  tail call void %214(ptr noundef %216, i32 noundef %189, i32 noundef %190) #4
  %217 = zext i32 %11 to i64
  %218 = add nuw nsw i64 %217, 172
  %219 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %218)
  %.not1840 = icmp eq i32 %219, 0
  br i1 %.not1840, label %227, label %220

220:                                              ; preds = %210
  %221 = add nuw nsw i64 %217, 168
  %222 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %221)
  %223 = add nuw nsw i64 %217, 360
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %223, i64 noundef %222)
  %224 = add nuw nsw i64 %217, 32
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %224, i64 noundef %222)
  %225 = add i32 %10, -336
  %226 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABCProviderFromBuffer0x3A0x3AbytecodeHashIsValid0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef nonnull %0, i32 noundef %225) #4
  %.not1841 = icmp eq i32 %226, 0
  br i1 %.not1841, label %660, label %227

227:                                              ; preds = %220, %210, %185
  %228 = add nuw nsw i64 %13, 5352
  %229 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %228)
  %.not1842 = icmp eq i32 %229, 0
  br i1 %.not1842, label %316, label %230

230:                                              ; preds = %227
  %231 = add i32 %10, -200
  %232 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %233 = zext i32 %232 to i64
  %234 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %233)
  %235 = zext i32 %234 to i64
  %236 = add nuw nsw i64 %235, 76
  %237 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %236)
  %238 = getelementptr inbounds i8, ptr %0, i64 80
  %239 = getelementptr inbounds i8, ptr %0, i64 92
  %240 = load i32, ptr %239, align 4, !tbaa !15
  %241 = icmp ult i32 %237, %240
  br i1 %241, label %242, label %.critedge1902, !prof !16

242:                                              ; preds = %230
  %243 = load ptr, ptr %238, align 8, !tbaa !17
  %244 = zext i32 %237 to i64
  %245 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %243, i64 %244
  %246 = getelementptr inbounds i8, ptr %245, i64 8
  %247 = load ptr, ptr %246, align 8, !tbaa !18
  %.not1843 = icmp eq ptr %247, null
  br i1 %.not1843, label %.critedge1902, label %248, !prof !20

248:                                              ; preds = %242
  %249 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %250 = load ptr, ptr %245, align 8, !tbaa !22
  %251 = tail call zeroext i1 @func_types_eq(ptr noundef %249, ptr noundef %250)
  br i1 %251, label %252, label %.critedge1902, !prof !16

.critedge1902:                                    ; preds = %242, %230, %248
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

252:                                              ; preds = %248
  %253 = load ptr, ptr %238, align 8, !tbaa !17
  %254 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %253, i64 %244
  %255 = getelementptr inbounds i8, ptr %254, i64 8
  %256 = load ptr, ptr %255, align 8, !tbaa !18
  %257 = getelementptr inbounds i8, ptr %254, i64 16
  %258 = load ptr, ptr %257, align 8, !tbaa !23
  tail call void %256(ptr noundef %258, i32 noundef %231, i32 noundef %232) #4
  %259 = zext i32 %11 to i64
  %260 = add nuw nsw i64 %259, 172
  %261 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %260)
  %262 = icmp ult i32 %261, 65537
  br i1 %262, label %316, label %263

263:                                              ; preds = %252
  %264 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %265 = zext i32 %264 to i64
  %266 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %265)
  %267 = zext i32 %266 to i64
  %268 = add nuw nsw i64 %267, 68
  %269 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %268)
  %270 = load i32, ptr %239, align 4, !tbaa !15
  %271 = icmp ult i32 %269, %270
  br i1 %271, label %272, label %.critedge1904, !prof !16

272:                                              ; preds = %263
  %273 = load ptr, ptr %238, align 8, !tbaa !17
  %274 = zext i32 %269 to i64
  %275 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %273, i64 %274
  %276 = getelementptr inbounds i8, ptr %275, i64 8
  %277 = load ptr, ptr %276, align 8, !tbaa !18
  %.not1844 = icmp eq ptr %277, null
  br i1 %.not1844, label %.critedge1904, label %278, !prof !20

278:                                              ; preds = %272
  %279 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %280 = load ptr, ptr %275, align 8, !tbaa !22
  %281 = tail call zeroext i1 @func_types_eq(ptr noundef %279, ptr noundef %280)
  br i1 %281, label %282, label %.critedge1904, !prof !16

.critedge1904:                                    ; preds = %272, %263, %278
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

282:                                              ; preds = %278
  %283 = load ptr, ptr %238, align 8, !tbaa !17
  %284 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %283, i64 %274
  %285 = getelementptr inbounds i8, ptr %284, i64 8
  %286 = load ptr, ptr %285, align 8, !tbaa !18
  %287 = getelementptr inbounds i8, ptr %284, i64 16
  %288 = load ptr, ptr %287, align 8, !tbaa !23
  tail call void %286(ptr noundef %288, i32 noundef %264) #4
  %289 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %15)
  %290 = zext i32 %289 to i64
  %291 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %290)
  %292 = zext i32 %291 to i64
  %293 = add nuw nsw i64 %292, 72
  %294 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %293)
  %295 = load i32, ptr %239, align 4, !tbaa !15
  %296 = icmp ult i32 %294, %295
  br i1 %296, label %297, label %.critedge1906, !prof !16

297:                                              ; preds = %282
  %298 = load ptr, ptr %238, align 8, !tbaa !17
  %299 = zext i32 %294 to i64
  %300 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %298, i64 %299
  %301 = getelementptr inbounds i8, ptr %300, i64 8
  %302 = load ptr, ptr %301, align 8, !tbaa !18
  %.not1845 = icmp eq ptr %302, null
  br i1 %.not1845, label %.critedge1906, label %303, !prof !20

303:                                              ; preds = %297
  %304 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !21
  %305 = load ptr, ptr %300, align 8, !tbaa !22
  %306 = tail call zeroext i1 @func_types_eq(ptr noundef %304, ptr noundef %305)
  br i1 %306, label %307, label %.critedge1906, !prof !16

.critedge1906:                                    ; preds = %297, %282, %303
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

307:                                              ; preds = %303
  %308 = load ptr, ptr %238, align 8, !tbaa !17
  %309 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %308, i64 %299
  %310 = getelementptr inbounds i8, ptr %309, i64 8
  %311 = load ptr, ptr %310, align 8, !tbaa !18
  %312 = getelementptr inbounds i8, ptr %309, i64 16
  %313 = load ptr, ptr %312, align 8, !tbaa !23
  %314 = tail call i32 %311(ptr noundef %313, i32 noundef %289) #4
  %.not1846 = icmp eq i32 %314, 0
  br i1 %.not1846, label %315, label %316

315:                                              ; preds = %307
  tail call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef nonnull %0, i32 noundef 44700, i32 noundef 113167, i32 noundef 0) #4
  br label %316

316:                                              ; preds = %307, %252, %227, %66, %315
  %317 = zext i32 %11 to i64
  %318 = add nuw nsw i64 %317, 176
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %318, i64 noundef 48)
  %319 = add nuw nsw i64 %317, 172
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %319, i32 noundef %2)
  %320 = add nuw nsw i64 %317, 168
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %320, i32 noundef 0)
  %321 = add nuw nsw i64 %13, 4
  %322 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %321)
  %323 = add i32 %10, -36
  %324 = add i32 %10, -176
  %325 = zext i32 %323 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %325, i32 noundef %324)
  %326 = add nuw nsw i64 %317, 324
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %326, i64 noundef 17179869185)
  %327 = add nuw nsw i64 %317, 320
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %327, i32 noundef %323)
  %328 = add nuw nsw i64 %317, 184
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %328, i32 noundef %322)
  %329 = add nuw nsw i64 %317, 356
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %329, i32 noundef 0)
  %330 = add i32 %10, -48
  %331 = add nuw nsw i64 %317, 352
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %331, i32 noundef %330)
  %332 = add nuw nsw i64 %317, 348
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %332, i32 noundef %324)
  %333 = add i32 %10, -200
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %321, i32 noundef %333)
  %334 = add i32 %10, -328
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef nonnull %0, i32 noundef %334, i32 noundef %2) #4
  %335 = add nuw nsw i64 %317, 44
  %336 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %335)
  %.not1847 = icmp eq i32 %336, 0
  br i1 %.not1847, label %663, label %337

337:                                              ; preds = %316
  %338 = add i32 %10, -208
  %339 = add nuw nsw i64 %317, 40
  %340 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %339)
  %341 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ADomain0x2A0x29(ptr noundef nonnull %0, i32 noundef %338, i32 noundef %2, i32 noundef %340) #4
  %342 = zext i32 %341 to i64
  %343 = add nuw nsw i64 %342, 4
  %344 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %343)
  %345 = add nuw nsw i64 %317, 156
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %345, i32 noundef %344)
  %346 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %347 = add nuw nsw i64 %317, 152
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %347, i32 noundef %346)
  %.not1848 = icmp eq i32 %346, 0
  br i1 %.not1848, label %352, label %348

348:                                              ; preds = %337
  %349 = zext i32 %346 to i64
  %350 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %349)
  %351 = add i32 %350, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %349, i32 noundef %351)
  br label %352

352:                                              ; preds = %348, %337
  %353 = add nuw nsw i64 %13, 5800
  %354 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %353)
  %355 = add i32 %354, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %353, i32 noundef %355)
  %356 = add nuw nsw i64 %317, 151
  tail call void @i32_store8(ptr noundef nonnull %12, i64 noundef %356, i32 noundef %68)
  %357 = zext i32 %5 to i64
  %358 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %357)
  %359 = add nuw nsw i64 %317, 136
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %359, i64 noundef %358)
  %360 = add nuw nsw i64 %317, 15
  tail call void @i32_store8(ptr noundef nonnull %12, i64 noundef %360, i32 noundef %68)
  tail call void @i64_store(ptr noundef nonnull %12, i64 noundef %317, i64 noundef %358)
  %361 = add i32 %10, -216
  %362 = add i32 %10, -353
  %363 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x260x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModuleFlags0x2C0x20llvh0x3A0x3AStringRef0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %361, i32 noundef %354, i32 noundef %3, i32 noundef %362, i32 noundef %11)
  %364 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %347)
  %.not1849 = icmp eq i32 %364, 0
  br i1 %.not1849, label %369, label %365

365:                                              ; preds = %352
  %366 = zext i32 %364 to i64
  %367 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %366)
  %368 = add i32 %367, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %366, i32 noundef %368)
  br label %369

369:                                              ; preds = %365, %352
  %370 = icmp eq i32 %363, -1
  br i1 %370, label %371, label %373

371:                                              ; preds = %369
  %372 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %372, i32 noundef 0)
  br label %647

373:                                              ; preds = %369
  %374 = zext i32 %363 to i64
  %375 = add nuw nsw i64 %374, 28
  %376 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %375)
  %377 = shl i32 %19, 2
  %378 = add i32 %376, %377
  %379 = zext i32 %378 to i64
  %380 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %379)
  %.not1850 = icmp eq i32 %380, 0
  br i1 %.not1850, label %381, label %383

381:                                              ; preds = %373
  %382 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AgetCodeBlockSlowPath0x28unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %363, i32 noundef %19)
  br label %383

383:                                              ; preds = %381, %373
  %.1 = phi i32 [ %382, %381 ], [ %380, %373 ]
  %384 = add nuw nsw i64 %374, 40
  %385 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %384)
  %386 = zext i32 %385 to i64
  %387 = add nuw nsw i64 %386, 104
  %388 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %387)
  %389 = icmp ugt i64 %388, 4294967295
  br i1 %389, label %390, label %487

390:                                              ; preds = %383
  %391 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %343)
  %392 = add nuw nsw i64 %317, 132
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %392, i32 noundef %391)
  %393 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %394 = add nuw nsw i64 %317, 128
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %394, i32 noundef %393)
  %.not1876 = icmp eq i32 %393, 0
  br i1 %.not1876, label %399, label %395

395:                                              ; preds = %390
  %396 = zext i32 %393 to i64
  %397 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %396)
  %398 = add i32 %397, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %396, i32 noundef %398)
  br label %399

399:                                              ; preds = %395, %390
  %400 = add i32 %10, -240
  %401 = add i32 %10, -248
  %402 = add i32 %2, 5516
  %403 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef nonnull %0, i32 noundef %402, i32 noundef %2, i32 noundef 474) #4
  %404 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AStringPrimitive0x2A0x29(ptr noundef nonnull %0, i32 noundef %401, i32 noundef %2, i32 noundef %403) #4
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef nonnull %0, i32 noundef %334, i32 noundef %2, i32 noundef %400, i32 noundef %404)
  %405 = zext i32 %404 to i64
  %406 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %405)
  %.not1877 = icmp eq i32 %406, 0
  br i1 %.not1877, label %411, label %407

407:                                              ; preds = %399
  %408 = zext i32 %406 to i64
  %409 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %408)
  %410 = add i32 %409, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %408, i32 noundef %410)
  br label %411

411:                                              ; preds = %407, %399
  %412 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %394)
  %.not1878 = icmp eq i32 %412, 0
  br i1 %.not1878, label %417, label %413

413:                                              ; preds = %411
  %414 = zext i32 %412 to i64
  %415 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %414)
  %416 = add i32 %415, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %414, i32 noundef %416)
  br label %417

417:                                              ; preds = %413, %411
  %418 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %335)
  %419 = add nuw nsw i64 %317, 116
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %419, i32 noundef %418)
  %420 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %339)
  %421 = add nuw nsw i64 %317, 112
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %421, i32 noundef %420)
  %.not1879 = icmp eq i32 %420, 0
  br i1 %.not1879, label %426, label %422

422:                                              ; preds = %417
  %423 = zext i32 %420 to i64
  %424 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %423)
  %425 = add i32 %424, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %423, i32 noundef %425)
  br label %426

426:                                              ; preds = %422, %417
  %427 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %343)
  %428 = add nuw nsw i64 %317, 108
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %428, i32 noundef %427)
  %429 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %430 = add nuw nsw i64 %317, 104
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %430, i32 noundef %429)
  %.not1880 = icmp eq i32 %429, 0
  br i1 %.not1880, label %435, label %431

431:                                              ; preds = %426
  %432 = zext i32 %429 to i64
  %433 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %432)
  %434 = add i32 %433, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %432, i32 noundef %434)
  br label %435

435:                                              ; preds = %431, %426
  %436 = zext i32 %427 to i64
  %437 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %436)
  %.not1881 = icmp ugt i64 %437, -281474976710657
  br i1 %.not1881, label %438, label %664

438:                                              ; preds = %435
  %439 = and i64 %437, 4294967295
  %.not1883 = icmp eq i64 %439, 0
  br i1 %.not1883, label %665, label %440

440:                                              ; preds = %438
  %441 = add nsw i64 %437, 64
  %442 = and i64 %441, 4294967295
  %443 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %442)
  %.not1884 = icmp eq i32 %443, 0
  br i1 %.not1884, label %666, label %444

444:                                              ; preds = %440
  %445 = add nuw nsw i64 %439, 12
  %446 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %445)
  %.not1885 = icmp eq i32 %446, 0
  br i1 %.not1885, label %667, label %447

447:                                              ; preds = %444
  %448 = zext i32 %446 to i64
  %449 = add nuw nsw i64 %448, 3
  %450 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %449)
  %.mask1887 = and i32 %450, 255
  %.not1886 = icmp eq i32 %.mask1887, 14
  br i1 %.not1886, label %451, label %668

451:                                              ; preds = %447
  %452 = add nuw nsw i64 %439, 60
  %453 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %452)
  %454 = add nuw nsw i64 %448, 12
  %455 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %454)
  %456 = udiv i32 %455, 3
  %.not1888 = icmp ult i32 %453, %456
  br i1 %.not1888, label %457, label %670

457:                                              ; preds = %451
  %458 = mul nuw i32 %453, 3
  %459 = add nuw i32 %458, 2
  %.not1889 = icmp ugt i32 %455, %459
  br i1 %.not1889, label %460, label %669

460:                                              ; preds = %457
  %461 = shl i32 %459, 3
  %462 = add i32 %461, %446
  %463 = zext i32 %462 to i64
  %464 = add nuw nsw i64 %463, 16
  %465 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %464)
  %.mask1890 = and i64 %465, -140737488355328
  %466 = icmp eq i64 %.mask1890, -1970324836974592
  br i1 %466, label %670, label %467

467:                                              ; preds = %460
  %468 = add i32 %10, -256
  %469 = add i32 %10, -264
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %468, i32 noundef %469, i32 noundef %458) #4
  %470 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %430)
  %.not1891 = icmp eq i32 %470, 0
  br i1 %.not1891, label %475, label %471

471:                                              ; preds = %467
  %472 = zext i32 %470 to i64
  %473 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %472)
  %474 = add i32 %473, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %472, i32 noundef %474)
  br label %475

475:                                              ; preds = %471, %467
  %476 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %421)
  %.not1892 = icmp eq i32 %476, 0
  br i1 %.not1892, label %481, label %477

477:                                              ; preds = %475
  %478 = zext i32 %476 to i64
  %479 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %478)
  %480 = add i32 %479, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %478, i32 noundef %480)
  br label %481

481:                                              ; preds = %477, %475
  %482 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %339)
  %.not1893 = icmp eq i32 %482, 0
  br i1 %.not1893, label %647, label %483

483:                                              ; preds = %481
  %484 = zext i32 %482 to i64
  %485 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %484)
  %486 = add i32 %485, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %484, i32 noundef %486)
  br label %647

487:                                              ; preds = %383
  %488 = add nuw nsw i64 %386, 112
  %489 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %488)
  %490 = icmp ugt i64 %489, 4294967295
  br i1 %490, label %491, label %556

491:                                              ; preds = %487
  %492 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef 217520)
  %493 = icmp ult i64 %492, -844424930131968
  br i1 %493, label %671, label %494

494:                                              ; preds = %491
  %495 = and i64 %492, 4294967295
  %.not1861 = icmp eq i64 %495, 0
  br i1 %.not1861, label %499, label %496

496:                                              ; preds = %494
  %497 = add nuw nsw i64 %495, 3
  %498 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %497)
  %.mask = and i32 %498, 255
  %.not1862 = icmp eq i32 %.mask, 64
  br i1 %.not1862, label %499, label %672

499:                                              ; preds = %496, %494
  %500 = add nuw nsw i64 %317, 96
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %500, i32 noundef 0)
  %501 = add nuw nsw i64 %317, 100
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %501, i32 noundef 217520)
  %502 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %343)
  %503 = add nuw nsw i64 %317, 92
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %503, i32 noundef %502)
  %504 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %505 = add nuw nsw i64 %317, 88
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %505, i32 noundef %504)
  %.not1863 = icmp eq i32 %504, 0
  br i1 %.not1863, label %510, label %506

506:                                              ; preds = %499
  %507 = zext i32 %504 to i64
  %508 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %507)
  %509 = add i32 %508, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %507, i32 noundef %509)
  br label %510

510:                                              ; preds = %506, %499
  %511 = zext i32 %502 to i64
  %512 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %511)
  %.not1864 = icmp ugt i64 %512, -281474976710657
  br i1 %.not1864, label %513, label %673

513:                                              ; preds = %510
  %514 = and i64 %512, 4294967295
  %.not1866 = icmp eq i64 %514, 0
  br i1 %.not1866, label %674, label %515

515:                                              ; preds = %513
  %516 = add nsw i64 %512, 64
  %517 = and i64 %516, 4294967295
  %518 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %517)
  %.not1867 = icmp eq i32 %518, 0
  br i1 %.not1867, label %675, label %519

519:                                              ; preds = %515
  %520 = add nuw nsw i64 %514, 12
  %521 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %520)
  %.not1868 = icmp eq i32 %521, 0
  br i1 %.not1868, label %676, label %522

522:                                              ; preds = %519
  %523 = zext i32 %521 to i64
  %524 = add nuw nsw i64 %523, 3
  %525 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %524)
  %.mask1870 = and i32 %525, 255
  %.not1869 = icmp eq i32 %.mask1870, 14
  br i1 %.not1869, label %526, label %677

526:                                              ; preds = %522
  %527 = add nuw nsw i64 %514, 60
  %528 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %527)
  %529 = add nuw nsw i64 %523, 12
  %530 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %529)
  %531 = udiv i32 %530, 3
  %.not1871 = icmp ult i32 %528, %531
  br i1 %.not1871, label %532, label %679

532:                                              ; preds = %526
  %533 = mul nuw i32 %528, 3
  %534 = add nuw i32 %533, 2
  %.not1872 = icmp ugt i32 %530, %534
  br i1 %.not1872, label %535, label %678

535:                                              ; preds = %532
  %536 = shl i32 %534, 3
  %537 = add i32 %536, %521
  %538 = zext i32 %537 to i64
  %539 = add nuw nsw i64 %538, 16
  %540 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %539)
  %.mask1873 = and i64 %540, -140737488355328
  %541 = icmp eq i64 %.mask1873, -1970324836974592
  br i1 %541, label %679, label %542

542:                                              ; preds = %535
  %543 = add i32 %10, -272
  %544 = add i32 %10, -280
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %543, i32 noundef %544, i32 noundef %533) #4
  %545 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %505)
  %.not1874 = icmp eq i32 %545, 0
  br i1 %.not1874, label %550, label %546

546:                                              ; preds = %542
  %547 = zext i32 %545 to i64
  %548 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %547)
  %549 = add i32 %548, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %547, i32 noundef %549)
  br label %550

550:                                              ; preds = %546, %542
  %551 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %500)
  %.not1875 = icmp eq i32 %551, 0
  br i1 %.not1875, label %647, label %552

552:                                              ; preds = %550
  %553 = zext i32 %551 to i64
  %554 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %553)
  %555 = add i32 %554, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %553, i32 noundef %555)
  br label %647

556:                                              ; preds = %487
  %557 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %343)
  %558 = add nuw nsw i64 %317, 76
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %558, i32 noundef %557)
  %559 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %560 = add nuw nsw i64 %317, 72
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %560, i32 noundef %559)
  %.not1851 = icmp eq i32 %559, 0
  br i1 %.not1851, label %565, label %561

561:                                              ; preds = %556
  %562 = zext i32 %559 to i64
  %563 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %562)
  %564 = add i32 %563, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %562, i32 noundef %564)
  br label %565

565:                                              ; preds = %561, %556
  %566 = add nuw nsw i64 %13, 192
  %567 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %566)
  %568 = icmp ult i64 %567, -844424930131968
  br i1 %568, label %680, label %569

569:                                              ; preds = %565
  %570 = and i64 %567, 4294967295
  %.not1852 = icmp eq i64 %570, 0
  br i1 %.not1852, label %681, label %571

571:                                              ; preds = %569
  %572 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %570)
  %573 = add i32 %572, -1291845632
  %574 = icmp ult i32 %573, -855638016
  br i1 %574, label %682, label %575

575:                                              ; preds = %571
  %576 = add nuw nsw i64 %317, 64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %576, i32 noundef 0)
  %577 = add i32 %2, 192
  %578 = add nuw nsw i64 %317, 68
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %578, i32 noundef %577)
  %579 = zext i32 %6 to i64
  %580 = add nuw nsw i64 %579, 4
  %581 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %580)
  %582 = add nuw nsw i64 %317, 60
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %582, i32 noundef %581)
  %583 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %579)
  %584 = add nuw nsw i64 %317, 56
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %584, i32 noundef %583)
  %.not1853 = icmp eq i32 %583, 0
  br i1 %.not1853, label %589, label %585

585:                                              ; preds = %575
  %586 = zext i32 %583 to i64
  %587 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %586)
  %588 = add i32 %587, 1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %586, i32 noundef %588)
  br label %589

589:                                              ; preds = %585, %575
  %590 = add i32 %10, -288
  %591 = add i32 %10, -296
  %592 = add i32 %10, -304
  %593 = add i32 %10, -312
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %590, i32 noundef %2, i32 noundef %591, i32 noundef %592, i32 noundef %593, i32 noundef %.1) #4
  %594 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %584)
  %.not1854 = icmp eq i32 %594, 0
  br i1 %.not1854, label %599, label %595

595:                                              ; preds = %589
  %596 = zext i32 %594 to i64
  %597 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %596)
  %598 = add i32 %597, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %596, i32 noundef %598)
  br label %599

599:                                              ; preds = %595, %589
  %600 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %576)
  %.not1855 = icmp eq i32 %600, 0
  br i1 %.not1855, label %605, label %601

601:                                              ; preds = %599
  %602 = zext i32 %600 to i64
  %603 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %602)
  %604 = add i32 %603, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %602, i32 noundef %604)
  br label %605

605:                                              ; preds = %601, %599
  %606 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %560)
  %.not1856 = icmp eq i32 %606, 0
  br i1 %.not1856, label %611, label %607

607:                                              ; preds = %605
  %608 = zext i32 %606 to i64
  %609 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %608)
  %610 = add i32 %609, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %608, i32 noundef %610)
  br label %611

611:                                              ; preds = %607, %605
  %612 = add nuw nsw i64 %317, 84
  %613 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %612)
  %.not1857 = icmp eq i32 %613, 0
  br i1 %.not1857, label %683, label %614

614:                                              ; preds = %611
  %615 = add nuw nsw i64 %317, 80
  %616 = tail call i64 @i64_load32_u(ptr noundef nonnull %12, i64 noundef %615)
  %617 = or i64 %616, -281474976710656
  %618 = zext i32 %7 to i64
  %619 = add nuw nsw i64 %618, 4
  %620 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %619)
  %621 = zext i32 %620 to i64
  %622 = tail call i64 @i64_load(ptr noundef nonnull %12, i64 noundef %621)
  %623 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AScopedNativeCallFrame0x3A0x3AScopedNativeCallFrame0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %334, i32 noundef %2, i32 noundef 0, i64 noundef %617, i64 noundef -1688849860263936, i64 noundef %622)
  %624 = zext i32 %623 to i64
  %625 = add nuw nsw i64 %624, 12
  %626 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %625)
  %627 = xor i32 %626, 1
  %628 = add nuw nsw i64 %624, 13
  tail call void @i32_store8(ptr noundef nonnull %12, i64 noundef %628, i32 noundef %627)
  %.not1858 = icmp eq i32 %626, 0
  br i1 %.not1858, label %633, label %629

629:                                              ; preds = %614
  %630 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseStackOverflow0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AStackOverflowKind0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef 1)
  %631 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %631, i32 noundef %630)
  %.not1860 = icmp eq i32 %630, 1
  br i1 %.not1860, label %632, label %638

632:                                              ; preds = %629
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109717, i32 noundef 77564, i32 noundef 168, i32 noundef 28083) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

633:                                              ; preds = %614
  %634 = add nuw nsw i64 %13, 5350
  %635 = tail call i32 @i32_load8_u(ptr noundef nonnull %12, i64 noundef %634)
  %.not1859 = icmp eq i32 %635, 0
  br i1 %.not1859, label %637, label %636

636:                                              ; preds = %633
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AinterpretFunctionWithRandomStack0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %.1) #4
  br label %638

637:                                              ; preds = %633
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %.1)
  br label %638

638:                                              ; preds = %629, %637, %636
  %639 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %624)
  %640 = zext i32 %639 to i64
  %641 = add nuw nsw i64 %640, 5636
  %642 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %641)
  %643 = add nuw nsw i64 %624, 4
  %644 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %643)
  %645 = icmp ult i32 %642, %644
  br i1 %645, label %684, label %646

646:                                              ; preds = %638
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %641, i32 noundef %644)
  br label %647

647:                                              ; preds = %550, %481, %646, %552, %483, %371
  %648 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %342)
  %.not1894 = icmp eq i32 %648, 0
  br i1 %.not1894, label %653, label %649

649:                                              ; preds = %647
  %650 = zext i32 %648 to i64
  %651 = tail call i32 @i32_load(ptr noundef nonnull %12, i64 noundef %650)
  %652 = add i32 %651, -1
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %650, i32 noundef %652)
  br label %653

653:                                              ; preds = %649, %647
  %654 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef nonnull %0, i32 noundef %333) #4
  br label %655

655:                                              ; preds = %57, %653, %28
  store i32 %10, ptr %9, align 8, !tbaa !5
  ret void

656:                                              ; preds = %30
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 189078, i32 noundef 60884, i32 noundef 987, i32 noundef 100712) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

657:                                              ; preds = %42
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 43, i32 noundef 24718) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

658:                                              ; preds = %51
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

659:                                              ; preds = %53
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205012, i32 noundef 82611, i32 noundef 255, i32 noundef 24720) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

660:                                              ; preds = %220
  %661 = add nuw nsw i64 %217, 16
  tail call void @i32_store(ptr noundef nonnull %12, i64 noundef %661, i32 noundef 105758)
  %662 = add i32 %10, -352
  tail call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef nonnull %0, i32 noundef 44700, i32 noundef 45688, i32 noundef %662) #4
  tail call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef nonnull %0, i32 noundef 105758) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

663:                                              ; preds = %316
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 179505, i32 noundef 84574, i32 noundef 127, i32 noundef 35614) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

664:                                              ; preds = %435
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118124, i32 noundef 83341, i32 noundef 480, i32 noundef 38798) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

665:                                              ; preds = %438
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 168498, i32 noundef 78081, i32 noundef 269, i32 noundef 20456) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

666:                                              ; preds = %440
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118714, i32 noundef 83198, i32 noundef 58, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

667:                                              ; preds = %444
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 177264, i32 noundef 81945, i32 noundef 152, i32 noundef 34697) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

668:                                              ; preds = %447
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205012, i32 noundef 82611, i32 noundef 255, i32 noundef 24720) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

669:                                              ; preds = %457
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 169961, i32 noundef 85168, i32 noundef 150, i32 noundef 39587) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

670:                                              ; preds = %460, %451
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118714, i32 noundef 83198, i32 noundef 58, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

671:                                              ; preds = %491
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 61, i32 noundef 72547) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

672:                                              ; preds = %496
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205071, i32 noundef 82611, i32 noundef 299, i32 noundef 72549) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

673:                                              ; preds = %510
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118124, i32 noundef 83341, i32 noundef 480, i32 noundef 38798) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

674:                                              ; preds = %513
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 168498, i32 noundef 78081, i32 noundef 269, i32 noundef 20456) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

675:                                              ; preds = %515
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118714, i32 noundef 83198, i32 noundef 58, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

676:                                              ; preds = %519
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 177264, i32 noundef 81945, i32 noundef 152, i32 noundef 34697) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

677:                                              ; preds = %522
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205012, i32 noundef 82611, i32 noundef 255, i32 noundef 24720) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

678:                                              ; preds = %532
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 169961, i32 noundef 85168, i32 noundef 150, i32 noundef 39587) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

679:                                              ; preds = %535, %526
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118714, i32 noundef 83198, i32 noundef 58, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

680:                                              ; preds = %565
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 43, i32 noundef 24718) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

681:                                              ; preds = %569
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

682:                                              ; preds = %571
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205012, i32 noundef 82611, i32 noundef 255, i32 noundef 24720) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

683:                                              ; preds = %611
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 179505, i32 noundef 84574, i32 noundef 143, i32 noundef 90429) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

684:                                              ; preds = %638
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 159110, i32 noundef 84373, i32 noundef 2038, i32 noundef 49738) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable
}

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

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

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

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

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

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

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

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

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

attributes #0 = { 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 #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 = { 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 = { nounwind }
attributes #5 = { 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: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass