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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @w2c_hermes_abort(ptr noundef) #4

declare void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

79:                                               ; preds = %11
  %80 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %80, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %81 = load ptr, ptr %12, align 8, !tbaa !5
  %82 = getelementptr inbounds %struct.w2c_hermes, ptr %81, i32 0, i32 6
  %83 = load i32, ptr %33, align 4, !tbaa !9
  %84 = zext i32 %83 to i64
  %85 = add i64 %84, 984
  %86 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %82, i64 noundef %85, i64 noundef %86)
  %87 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %87, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %88 = load ptr, ptr %12, align 8, !tbaa !5
  %89 = getelementptr inbounds %struct.w2c_hermes, ptr %88, i32 0, i32 6
  %90 = load i32, ptr %33, align 4, !tbaa !9
  %91 = zext i32 %90 to i64
  %92 = add i64 %91, 976
  %93 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %89, i64 noundef %92, i64 noundef %93)
  %94 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %94, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %95 = load ptr, ptr %12, align 8, !tbaa !5
  %96 = getelementptr inbounds %struct.w2c_hermes, ptr %95, i32 0, i32 6
  %97 = load i32, ptr %33, align 4, !tbaa !9
  %98 = zext i32 %97 to i64
  %99 = add i64 %98, 968
  %100 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %96, i64 noundef %99, i64 noundef %100)
  %101 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %101, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %102 = load ptr, ptr %12, align 8, !tbaa !5
  %103 = getelementptr inbounds %struct.w2c_hermes, ptr %102, i32 0, i32 6
  %104 = load i32, ptr %33, align 4, !tbaa !9
  %105 = zext i32 %104 to i64
  %106 = add i64 %105, 960
  %107 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %103, i64 noundef %106, i64 noundef %107)
  %108 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %108, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %109 = load ptr, ptr %12, align 8, !tbaa !5
  %110 = getelementptr inbounds %struct.w2c_hermes, ptr %109, i32 0, i32 6
  %111 = load i32, ptr %33, align 4, !tbaa !9
  %112 = zext i32 %111 to i64
  %113 = add i64 %112, 944
  %114 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %110, i64 noundef %113, i64 noundef %114)
  %115 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %115, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %116 = load ptr, ptr %12, align 8, !tbaa !5
  %117 = getelementptr inbounds %struct.w2c_hermes, ptr %116, i32 0, i32 6
  %118 = load i32, ptr %33, align 4, !tbaa !9
  %119 = zext i32 %118 to i64
  %120 = add i64 %119, 936
  %121 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %117, i64 noundef %120, i64 noundef %121)
  %122 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %122, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %123 = load ptr, ptr %12, align 8, !tbaa !5
  %124 = getelementptr inbounds %struct.w2c_hermes, ptr %123, i32 0, i32 6
  %125 = load i32, ptr %33, align 4, !tbaa !9
  %126 = zext i32 %125 to i64
  %127 = add i64 %126, 928
  %128 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %124, i64 noundef %127, i64 noundef %128)
  %129 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %129, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %130 = load ptr, ptr %12, align 8, !tbaa !5
  %131 = getelementptr inbounds %struct.w2c_hermes, ptr %130, i32 0, i32 6
  %132 = load i32, ptr %33, align 4, !tbaa !9
  %133 = zext i32 %132 to i64
  %134 = add i64 %133, 920
  %135 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %131, i64 noundef %134, i64 noundef %135)
  %136 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %136, ptr %33, align 4, !tbaa !9
  store i64 1, ptr %40, align 8, !tbaa !11
  %137 = load ptr, ptr %12, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.w2c_hermes, ptr %137, i32 0, i32 6
  %139 = load i32, ptr %33, align 4, !tbaa !9
  %140 = zext i32 %139 to i64
  %141 = add i64 %140, 912
  %142 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %138, i64 noundef %141, i64 noundef %142)
  %143 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %143, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %144 = load ptr, ptr %12, align 8, !tbaa !5
  %145 = getelementptr inbounds %struct.w2c_hermes, ptr %144, i32 0, i32 6
  %146 = load i32, ptr %33, align 4, !tbaa !9
  %147 = zext i32 %146 to i64
  %148 = add i64 %147, 904
  %149 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %145, i64 noundef %148, i64 noundef %149)
  %150 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %150, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %151 = load ptr, ptr %12, align 8, !tbaa !5
  %152 = getelementptr inbounds %struct.w2c_hermes, ptr %151, i32 0, i32 6
  %153 = load i32, ptr %33, align 4, !tbaa !9
  %154 = zext i32 %153 to i64
  %155 = add i64 %154, 896
  %156 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %152, i64 noundef %155, i64 noundef %156)
  %157 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %157, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %158 = load ptr, ptr %12, align 8, !tbaa !5
  %159 = getelementptr inbounds %struct.w2c_hermes, ptr %158, i32 0, i32 6
  %160 = load i32, ptr %33, align 4, !tbaa !9
  %161 = zext i32 %160 to i64
  %162 = add i64 %161, 888
  %163 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %159, i64 noundef %162, i64 noundef %163)
  %164 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %164, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %165 = load ptr, ptr %12, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.w2c_hermes, ptr %165, i32 0, i32 6
  %167 = load i32, ptr %33, align 4, !tbaa !9
  %168 = zext i32 %167 to i64
  %169 = add i64 %168, 880
  %170 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %166, i64 noundef %169, i64 noundef %170)
  %171 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %171, ptr %33, align 4, !tbaa !9
  store i64 1, ptr %40, align 8, !tbaa !11
  %172 = load ptr, ptr %12, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.w2c_hermes, ptr %172, i32 0, i32 6
  %174 = load i32, ptr %33, align 4, !tbaa !9
  %175 = zext i32 %174 to i64
  %176 = add i64 %175, 872
  %177 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %173, i64 noundef %176, i64 noundef %177)
  %178 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %178, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %179 = load ptr, ptr %12, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.w2c_hermes, ptr %179, i32 0, i32 6
  %181 = load i32, ptr %33, align 4, !tbaa !9
  %182 = zext i32 %181 to i64
  %183 = add i64 %182, 860
  %184 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %180, i64 noundef %183, i64 noundef %184)
  %185 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %185, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %186 = load ptr, ptr %12, align 8, !tbaa !5
  %187 = getelementptr inbounds %struct.w2c_hermes, ptr %186, i32 0, i32 6
  %188 = load i32, ptr %33, align 4, !tbaa !9
  %189 = zext i32 %188 to i64
  %190 = add i64 %189, 852
  %191 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %187, i64 noundef %190, i64 noundef %191)
  %192 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %192, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %193 = load ptr, ptr %12, align 8, !tbaa !5
  %194 = getelementptr inbounds %struct.w2c_hermes, ptr %193, i32 0, i32 6
  %195 = load i32, ptr %33, align 4, !tbaa !9
  %196 = zext i32 %195 to i64
  %197 = add i64 %196, 844
  %198 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %194, i64 noundef %197, i64 noundef %198)
  %199 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %199, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %200 = load ptr, ptr %12, align 8, !tbaa !5
  %201 = getelementptr inbounds %struct.w2c_hermes, ptr %200, i32 0, i32 6
  %202 = load i32, ptr %33, align 4, !tbaa !9
  %203 = zext i32 %202 to i64
  %204 = add i64 %203, 836
  %205 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %201, i64 noundef %204, i64 noundef %205)
  %206 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %206, ptr %33, align 4, !tbaa !9
  store i64 1, ptr %40, align 8, !tbaa !11
  %207 = load ptr, ptr %12, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.w2c_hermes, ptr %207, i32 0, i32 6
  %209 = load i32, ptr %33, align 4, !tbaa !9
  %210 = zext i32 %209 to i64
  %211 = add i64 %210, 828
  %212 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %208, i64 noundef %211, i64 noundef %212)
  %213 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %213, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %214 = load ptr, ptr %12, align 8, !tbaa !5
  %215 = getelementptr inbounds %struct.w2c_hermes, ptr %214, i32 0, i32 6
  %216 = load i32, ptr %33, align 4, !tbaa !9
  %217 = zext i32 %216 to i64
  %218 = add i64 %217, 820
  %219 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %215, i64 noundef %218, i64 noundef %219)
  %220 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %220, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %221 = load ptr, ptr %12, align 8, !tbaa !5
  %222 = getelementptr inbounds %struct.w2c_hermes, ptr %221, i32 0, i32 6
  %223 = load i32, ptr %33, align 4, !tbaa !9
  %224 = zext i32 %223 to i64
  %225 = add i64 %224, 812
  %226 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %222, i64 noundef %225, i64 noundef %226)
  %227 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %227, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %228 = load ptr, ptr %12, align 8, !tbaa !5
  %229 = getelementptr inbounds %struct.w2c_hermes, ptr %228, i32 0, i32 6
  %230 = load i32, ptr %33, align 4, !tbaa !9
  %231 = zext i32 %230 to i64
  %232 = add i64 %231, 804
  %233 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %229, i64 noundef %232, i64 noundef %233)
  %234 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %234, ptr %33, align 4, !tbaa !9
  store i64 4294967295, ptr %40, align 8, !tbaa !11
  %235 = load ptr, ptr %12, align 8, !tbaa !5
  %236 = getelementptr inbounds %struct.w2c_hermes, ptr %235, i32 0, i32 6
  %237 = load i32, ptr %33, align 4, !tbaa !9
  %238 = zext i32 %237 to i64
  %239 = add i64 %238, 796
  %240 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %236, i64 noundef %239, i64 noundef %240)
  %241 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %241, ptr %33, align 4, !tbaa !9
  store i64 1, ptr %40, align 8, !tbaa !11
  %242 = load ptr, ptr %12, align 8, !tbaa !5
  %243 = getelementptr inbounds %struct.w2c_hermes, ptr %242, i32 0, i32 6
  %244 = load i32, ptr %33, align 4, !tbaa !9
  %245 = zext i32 %244 to i64
  %246 = add i64 %245, 788
  %247 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %243, i64 noundef %246, i64 noundef %247)
  %248 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %248, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %249 = load ptr, ptr %12, align 8, !tbaa !5
  %250 = getelementptr inbounds %struct.w2c_hermes, ptr %249, i32 0, i32 6
  %251 = load i32, ptr %33, align 4, !tbaa !9
  %252 = zext i32 %251 to i64
  %253 = add i64 %252, 784
  %254 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %250, i64 noundef %253, i32 noundef %254)
  %255 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %255, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %256 = load ptr, ptr %12, align 8, !tbaa !5
  %257 = getelementptr inbounds %struct.w2c_hermes, ptr %256, i32 0, i32 6
  %258 = load i32, ptr %33, align 4, !tbaa !9
  %259 = zext i32 %258 to i64
  %260 = add i64 %259, 772
  %261 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %257, i64 noundef %260, i32 noundef %261)
  %262 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %262, ptr %33, align 4, !tbaa !9
  store i64 1, ptr %40, align 8, !tbaa !11
  %263 = load ptr, ptr %12, align 8, !tbaa !5
  %264 = getelementptr inbounds %struct.w2c_hermes, ptr %263, i32 0, i32 6
  %265 = load i32, ptr %33, align 4, !tbaa !9
  %266 = zext i32 %265 to i64
  %267 = add i64 %266, 952
  %268 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %264, i64 noundef %267, i64 noundef %268)
  %269 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %269, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %270 = load ptr, ptr %12, align 8, !tbaa !5
  %271 = getelementptr inbounds %struct.w2c_hermes, ptr %270, i32 0, i32 6
  %272 = load i32, ptr %33, align 4, !tbaa !9
  %273 = zext i32 %272 to i64
  %274 = add i64 %273, 868
  %275 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %271, i64 noundef %274, i32 noundef %275)
  %276 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %276, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %277 = load ptr, ptr %12, align 8, !tbaa !5
  %278 = getelementptr inbounds %struct.w2c_hermes, ptr %277, i32 0, i32 6
  %279 = load i32, ptr %33, align 4, !tbaa !9
  %280 = zext i32 %279 to i64
  %281 = add i64 %280, 774
  %282 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %278, i64 noundef %281, i64 noundef %282)
  %283 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %283, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %284 = load ptr, ptr %12, align 8, !tbaa !5
  %285 = getelementptr inbounds %struct.w2c_hermes, ptr %284, i32 0, i32 6
  %286 = load i32, ptr %33, align 4, !tbaa !9
  %287 = zext i32 %286 to i64
  %288 = add i64 %287, 773
  %289 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %285, i64 noundef %288, i32 noundef %289)
  %290 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %290, ptr %33, align 4, !tbaa !9
  %291 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %291, ptr %34, align 4, !tbaa !9
  %292 = load ptr, ptr %12, align 8, !tbaa !5
  %293 = getelementptr inbounds %struct.w2c_hermes, ptr %292, i32 0, i32 6
  %294 = load i32, ptr %34, align 4, !tbaa !9
  %295 = zext i32 %294 to i64
  %296 = add i64 %295, 18
  %297 = call i32 @i32_load8_u(ptr noundef %293, i64 noundef %296)
  store i32 %297, ptr %34, align 4, !tbaa !9
  %298 = load ptr, ptr %12, align 8, !tbaa !5
  %299 = getelementptr inbounds %struct.w2c_hermes, ptr %298, i32 0, i32 6
  %300 = load i32, ptr %33, align 4, !tbaa !9
  %301 = zext i32 %300 to i64
  %302 = add i64 %301, 779
  %303 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %299, i64 noundef %302, i32 noundef %303)
  %304 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %304, ptr %33, align 4, !tbaa !9
  %305 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %305, ptr %34, align 4, !tbaa !9
  %306 = load ptr, ptr %12, align 8, !tbaa !5
  %307 = getelementptr inbounds %struct.w2c_hermes, ptr %306, i32 0, i32 6
  %308 = load i32, ptr %34, align 4, !tbaa !9
  %309 = zext i32 %308 to i64
  %310 = add i64 %309, 2
  %311 = call i32 @i32_load8_u(ptr noundef %307, i64 noundef %310)
  store i32 %311, ptr %34, align 4, !tbaa !9
  %312 = load ptr, ptr %12, align 8, !tbaa !5
  %313 = getelementptr inbounds %struct.w2c_hermes, ptr %312, i32 0, i32 6
  %314 = load i32, ptr %33, align 4, !tbaa !9
  %315 = zext i32 %314 to i64
  %316 = add i64 %315, 781
  %317 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %313, i64 noundef %316, i32 noundef %317)
  %318 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %318, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %319 = load ptr, ptr %12, align 8, !tbaa !5
  %320 = getelementptr inbounds %struct.w2c_hermes, ptr %319, i32 0, i32 6
  %321 = load i32, ptr %33, align 4, !tbaa !9
  %322 = zext i32 %321 to i64
  %323 = add i64 %322, 770
  %324 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %320, i64 noundef %323, i32 noundef %324)
  %325 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %325, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %326 = load ptr, ptr %12, align 8, !tbaa !5
  %327 = getelementptr inbounds %struct.w2c_hermes, ptr %326, i32 0, i32 6
  %328 = load i32, ptr %33, align 4, !tbaa !9
  %329 = zext i32 %328 to i64
  %330 = add i64 %329, 768
  %331 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %327, i64 noundef %330, i32 noundef %331)
  %332 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %332, ptr %33, align 4, !tbaa !9
  store i32 257, ptr %34, align 4, !tbaa !9
  %333 = load ptr, ptr %12, align 8, !tbaa !5
  %334 = getelementptr inbounds %struct.w2c_hermes, ptr %333, i32 0, i32 6
  %335 = load i32, ptr %33, align 4, !tbaa !9
  %336 = zext i32 %335 to i64
  %337 = add i64 %336, 766
  %338 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %334, i64 noundef %337, i32 noundef %338)
  %339 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %339, ptr %33, align 4, !tbaa !9
  %340 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %340, ptr %34, align 4, !tbaa !9
  %341 = load ptr, ptr %12, align 8, !tbaa !5
  %342 = getelementptr inbounds %struct.w2c_hermes, ptr %341, i32 0, i32 6
  %343 = load i32, ptr %34, align 4, !tbaa !9
  %344 = zext i32 %343 to i64
  %345 = add i64 %344, 14
  %346 = call i32 @i32_load8_u(ptr noundef %342, i64 noundef %345)
  store i32 %346, ptr %34, align 4, !tbaa !9
  store i32 0, ptr %35, align 4, !tbaa !9
  %347 = load i32, ptr %34, align 4, !tbaa !9
  %348 = load i32, ptr %35, align 4, !tbaa !9
  %349 = icmp ne i32 %347, %348
  %350 = zext i1 %349 to i32
  store i32 %350, ptr %34, align 4, !tbaa !9
  %351 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %351, ptr %35, align 4, !tbaa !9
  %352 = load ptr, ptr %12, align 8, !tbaa !5
  %353 = getelementptr inbounds %struct.w2c_hermes, ptr %352, i32 0, i32 6
  %354 = load i32, ptr %35, align 4, !tbaa !9
  %355 = zext i32 %354 to i64
  %356 = add i64 %355, 13
  %357 = call i32 @i32_load8_u(ptr noundef %353, i64 noundef %356)
  store i32 %357, ptr %35, align 4, !tbaa !9
  store i32 0, ptr %36, align 4, !tbaa !9
  %358 = load i32, ptr %35, align 4, !tbaa !9
  %359 = load i32, ptr %36, align 4, !tbaa !9
  %360 = icmp ne i32 %358, %359
  %361 = zext i1 %360 to i32
  store i32 %361, ptr %35, align 4, !tbaa !9
  %362 = load i32, ptr %35, align 4, !tbaa !9
  %363 = load i32, ptr %34, align 4, !tbaa !9
  %364 = and i32 %363, %362
  store i32 %364, ptr %34, align 4, !tbaa !9
  %365 = load ptr, ptr %12, align 8, !tbaa !5
  %366 = getelementptr inbounds %struct.w2c_hermes, ptr %365, i32 0, i32 6
  %367 = load i32, ptr %33, align 4, !tbaa !9
  %368 = zext i32 %367 to i64
  %369 = add i64 %368, 769
  %370 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %366, i64 noundef %369, i32 noundef %370)
  store i32 376, ptr %33, align 4, !tbaa !9
  %371 = load ptr, ptr %12, align 8, !tbaa !5
  %372 = load i32, ptr %33, align 4, !tbaa !9
  %373 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %371, i32 noundef %372)
  store i32 %373, ptr %33, align 4, !tbaa !9
  %374 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %374, ptr %34, align 4, !tbaa !9
  store i32 772, ptr %35, align 4, !tbaa !9
  %375 = load i32, ptr %35, align 4, !tbaa !9
  %376 = load i32, ptr %34, align 4, !tbaa !9
  %377 = add i32 %376, %375
  store i32 %377, ptr %34, align 4, !tbaa !9
  %378 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %378, ptr %35, align 4, !tbaa !9
  store i32 766, ptr %36, align 4, !tbaa !9
  %379 = load i32, ptr %36, align 4, !tbaa !9
  %380 = load i32, ptr %35, align 4, !tbaa !9
  %381 = add i32 %380, %379
  store i32 %381, ptr %35, align 4, !tbaa !9
  %382 = load ptr, ptr %12, align 8, !tbaa !5
  %383 = load i32, ptr %33, align 4, !tbaa !9
  %384 = load i32, ptr %34, align 4, !tbaa !9
  %385 = load i32, ptr %35, align 4, !tbaa !9
  %386 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_ptr_emplace0x3Chermes0x3A0x3AContext0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AContext0x3E0x3E0x3A0x3A_0x5Fshared_ptr_emplace0x5Babi0x3Av150070x5D0x3Chermes0x3A0x3ACodeGenerationSettings0x260x2C0x20hermes0x3A0x3AOptimizationSettings0x260x3E0x28std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AContext0x3E0x2C0x20hermes0x3A0x3ACodeGenerationSettings0x260x2C0x20hermes0x3A0x3AOptimizationSettings0x260x29(ptr noundef %382, i32 noundef %383, i32 noundef %384, i32 noundef %385)
  store i32 %386, ptr %33, align 4, !tbaa !9
  %387 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %387, ptr %25, align 4, !tbaa !9
  %388 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %388, ptr %33, align 4, !tbaa !9
  %389 = load i32, ptr %33, align 4, !tbaa !9
  %390 = icmp ne i32 %389, 0
  br i1 %390, label %391, label %415

391:                                              ; preds = %79
  %392 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %392, ptr %33, align 4, !tbaa !9
  %393 = load ptr, ptr %12, align 8, !tbaa !5
  %394 = getelementptr inbounds %struct.w2c_hermes, ptr %393, i32 0, i32 6
  %395 = load i32, ptr %33, align 4, !tbaa !9
  %396 = zext i32 %395 to i64
  %397 = add i64 %396, 84
  %398 = call i32 @i32_load(ptr noundef %394, i64 noundef %397)
  store i32 %398, ptr %33, align 4, !tbaa !9
  %399 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %399, ptr %24, align 4, !tbaa !9
  %400 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %400, ptr %34, align 4, !tbaa !9
  %401 = load ptr, ptr %12, align 8, !tbaa !5
  %402 = getelementptr inbounds %struct.w2c_hermes, ptr %401, i32 0, i32 6
  %403 = load i32, ptr %33, align 4, !tbaa !9
  %404 = zext i32 %403 to i64
  %405 = add i64 %404, 44
  %406 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %402, i64 noundef %405, i32 noundef %406)
  %407 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %407, ptr %33, align 4, !tbaa !9
  %408 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %408, ptr %34, align 4, !tbaa !9
  %409 = load ptr, ptr %12, align 8, !tbaa !5
  %410 = getelementptr inbounds %struct.w2c_hermes, ptr %409, i32 0, i32 6
  %411 = load i32, ptr %33, align 4, !tbaa !9
  %412 = zext i32 %411 to i64
  %413 = add i64 %412, 40
  %414 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %410, i64 noundef %413, i32 noundef %414)
  br label %441

415:                                              ; preds = %79
  store i32 176, ptr %33, align 4, !tbaa !9
  %416 = load ptr, ptr %12, align 8, !tbaa !5
  %417 = load i32, ptr %33, align 4, !tbaa !9
  %418 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %416, i32 noundef %417)
  store i32 %418, ptr %33, align 4, !tbaa !9
  %419 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %419, ptr %34, align 4, !tbaa !9
  store i32 84, ptr %35, align 4, !tbaa !9
  %420 = load i32, ptr %35, align 4, !tbaa !9
  %421 = load i32, ptr %34, align 4, !tbaa !9
  %422 = add i32 %421, %420
  store i32 %422, ptr %34, align 4, !tbaa !9
  %423 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %423, ptr %19, align 4, !tbaa !9
  %424 = load ptr, ptr %12, align 8, !tbaa !5
  %425 = getelementptr inbounds %struct.w2c_hermes, ptr %424, i32 0, i32 6
  %426 = load i32, ptr %34, align 4, !tbaa !9
  %427 = zext i32 %426 to i64
  %428 = call i32 @i32_load(ptr noundef %425, i64 noundef %427)
  store i32 %428, ptr %34, align 4, !tbaa !9
  %429 = load ptr, ptr %12, align 8, !tbaa !5
  %430 = load i32, ptr %33, align 4, !tbaa !9
  %431 = load i32, ptr %34, align 4, !tbaa !9
  %432 = call i32 @w2c_hermes_hermes0x3A0x3ASimpleDiagHandlerRAII0x3A0x3ASimpleDiagHandlerRAII0x28hermes0x3A0x3ASourceErrorManager0x260x29(ptr noundef %429, i32 noundef %430, i32 noundef %431)
  store i32 %432, ptr %33, align 4, !tbaa !9
  %433 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %433, ptr %27, align 4, !tbaa !9
  %434 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %434, ptr %33, align 4, !tbaa !9
  %435 = load ptr, ptr %12, align 8, !tbaa !5
  %436 = getelementptr inbounds %struct.w2c_hermes, ptr %435, i32 0, i32 6
  %437 = load i32, ptr %33, align 4, !tbaa !9
  %438 = zext i32 %437 to i64
  %439 = call i32 @i32_load(ptr noundef %436, i64 noundef %438)
  store i32 %439, ptr %33, align 4, !tbaa !9
  %440 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %440, ptr %24, align 4, !tbaa !9
  br label %441

441:                                              ; preds = %415, %391
  %442 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %442, ptr %33, align 4, !tbaa !9
  %443 = load ptr, ptr %12, align 8, !tbaa !5
  %444 = getelementptr inbounds %struct.w2c_hermes, ptr %443, i32 0, i32 6
  %445 = load i32, ptr %33, align 4, !tbaa !9
  %446 = zext i32 %445 to i64
  %447 = add i64 %446, 152
  %448 = call i32 @i32_load(ptr noundef %444, i64 noundef %447)
  store i32 %448, ptr %33, align 4, !tbaa !9
  %449 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %449, ptr %19, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %450 = load i32, ptr %34, align 4, !tbaa !9
  %451 = load i32, ptr %33, align 4, !tbaa !9
  %452 = and i32 %451, %450
  store i32 %452, ptr %33, align 4, !tbaa !9
  %453 = load i32, ptr %33, align 4, !tbaa !9
  %454 = icmp ne i32 %453, 0
  %455 = xor i1 %454, true
  %456 = zext i1 %455 to i32
  store i32 %456, ptr %33, align 4, !tbaa !9
  %457 = load i32, ptr %33, align 4, !tbaa !9
  %458 = icmp ne i32 %457, 0
  br i1 %458, label %459, label %475

459:                                              ; preds = %441
  %460 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %460, ptr %33, align 4, !tbaa !9
  %461 = load ptr, ptr %12, align 8, !tbaa !5
  %462 = getelementptr inbounds %struct.w2c_hermes, ptr %461, i32 0, i32 6
  %463 = load i32, ptr %33, align 4, !tbaa !9
  %464 = zext i32 %463 to i64
  %465 = add i64 %464, 8
  %466 = call i32 @i32_load(ptr noundef %462, i64 noundef %465)
  store i32 %466, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %467 = load i32, ptr %33, align 4, !tbaa !9
  %468 = load i32, ptr %34, align 4, !tbaa !9
  %469 = icmp ugt i32 %467, %468
  %470 = zext i1 %469 to i32
  store i32 %470, ptr %33, align 4, !tbaa !9
  %471 = load i32, ptr %33, align 4, !tbaa !9
  %472 = icmp ne i32 %471, 0
  br i1 %472, label %473, label %474

473:                                              ; preds = %459
  br label %514

474:                                              ; preds = %459
  br label %3653

475:                                              ; preds = %441
  %476 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %476, ptr %33, align 4, !tbaa !9
  store i32 268435455, ptr %34, align 4, !tbaa !9
  %477 = load i32, ptr %33, align 4, !tbaa !9
  %478 = load i32, ptr %34, align 4, !tbaa !9
  %479 = icmp ule i32 %477, %478
  %480 = zext i1 %479 to i32
  store i32 %480, ptr %33, align 4, !tbaa !9
  %481 = load i32, ptr %33, align 4, !tbaa !9
  %482 = icmp ne i32 %481, 0
  br i1 %482, label %483, label %484

483:                                              ; preds = %475
  br label %3653

484:                                              ; preds = %475
  %485 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %485, ptr %33, align 4, !tbaa !9
  store i32 -2, ptr %34, align 4, !tbaa !9
  %486 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %486, ptr %35, align 4, !tbaa !9
  store i32 27, ptr %36, align 4, !tbaa !9
  %487 = load i32, ptr %36, align 4, !tbaa !9
  %488 = and i32 %487, 31
  %489 = load i32, ptr %35, align 4, !tbaa !9
  %490 = lshr i32 %489, %488
  store i32 %490, ptr %35, align 4, !tbaa !9
  %491 = load i32, ptr %35, align 4, !tbaa !9
  %492 = and i32 %491, 31
  %493 = load i32, ptr %34, align 4, !tbaa !9
  %494 = shl i32 %493, %492
  store i32 %494, ptr %34, align 4, !tbaa !9
  store i32 134217722, ptr %35, align 4, !tbaa !9
  %495 = load i32, ptr %35, align 4, !tbaa !9
  %496 = load i32, ptr %34, align 4, !tbaa !9
  %497 = and i32 %496, %495
  store i32 %497, ptr %34, align 4, !tbaa !9
  store i32 -6, ptr %35, align 4, !tbaa !9
  %498 = load i32, ptr %35, align 4, !tbaa !9
  %499 = load i32, ptr %34, align 4, !tbaa !9
  %500 = xor i32 %499, %498
  store i32 %500, ptr %34, align 4, !tbaa !9
  %501 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %501, ptr %35, align 4, !tbaa !9
  %502 = load i32, ptr %35, align 4, !tbaa !9
  %503 = load i32, ptr %34, align 4, !tbaa !9
  %504 = and i32 %503, %502
  store i32 %504, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %505 = load i32, ptr %35, align 4, !tbaa !9
  %506 = load i32, ptr %34, align 4, !tbaa !9
  %507 = or i32 %506, %505
  store i32 %507, ptr %34, align 4, !tbaa !9
  %508 = load ptr, ptr %12, align 8, !tbaa !5
  %509 = getelementptr inbounds %struct.w2c_hermes, ptr %508, i32 0, i32 6
  %510 = load i32, ptr %33, align 4, !tbaa !9
  %511 = zext i32 %510 to i64
  %512 = add i64 %511, 152
  %513 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %509, i64 noundef %512, i32 noundef %513)
  br label %551

514:                                              ; preds = %473
  %515 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %515, ptr %33, align 4, !tbaa !9
  %516 = load ptr, ptr %12, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.w2c_hermes, ptr %516, i32 0, i32 6
  %518 = load i32, ptr %33, align 4, !tbaa !9
  %519 = zext i32 %518 to i64
  %520 = add i64 %519, 4
  %521 = call i32 @i32_load(ptr noundef %517, i64 noundef %520)
  store i32 %521, ptr %33, align 4, !tbaa !9
  %522 = load i32, ptr %33, align 4, !tbaa !9
  %523 = icmp ne i32 %522, 0
  %524 = xor i1 %523, true
  %525 = zext i1 %524 to i32
  store i32 %525, ptr %33, align 4, !tbaa !9
  %526 = load i32, ptr %33, align 4, !tbaa !9
  %527 = icmp ne i32 %526, 0
  br i1 %527, label %528, label %529

528:                                              ; preds = %514
  br label %3487

529:                                              ; preds = %514
  %530 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %530, ptr %33, align 4, !tbaa !9
  %531 = load ptr, ptr %12, align 8, !tbaa !5
  %532 = getelementptr inbounds %struct.w2c_hermes, ptr %531, i32 0, i32 6
  %533 = load i32, ptr %33, align 4, !tbaa !9
  %534 = zext i32 %533 to i64
  %535 = call i32 @i32_load(ptr noundef %532, i64 noundef %534)
  store i32 %535, ptr %33, align 4, !tbaa !9
  %536 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %536, ptr %19, align 4, !tbaa !9
  %537 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %537, ptr %34, align 4, !tbaa !9
  %538 = load ptr, ptr %12, align 8, !tbaa !5
  %539 = getelementptr inbounds %struct.w2c_hermes, ptr %538, i32 0, i32 6
  %540 = load i32, ptr %34, align 4, !tbaa !9
  %541 = zext i32 %540 to i64
  %542 = call i32 @i32_load(ptr noundef %539, i64 noundef %541)
  store i32 %542, ptr %34, align 4, !tbaa !9
  store i32 -3, ptr %35, align 4, !tbaa !9
  %543 = load i32, ptr %35, align 4, !tbaa !9
  %544 = load i32, ptr %34, align 4, !tbaa !9
  %545 = and i32 %544, %543
  store i32 %545, ptr %34, align 4, !tbaa !9
  %546 = load ptr, ptr %12, align 8, !tbaa !5
  %547 = getelementptr inbounds %struct.w2c_hermes, ptr %546, i32 0, i32 6
  %548 = load i32, ptr %33, align 4, !tbaa !9
  %549 = zext i32 %548 to i64
  %550 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %547, i64 noundef %549, i32 noundef %550)
  br label %551

551:                                              ; preds = %529, %484
  %552 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %552, ptr %33, align 4, !tbaa !9
  %553 = load ptr, ptr %12, align 8, !tbaa !5
  %554 = getelementptr inbounds %struct.w2c_hermes, ptr %553, i32 0, i32 6
  %555 = load i32, ptr %33, align 4, !tbaa !9
  %556 = zext i32 %555 to i64
  %557 = add i64 %556, 12
  %558 = call i32 @i32_load8_u(ptr noundef %554, i64 noundef %557)
  store i32 %558, ptr %33, align 4, !tbaa !9
  %559 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %559, ptr %19, align 4, !tbaa !9
  %560 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %560, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %561 = load ptr, ptr %12, align 8, !tbaa !5
  %562 = getelementptr inbounds %struct.w2c_hermes, ptr %561, i32 0, i32 6
  %563 = load i32, ptr %33, align 4, !tbaa !9
  %564 = zext i32 %563 to i64
  %565 = add i64 %564, 89
  %566 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %562, i64 noundef %565, i32 noundef %566)
  %567 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %567, ptr %33, align 4, !tbaa !9
  %568 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %568, ptr %34, align 4, !tbaa !9
  %569 = load ptr, ptr %12, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.w2c_hermes, ptr %569, i32 0, i32 6
  %571 = load i32, ptr %33, align 4, !tbaa !9
  %572 = zext i32 %571 to i64
  %573 = add i64 %572, 88
  %574 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %570, i64 noundef %573, i32 noundef %574)
  %575 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %575, ptr %33, align 4, !tbaa !9
  %576 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %576, ptr %34, align 4, !tbaa !9
  %577 = load ptr, ptr %12, align 8, !tbaa !5
  %578 = getelementptr inbounds %struct.w2c_hermes, ptr %577, i32 0, i32 6
  %579 = load i32, ptr %34, align 4, !tbaa !9
  %580 = zext i32 %579 to i64
  %581 = add i64 %580, 20
  %582 = call i32 @i32_load8_u(ptr noundef %578, i64 noundef %581)
  store i32 %582, ptr %34, align 4, !tbaa !9
  %583 = load ptr, ptr %12, align 8, !tbaa !5
  %584 = getelementptr inbounds %struct.w2c_hermes, ptr %583, i32 0, i32 6
  %585 = load i32, ptr %33, align 4, !tbaa !9
  %586 = zext i32 %585 to i64
  %587 = add i64 %586, 113
  %588 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %584, i64 noundef %587, i32 noundef %588)
  %589 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %589, ptr %33, align 4, !tbaa !9
  %590 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %590, ptr %34, align 4, !tbaa !9
  %591 = load ptr, ptr %12, align 8, !tbaa !5
  %592 = getelementptr inbounds %struct.w2c_hermes, ptr %591, i32 0, i32 6
  %593 = load i32, ptr %34, align 4, !tbaa !9
  %594 = zext i32 %593 to i64
  %595 = add i64 %594, 8
  %596 = call i32 @i32_load(ptr noundef %592, i64 noundef %595)
  store i32 %596, ptr %34, align 4, !tbaa !9
  %597 = load ptr, ptr %12, align 8, !tbaa !5
  %598 = getelementptr inbounds %struct.w2c_hermes, ptr %597, i32 0, i32 6
  %599 = load i32, ptr %33, align 4, !tbaa !9
  %600 = zext i32 %599 to i64
  %601 = add i64 %600, 92
  %602 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %598, i64 noundef %601, i32 noundef %602)
  %603 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %603, ptr %33, align 4, !tbaa !9
  %604 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %604, ptr %34, align 4, !tbaa !9
  %605 = load ptr, ptr %12, align 8, !tbaa !5
  %606 = getelementptr inbounds %struct.w2c_hermes, ptr %605, i32 0, i32 6
  %607 = load i32, ptr %34, align 4, !tbaa !9
  %608 = zext i32 %607 to i64
  %609 = add i64 %608, 4
  %610 = call i32 @i32_load(ptr noundef %606, i64 noundef %609)
  store i32 %610, ptr %34, align 4, !tbaa !9
  %611 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %611, ptr %26, align 4, !tbaa !9
  %612 = load ptr, ptr %12, align 8, !tbaa !5
  %613 = getelementptr inbounds %struct.w2c_hermes, ptr %612, i32 0, i32 6
  %614 = load i32, ptr %33, align 4, !tbaa !9
  %615 = zext i32 %614 to i64
  %616 = add i64 %615, 96
  %617 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %613, i64 noundef %616, i32 noundef %617)
  %618 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %618, ptr %33, align 4, !tbaa !9
  %619 = load ptr, ptr %12, align 8, !tbaa !5
  %620 = getelementptr inbounds %struct.w2c_hermes, ptr %619, i32 0, i32 6
  %621 = load i32, ptr %33, align 4, !tbaa !9
  %622 = zext i32 %621 to i64
  %623 = add i64 %622, 1
  %624 = call i32 @i32_load8_u(ptr noundef %620, i64 noundef %623)
  store i32 %624, ptr %33, align 4, !tbaa !9
  %625 = load i32, ptr %33, align 4, !tbaa !9
  %626 = icmp ne i32 %625, 0
  %627 = xor i1 %626, true
  %628 = zext i1 %627 to i32
  store i32 %628, ptr %33, align 4, !tbaa !9
  %629 = load i32, ptr %33, align 4, !tbaa !9
  %630 = icmp ne i32 %629, 0
  br i1 %630, label %631, label %632

631:                                              ; preds = %551
  br label %651

632:                                              ; preds = %551
  %633 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %633, ptr %33, align 4, !tbaa !9
  %634 = load ptr, ptr %12, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.w2c_hermes, ptr %634, i32 0, i32 6
  %636 = load i32, ptr %33, align 4, !tbaa !9
  %637 = zext i32 %636 to i64
  %638 = add i64 %637, 16
  %639 = call i32 @i32_load(ptr noundef %635, i64 noundef %638)
  store i32 %639, ptr %33, align 4, !tbaa !9
  %640 = load i32, ptr %33, align 4, !tbaa !9
  %641 = icmp ne i32 %640, 0
  br i1 %641, label %642, label %643

642:                                              ; preds = %632
  br label %651

643:                                              ; preds = %632
  %644 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %644, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %645 = load ptr, ptr %12, align 8, !tbaa !5
  %646 = getelementptr inbounds %struct.w2c_hermes, ptr %645, i32 0, i32 6
  %647 = load i32, ptr %33, align 4, !tbaa !9
  %648 = zext i32 %647 to i64
  %649 = add i64 %648, 90
  %650 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %646, i64 noundef %649, i32 noundef %650)
  br label %651

651:                                              ; preds = %643, %642, %631
  %652 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %652, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %653 = load i32, ptr %34, align 4, !tbaa !9
  %654 = load i32, ptr %33, align 4, !tbaa !9
  %655 = add i32 %654, %653
  store i32 %655, ptr %33, align 4, !tbaa !9
  %656 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %656, ptr %24, align 4, !tbaa !9
  %657 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %657, ptr %33, align 4, !tbaa !9
  %658 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %658, ptr %34, align 4, !tbaa !9
  %659 = load ptr, ptr %12, align 8, !tbaa !5
  %660 = getelementptr inbounds %struct.w2c_hermes, ptr %659, i32 0, i32 6
  %661 = load i32, ptr %34, align 4, !tbaa !9
  %662 = zext i32 %661 to i64
  %663 = add i64 %662, 19
  %664 = call i32 @i32_load8_u(ptr noundef %660, i64 noundef %663)
  store i32 %664, ptr %34, align 4, !tbaa !9
  %665 = load ptr, ptr %12, align 8, !tbaa !5
  %666 = getelementptr inbounds %struct.w2c_hermes, ptr %665, i32 0, i32 6
  %667 = load i32, ptr %33, align 4, !tbaa !9
  %668 = zext i32 %667 to i64
  %669 = add i64 %668, 101
  %670 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %666, i64 noundef %669, i32 noundef %670)
  %671 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %671, ptr %33, align 4, !tbaa !9
  %672 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %672, ptr %34, align 4, !tbaa !9
  %673 = load ptr, ptr %12, align 8, !tbaa !5
  %674 = getelementptr inbounds %struct.w2c_hermes, ptr %673, i32 0, i32 6
  %675 = load i32, ptr %34, align 4, !tbaa !9
  %676 = zext i32 %675 to i64
  %677 = call i32 @i32_load8_u(ptr noundef %674, i64 noundef %676)
  store i32 %677, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %678 = load i32, ptr %35, align 4, !tbaa !9
  %679 = and i32 %678, 31
  %680 = load i32, ptr %34, align 4, !tbaa !9
  %681 = shl i32 %680, %679
  store i32 %681, ptr %34, align 4, !tbaa !9
  %682 = load ptr, ptr %12, align 8, !tbaa !5
  %683 = getelementptr inbounds %struct.w2c_hermes, ptr %682, i32 0, i32 6
  %684 = load i32, ptr %33, align 4, !tbaa !9
  %685 = zext i32 %684 to i64
  %686 = add i64 %685, 132
  %687 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %683, i64 noundef %686, i32 noundef %687)
  %688 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %688, ptr %33, align 4, !tbaa !9
  %689 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %689, ptr %34, align 4, !tbaa !9
  %690 = load ptr, ptr %12, align 8, !tbaa !5
  %691 = getelementptr inbounds %struct.w2c_hermes, ptr %690, i32 0, i32 6
  %692 = load i32, ptr %34, align 4, !tbaa !9
  %693 = zext i32 %692 to i64
  %694 = add i64 %693, 16
  %695 = call i32 @i32_load8_u(ptr noundef %691, i64 noundef %694)
  store i32 %695, ptr %34, align 4, !tbaa !9
  %696 = load ptr, ptr %12, align 8, !tbaa !5
  %697 = getelementptr inbounds %struct.w2c_hermes, ptr %696, i32 0, i32 6
  %698 = load i32, ptr %33, align 4, !tbaa !9
  %699 = zext i32 %698 to i64
  %700 = add i64 %699, 136
  %701 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %697, i64 noundef %700, i32 noundef %701)
  %702 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %702, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %703 = load ptr, ptr %12, align 8, !tbaa !5
  %704 = getelementptr inbounds %struct.w2c_hermes, ptr %703, i32 0, i32 6
  %705 = load i32, ptr %33, align 4, !tbaa !9
  %706 = zext i32 %705 to i64
  %707 = add i64 %706, 760
  %708 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %704, i64 noundef %707, i32 noundef %708)
  %709 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %709, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %710 = load ptr, ptr %12, align 8, !tbaa !5
  %711 = getelementptr inbounds %struct.w2c_hermes, ptr %710, i32 0, i32 6
  %712 = load i32, ptr %33, align 4, !tbaa !9
  %713 = zext i32 %712 to i64
  %714 = add i64 %713, 752
  %715 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %711, i64 noundef %714, i64 noundef %715)
  %716 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %716, ptr %33, align 4, !tbaa !9
  %717 = load ptr, ptr %12, align 8, !tbaa !5
  %718 = getelementptr inbounds %struct.w2c_hermes, ptr %717, i32 0, i32 6
  %719 = load i32, ptr %33, align 4, !tbaa !9
  %720 = zext i32 %719 to i64
  %721 = add i64 %720, 17
  %722 = call i32 @i32_load8_u(ptr noundef %718, i64 noundef %721)
  store i32 %722, ptr %33, align 4, !tbaa !9
  %723 = load i32, ptr %33, align 4, !tbaa !9
  %724 = icmp ne i32 %723, 0
  br i1 %724, label %725, label %1079

725:                                              ; preds = %651
  %726 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %726, ptr %33, align 4, !tbaa !9
  store i32 1085, ptr %34, align 4, !tbaa !9
  %727 = load ptr, ptr %12, align 8, !tbaa !5
  %728 = getelementptr inbounds %struct.w2c_hermes, ptr %727, i32 0, i32 6
  %729 = load i32, ptr %33, align 4, !tbaa !9
  %730 = zext i32 %729 to i64
  %731 = add i64 %730, 748
  %732 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %728, i64 noundef %731, i32 noundef %732)
  %733 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %733, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %734 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %734, ptr %19, align 4, !tbaa !9
  store i32 233808, ptr %35, align 4, !tbaa !9
  %735 = load i32, ptr %35, align 4, !tbaa !9
  %736 = load i32, ptr %34, align 4, !tbaa !9
  %737 = add i32 %736, %735
  store i32 %737, ptr %34, align 4, !tbaa !9
  %738 = load ptr, ptr %12, align 8, !tbaa !5
  %739 = getelementptr inbounds %struct.w2c_hermes, ptr %738, i32 0, i32 6
  %740 = load i32, ptr %33, align 4, !tbaa !9
  %741 = zext i32 %740 to i64
  %742 = add i64 %741, 744
  %743 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %739, i64 noundef %742, i32 noundef %743)
  %744 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %744, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %745 = load ptr, ptr %12, align 8, !tbaa !5
  %746 = getelementptr inbounds %struct.w2c_hermes, ptr %745, i32 0, i32 6
  %747 = load i32, ptr %33, align 4, !tbaa !9
  %748 = zext i32 %747 to i64
  %749 = add i64 %748, 740
  %750 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %746, i64 noundef %749, i32 noundef %750)
  %751 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %751, ptr %33, align 4, !tbaa !9
  %752 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %752, ptr %34, align 4, !tbaa !9
  store i32 213048, ptr %35, align 4, !tbaa !9
  %753 = load i32, ptr %35, align 4, !tbaa !9
  %754 = load i32, ptr %34, align 4, !tbaa !9
  %755 = add i32 %754, %753
  store i32 %755, ptr %34, align 4, !tbaa !9
  %756 = load ptr, ptr %12, align 8, !tbaa !5
  %757 = getelementptr inbounds %struct.w2c_hermes, ptr %756, i32 0, i32 6
  %758 = load i32, ptr %33, align 4, !tbaa !9
  %759 = zext i32 %758 to i64
  %760 = add i64 %759, 736
  %761 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %757, i64 noundef %760, i32 noundef %761)
  %762 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %762, ptr %33, align 4, !tbaa !9
  %763 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %763, ptr %34, align 4, !tbaa !9
  %764 = load ptr, ptr %12, align 8, !tbaa !5
  %765 = getelementptr inbounds %struct.w2c_hermes, ptr %764, i32 0, i32 6
  %766 = load i32, ptr %34, align 4, !tbaa !9
  %767 = zext i32 %766 to i64
  %768 = add i64 %767, 744
  %769 = call i64 @i64_load(ptr noundef %765, i64 noundef %768)
  store i64 %769, ptr %40, align 8, !tbaa !11
  %770 = load ptr, ptr %12, align 8, !tbaa !5
  %771 = getelementptr inbounds %struct.w2c_hermes, ptr %770, i32 0, i32 6
  %772 = load i32, ptr %33, align 4, !tbaa !9
  %773 = zext i32 %772 to i64
  %774 = add i64 %773, 32
  %775 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %771, i64 noundef %774, i64 noundef %775)
  %776 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %776, ptr %33, align 4, !tbaa !9
  %777 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %777, ptr %34, align 4, !tbaa !9
  %778 = load ptr, ptr %12, align 8, !tbaa !5
  %779 = getelementptr inbounds %struct.w2c_hermes, ptr %778, i32 0, i32 6
  %780 = load i32, ptr %34, align 4, !tbaa !9
  %781 = zext i32 %780 to i64
  %782 = add i64 %781, 736
  %783 = call i64 @i64_load(ptr noundef %779, i64 noundef %782)
  store i64 %783, ptr %40, align 8, !tbaa !11
  %784 = load ptr, ptr %12, align 8, !tbaa !5
  %785 = getelementptr inbounds %struct.w2c_hermes, ptr %784, i32 0, i32 6
  %786 = load i32, ptr %33, align 4, !tbaa !9
  %787 = zext i32 %786 to i64
  %788 = add i64 %787, 24
  %789 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %785, i64 noundef %788, i64 noundef %789)
  %790 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %790, ptr %33, align 4, !tbaa !9
  store i32 712, ptr %34, align 4, !tbaa !9
  %791 = load i32, ptr %34, align 4, !tbaa !9
  %792 = load i32, ptr %33, align 4, !tbaa !9
  %793 = add i32 %792, %791
  store i32 %793, ptr %33, align 4, !tbaa !9
  %794 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %794, ptr %34, align 4, !tbaa !9
  store i32 96, ptr %35, align 4, !tbaa !9
  %795 = load i32, ptr %35, align 4, !tbaa !9
  %796 = load i32, ptr %34, align 4, !tbaa !9
  %797 = add i32 %796, %795
  store i32 %797, ptr %34, align 4, !tbaa !9
  %798 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %798, ptr %35, align 4, !tbaa !9
  %799 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %799, ptr %36, align 4, !tbaa !9
  store i32 32, ptr %37, align 4, !tbaa !9
  %800 = load i32, ptr %37, align 4, !tbaa !9
  %801 = load i32, ptr %36, align 4, !tbaa !9
  %802 = add i32 %801, %800
  store i32 %802, ptr %36, align 4, !tbaa !9
  %803 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %803, ptr %37, align 4, !tbaa !9
  store i32 24, ptr %38, align 4, !tbaa !9
  %804 = load i32, ptr %38, align 4, !tbaa !9
  %805 = load i32, ptr %37, align 4, !tbaa !9
  %806 = add i32 %805, %804
  store i32 %806, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %807 = load ptr, ptr %12, align 8, !tbaa !5
  %808 = load i32, ptr %36, align 4, !tbaa !9
  %809 = load i32, ptr %37, align 4, !tbaa !9
  %810 = load i32, ptr %38, align 4, !tbaa !9
  %811 = call i32 @w2c_hermes_llvh0x3A0x3AMemoryBuffer0x3A0x3AgetMemBuffer0x28llvh0x3A0x3AStringRef0x2C0x20llvh0x3A0x3AStringRef0x2C0x20bool0x29(ptr noundef %807, i32 noundef %808, i32 noundef %809, i32 noundef %810)
  store i32 %811, ptr %36, align 4, !tbaa !9
  %812 = load ptr, ptr %12, align 8, !tbaa !5
  %813 = load i32, ptr %34, align 4, !tbaa !9
  %814 = load i32, ptr %35, align 4, !tbaa !9
  %815 = load i32, ptr %36, align 4, !tbaa !9
  %816 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AJSParser0x28hermes0x3A0x3AContext0x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3AMemoryBuffer0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3AMemoryBuffer0x3E0x3E0x29(ptr noundef %812, i32 noundef %813, i32 noundef %814, i32 noundef %815)
  store i32 %816, ptr %34, align 4, !tbaa !9
  %817 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %817, ptr %19, align 4, !tbaa !9
  %818 = load ptr, ptr %12, align 8, !tbaa !5
  %819 = load i32, ptr %33, align 4, !tbaa !9
  %820 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3Aparse0x280x29(ptr noundef %818, i32 noundef %819, i32 noundef %820)
  %821 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %821, ptr %33, align 4, !tbaa !9
  %822 = load ptr, ptr %12, align 8, !tbaa !5
  %823 = getelementptr inbounds %struct.w2c_hermes, ptr %822, i32 0, i32 6
  %824 = load i32, ptr %33, align 4, !tbaa !9
  %825 = zext i32 %824 to i64
  %826 = add i64 %825, 716
  %827 = call i32 @i32_load8_u(ptr noundef %823, i64 noundef %826)
  store i32 %827, ptr %33, align 4, !tbaa !9
  %828 = load i32, ptr %33, align 4, !tbaa !9
  %829 = icmp ne i32 %828, 0
  %830 = xor i1 %829, true
  %831 = zext i1 %830 to i32
  store i32 %831, ptr %33, align 4, !tbaa !9
  %832 = load i32, ptr %33, align 4, !tbaa !9
  %833 = icmp ne i32 %832, 0
  br i1 %833, label %834, label %835

834:                                              ; preds = %725
  br label %3505

835:                                              ; preds = %725
  %836 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %836, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %837 = load ptr, ptr %12, align 8, !tbaa !5
  %838 = load i32, ptr %33, align 4, !tbaa !9
  %839 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef %837, i32 noundef %838, i32 noundef %839)
  %840 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %840, ptr %33, align 4, !tbaa !9
  %841 = load ptr, ptr %12, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.w2c_hermes, ptr %841, i32 0, i32 6
  %843 = load i32, ptr %33, align 4, !tbaa !9
  %844 = zext i32 %843 to i64
  %845 = add i64 %844, 716
  %846 = call i32 @i32_load8_u(ptr noundef %842, i64 noundef %845)
  store i32 %846, ptr %33, align 4, !tbaa !9
  %847 = load i32, ptr %33, align 4, !tbaa !9
  %848 = icmp ne i32 %847, 0
  %849 = xor i1 %848, true
  %850 = zext i1 %849 to i32
  store i32 %850, ptr %33, align 4, !tbaa !9
  %851 = load i32, ptr %33, align 4, !tbaa !9
  %852 = icmp ne i32 %851, 0
  br i1 %852, label %853, label %854

853:                                              ; preds = %835
  br label %3523

854:                                              ; preds = %835
  %855 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %855, ptr %33, align 4, !tbaa !9
  %856 = load ptr, ptr %12, align 8, !tbaa !5
  %857 = getelementptr inbounds %struct.w2c_hermes, ptr %856, i32 0, i32 6
  %858 = load i32, ptr %33, align 4, !tbaa !9
  %859 = zext i32 %858 to i64
  %860 = add i64 %859, 756
  %861 = call i32 @i32_load(ptr noundef %857, i64 noundef %860)
  store i32 %861, ptr %33, align 4, !tbaa !9
  %862 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %862, ptr %20, align 4, !tbaa !9
  %863 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %863, ptr %34, align 4, !tbaa !9
  %864 = load ptr, ptr %12, align 8, !tbaa !5
  %865 = getelementptr inbounds %struct.w2c_hermes, ptr %864, i32 0, i32 6
  %866 = load i32, ptr %34, align 4, !tbaa !9
  %867 = zext i32 %866 to i64
  %868 = add i64 %867, 760
  %869 = call i32 @i32_load(ptr noundef %865, i64 noundef %868)
  store i32 %869, ptr %34, align 4, !tbaa !9
  %870 = load i32, ptr %33, align 4, !tbaa !9
  %871 = load i32, ptr %34, align 4, !tbaa !9
  %872 = icmp ne i32 %870, %871
  %873 = zext i1 %872 to i32
  store i32 %873, ptr %33, align 4, !tbaa !9
  %874 = load i32, ptr %33, align 4, !tbaa !9
  %875 = icmp ne i32 %874, 0
  br i1 %875, label %876, label %901

876:                                              ; preds = %854
  %877 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %877, ptr %33, align 4, !tbaa !9
  %878 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %878, ptr %34, align 4, !tbaa !9
  %879 = load ptr, ptr %12, align 8, !tbaa !5
  %880 = getelementptr inbounds %struct.w2c_hermes, ptr %879, i32 0, i32 6
  %881 = load i32, ptr %34, align 4, !tbaa !9
  %882 = zext i32 %881 to i64
  %883 = add i64 %882, 712
  %884 = call i32 @i32_load(ptr noundef %880, i64 noundef %883)
  store i32 %884, ptr %34, align 4, !tbaa !9
  %885 = load ptr, ptr %12, align 8, !tbaa !5
  %886 = getelementptr inbounds %struct.w2c_hermes, ptr %885, i32 0, i32 6
  %887 = load i32, ptr %33, align 4, !tbaa !9
  %888 = zext i32 %887 to i64
  %889 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %886, i64 noundef %888, i32 noundef %889)
  %890 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %890, ptr %33, align 4, !tbaa !9
  %891 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %891, ptr %34, align 4, !tbaa !9
  store i32 4, ptr %35, align 4, !tbaa !9
  %892 = load i32, ptr %35, align 4, !tbaa !9
  %893 = load i32, ptr %34, align 4, !tbaa !9
  %894 = add i32 %893, %892
  store i32 %894, ptr %34, align 4, !tbaa !9
  %895 = load ptr, ptr %12, align 8, !tbaa !5
  %896 = getelementptr inbounds %struct.w2c_hermes, ptr %895, i32 0, i32 6
  %897 = load i32, ptr %33, align 4, !tbaa !9
  %898 = zext i32 %897 to i64
  %899 = add i64 %898, 756
  %900 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %896, i64 noundef %899, i32 noundef %900)
  br label %1066

901:                                              ; preds = %854
  %902 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %902, ptr %33, align 4, !tbaa !9
  %903 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %903, ptr %34, align 4, !tbaa !9
  %904 = load ptr, ptr %12, align 8, !tbaa !5
  %905 = getelementptr inbounds %struct.w2c_hermes, ptr %904, i32 0, i32 6
  %906 = load i32, ptr %34, align 4, !tbaa !9
  %907 = zext i32 %906 to i64
  %908 = add i64 %907, 752
  %909 = call i32 @i32_load(ptr noundef %905, i64 noundef %908)
  store i32 %909, ptr %34, align 4, !tbaa !9
  %910 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %910, ptr %26, align 4, !tbaa !9
  %911 = load i32, ptr %34, align 4, !tbaa !9
  %912 = load i32, ptr %33, align 4, !tbaa !9
  %913 = sub i32 %912, %911
  store i32 %913, ptr %33, align 4, !tbaa !9
  %914 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %914, ptr %20, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %915 = load i32, ptr %33, align 4, !tbaa !9
  %916 = load i32, ptr %34, align 4, !tbaa !9
  %917 = and i32 %916, 31
  %918 = ashr i32 %915, %917
  store i32 %918, ptr %33, align 4, !tbaa !9
  %919 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %919, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %920 = load i32, ptr %34, align 4, !tbaa !9
  %921 = load i32, ptr %33, align 4, !tbaa !9
  %922 = add i32 %921, %920
  store i32 %922, ptr %33, align 4, !tbaa !9
  %923 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %923, ptr %28, align 4, !tbaa !9
  store i32 1073741824, ptr %34, align 4, !tbaa !9
  %924 = load i32, ptr %33, align 4, !tbaa !9
  %925 = load i32, ptr %34, align 4, !tbaa !9
  %926 = icmp uge i32 %924, %925
  %927 = zext i1 %926 to i32
  store i32 %927, ptr %33, align 4, !tbaa !9
  %928 = load i32, ptr %33, align 4, !tbaa !9
  %929 = icmp ne i32 %928, 0
  br i1 %929, label %930, label %931

930:                                              ; preds = %901
  br label %3541

931:                                              ; preds = %901
  store i32 1073741823, ptr %33, align 4, !tbaa !9
  %932 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %932, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %933 = load i32, ptr %34, align 4, !tbaa !9
  %934 = load i32, ptr %35, align 4, !tbaa !9
  %935 = and i32 %934, 31
  %936 = ashr i32 %933, %935
  store i32 %936, ptr %34, align 4, !tbaa !9
  %937 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %937, ptr %29, align 4, !tbaa !9
  %938 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %938, ptr %35, align 4, !tbaa !9
  %939 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %939, ptr %36, align 4, !tbaa !9
  %940 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %940, ptr %37, align 4, !tbaa !9
  %941 = load i32, ptr %36, align 4, !tbaa !9
  %942 = load i32, ptr %37, align 4, !tbaa !9
  %943 = icmp ult i32 %941, %942
  %944 = zext i1 %943 to i32
  store i32 %944, ptr %36, align 4, !tbaa !9
  %945 = load i32, ptr %36, align 4, !tbaa !9
  %946 = icmp ne i32 %945, 0
  br i1 %946, label %947, label %949

947:                                              ; preds = %931
  %948 = load i32, ptr %34, align 4, !tbaa !9
  br label %951

949:                                              ; preds = %931
  %950 = load i32, ptr %35, align 4, !tbaa !9
  br label %951

951:                                              ; preds = %949, %947
  %952 = phi i32 [ %948, %947 ], [ %950, %949 ]
  store i32 %952, ptr %34, align 4, !tbaa !9
  %953 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %953, ptr %35, align 4, !tbaa !9
  store i32 2147483644, ptr %36, align 4, !tbaa !9
  %954 = load i32, ptr %35, align 4, !tbaa !9
  %955 = load i32, ptr %36, align 4, !tbaa !9
  %956 = icmp uge i32 %954, %955
  %957 = zext i1 %956 to i32
  store i32 %957, ptr %35, align 4, !tbaa !9
  %958 = load i32, ptr %35, align 4, !tbaa !9
  %959 = icmp ne i32 %958, 0
  br i1 %959, label %960, label %962

960:                                              ; preds = %951
  %961 = load i32, ptr %33, align 4, !tbaa !9
  br label %964

962:                                              ; preds = %951
  %963 = load i32, ptr %34, align 4, !tbaa !9
  br label %964

964:                                              ; preds = %962, %960
  %965 = phi i32 [ %961, %960 ], [ %963, %962 ]
  store i32 %965, ptr %33, align 4, !tbaa !9
  %966 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %966, ptr %28, align 4, !tbaa !9
  %967 = load i32, ptr %33, align 4, !tbaa !9
  %968 = icmp ne i32 %967, 0
  br i1 %968, label %969, label %987

969:                                              ; preds = %964
  %970 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %970, ptr %33, align 4, !tbaa !9
  store i32 1073741824, ptr %34, align 4, !tbaa !9
  %971 = load i32, ptr %33, align 4, !tbaa !9
  %972 = load i32, ptr %34, align 4, !tbaa !9
  %973 = icmp uge i32 %971, %972
  %974 = zext i1 %973 to i32
  store i32 %974, ptr %33, align 4, !tbaa !9
  %975 = load i32, ptr %33, align 4, !tbaa !9
  %976 = icmp ne i32 %975, 0
  br i1 %976, label %977, label %978

977:                                              ; preds = %969
  br label %3543

978:                                              ; preds = %969
  %979 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %979, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %980 = load i32, ptr %34, align 4, !tbaa !9
  %981 = and i32 %980, 31
  %982 = load i32, ptr %33, align 4, !tbaa !9
  %983 = shl i32 %982, %981
  store i32 %983, ptr %33, align 4, !tbaa !9
  %984 = load ptr, ptr %12, align 8, !tbaa !5
  %985 = load i32, ptr %33, align 4, !tbaa !9
  %986 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %984, i32 noundef %985)
  store i32 %986, ptr %33, align 4, !tbaa !9
  br label %988

987:                                              ; preds = %964
  store i32 0, ptr %33, align 4, !tbaa !9
  br label %988

988:                                              ; preds = %987, %978
  %989 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %989, ptr %29, align 4, !tbaa !9
  %990 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %990, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %991 = load i32, ptr %35, align 4, !tbaa !9
  %992 = and i32 %991, 31
  %993 = load i32, ptr %34, align 4, !tbaa !9
  %994 = shl i32 %993, %992
  store i32 %994, ptr %34, align 4, !tbaa !9
  %995 = load i32, ptr %34, align 4, !tbaa !9
  %996 = load i32, ptr %33, align 4, !tbaa !9
  %997 = add i32 %996, %995
  store i32 %997, ptr %33, align 4, !tbaa !9
  %998 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %998, ptr %30, align 4, !tbaa !9
  %999 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %999, ptr %34, align 4, !tbaa !9
  %1000 = load ptr, ptr %12, align 8, !tbaa !5
  %1001 = getelementptr inbounds %struct.w2c_hermes, ptr %1000, i32 0, i32 6
  %1002 = load i32, ptr %34, align 4, !tbaa !9
  %1003 = zext i32 %1002 to i64
  %1004 = add i64 %1003, 712
  %1005 = call i32 @i32_load(ptr noundef %1001, i64 noundef %1004)
  store i32 %1005, ptr %34, align 4, !tbaa !9
  %1006 = load ptr, ptr %12, align 8, !tbaa !5
  %1007 = getelementptr inbounds %struct.w2c_hermes, ptr %1006, i32 0, i32 6
  %1008 = load i32, ptr %33, align 4, !tbaa !9
  %1009 = zext i32 %1008 to i64
  %1010 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1007, i64 noundef %1009, i32 noundef %1010)
  %1011 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1011, ptr %33, align 4, !tbaa !9
  %1012 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1012, ptr %34, align 4, !tbaa !9
  %1013 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1013, ptr %35, align 4, !tbaa !9
  %1014 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1014, ptr %36, align 4, !tbaa !9
  %1015 = load ptr, ptr %12, align 8, !tbaa !5
  %1016 = load i32, ptr %34, align 4, !tbaa !9
  %1017 = load i32, ptr %35, align 4, !tbaa !9
  %1018 = load i32, ptr %36, align 4, !tbaa !9
  %1019 = call i32 @w2c_hermes_memmove(ptr noundef %1015, i32 noundef %1016, i32 noundef %1017, i32 noundef %1018)
  store i32 %1019, ptr %34, align 4, !tbaa !9
  %1020 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1020, ptr %20, align 4, !tbaa !9
  %1021 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1021, ptr %35, align 4, !tbaa !9
  store i32 2, ptr %36, align 4, !tbaa !9
  %1022 = load i32, ptr %36, align 4, !tbaa !9
  %1023 = and i32 %1022, 31
  %1024 = load i32, ptr %35, align 4, !tbaa !9
  %1025 = shl i32 %1024, %1023
  store i32 %1025, ptr %35, align 4, !tbaa !9
  %1026 = load i32, ptr %35, align 4, !tbaa !9
  %1027 = load i32, ptr %34, align 4, !tbaa !9
  %1028 = add i32 %1027, %1026
  store i32 %1028, ptr %34, align 4, !tbaa !9
  %1029 = load ptr, ptr %12, align 8, !tbaa !5
  %1030 = getelementptr inbounds %struct.w2c_hermes, ptr %1029, i32 0, i32 6
  %1031 = load i32, ptr %33, align 4, !tbaa !9
  %1032 = zext i32 %1031 to i64
  %1033 = add i64 %1032, 760
  %1034 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1030, i64 noundef %1033, i32 noundef %1034)
  %1035 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1035, ptr %33, align 4, !tbaa !9
  %1036 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %1036, ptr %34, align 4, !tbaa !9
  store i32 4, ptr %35, align 4, !tbaa !9
  %1037 = load i32, ptr %35, align 4, !tbaa !9
  %1038 = load i32, ptr %34, align 4, !tbaa !9
  %1039 = add i32 %1038, %1037
  store i32 %1039, ptr %34, align 4, !tbaa !9
  %1040 = load ptr, ptr %12, align 8, !tbaa !5
  %1041 = getelementptr inbounds %struct.w2c_hermes, ptr %1040, i32 0, i32 6
  %1042 = load i32, ptr %33, align 4, !tbaa !9
  %1043 = zext i32 %1042 to i64
  %1044 = add i64 %1043, 756
  %1045 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1041, i64 noundef %1044, i32 noundef %1045)
  %1046 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1046, ptr %33, align 4, !tbaa !9
  %1047 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1047, ptr %34, align 4, !tbaa !9
  %1048 = load ptr, ptr %12, align 8, !tbaa !5
  %1049 = getelementptr inbounds %struct.w2c_hermes, ptr %1048, i32 0, i32 6
  %1050 = load i32, ptr %33, align 4, !tbaa !9
  %1051 = zext i32 %1050 to i64
  %1052 = add i64 %1051, 752
  %1053 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1049, i64 noundef %1052, i32 noundef %1053)
  %1054 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1054, ptr %33, align 4, !tbaa !9
  %1055 = load i32, ptr %33, align 4, !tbaa !9
  %1056 = icmp ne i32 %1055, 0
  %1057 = xor i1 %1056, true
  %1058 = zext i1 %1057 to i32
  store i32 %1058, ptr %33, align 4, !tbaa !9
  %1059 = load i32, ptr %33, align 4, !tbaa !9
  %1060 = icmp ne i32 %1059, 0
  br i1 %1060, label %1061, label %1062

1061:                                             ; preds = %988
  br label %1066

1062:                                             ; preds = %988
  %1063 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1063, ptr %33, align 4, !tbaa !9
  %1064 = load ptr, ptr %12, align 8, !tbaa !5
  %1065 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %1064, i32 noundef %1065)
  br label %1066

1066:                                             ; preds = %1062, %1061, %876
  %1067 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1067, ptr %33, align 4, !tbaa !9
  %1068 = load ptr, ptr %12, align 8, !tbaa !5
  %1069 = load i32, ptr %33, align 4, !tbaa !9
  %1070 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef %1068, i32 noundef %1069)
  store i32 %1070, ptr %33, align 4, !tbaa !9
  %1071 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1071, ptr %33, align 4, !tbaa !9
  %1072 = load ptr, ptr %12, align 8, !tbaa !5
  %1073 = getelementptr inbounds %struct.w2c_hermes, ptr %1072, i32 0, i32 6
  %1074 = load i32, ptr %33, align 4, !tbaa !9
  %1075 = zext i32 %1074 to i64
  %1076 = add i64 %1075, 96
  %1077 = call i32 @i32_load(ptr noundef %1073, i64 noundef %1076)
  store i32 %1077, ptr %33, align 4, !tbaa !9
  %1078 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1078, ptr %26, align 4, !tbaa !9
  br label %1079

1079:                                             ; preds = %1066, %651
  %1080 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1080, ptr %33, align 4, !tbaa !9
  %1081 = load ptr, ptr %12, align 8, !tbaa !5
  %1082 = getelementptr inbounds %struct.w2c_hermes, ptr %1081, i32 0, i32 6
  %1083 = load i32, ptr %33, align 4, !tbaa !9
  %1084 = zext i32 %1083 to i64
  %1085 = add i64 %1084, 84
  %1086 = call i32 @i32_load(ptr noundef %1082, i64 noundef %1085)
  store i32 %1086, ptr %33, align 4, !tbaa !9
  %1087 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1087, ptr %29, align 4, !tbaa !9
  %1088 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1088, ptr %33, align 4, !tbaa !9
  %1089 = load ptr, ptr %12, align 8, !tbaa !5
  %1090 = getelementptr inbounds %struct.w2c_hermes, ptr %1089, i32 0, i32 6
  %1091 = load i32, ptr %33, align 4, !tbaa !9
  %1092 = zext i32 %1091 to i64
  %1093 = add i64 %1092, 8
  %1094 = call i32 @i32_load(ptr noundef %1090, i64 noundef %1093)
  store i32 %1094, ptr %33, align 4, !tbaa !9
  %1095 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1095, ptr %28, align 4, !tbaa !9
  store i32 28, ptr %33, align 4, !tbaa !9
  %1096 = load ptr, ptr %12, align 8, !tbaa !5
  %1097 = load i32, ptr %33, align 4, !tbaa !9
  %1098 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1096, i32 noundef %1097)
  store i32 %1098, ptr %33, align 4, !tbaa !9
  %1099 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1099, ptr %19, align 4, !tbaa !9
  %1100 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1100, ptr %33, align 4, !tbaa !9
  %1101 = load ptr, ptr %12, align 8, !tbaa !5
  %1102 = getelementptr inbounds %struct.w2c_hermes, ptr %1101, i32 0, i32 6
  %1103 = load i32, ptr %33, align 4, !tbaa !9
  %1104 = zext i32 %1103 to i64
  %1105 = call i64 @i64_load(ptr noundef %1102, i64 noundef %1104)
  store i64 %1105, ptr %39, align 8, !tbaa !11
  %1106 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %1106, ptr %32, align 8, !tbaa !11
  %1107 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1107, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %1108 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1108, ptr %20, align 4, !tbaa !9
  store i32 271664, ptr %35, align 4, !tbaa !9
  %1109 = load i32, ptr %35, align 4, !tbaa !9
  %1110 = load i32, ptr %34, align 4, !tbaa !9
  %1111 = add i32 %1110, %1109
  store i32 %1111, ptr %34, align 4, !tbaa !9
  %1112 = load ptr, ptr %12, align 8, !tbaa !5
  %1113 = getelementptr inbounds %struct.w2c_hermes, ptr %1112, i32 0, i32 6
  %1114 = load i32, ptr %33, align 4, !tbaa !9
  %1115 = zext i32 %1114 to i64
  %1116 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1113, i64 noundef %1115, i32 noundef %1116)
  %1117 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1117, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %1118 = load i32, ptr %34, align 4, !tbaa !9
  %1119 = load i32, ptr %33, align 4, !tbaa !9
  %1120 = add i32 %1119, %1118
  store i32 %1120, ptr %33, align 4, !tbaa !9
  %1121 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1121, ptr %15, align 4, !tbaa !9
  %1122 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1122, ptr %39, align 8, !tbaa !11
  %1123 = load i64, ptr %39, align 8, !tbaa !11
  %1124 = trunc i64 %1123 to i32
  store i32 %1124, ptr %33, align 4, !tbaa !9
  %1125 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1125, ptr %30, align 4, !tbaa !9
  %1126 = load i32, ptr %33, align 4, !tbaa !9
  %1127 = icmp ne i32 %1126, 0
  %1128 = xor i1 %1127, true
  %1129 = zext i1 %1128 to i32
  store i32 %1129, ptr %33, align 4, !tbaa !9
  %1130 = load i32, ptr %33, align 4, !tbaa !9
  %1131 = icmp ne i32 %1130, 0
  br i1 %1131, label %1132, label %1147

1132:                                             ; preds = %1079
  %1133 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1133, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1134 = load ptr, ptr %12, align 8, !tbaa !5
  %1135 = getelementptr inbounds %struct.w2c_hermes, ptr %1134, i32 0, i32 6
  %1136 = load i32, ptr %33, align 4, !tbaa !9
  %1137 = zext i32 %1136 to i64
  %1138 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1135, i64 noundef %1137, i64 noundef %1138)
  %1139 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1139, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %1140 = load ptr, ptr %12, align 8, !tbaa !5
  %1141 = getelementptr inbounds %struct.w2c_hermes, ptr %1140, i32 0, i32 6
  %1142 = load i32, ptr %33, align 4, !tbaa !9
  %1143 = zext i32 %1142 to i64
  %1144 = add i64 %1143, 8
  %1145 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1141, i64 noundef %1144, i32 noundef %1145)
  %1146 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1146, ptr %33, align 4, !tbaa !9
  br label %1265

1147:                                             ; preds = %1079
  %1148 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1148, ptr %39, align 8, !tbaa !11
  store i64 32, ptr %40, align 8, !tbaa !11
  %1149 = load i64, ptr %40, align 8, !tbaa !11
  %1150 = and i64 %1149, 63
  %1151 = load i64, ptr %39, align 8, !tbaa !11
  %1152 = lshr i64 %1151, %1150
  store i64 %1152, ptr %39, align 8, !tbaa !11
  %1153 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %1153, ptr %32, align 8, !tbaa !11
  %1154 = load i64, ptr %39, align 8, !tbaa !11
  %1155 = trunc i64 %1154 to i32
  store i32 %1155, ptr %33, align 4, !tbaa !9
  %1156 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1156, ptr %20, align 4, !tbaa !9
  store i32 2147483632, ptr %34, align 4, !tbaa !9
  %1157 = load i32, ptr %33, align 4, !tbaa !9
  %1158 = load i32, ptr %34, align 4, !tbaa !9
  %1159 = icmp uge i32 %1157, %1158
  %1160 = zext i1 %1159 to i32
  store i32 %1160, ptr %33, align 4, !tbaa !9
  %1161 = load i32, ptr %33, align 4, !tbaa !9
  %1162 = icmp ne i32 %1161, 0
  br i1 %1162, label %1163, label %1164

1163:                                             ; preds = %1147
  br label %3541

1164:                                             ; preds = %1147
  %1165 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1165, ptr %33, align 4, !tbaa !9
  store i32 11, ptr %34, align 4, !tbaa !9
  %1166 = load i32, ptr %33, align 4, !tbaa !9
  %1167 = load i32, ptr %34, align 4, !tbaa !9
  %1168 = icmp uge i32 %1166, %1167
  %1169 = zext i1 %1168 to i32
  store i32 %1169, ptr %33, align 4, !tbaa !9
  %1170 = load i32, ptr %33, align 4, !tbaa !9
  %1171 = icmp ne i32 %1170, 0
  br i1 %1171, label %1172, label %1218

1172:                                             ; preds = %1164
  %1173 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1173, ptr %33, align 4, !tbaa !9
  store i32 15, ptr %34, align 4, !tbaa !9
  %1174 = load i32, ptr %34, align 4, !tbaa !9
  %1175 = load i32, ptr %33, align 4, !tbaa !9
  %1176 = or i32 %1175, %1174
  store i32 %1176, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1177 = load i32, ptr %34, align 4, !tbaa !9
  %1178 = load i32, ptr %33, align 4, !tbaa !9
  %1179 = add i32 %1178, %1177
  store i32 %1179, ptr %33, align 4, !tbaa !9
  %1180 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1180, ptr %31, align 4, !tbaa !9
  %1181 = load ptr, ptr %12, align 8, !tbaa !5
  %1182 = load i32, ptr %33, align 4, !tbaa !9
  %1183 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1181, i32 noundef %1182)
  store i32 %1183, ptr %33, align 4, !tbaa !9
  %1184 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1184, ptr %15, align 4, !tbaa !9
  %1185 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1185, ptr %33, align 4, !tbaa !9
  %1186 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %1186, ptr %34, align 4, !tbaa !9
  store i32 -2147483648, ptr %35, align 4, !tbaa !9
  %1187 = load i32, ptr %35, align 4, !tbaa !9
  %1188 = load i32, ptr %34, align 4, !tbaa !9
  %1189 = or i32 %1188, %1187
  store i32 %1189, ptr %34, align 4, !tbaa !9
  %1190 = load ptr, ptr %12, align 8, !tbaa !5
  %1191 = getelementptr inbounds %struct.w2c_hermes, ptr %1190, i32 0, i32 6
  %1192 = load i32, ptr %33, align 4, !tbaa !9
  %1193 = zext i32 %1192 to i64
  %1194 = add i64 %1193, 20
  %1195 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1191, i64 noundef %1194, i32 noundef %1195)
  %1196 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1196, ptr %33, align 4, !tbaa !9
  %1197 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1197, ptr %34, align 4, !tbaa !9
  %1198 = load ptr, ptr %12, align 8, !tbaa !5
  %1199 = getelementptr inbounds %struct.w2c_hermes, ptr %1198, i32 0, i32 6
  %1200 = load i32, ptr %33, align 4, !tbaa !9
  %1201 = zext i32 %1200 to i64
  %1202 = add i64 %1201, 12
  %1203 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1199, i64 noundef %1202, i32 noundef %1203)
  %1204 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1204, ptr %33, align 4, !tbaa !9
  %1205 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1205, ptr %34, align 4, !tbaa !9
  %1206 = load ptr, ptr %12, align 8, !tbaa !5
  %1207 = getelementptr inbounds %struct.w2c_hermes, ptr %1206, i32 0, i32 6
  %1208 = load i32, ptr %33, align 4, !tbaa !9
  %1209 = zext i32 %1208 to i64
  %1210 = add i64 %1209, 16
  %1211 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1207, i64 noundef %1210, i32 noundef %1211)
  %1212 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1212, ptr %33, align 4, !tbaa !9
  %1213 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1213, ptr %34, align 4, !tbaa !9
  %1214 = load i32, ptr %34, align 4, !tbaa !9
  %1215 = load i32, ptr %33, align 4, !tbaa !9
  %1216 = add i32 %1215, %1214
  store i32 %1216, ptr %33, align 4, !tbaa !9
  %1217 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1217, ptr %31, align 4, !tbaa !9
  br label %1242

1218:                                             ; preds = %1164
  %1219 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1219, ptr %33, align 4, !tbaa !9
  %1220 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1220, ptr %40, align 8, !tbaa !11
  %1221 = load ptr, ptr %12, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.w2c_hermes, ptr %1221, i32 0, i32 6
  %1223 = load i32, ptr %33, align 4, !tbaa !9
  %1224 = zext i32 %1223 to i64
  %1225 = add i64 %1224, 23
  %1226 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store8(ptr noundef %1222, i64 noundef %1225, i64 noundef %1226)
  %1227 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1227, ptr %33, align 4, !tbaa !9
  %1228 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1228, ptr %34, align 4, !tbaa !9
  %1229 = load i32, ptr %34, align 4, !tbaa !9
  %1230 = load i32, ptr %33, align 4, !tbaa !9
  %1231 = add i32 %1230, %1229
  store i32 %1231, ptr %33, align 4, !tbaa !9
  %1232 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1232, ptr %31, align 4, !tbaa !9
  %1233 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1233, ptr %33, align 4, !tbaa !9
  %1234 = load i32, ptr %33, align 4, !tbaa !9
  %1235 = icmp ne i32 %1234, 0
  %1236 = xor i1 %1235, true
  %1237 = zext i1 %1236 to i32
  store i32 %1237, ptr %33, align 4, !tbaa !9
  %1238 = load i32, ptr %33, align 4, !tbaa !9
  %1239 = icmp ne i32 %1238, 0
  br i1 %1239, label %1240, label %1241

1240:                                             ; preds = %1218
  br label %1251

1241:                                             ; preds = %1218
  br label %1242

1242:                                             ; preds = %1241, %1172
  %1243 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1243, ptr %33, align 4, !tbaa !9
  %1244 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %1244, ptr %34, align 4, !tbaa !9
  %1245 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1245, ptr %35, align 4, !tbaa !9
  %1246 = load ptr, ptr %12, align 8, !tbaa !5
  %1247 = load i32, ptr %33, align 4, !tbaa !9
  %1248 = load i32, ptr %34, align 4, !tbaa !9
  %1249 = load i32, ptr %35, align 4, !tbaa !9
  %1250 = call i32 @w2c_hermes_memmove(ptr noundef %1246, i32 noundef %1247, i32 noundef %1248, i32 noundef %1249)
  store i32 %1250, ptr %33, align 4, !tbaa !9
  br label %1251

1251:                                             ; preds = %1242, %1240
  %1252 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %1252, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %1253 = load ptr, ptr %12, align 8, !tbaa !5
  %1254 = getelementptr inbounds %struct.w2c_hermes, ptr %1253, i32 0, i32 6
  %1255 = load i32, ptr %33, align 4, !tbaa !9
  %1256 = zext i32 %1255 to i64
  %1257 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1254, i64 noundef %1256, i32 noundef %1257)
  %1258 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1258, ptr %33, align 4, !tbaa !9
  %1259 = load ptr, ptr %12, align 8, !tbaa !5
  %1260 = getelementptr inbounds %struct.w2c_hermes, ptr %1259, i32 0, i32 6
  %1261 = load i32, ptr %33, align 4, !tbaa !9
  %1262 = zext i32 %1261 to i64
  %1263 = add i64 %1262, 8
  %1264 = call i32 @i32_load(ptr noundef %1260, i64 noundef %1263)
  store i32 %1264, ptr %33, align 4, !tbaa !9
  br label %1265

1265:                                             ; preds = %1251, %1132
  %1266 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1266, ptr %15, align 4, !tbaa !9
  %1267 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1267, ptr %33, align 4, !tbaa !9
  %1268 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1268, ptr %34, align 4, !tbaa !9
  %1269 = load ptr, ptr %12, align 8, !tbaa !5
  %1270 = getelementptr inbounds %struct.w2c_hermes, ptr %1269, i32 0, i32 6
  %1271 = load i32, ptr %33, align 4, !tbaa !9
  %1272 = zext i32 %1271 to i64
  %1273 = add i64 %1272, 24
  %1274 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1270, i64 noundef %1273, i32 noundef %1274)
  %1275 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1275, ptr %33, align 4, !tbaa !9
  %1276 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1276, ptr %34, align 4, !tbaa !9
  %1277 = load ptr, ptr %12, align 8, !tbaa !5
  %1278 = getelementptr inbounds %struct.w2c_hermes, ptr %1277, i32 0, i32 6
  %1279 = load i32, ptr %34, align 4, !tbaa !9
  %1280 = zext i32 %1279 to i64
  %1281 = add i64 %1280, 4
  %1282 = call i32 @i32_load(ptr noundef %1278, i64 noundef %1281)
  store i32 %1282, ptr %34, align 4, !tbaa !9
  %1283 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1283, ptr %14, align 4, !tbaa !9
  %1284 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1284, ptr %35, align 4, !tbaa !9
  %1285 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1285, ptr %36, align 4, !tbaa !9
  %1286 = load i32, ptr %36, align 4, !tbaa !9
  %1287 = load i32, ptr %35, align 4, !tbaa !9
  %1288 = add i32 %1287, %1286
  store i32 %1288, ptr %35, align 4, !tbaa !9
  store i32 1, ptr %36, align 4, !tbaa !9
  %1289 = load ptr, ptr %12, align 8, !tbaa !5
  %1290 = load i32, ptr %33, align 4, !tbaa !9
  %1291 = load i32, ptr %34, align 4, !tbaa !9
  %1292 = load i32, ptr %35, align 4, !tbaa !9
  %1293 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3AMemoryBuffer0x3A0x3Ainit0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x20bool0x29(ptr noundef %1289, i32 noundef %1290, i32 noundef %1291, i32 noundef %1292, i32 noundef %1293)
  %1294 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1294, ptr %33, align 4, !tbaa !9
  %1295 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1295, ptr %34, align 4, !tbaa !9
  %1296 = load ptr, ptr %12, align 8, !tbaa !5
  %1297 = load i32, ptr %33, align 4, !tbaa !9
  %1298 = load i32, ptr %34, align 4, !tbaa !9
  %1299 = call i32 @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3AaddNewSourceBuffer0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3AMemoryBuffer0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3AMemoryBuffer0x3E0x3E0x29(ptr noundef %1296, i32 noundef %1297, i32 noundef %1298)
  store i32 %1299, ptr %33, align 4, !tbaa !9
  %1300 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1300, ptr %14, align 4, !tbaa !9
  %1301 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1301, ptr %33, align 4, !tbaa !9
  %1302 = load i32, ptr %33, align 4, !tbaa !9
  %1303 = icmp ne i32 %1302, 0
  %1304 = xor i1 %1303, true
  %1305 = zext i1 %1304 to i32
  store i32 %1305, ptr %33, align 4, !tbaa !9
  %1306 = load i32, ptr %33, align 4, !tbaa !9
  %1307 = icmp ne i32 %1306, 0
  br i1 %1307, label %1308, label %1309

1308:                                             ; preds = %1265
  br label %1718

1309:                                             ; preds = %1265
  %1310 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1310, ptr %33, align 4, !tbaa !9
  %1311 = load ptr, ptr %12, align 8, !tbaa !5
  %1312 = getelementptr inbounds %struct.w2c_hermes, ptr %1311, i32 0, i32 6
  %1313 = load i32, ptr %33, align 4, !tbaa !9
  %1314 = zext i32 %1313 to i64
  %1315 = add i64 %1314, 84
  %1316 = call i32 @i32_load(ptr noundef %1312, i64 noundef %1315)
  store i32 %1316, ptr %33, align 4, !tbaa !9
  %1317 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1317, ptr %15, align 4, !tbaa !9
  store i32 36, ptr %33, align 4, !tbaa !9
  %1318 = load ptr, ptr %12, align 8, !tbaa !5
  %1319 = load i32, ptr %33, align 4, !tbaa !9
  %1320 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1318, i32 noundef %1319)
  store i32 %1320, ptr %33, align 4, !tbaa !9
  %1321 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1321, ptr %19, align 4, !tbaa !9
  store i32 271404, ptr %34, align 4, !tbaa !9
  %1322 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1322, ptr %20, align 4, !tbaa !9
  store i32 8, ptr %35, align 4, !tbaa !9
  %1323 = load i32, ptr %35, align 4, !tbaa !9
  %1324 = load i32, ptr %34, align 4, !tbaa !9
  %1325 = add i32 %1324, %1323
  store i32 %1325, ptr %34, align 4, !tbaa !9
  %1326 = load ptr, ptr %12, align 8, !tbaa !5
  %1327 = getelementptr inbounds %struct.w2c_hermes, ptr %1326, i32 0, i32 6
  %1328 = load i32, ptr %33, align 4, !tbaa !9
  %1329 = zext i32 %1328 to i64
  %1330 = add i64 %1329, 12
  %1331 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1327, i64 noundef %1330, i32 noundef %1331)
  %1332 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1332, ptr %33, align 4, !tbaa !9
  store i32 271688, ptr %34, align 4, !tbaa !9
  %1333 = load ptr, ptr %12, align 8, !tbaa !5
  %1334 = getelementptr inbounds %struct.w2c_hermes, ptr %1333, i32 0, i32 6
  %1335 = load i32, ptr %33, align 4, !tbaa !9
  %1336 = zext i32 %1335 to i64
  %1337 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1334, i64 noundef %1336, i32 noundef %1337)
  %1338 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1338, ptr %33, align 4, !tbaa !9
  store i64 2, ptr %40, align 8, !tbaa !11
  %1339 = load ptr, ptr %12, align 8, !tbaa !5
  %1340 = getelementptr inbounds %struct.w2c_hermes, ptr %1339, i32 0, i32 6
  %1341 = load i32, ptr %33, align 4, !tbaa !9
  %1342 = zext i32 %1341 to i64
  %1343 = add i64 %1342, 4
  %1344 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1340, i64 noundef %1343, i64 noundef %1344)
  %1345 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1345, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1346 = load ptr, ptr %12, align 8, !tbaa !5
  %1347 = getelementptr inbounds %struct.w2c_hermes, ptr %1346, i32 0, i32 6
  %1348 = load i32, ptr %33, align 4, !tbaa !9
  %1349 = zext i32 %1348 to i64
  %1350 = add i64 %1349, 16
  %1351 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1347, i64 noundef %1350, i64 noundef %1351)
  %1352 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1352, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1353 = load ptr, ptr %12, align 8, !tbaa !5
  %1354 = getelementptr inbounds %struct.w2c_hermes, ptr %1353, i32 0, i32 6
  %1355 = load i32, ptr %33, align 4, !tbaa !9
  %1356 = zext i32 %1355 to i64
  %1357 = add i64 %1356, 24
  %1358 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1354, i64 noundef %1357, i64 noundef %1358)
  %1359 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1359, ptr %33, align 4, !tbaa !9
  %1360 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1360, ptr %34, align 4, !tbaa !9
  %1361 = load ptr, ptr %12, align 8, !tbaa !5
  %1362 = getelementptr inbounds %struct.w2c_hermes, ptr %1361, i32 0, i32 6
  %1363 = load i32, ptr %33, align 4, !tbaa !9
  %1364 = zext i32 %1363 to i64
  %1365 = add i64 %1364, 32
  %1366 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1362, i64 noundef %1365, i32 noundef %1366)
  %1367 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1367, ptr %33, align 4, !tbaa !9
  %1368 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1368, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %1369 = load i32, ptr %35, align 4, !tbaa !9
  %1370 = load i32, ptr %34, align 4, !tbaa !9
  %1371 = add i32 %1370, %1369
  store i32 %1371, ptr %34, align 4, !tbaa !9
  %1372 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1372, ptr %20, align 4, !tbaa !9
  %1373 = load ptr, ptr %12, align 8, !tbaa !5
  %1374 = getelementptr inbounds %struct.w2c_hermes, ptr %1373, i32 0, i32 6
  %1375 = load i32, ptr %33, align 4, !tbaa !9
  %1376 = zext i32 %1375 to i64
  %1377 = add i64 %1376, 56
  %1378 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1374, i64 noundef %1377, i32 noundef %1378)
  %1379 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1379, ptr %33, align 4, !tbaa !9
  store i32 60, ptr %34, align 4, !tbaa !9
  %1380 = load i32, ptr %34, align 4, !tbaa !9
  %1381 = load i32, ptr %33, align 4, !tbaa !9
  %1382 = add i32 %1381, %1380
  store i32 %1382, ptr %33, align 4, !tbaa !9
  %1383 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1383, ptr %29, align 4, !tbaa !9
  %1384 = load ptr, ptr %12, align 8, !tbaa !5
  %1385 = getelementptr inbounds %struct.w2c_hermes, ptr %1384, i32 0, i32 6
  %1386 = load i32, ptr %33, align 4, !tbaa !9
  %1387 = zext i32 %1386 to i64
  %1388 = call i32 @i32_load(ptr noundef %1385, i64 noundef %1387)
  store i32 %1388, ptr %33, align 4, !tbaa !9
  %1389 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1389, ptr %15, align 4, !tbaa !9
  %1390 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1390, ptr %33, align 4, !tbaa !9
  %1391 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1391, ptr %34, align 4, !tbaa !9
  %1392 = load ptr, ptr %12, align 8, !tbaa !5
  %1393 = getelementptr inbounds %struct.w2c_hermes, ptr %1392, i32 0, i32 6
  %1394 = load i32, ptr %33, align 4, !tbaa !9
  %1395 = zext i32 %1394 to i64
  %1396 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1393, i64 noundef %1395, i32 noundef %1396)
  %1397 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1397, ptr %33, align 4, !tbaa !9
  %1398 = load i32, ptr %33, align 4, !tbaa !9
  %1399 = icmp ne i32 %1398, 0
  %1400 = xor i1 %1399, true
  %1401 = zext i1 %1400 to i32
  store i32 %1401, ptr %33, align 4, !tbaa !9
  %1402 = load i32, ptr %33, align 4, !tbaa !9
  %1403 = icmp ne i32 %1402, 0
  br i1 %1403, label %1404, label %1405

1404:                                             ; preds = %1309
  br label %1506

1405:                                             ; preds = %1309
  %1406 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1406, ptr %33, align 4, !tbaa !9
  %1407 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1407, ptr %34, align 4, !tbaa !9
  %1408 = load ptr, ptr %12, align 8, !tbaa !5
  %1409 = getelementptr inbounds %struct.w2c_hermes, ptr %1408, i32 0, i32 6
  %1410 = load i32, ptr %34, align 4, !tbaa !9
  %1411 = zext i32 %1410 to i64
  %1412 = add i64 %1411, 4
  %1413 = call i32 @i32_load(ptr noundef %1409, i64 noundef %1412)
  store i32 %1413, ptr %34, align 4, !tbaa !9
  %1414 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1414, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %1415 = load i32, ptr %35, align 4, !tbaa !9
  %1416 = load i32, ptr %34, align 4, !tbaa !9
  %1417 = sub i32 %1416, %1415
  store i32 %1417, ptr %34, align 4, !tbaa !9
  %1418 = load ptr, ptr %12, align 8, !tbaa !5
  %1419 = getelementptr inbounds %struct.w2c_hermes, ptr %1418, i32 0, i32 6
  %1420 = load i32, ptr %33, align 4, !tbaa !9
  %1421 = zext i32 %1420 to i64
  %1422 = add i64 %1421, 4
  %1423 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1419, i64 noundef %1422, i32 noundef %1423)
  %1424 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1424, ptr %33, align 4, !tbaa !9
  %1425 = load i32, ptr %33, align 4, !tbaa !9
  %1426 = icmp ne i32 %1425, 0
  br i1 %1426, label %1427, label %1428

1427:                                             ; preds = %1405
  br label %1506

1428:                                             ; preds = %1405
  %1429 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1429, ptr %33, align 4, !tbaa !9
  %1430 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1430, ptr %34, align 4, !tbaa !9
  %1431 = load ptr, ptr %12, align 8, !tbaa !5
  %1432 = getelementptr inbounds %struct.w2c_hermes, ptr %1431, i32 0, i32 6
  %1433 = load i32, ptr %34, align 4, !tbaa !9
  %1434 = zext i32 %1433 to i64
  %1435 = call i32 @i32_load(ptr noundef %1432, i64 noundef %1434)
  store i32 %1435, ptr %34, align 4, !tbaa !9
  %1436 = load ptr, ptr %12, align 8, !tbaa !5
  %1437 = getelementptr inbounds %struct.w2c_hermes, ptr %1436, i32 0, i32 6
  %1438 = load i32, ptr %34, align 4, !tbaa !9
  %1439 = zext i32 %1438 to i64
  %1440 = add i64 %1439, 8
  %1441 = call i32 @i32_load(ptr noundef %1437, i64 noundef %1440)
  store i32 %1441, ptr %34, align 4, !tbaa !9
  %1442 = load i32, ptr %34, align 4, !tbaa !9
  %1443 = load ptr, ptr %12, align 8, !tbaa !5
  %1444 = getelementptr inbounds %struct.w2c_hermes, ptr %1443, i32 0, i32 7
  %1445 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1444, i32 0, i32 2
  %1446 = load i32, ptr %1445, align 4, !tbaa !18
  %1447 = icmp ult i32 %1442, %1446
  br i1 %1447, label %1448, label %1471

1448:                                             ; preds = %1428
  %1449 = load ptr, ptr %12, align 8, !tbaa !5
  %1450 = getelementptr inbounds %struct.w2c_hermes, ptr %1449, i32 0, i32 7
  %1451 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1450, i32 0, i32 0
  %1452 = load ptr, ptr %1451, align 8, !tbaa !19
  %1453 = load i32, ptr %34, align 4, !tbaa !9
  %1454 = zext i32 %1453 to i64
  %1455 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1452, i64 %1454
  %1456 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1455, i32 0, i32 1
  %1457 = load ptr, ptr %1456, align 8, !tbaa !20
  %1458 = icmp ne ptr %1457, null
  br i1 %1458, label %1459, label %1471

1459:                                             ; preds = %1448
  %1460 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1461 = load ptr, ptr %12, align 8, !tbaa !5
  %1462 = getelementptr inbounds %struct.w2c_hermes, ptr %1461, i32 0, i32 7
  %1463 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1462, i32 0, i32 0
  %1464 = load ptr, ptr %1463, align 8, !tbaa !19
  %1465 = load i32, ptr %34, align 4, !tbaa !9
  %1466 = zext i32 %1465 to i64
  %1467 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1464, i64 %1466
  %1468 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1467, i32 0, i32 0
  %1469 = load ptr, ptr %1468, align 8, !tbaa !22
  %1470 = call zeroext i1 @func_types_eq(ptr noundef %1460, ptr noundef %1469)
  br label %1471

1471:                                             ; preds = %1459, %1448, %1428
  %1472 = phi i1 [ false, %1448 ], [ false, %1428 ], [ %1470, %1459 ]
  %1473 = xor i1 %1472, true
  %1474 = xor i1 %1473, true
  %1475 = zext i1 %1474 to i32
  %1476 = sext i32 %1475 to i64
  %1477 = call i64 @llvm.expect.i64(i64 %1476, i64 1)
  %1478 = icmp ne i64 %1477, 0
  br i1 %1478, label %1481, label %1479

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

1480:                                             ; No predecessors!
  br label %1481

1481:                                             ; preds = %1480, %1471
  %1482 = phi i1 [ true, %1471 ], [ false, %1480 ]
  %1483 = zext i1 %1482 to i32
  %1484 = load ptr, ptr %12, align 8, !tbaa !5
  %1485 = getelementptr inbounds %struct.w2c_hermes, ptr %1484, i32 0, i32 7
  %1486 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1485, i32 0, i32 0
  %1487 = load ptr, ptr %1486, align 8, !tbaa !19
  %1488 = load i32, ptr %34, align 4, !tbaa !9
  %1489 = zext i32 %1488 to i64
  %1490 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1487, i64 %1489
  %1491 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1490, i32 0, i32 1
  %1492 = load ptr, ptr %1491, align 8, !tbaa !20
  %1493 = load ptr, ptr %12, align 8, !tbaa !5
  %1494 = getelementptr inbounds %struct.w2c_hermes, ptr %1493, i32 0, i32 7
  %1495 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1494, i32 0, i32 0
  %1496 = load ptr, ptr %1495, align 8, !tbaa !19
  %1497 = load i32, ptr %34, align 4, !tbaa !9
  %1498 = zext i32 %1497 to i64
  %1499 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1496, i64 %1498
  %1500 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1499, i32 0, i32 2
  %1501 = load ptr, ptr %1500, align 8, !tbaa !23
  %1502 = load i32, ptr %33, align 4, !tbaa !9
  call void %1492(ptr noundef %1501, i32 noundef %1502)
  %1503 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1503, ptr %33, align 4, !tbaa !9
  %1504 = load ptr, ptr %12, align 8, !tbaa !5
  %1505 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1504, i32 noundef %1505)
  br label %1506

1506:                                             ; preds = %1481, %1427, %1404
  %1507 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1507, ptr %33, align 4, !tbaa !9
  %1508 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1508, ptr %34, align 4, !tbaa !9
  %1509 = load ptr, ptr %12, align 8, !tbaa !5
  %1510 = getelementptr inbounds %struct.w2c_hermes, ptr %1509, i32 0, i32 6
  %1511 = load i32, ptr %34, align 4, !tbaa !9
  %1512 = zext i32 %1511 to i64
  %1513 = add i64 %1512, 4
  %1514 = call i32 @i32_load(ptr noundef %1510, i64 noundef %1513)
  store i32 %1514, ptr %34, align 4, !tbaa !9
  %1515 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1515, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %1516 = load i32, ptr %35, align 4, !tbaa !9
  %1517 = load i32, ptr %34, align 4, !tbaa !9
  %1518 = sub i32 %1517, %1516
  store i32 %1518, ptr %34, align 4, !tbaa !9
  %1519 = load ptr, ptr %12, align 8, !tbaa !5
  %1520 = getelementptr inbounds %struct.w2c_hermes, ptr %1519, i32 0, i32 6
  %1521 = load i32, ptr %33, align 4, !tbaa !9
  %1522 = zext i32 %1521 to i64
  %1523 = add i64 %1522, 4
  %1524 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1520, i64 noundef %1523, i32 noundef %1524)
  %1525 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1525, ptr %33, align 4, !tbaa !9
  %1526 = load i32, ptr %33, align 4, !tbaa !9
  %1527 = icmp ne i32 %1526, 0
  %1528 = xor i1 %1527, true
  %1529 = zext i1 %1528 to i32
  store i32 %1529, ptr %33, align 4, !tbaa !9
  %1530 = load i32, ptr %33, align 4, !tbaa !9
  %1531 = icmp ne i32 %1530, 0
  br i1 %1531, label %1532, label %1610

1532:                                             ; preds = %1506
  %1533 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1533, ptr %33, align 4, !tbaa !9
  %1534 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1534, ptr %34, align 4, !tbaa !9
  %1535 = load ptr, ptr %12, align 8, !tbaa !5
  %1536 = getelementptr inbounds %struct.w2c_hermes, ptr %1535, i32 0, i32 6
  %1537 = load i32, ptr %34, align 4, !tbaa !9
  %1538 = zext i32 %1537 to i64
  %1539 = call i32 @i32_load(ptr noundef %1536, i64 noundef %1538)
  store i32 %1539, ptr %34, align 4, !tbaa !9
  %1540 = load ptr, ptr %12, align 8, !tbaa !5
  %1541 = getelementptr inbounds %struct.w2c_hermes, ptr %1540, i32 0, i32 6
  %1542 = load i32, ptr %34, align 4, !tbaa !9
  %1543 = zext i32 %1542 to i64
  %1544 = add i64 %1543, 8
  %1545 = call i32 @i32_load(ptr noundef %1541, i64 noundef %1544)
  store i32 %1545, ptr %34, align 4, !tbaa !9
  %1546 = load i32, ptr %34, align 4, !tbaa !9
  %1547 = load ptr, ptr %12, align 8, !tbaa !5
  %1548 = getelementptr inbounds %struct.w2c_hermes, ptr %1547, i32 0, i32 7
  %1549 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1548, i32 0, i32 2
  %1550 = load i32, ptr %1549, align 4, !tbaa !18
  %1551 = icmp ult i32 %1546, %1550
  br i1 %1551, label %1552, label %1575

1552:                                             ; preds = %1532
  %1553 = load ptr, ptr %12, align 8, !tbaa !5
  %1554 = getelementptr inbounds %struct.w2c_hermes, ptr %1553, i32 0, i32 7
  %1555 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1554, i32 0, i32 0
  %1556 = load ptr, ptr %1555, align 8, !tbaa !19
  %1557 = load i32, ptr %34, align 4, !tbaa !9
  %1558 = zext i32 %1557 to i64
  %1559 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1556, i64 %1558
  %1560 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1559, i32 0, i32 1
  %1561 = load ptr, ptr %1560, align 8, !tbaa !20
  %1562 = icmp ne ptr %1561, null
  br i1 %1562, label %1563, label %1575

1563:                                             ; preds = %1552
  %1564 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1565 = load ptr, ptr %12, align 8, !tbaa !5
  %1566 = getelementptr inbounds %struct.w2c_hermes, ptr %1565, i32 0, i32 7
  %1567 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1566, i32 0, i32 0
  %1568 = load ptr, ptr %1567, align 8, !tbaa !19
  %1569 = load i32, ptr %34, align 4, !tbaa !9
  %1570 = zext i32 %1569 to i64
  %1571 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1568, i64 %1570
  %1572 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1571, i32 0, i32 0
  %1573 = load ptr, ptr %1572, align 8, !tbaa !22
  %1574 = call zeroext i1 @func_types_eq(ptr noundef %1564, ptr noundef %1573)
  br label %1575

1575:                                             ; preds = %1563, %1552, %1532
  %1576 = phi i1 [ false, %1552 ], [ false, %1532 ], [ %1574, %1563 ]
  %1577 = xor i1 %1576, true
  %1578 = xor i1 %1577, true
  %1579 = zext i1 %1578 to i32
  %1580 = sext i32 %1579 to i64
  %1581 = call i64 @llvm.expect.i64(i64 %1580, i64 1)
  %1582 = icmp ne i64 %1581, 0
  br i1 %1582, label %1585, label %1583

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

1584:                                             ; No predecessors!
  br label %1585

1585:                                             ; preds = %1584, %1575
  %1586 = phi i1 [ true, %1575 ], [ false, %1584 ]
  %1587 = zext i1 %1586 to i32
  %1588 = load ptr, ptr %12, align 8, !tbaa !5
  %1589 = getelementptr inbounds %struct.w2c_hermes, ptr %1588, i32 0, i32 7
  %1590 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1589, i32 0, i32 0
  %1591 = load ptr, ptr %1590, align 8, !tbaa !19
  %1592 = load i32, ptr %34, align 4, !tbaa !9
  %1593 = zext i32 %1592 to i64
  %1594 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1591, i64 %1593
  %1595 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1594, i32 0, i32 1
  %1596 = load ptr, ptr %1595, align 8, !tbaa !20
  %1597 = load ptr, ptr %12, align 8, !tbaa !5
  %1598 = getelementptr inbounds %struct.w2c_hermes, ptr %1597, i32 0, i32 7
  %1599 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1598, i32 0, i32 0
  %1600 = load ptr, ptr %1599, align 8, !tbaa !19
  %1601 = load i32, ptr %34, align 4, !tbaa !9
  %1602 = zext i32 %1601 to i64
  %1603 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1600, i64 %1602
  %1604 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1603, i32 0, i32 2
  %1605 = load ptr, ptr %1604, align 8, !tbaa !23
  %1606 = load i32, ptr %33, align 4, !tbaa !9
  call void %1596(ptr noundef %1605, i32 noundef %1606)
  %1607 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1607, ptr %33, align 4, !tbaa !9
  %1608 = load ptr, ptr %12, align 8, !tbaa !5
  %1609 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1608, i32 noundef %1609)
  br label %1610

1610:                                             ; preds = %1585, %1506
  %1611 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1611, ptr %33, align 4, !tbaa !9
  %1612 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1612, ptr %34, align 4, !tbaa !9
  %1613 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1613, ptr %35, align 4, !tbaa !9
  %1614 = load ptr, ptr %12, align 8, !tbaa !5
  %1615 = load i32, ptr %33, align 4, !tbaa !9
  %1616 = load i32, ptr %34, align 4, !tbaa !9
  %1617 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASourceMapTranslator0x3A0x3AaddSourceMap0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3ASourceMap0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3ASourceMap0x3E0x3E0x29(ptr noundef %1614, i32 noundef %1615, i32 noundef %1616, i32 noundef %1617)
  %1618 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1618, ptr %33, align 4, !tbaa !9
  %1619 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1619, ptr %34, align 4, !tbaa !9
  %1620 = load ptr, ptr %12, align 8, !tbaa !5
  %1621 = getelementptr inbounds %struct.w2c_hermes, ptr %1620, i32 0, i32 6
  %1622 = load i32, ptr %34, align 4, !tbaa !9
  %1623 = zext i32 %1622 to i64
  %1624 = add i64 %1623, 4
  %1625 = call i32 @i32_load(ptr noundef %1621, i64 noundef %1624)
  store i32 %1625, ptr %34, align 4, !tbaa !9
  %1626 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1626, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %1627 = load i32, ptr %35, align 4, !tbaa !9
  %1628 = load i32, ptr %34, align 4, !tbaa !9
  %1629 = sub i32 %1628, %1627
  store i32 %1629, ptr %34, align 4, !tbaa !9
  %1630 = load ptr, ptr %12, align 8, !tbaa !5
  %1631 = getelementptr inbounds %struct.w2c_hermes, ptr %1630, i32 0, i32 6
  %1632 = load i32, ptr %33, align 4, !tbaa !9
  %1633 = zext i32 %1632 to i64
  %1634 = add i64 %1633, 4
  %1635 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1631, i64 noundef %1634, i32 noundef %1635)
  %1636 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1636, ptr %33, align 4, !tbaa !9
  %1637 = load i32, ptr %33, align 4, !tbaa !9
  %1638 = icmp ne i32 %1637, 0
  br i1 %1638, label %1639, label %1640

1639:                                             ; preds = %1610
  br label %1718

1640:                                             ; preds = %1610
  %1641 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1641, ptr %33, align 4, !tbaa !9
  %1642 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1642, ptr %34, align 4, !tbaa !9
  %1643 = load ptr, ptr %12, align 8, !tbaa !5
  %1644 = getelementptr inbounds %struct.w2c_hermes, ptr %1643, i32 0, i32 6
  %1645 = load i32, ptr %34, 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 %34, align 4, !tbaa !9
  %1648 = load ptr, ptr %12, align 8, !tbaa !5
  %1649 = getelementptr inbounds %struct.w2c_hermes, ptr %1648, i32 0, i32 6
  %1650 = load i32, ptr %34, align 4, !tbaa !9
  %1651 = zext i32 %1650 to i64
  %1652 = add i64 %1651, 8
  %1653 = call i32 @i32_load(ptr noundef %1649, i64 noundef %1652)
  store i32 %1653, ptr %34, align 4, !tbaa !9
  %1654 = load i32, ptr %34, align 4, !tbaa !9
  %1655 = load ptr, ptr %12, align 8, !tbaa !5
  %1656 = getelementptr inbounds %struct.w2c_hermes, ptr %1655, i32 0, i32 7
  %1657 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1656, i32 0, i32 2
  %1658 = load i32, ptr %1657, align 4, !tbaa !18
  %1659 = icmp ult i32 %1654, %1658
  br i1 %1659, label %1660, label %1683

1660:                                             ; preds = %1640
  %1661 = load ptr, ptr %12, align 8, !tbaa !5
  %1662 = getelementptr inbounds %struct.w2c_hermes, ptr %1661, i32 0, i32 7
  %1663 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1662, i32 0, i32 0
  %1664 = load ptr, ptr %1663, align 8, !tbaa !19
  %1665 = load i32, ptr %34, align 4, !tbaa !9
  %1666 = zext i32 %1665 to i64
  %1667 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1664, i64 %1666
  %1668 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1667, i32 0, i32 1
  %1669 = load ptr, ptr %1668, align 8, !tbaa !20
  %1670 = icmp ne ptr %1669, null
  br i1 %1670, label %1671, label %1683

1671:                                             ; preds = %1660
  %1672 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1673 = load ptr, ptr %12, align 8, !tbaa !5
  %1674 = getelementptr inbounds %struct.w2c_hermes, ptr %1673, i32 0, i32 7
  %1675 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1674, i32 0, i32 0
  %1676 = load ptr, ptr %1675, align 8, !tbaa !19
  %1677 = load i32, ptr %34, align 4, !tbaa !9
  %1678 = zext i32 %1677 to i64
  %1679 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1676, i64 %1678
  %1680 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1679, i32 0, i32 0
  %1681 = load ptr, ptr %1680, align 8, !tbaa !22
  %1682 = call zeroext i1 @func_types_eq(ptr noundef %1672, ptr noundef %1681)
  br label %1683

1683:                                             ; preds = %1671, %1660, %1640
  %1684 = phi i1 [ false, %1660 ], [ false, %1640 ], [ %1682, %1671 ]
  %1685 = xor i1 %1684, true
  %1686 = xor i1 %1685, true
  %1687 = zext i1 %1686 to i32
  %1688 = sext i32 %1687 to i64
  %1689 = call i64 @llvm.expect.i64(i64 %1688, i64 1)
  %1690 = icmp ne i64 %1689, 0
  br i1 %1690, label %1693, label %1691

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

1692:                                             ; No predecessors!
  br label %1693

1693:                                             ; preds = %1692, %1683
  %1694 = phi i1 [ true, %1683 ], [ false, %1692 ]
  %1695 = zext i1 %1694 to i32
  %1696 = load ptr, ptr %12, align 8, !tbaa !5
  %1697 = getelementptr inbounds %struct.w2c_hermes, ptr %1696, i32 0, i32 7
  %1698 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1697, i32 0, i32 0
  %1699 = load ptr, ptr %1698, align 8, !tbaa !19
  %1700 = load i32, ptr %34, align 4, !tbaa !9
  %1701 = zext i32 %1700 to i64
  %1702 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1699, i64 %1701
  %1703 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1702, i32 0, i32 1
  %1704 = load ptr, ptr %1703, align 8, !tbaa !20
  %1705 = load ptr, ptr %12, align 8, !tbaa !5
  %1706 = getelementptr inbounds %struct.w2c_hermes, ptr %1705, i32 0, i32 7
  %1707 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1706, i32 0, i32 0
  %1708 = load ptr, ptr %1707, align 8, !tbaa !19
  %1709 = load i32, ptr %34, align 4, !tbaa !9
  %1710 = zext i32 %1709 to i64
  %1711 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1708, i64 %1710
  %1712 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1711, i32 0, i32 2
  %1713 = load ptr, ptr %1712, align 8, !tbaa !23
  %1714 = load i32, ptr %33, align 4, !tbaa !9
  call void %1704(ptr noundef %1713, i32 noundef %1714)
  %1715 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1715, ptr %33, align 4, !tbaa !9
  %1716 = load ptr, ptr %12, align 8, !tbaa !5
  %1717 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1716, i32 noundef %1717)
  br label %1718

1718:                                             ; preds = %1693, %1639, %1308
  %1719 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %1719, ptr %33, align 4, !tbaa !9
  %1720 = load ptr, ptr %12, align 8, !tbaa !5
  %1721 = getelementptr inbounds %struct.w2c_hermes, ptr %1720, i32 0, i32 6
  %1722 = load i32, ptr %33, align 4, !tbaa !9
  %1723 = zext i32 %1722 to i64
  %1724 = add i64 %1723, 90
  %1725 = call i32 @i32_load8_u(ptr noundef %1721, i64 noundef %1724)
  store i32 %1725, ptr %33, align 4, !tbaa !9
  %1726 = load i32, ptr %33, align 4, !tbaa !9
  %1727 = icmp ne i32 %1726, 0
  %1728 = xor i1 %1727, true
  %1729 = zext i1 %1728 to i32
  store i32 %1729, ptr %33, align 4, !tbaa !9
  %1730 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1730, ptr %34, align 4, !tbaa !9
  %1731 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1731, ptr %35, align 4, !tbaa !9
  %1732 = load i32, ptr %34, align 4, !tbaa !9
  %1733 = load i32, ptr %35, align 4, !tbaa !9
  %1734 = icmp ugt i32 %1732, %1733
  %1735 = zext i1 %1734 to i32
  store i32 %1735, ptr %34, align 4, !tbaa !9
  %1736 = load i32, ptr %34, align 4, !tbaa !9
  %1737 = load i32, ptr %33, align 4, !tbaa !9
  %1738 = or i32 %1737, %1736
  store i32 %1738, ptr %33, align 4, !tbaa !9
  %1739 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1739, ptr %15, align 4, !tbaa !9
  %1740 = load i32, ptr %33, align 4, !tbaa !9
  %1741 = icmp ne i32 %1740, 0
  br i1 %1741, label %1742, label %1744

1742:                                             ; preds = %1718
  store i32 0, ptr %33, align 4, !tbaa !9
  %1743 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1743, ptr %20, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  br label %1864

1744:                                             ; preds = %1718
  %1745 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1745, ptr %33, align 4, !tbaa !9
  %1746 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1746, ptr %34, align 4, !tbaa !9
  %1747 = load ptr, ptr %12, align 8, !tbaa !5
  %1748 = load i32, ptr %33, align 4, !tbaa !9
  %1749 = load i32, ptr %34, align 4, !tbaa !9
  %1750 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3ApreParseBuffer0x28hermes0x3A0x3AContext0x260x2C0x20unsigned0x20int0x29(ptr noundef %1747, i32 noundef %1748, i32 noundef %1749)
  store i32 %1750, ptr %33, align 4, !tbaa !9
  %1751 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1751, ptr %19, align 4, !tbaa !9
  %1752 = load i32, ptr %33, align 4, !tbaa !9
  %1753 = icmp ne i32 %1752, 0
  %1754 = xor i1 %1753, true
  %1755 = zext i1 %1754 to i32
  store i32 %1755, ptr %33, align 4, !tbaa !9
  %1756 = load i32, ptr %33, align 4, !tbaa !9
  %1757 = icmp ne i32 %1756, 0
  br i1 %1757, label %1758, label %1848

1758:                                             ; preds = %1744
  %1759 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1759, ptr %33, align 4, !tbaa !9
  %1760 = load i32, ptr %33, align 4, !tbaa !9
  %1761 = icmp ne i32 %1760, 0
  br i1 %1761, label %1762, label %1771

1762:                                             ; preds = %1758
  %1763 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1763, ptr %33, align 4, !tbaa !9
  store i32 96, ptr %34, align 4, !tbaa !9
  %1764 = load i32, ptr %34, align 4, !tbaa !9
  %1765 = load i32, ptr %33, align 4, !tbaa !9
  %1766 = add i32 %1765, %1764
  store i32 %1766, ptr %33, align 4, !tbaa !9
  %1767 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1767, ptr %34, align 4, !tbaa !9
  %1768 = load ptr, ptr %12, align 8, !tbaa !5
  %1769 = load i32, ptr %33, align 4, !tbaa !9
  %1770 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef %1768, i32 noundef %1769, i32 noundef %1770)
  br label %1813

1771:                                             ; preds = %1758
  %1772 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1772, ptr %33, align 4, !tbaa !9
  store i32 48758, ptr %34, align 4, !tbaa !9
  %1773 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1773, ptr %17, align 4, !tbaa !9
  %1774 = load ptr, ptr %12, align 8, !tbaa !5
  %1775 = getelementptr inbounds %struct.w2c_hermes, ptr %1774, i32 0, i32 6
  %1776 = load i32, ptr %34, align 4, !tbaa !9
  %1777 = zext i32 %1776 to i64
  %1778 = add i64 %1777, 4
  %1779 = call i32 @i32_load8_u(ptr noundef %1775, i64 noundef %1778)
  store i32 %1779, ptr %34, align 4, !tbaa !9
  %1780 = load ptr, ptr %12, align 8, !tbaa !5
  %1781 = getelementptr inbounds %struct.w2c_hermes, ptr %1780, i32 0, i32 6
  %1782 = load i32, ptr %33, align 4, !tbaa !9
  %1783 = zext i32 %1782 to i64
  %1784 = add i64 %1783, 100
  %1785 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1781, i64 noundef %1784, i32 noundef %1785)
  %1786 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1786, ptr %33, align 4, !tbaa !9
  store i32 5, ptr %34, align 4, !tbaa !9
  %1787 = load ptr, ptr %12, align 8, !tbaa !5
  %1788 = getelementptr inbounds %struct.w2c_hermes, ptr %1787, i32 0, i32 6
  %1789 = load i32, ptr %33, align 4, !tbaa !9
  %1790 = zext i32 %1789 to i64
  %1791 = add i64 %1790, 107
  %1792 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1788, i64 noundef %1791, i32 noundef %1792)
  %1793 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1793, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %1794 = load ptr, ptr %12, align 8, !tbaa !5
  %1795 = getelementptr inbounds %struct.w2c_hermes, ptr %1794, i32 0, i32 6
  %1796 = load i32, ptr %33, align 4, !tbaa !9
  %1797 = zext i32 %1796 to i64
  %1798 = add i64 %1797, 101
  %1799 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1795, i64 noundef %1798, i32 noundef %1799)
  %1800 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1800, ptr %33, align 4, !tbaa !9
  %1801 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1801, ptr %34, align 4, !tbaa !9
  %1802 = load ptr, ptr %12, align 8, !tbaa !5
  %1803 = getelementptr inbounds %struct.w2c_hermes, ptr %1802, i32 0, i32 6
  %1804 = load i32, ptr %34, align 4, !tbaa !9
  %1805 = zext i32 %1804 to i64
  %1806 = call i32 @i32_load(ptr noundef %1803, i64 noundef %1805)
  store i32 %1806, ptr %34, align 4, !tbaa !9
  %1807 = load ptr, ptr %12, align 8, !tbaa !5
  %1808 = getelementptr inbounds %struct.w2c_hermes, ptr %1807, i32 0, i32 6
  %1809 = load i32, ptr %33, align 4, !tbaa !9
  %1810 = zext i32 %1809 to i64
  %1811 = add i64 %1810, 96
  %1812 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1808, i64 noundef %1811, i32 noundef %1812)
  br label %1813

1813:                                             ; preds = %1771, %1762
  %1814 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1814, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %1815 = load ptr, ptr %12, align 8, !tbaa !5
  %1816 = getelementptr inbounds %struct.w2c_hermes, ptr %1815, i32 0, i32 6
  %1817 = load i32, ptr %33, align 4, !tbaa !9
  %1818 = zext i32 %1817 to i64
  %1819 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1816, i64 noundef %1818, i32 noundef %1819)
  %1820 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1820, ptr %33, align 4, !tbaa !9
  %1821 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1821, ptr %34, align 4, !tbaa !9
  %1822 = load ptr, ptr %12, align 8, !tbaa !5
  %1823 = getelementptr inbounds %struct.w2c_hermes, ptr %1822, i32 0, i32 6
  %1824 = load i32, ptr %34, align 4, !tbaa !9
  %1825 = zext i32 %1824 to i64
  %1826 = add i64 %1825, 96
  %1827 = call i64 @i64_load(ptr noundef %1823, i64 noundef %1826)
  store i64 %1827, ptr %40, align 8, !tbaa !11
  %1828 = load ptr, ptr %12, align 8, !tbaa !5
  %1829 = getelementptr inbounds %struct.w2c_hermes, ptr %1828, i32 0, i32 6
  %1830 = load i32, ptr %33, align 4, !tbaa !9
  %1831 = zext i32 %1830 to i64
  %1832 = add i64 %1831, 4
  %1833 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1829, i64 noundef %1832, i64 noundef %1833)
  %1834 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1834, ptr %33, align 4, !tbaa !9
  %1835 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1835, ptr %34, align 4, !tbaa !9
  %1836 = load ptr, ptr %12, align 8, !tbaa !5
  %1837 = getelementptr inbounds %struct.w2c_hermes, ptr %1836, i32 0, i32 6
  %1838 = load i32, ptr %34, align 4, !tbaa !9
  %1839 = zext i32 %1838 to i64
  %1840 = add i64 %1839, 104
  %1841 = call i32 @i32_load(ptr noundef %1837, i64 noundef %1840)
  store i32 %1841, ptr %34, align 4, !tbaa !9
  %1842 = load ptr, ptr %12, align 8, !tbaa !5
  %1843 = getelementptr inbounds %struct.w2c_hermes, ptr %1842, i32 0, i32 6
  %1844 = load i32, ptr %33, align 4, !tbaa !9
  %1845 = zext i32 %1844 to i64
  %1846 = add i64 %1845, 12
  %1847 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1843, i64 noundef %1846, i32 noundef %1847)
  br label %3316

1848:                                             ; preds = %1744
  %1849 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1849, ptr %33, align 4, !tbaa !9
  %1850 = load ptr, ptr %12, align 8, !tbaa !5
  %1851 = load i32, ptr %33, align 4, !tbaa !9
  %1852 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AgetUseStaticBuiltin0x280x290x20const(ptr noundef %1850, i32 noundef %1851)
  store i32 %1852, ptr %33, align 4, !tbaa !9
  %1853 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1853, ptr %20, align 4, !tbaa !9
  %1854 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1854, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %1855 = load ptr, ptr %12, align 8, !tbaa !5
  %1856 = load i32, ptr %33, align 4, !tbaa !9
  %1857 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef %1855, i32 noundef %1856, i32 noundef %1857)
  %1858 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1858, ptr %33, align 4, !tbaa !9
  %1859 = load ptr, ptr %12, align 8, !tbaa !5
  %1860 = load i32, ptr %33, align 4, !tbaa !9
  %1861 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef %1859, i32 noundef %1860)
  store i32 %1861, ptr %33, align 4, !tbaa !9
  %1862 = load ptr, ptr %12, align 8, !tbaa !5
  %1863 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %1862, i32 noundef %1863)
  store i32 1, ptr %33, align 4, !tbaa !9
  br label %1864

1864:                                             ; preds = %1848, %1742
  %1865 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1865, ptr %19, align 4, !tbaa !9
  %1866 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1866, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1867 = load ptr, ptr %12, align 8, !tbaa !5
  %1868 = getelementptr inbounds %struct.w2c_hermes, ptr %1867, i32 0, i32 6
  %1869 = load i32, ptr %33, align 4, !tbaa !9
  %1870 = zext i32 %1869 to i64
  %1871 = add i64 %1870, 728
  %1872 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1868, i64 noundef %1871, i64 noundef %1872)
  %1873 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1873, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1874 = load ptr, ptr %12, align 8, !tbaa !5
  %1875 = getelementptr inbounds %struct.w2c_hermes, ptr %1874, i32 0, i32 6
  %1876 = load i32, ptr %33, align 4, !tbaa !9
  %1877 = zext i32 %1876 to i64
  %1878 = add i64 %1877, 720
  %1879 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1875, i64 noundef %1878, i64 noundef %1879)
  %1880 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1880, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1881 = load ptr, ptr %12, align 8, !tbaa !5
  %1882 = getelementptr inbounds %struct.w2c_hermes, ptr %1881, i32 0, i32 6
  %1883 = load i32, ptr %33, align 4, !tbaa !9
  %1884 = zext i32 %1883 to i64
  %1885 = add i64 %1884, 712
  %1886 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1882, i64 noundef %1885, i64 noundef %1886)
  %1887 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1887, ptr %33, align 4, !tbaa !9
  store i32 696, ptr %34, align 4, !tbaa !9
  %1888 = load i32, ptr %34, align 4, !tbaa !9
  %1889 = load i32, ptr %33, align 4, !tbaa !9
  %1890 = add i32 %1889, %1888
  store i32 %1890, ptr %33, align 4, !tbaa !9
  %1891 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1891, ptr %34, align 4, !tbaa !9
  store i32 704, ptr %35, align 4, !tbaa !9
  %1892 = load i32, ptr %35, align 4, !tbaa !9
  %1893 = load i32, ptr %34, align 4, !tbaa !9
  %1894 = add i32 %1893, %1892
  store i32 %1894, ptr %34, align 4, !tbaa !9
  %1895 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1895, ptr %35, align 4, !tbaa !9
  %1896 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1896, ptr %36, align 4, !tbaa !9
  %1897 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1897, ptr %37, align 4, !tbaa !9
  %1898 = load ptr, ptr %12, align 8, !tbaa !5
  %1899 = load i32, ptr %34, align 4, !tbaa !9
  %1900 = load i32, ptr %35, align 4, !tbaa !9
  %1901 = load i32, ptr %36, align 4, !tbaa !9
  %1902 = load i32, ptr %37, align 4, !tbaa !9
  %1903 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AJSParser0x28hermes0x3A0x3AContext0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Aparser0x3A0x3AParserPass0x29(ptr noundef %1898, i32 noundef %1899, i32 noundef %1900, i32 noundef %1901, i32 noundef %1902)
  store i32 %1903, ptr %34, align 4, !tbaa !9
  %1904 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1904, ptr %19, align 4, !tbaa !9
  %1905 = load ptr, ptr %12, align 8, !tbaa !5
  %1906 = load i32, ptr %33, align 4, !tbaa !9
  %1907 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3Aparse0x280x29(ptr noundef %1905, i32 noundef %1906, i32 noundef %1907)
  %1908 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1908, ptr %33, align 4, !tbaa !9
  %1909 = load ptr, ptr %12, align 8, !tbaa !5
  %1910 = getelementptr inbounds %struct.w2c_hermes, ptr %1909, i32 0, i32 6
  %1911 = load i32, ptr %33, align 4, !tbaa !9
  %1912 = zext i32 %1911 to i64
  %1913 = add i64 %1912, 700
  %1914 = call i32 @i32_load8_u(ptr noundef %1910, i64 noundef %1913)
  store i32 %1914, ptr %33, align 4, !tbaa !9
  %1915 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1915, ptr %14, align 4, !tbaa !9
  %1916 = load i32, ptr %33, align 4, !tbaa !9
  %1917 = icmp ne i32 %1916, 0
  %1918 = xor i1 %1917, true
  %1919 = zext i1 %1918 to i32
  store i32 %1919, ptr %33, align 4, !tbaa !9
  %1920 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1920, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %1921 = load i32, ptr %35, align 4, !tbaa !9
  %1922 = load i32, ptr %34, align 4, !tbaa !9
  %1923 = xor i32 %1922, %1921
  store i32 %1923, ptr %34, align 4, !tbaa !9
  %1924 = load i32, ptr %34, align 4, !tbaa !9
  %1925 = load i32, ptr %33, align 4, !tbaa !9
  %1926 = or i32 %1925, %1924
  store i32 %1926, ptr %33, align 4, !tbaa !9
  %1927 = load i32, ptr %33, align 4, !tbaa !9
  %1928 = icmp ne i32 %1927, 0
  %1929 = xor i1 %1928, true
  %1930 = zext i1 %1929 to i32
  store i32 %1930, ptr %33, align 4, !tbaa !9
  %1931 = load i32, ptr %33, align 4, !tbaa !9
  %1932 = icmp ne i32 %1931, 0
  br i1 %1932, label %1933, label %1951

1933:                                             ; preds = %1864
  %1934 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1934, ptr %33, align 4, !tbaa !9
  %1935 = load ptr, ptr %12, align 8, !tbaa !5
  %1936 = load i32, ptr %33, align 4, !tbaa !9
  %1937 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AgetUseStaticBuiltin0x280x290x20const(ptr noundef %1935, i32 noundef %1936)
  store i32 %1937, ptr %33, align 4, !tbaa !9
  %1938 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1938, ptr %20, align 4, !tbaa !9
  %1939 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1939, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %1940 = load ptr, ptr %12, align 8, !tbaa !5
  %1941 = load i32, ptr %33, align 4, !tbaa !9
  %1942 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef %1940, i32 noundef %1941, i32 noundef %1942)
  %1943 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1943, ptr %33, align 4, !tbaa !9
  %1944 = load ptr, ptr %12, align 8, !tbaa !5
  %1945 = getelementptr inbounds %struct.w2c_hermes, ptr %1944, i32 0, i32 6
  %1946 = load i32, ptr %33, align 4, !tbaa !9
  %1947 = zext i32 %1946 to i64
  %1948 = add i64 %1947, 700
  %1949 = call i32 @i32_load8_u(ptr noundef %1945, i64 noundef %1948)
  store i32 %1949, ptr %33, align 4, !tbaa !9
  %1950 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1950, ptr %14, align 4, !tbaa !9
  br label %1951

1951:                                             ; preds = %1933, %1864
  %1952 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1952, ptr %33, align 4, !tbaa !9
  store i32 255, ptr %34, align 4, !tbaa !9
  %1953 = load i32, ptr %34, align 4, !tbaa !9
  %1954 = load i32, ptr %33, align 4, !tbaa !9
  %1955 = and i32 %1954, %1953
  store i32 %1955, ptr %33, align 4, !tbaa !9
  %1956 = load i32, ptr %33, align 4, !tbaa !9
  %1957 = icmp ne i32 %1956, 0
  br i1 %1957, label %1958, label %1980

1958:                                             ; preds = %1951
  %1959 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1959, ptr %33, align 4, !tbaa !9
  %1960 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1960, ptr %34, align 4, !tbaa !9
  store i32 712, ptr %35, align 4, !tbaa !9
  %1961 = load i32, ptr %35, align 4, !tbaa !9
  %1962 = load i32, ptr %34, align 4, !tbaa !9
  %1963 = add i32 %1962, %1961
  store i32 %1963, ptr %34, align 4, !tbaa !9
  %1964 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1964, ptr %35, align 4, !tbaa !9
  %1965 = load ptr, ptr %12, align 8, !tbaa !5
  %1966 = getelementptr inbounds %struct.w2c_hermes, ptr %1965, i32 0, i32 6
  %1967 = load i32, ptr %35, align 4, !tbaa !9
  %1968 = zext i32 %1967 to i64
  %1969 = add i64 %1968, 696
  %1970 = call i32 @i32_load(ptr noundef %1966, i64 noundef %1969)
  store i32 %1970, ptr %35, align 4, !tbaa !9
  %1971 = load ptr, ptr %12, align 8, !tbaa !5
  %1972 = load i32, ptr %33, align 4, !tbaa !9
  %1973 = load i32, ptr %34, align 4, !tbaa !9
  %1974 = load i32, ptr %35, align 4, !tbaa !9
  %1975 = call i32 @w2c_hermes_hermes0x3A0x3Asem0x3A0x3AvalidateAST0x28hermes0x3A0x3AContext0x260x2C0x20hermes0x3A0x3Asem0x3A0x3ASemContext0x260x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x29(ptr noundef %1971, i32 noundef %1972, i32 noundef %1973, i32 noundef %1974)
  store i32 %1975, ptr %33, align 4, !tbaa !9
  %1976 = load i32, ptr %33, align 4, !tbaa !9
  %1977 = icmp ne i32 %1976, 0
  br i1 %1977, label %1978, label %1979

1978:                                             ; preds = %1958
  br label %2070

1979:                                             ; preds = %1958
  br label %1980

1980:                                             ; preds = %1979, %1951
  %1981 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1981, ptr %33, align 4, !tbaa !9
  %1982 = load i32, ptr %33, align 4, !tbaa !9
  %1983 = icmp ne i32 %1982, 0
  br i1 %1983, label %1984, label %1993

1984:                                             ; preds = %1980
  %1985 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1985, ptr %33, align 4, !tbaa !9
  store i32 96, ptr %34, align 4, !tbaa !9
  %1986 = load i32, ptr %34, align 4, !tbaa !9
  %1987 = load i32, ptr %33, align 4, !tbaa !9
  %1988 = add i32 %1987, %1986
  store i32 %1988, ptr %33, align 4, !tbaa !9
  %1989 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1989, ptr %34, align 4, !tbaa !9
  %1990 = load ptr, ptr %12, align 8, !tbaa !5
  %1991 = load i32, ptr %33, align 4, !tbaa !9
  %1992 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef %1990, i32 noundef %1991, i32 noundef %1992)
  br label %2035

1993:                                             ; preds = %1980
  %1994 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1994, ptr %33, align 4, !tbaa !9
  store i32 48758, ptr %34, align 4, !tbaa !9
  %1995 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1995, ptr %17, align 4, !tbaa !9
  %1996 = load ptr, ptr %12, align 8, !tbaa !5
  %1997 = getelementptr inbounds %struct.w2c_hermes, ptr %1996, i32 0, i32 6
  %1998 = load i32, ptr %34, align 4, !tbaa !9
  %1999 = zext i32 %1998 to i64
  %2000 = add i64 %1999, 4
  %2001 = call i32 @i32_load8_u(ptr noundef %1997, i64 noundef %2000)
  store i32 %2001, ptr %34, align 4, !tbaa !9
  %2002 = load ptr, ptr %12, align 8, !tbaa !5
  %2003 = getelementptr inbounds %struct.w2c_hermes, ptr %2002, i32 0, i32 6
  %2004 = load i32, ptr %33, align 4, !tbaa !9
  %2005 = zext i32 %2004 to i64
  %2006 = add i64 %2005, 100
  %2007 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2003, i64 noundef %2006, i32 noundef %2007)
  %2008 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2008, ptr %33, align 4, !tbaa !9
  store i32 5, ptr %34, align 4, !tbaa !9
  %2009 = load ptr, ptr %12, align 8, !tbaa !5
  %2010 = getelementptr inbounds %struct.w2c_hermes, ptr %2009, i32 0, i32 6
  %2011 = load i32, ptr %33, align 4, !tbaa !9
  %2012 = zext i32 %2011 to i64
  %2013 = add i64 %2012, 107
  %2014 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2010, i64 noundef %2013, i32 noundef %2014)
  %2015 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2015, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2016 = load ptr, ptr %12, align 8, !tbaa !5
  %2017 = getelementptr inbounds %struct.w2c_hermes, ptr %2016, i32 0, i32 6
  %2018 = load i32, ptr %33, align 4, !tbaa !9
  %2019 = zext i32 %2018 to i64
  %2020 = add i64 %2019, 101
  %2021 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2017, i64 noundef %2020, i32 noundef %2021)
  %2022 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2022, ptr %33, align 4, !tbaa !9
  %2023 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2023, ptr %34, align 4, !tbaa !9
  %2024 = load ptr, ptr %12, align 8, !tbaa !5
  %2025 = getelementptr inbounds %struct.w2c_hermes, ptr %2024, i32 0, i32 6
  %2026 = load i32, ptr %34, align 4, !tbaa !9
  %2027 = zext i32 %2026 to i64
  %2028 = call i32 @i32_load(ptr noundef %2025, i64 noundef %2027)
  store i32 %2028, ptr %34, align 4, !tbaa !9
  %2029 = load ptr, ptr %12, align 8, !tbaa !5
  %2030 = getelementptr inbounds %struct.w2c_hermes, ptr %2029, i32 0, i32 6
  %2031 = load i32, ptr %33, align 4, !tbaa !9
  %2032 = zext i32 %2031 to i64
  %2033 = add i64 %2032, 96
  %2034 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2030, i64 noundef %2033, i32 noundef %2034)
  br label %2035

2035:                                             ; preds = %1993, %1984
  %2036 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2036, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2037 = load ptr, ptr %12, align 8, !tbaa !5
  %2038 = getelementptr inbounds %struct.w2c_hermes, ptr %2037, i32 0, i32 6
  %2039 = load i32, ptr %33, align 4, !tbaa !9
  %2040 = zext i32 %2039 to i64
  %2041 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2038, i64 noundef %2040, i32 noundef %2041)
  %2042 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2042, ptr %33, align 4, !tbaa !9
  %2043 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2043, ptr %34, align 4, !tbaa !9
  %2044 = load ptr, ptr %12, align 8, !tbaa !5
  %2045 = getelementptr inbounds %struct.w2c_hermes, ptr %2044, i32 0, i32 6
  %2046 = load i32, ptr %34, align 4, !tbaa !9
  %2047 = zext i32 %2046 to i64
  %2048 = add i64 %2047, 96
  %2049 = call i64 @i64_load(ptr noundef %2045, i64 noundef %2048)
  store i64 %2049, ptr %40, align 8, !tbaa !11
  %2050 = load ptr, ptr %12, align 8, !tbaa !5
  %2051 = getelementptr inbounds %struct.w2c_hermes, ptr %2050, i32 0, i32 6
  %2052 = load i32, ptr %33, align 4, !tbaa !9
  %2053 = zext i32 %2052 to i64
  %2054 = add i64 %2053, 4
  %2055 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2051, i64 noundef %2054, i64 noundef %2055)
  %2056 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2056, ptr %33, align 4, !tbaa !9
  %2057 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2057, ptr %34, align 4, !tbaa !9
  %2058 = load ptr, ptr %12, align 8, !tbaa !5
  %2059 = getelementptr inbounds %struct.w2c_hermes, ptr %2058, i32 0, i32 6
  %2060 = load i32, ptr %34, align 4, !tbaa !9
  %2061 = zext i32 %2060 to i64
  %2062 = add i64 %2061, 104
  %2063 = call i32 @i32_load(ptr noundef %2059, i64 noundef %2062)
  store i32 %2063, ptr %34, align 4, !tbaa !9
  %2064 = load ptr, ptr %12, align 8, !tbaa !5
  %2065 = getelementptr inbounds %struct.w2c_hermes, ptr %2064, i32 0, i32 6
  %2066 = load i32, ptr %33, align 4, !tbaa !9
  %2067 = zext i32 %2066 to i64
  %2068 = add i64 %2067, 12
  %2069 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2065, i64 noundef %2068, i32 noundef %2069)
  br label %2907

2070:                                             ; preds = %1978
  %2071 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2071, ptr %33, align 4, !tbaa !9
  %2072 = load ptr, ptr %12, align 8, !tbaa !5
  %2073 = getelementptr inbounds %struct.w2c_hermes, ptr %2072, i32 0, i32 6
  %2074 = load i32, ptr %33, align 4, !tbaa !9
  %2075 = zext i32 %2074 to i64
  %2076 = add i64 %2075, 14
  %2077 = call i32 @i32_load8_u(ptr noundef %2073, i64 noundef %2076)
  store i32 %2077, ptr %33, align 4, !tbaa !9
  %2078 = load i32, ptr %33, align 4, !tbaa !9
  %2079 = icmp ne i32 %2078, 0
  %2080 = xor i1 %2079, true
  %2081 = zext i1 %2080 to i32
  store i32 %2081, ptr %33, align 4, !tbaa !9
  %2082 = load i32, ptr %33, align 4, !tbaa !9
  %2083 = icmp ne i32 %2082, 0
  br i1 %2083, label %2084, label %2093

2084:                                             ; preds = %2070
  %2085 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2085, ptr %33, align 4, !tbaa !9
  %2086 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2086, ptr %34, align 4, !tbaa !9
  %2087 = load ptr, ptr %12, align 8, !tbaa !5
  %2088 = getelementptr inbounds %struct.w2c_hermes, ptr %2087, i32 0, i32 6
  %2089 = load i32, ptr %33, align 4, !tbaa !9
  %2090 = zext i32 %2089 to i64
  %2091 = add i64 %2090, 363
  %2092 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2088, i64 noundef %2091, i32 noundef %2092)
  br label %2093

2093:                                             ; preds = %2084, %2070
  %2094 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2094, ptr %33, align 4, !tbaa !9
  %2095 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2095, ptr %34, align 4, !tbaa !9
  %2096 = load ptr, ptr %12, align 8, !tbaa !5
  %2097 = getelementptr inbounds %struct.w2c_hermes, ptr %2096, i32 0, i32 6
  %2098 = load i32, ptr %33, align 4, !tbaa !9
  %2099 = zext i32 %2098 to i64
  %2100 = add i64 %2099, 92
  %2101 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2097, i64 noundef %2100, i32 noundef %2101)
  %2102 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2102, ptr %33, align 4, !tbaa !9
  %2103 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2103, ptr %34, align 4, !tbaa !9
  %2104 = load ptr, ptr %12, align 8, !tbaa !5
  %2105 = getelementptr inbounds %struct.w2c_hermes, ptr %2104, i32 0, i32 6
  %2106 = load i32, ptr %33, align 4, !tbaa !9
  %2107 = zext i32 %2106 to i64
  %2108 = add i64 %2107, 88
  %2109 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2105, i64 noundef %2108, i32 noundef %2109)
  %2110 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2110, ptr %33, align 4, !tbaa !9
  %2111 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2111, ptr %34, align 4, !tbaa !9
  %2112 = load ptr, ptr %12, align 8, !tbaa !5
  %2113 = getelementptr inbounds %struct.w2c_hermes, ptr %2112, i32 0, i32 6
  %2114 = load i32, ptr %34, align 4, !tbaa !9
  %2115 = zext i32 %2114 to i64
  %2116 = add i64 %2115, 4
  %2117 = call i32 @i32_load(ptr noundef %2113, i64 noundef %2116)
  store i32 %2117, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %2118 = load i32, ptr %35, align 4, !tbaa !9
  %2119 = load i32, ptr %34, align 4, !tbaa !9
  %2120 = add i32 %2119, %2118
  store i32 %2120, ptr %34, align 4, !tbaa !9
  %2121 = load ptr, ptr %12, align 8, !tbaa !5
  %2122 = getelementptr inbounds %struct.w2c_hermes, ptr %2121, i32 0, i32 6
  %2123 = load i32, ptr %33, align 4, !tbaa !9
  %2124 = zext i32 %2123 to i64
  %2125 = add i64 %2124, 4
  %2126 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2122, i64 noundef %2125, i32 noundef %2126)
  %2127 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2127, ptr %33, align 4, !tbaa !9
  %2128 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2128, ptr %34, align 4, !tbaa !9
  %2129 = load ptr, ptr %12, align 8, !tbaa !5
  %2130 = getelementptr inbounds %struct.w2c_hermes, ptr %2129, i32 0, i32 6
  %2131 = load i32, ptr %34, align 4, !tbaa !9
  %2132 = zext i32 %2131 to i64
  %2133 = add i64 %2132, 88
  %2134 = call i64 @i64_load(ptr noundef %2130, i64 noundef %2133)
  store i64 %2134, ptr %40, align 8, !tbaa !11
  %2135 = load ptr, ptr %12, align 8, !tbaa !5
  %2136 = getelementptr inbounds %struct.w2c_hermes, ptr %2135, i32 0, i32 6
  %2137 = load i32, ptr %33, align 4, !tbaa !9
  %2138 = zext i32 %2137 to i64
  %2139 = add i64 %2138, 16
  %2140 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2136, i64 noundef %2139, i64 noundef %2140)
  %2141 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2141, ptr %33, align 4, !tbaa !9
  store i32 96, ptr %34, align 4, !tbaa !9
  %2142 = load i32, ptr %34, align 4, !tbaa !9
  %2143 = load i32, ptr %33, align 4, !tbaa !9
  %2144 = add i32 %2143, %2142
  store i32 %2144, ptr %33, align 4, !tbaa !9
  %2145 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2145, ptr %34, align 4, !tbaa !9
  store i32 16, ptr %35, align 4, !tbaa !9
  %2146 = load i32, ptr %35, align 4, !tbaa !9
  %2147 = load i32, ptr %34, align 4, !tbaa !9
  %2148 = add i32 %2147, %2146
  store i32 %2148, ptr %34, align 4, !tbaa !9
  %2149 = load ptr, ptr %12, align 8, !tbaa !5
  %2150 = load i32, ptr %33, align 4, !tbaa !9
  %2151 = load i32, ptr %34, align 4, !tbaa !9
  %2152 = call i32 @w2c_hermes_hermes0x3A0x3AModule0x3A0x3AModule0x28std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3AContext0x3E0x29(ptr noundef %2149, i32 noundef %2150, i32 noundef %2151)
  store i32 %2152, ptr %33, align 4, !tbaa !9
  %2153 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2153, ptr %14, align 4, !tbaa !9
  %2154 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2154, ptr %33, align 4, !tbaa !9
  %2155 = load ptr, ptr %12, align 8, !tbaa !5
  %2156 = getelementptr inbounds %struct.w2c_hermes, ptr %2155, i32 0, i32 6
  %2157 = load i32, ptr %33, align 4, !tbaa !9
  %2158 = zext i32 %2157 to i64
  %2159 = add i64 %2158, 700
  %2160 = call i32 @i32_load8_u(ptr noundef %2156, i64 noundef %2159)
  store i32 %2160, ptr %33, align 4, !tbaa !9
  %2161 = load i32, ptr %33, align 4, !tbaa !9
  %2162 = icmp ne i32 %2161, 0
  %2163 = xor i1 %2162, true
  %2164 = zext i1 %2163 to i32
  store i32 %2164, ptr %33, align 4, !tbaa !9
  %2165 = load i32, ptr %33, align 4, !tbaa !9
  %2166 = icmp ne i32 %2165, 0
  br i1 %2166, label %2167, label %2168

2167:                                             ; preds = %2093
  br label %3545

2168:                                             ; preds = %2093
  %2169 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2169, ptr %33, align 4, !tbaa !9
  %2170 = load ptr, ptr %12, align 8, !tbaa !5
  %2171 = getelementptr inbounds %struct.w2c_hermes, ptr %2170, i32 0, i32 6
  %2172 = load i32, ptr %33, align 4, !tbaa !9
  %2173 = zext i32 %2172 to i64
  %2174 = add i64 %2173, 696
  %2175 = call i32 @i32_load(ptr noundef %2171, i64 noundef %2174)
  store i32 %2175, ptr %33, align 4, !tbaa !9
  %2176 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2176, ptr %34, align 4, !tbaa !9
  %2177 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2177, ptr %35, align 4, !tbaa !9
  store i32 752, ptr %36, align 4, !tbaa !9
  %2178 = load i32, ptr %36, align 4, !tbaa !9
  %2179 = load i32, ptr %35, align 4, !tbaa !9
  %2180 = add i32 %2179, %2178
  store i32 %2180, ptr %35, align 4, !tbaa !9
  %2181 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2181, ptr %36, align 4, !tbaa !9
  %2182 = load ptr, ptr %12, align 8, !tbaa !5
  %2183 = load i32, ptr %33, align 4, !tbaa !9
  %2184 = load i32, ptr %34, align 4, !tbaa !9
  %2185 = load i32, ptr %35, align 4, !tbaa !9
  %2186 = load i32, ptr %36, align 4, !tbaa !9
  %2187 = call i32 @w2c_hermes_hermes0x3A0x3AgenerateIRFromESTree0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AModule0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AESTree0x3A0x3AProgramNode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AESTree0x3A0x3AProgramNode0x2A0x3E0x3E0x20const0x260x2C0x20hermes0x3A0x3AScopeChain0x20const0x260x29(ptr noundef %2182, i32 noundef %2183, i32 noundef %2184, i32 noundef %2185, i32 noundef %2186)
  store i32 %2187, ptr %33, align 4, !tbaa !9
  %2188 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2188, ptr %33, align 4, !tbaa !9
  %2189 = load ptr, ptr %12, align 8, !tbaa !5
  %2190 = getelementptr inbounds %struct.w2c_hermes, ptr %2189, i32 0, i32 6
  %2191 = load i32, ptr %33, align 4, !tbaa !9
  %2192 = zext i32 %2191 to i64
  %2193 = add i64 %2192, 84
  %2194 = call i32 @i32_load(ptr noundef %2190, i64 noundef %2193)
  store i32 %2194, ptr %33, align 4, !tbaa !9
  %2195 = load ptr, ptr %12, align 8, !tbaa !5
  %2196 = getelementptr inbounds %struct.w2c_hermes, ptr %2195, i32 0, i32 6
  %2197 = load i32, ptr %33, align 4, !tbaa !9
  %2198 = zext i32 %2197 to i64
  %2199 = add i64 %2198, 128
  %2200 = call i32 @i32_load(ptr noundef %2196, i64 noundef %2199)
  store i32 %2200, ptr %33, align 4, !tbaa !9
  %2201 = load i32, ptr %33, align 4, !tbaa !9
  %2202 = icmp ne i32 %2201, 0
  br i1 %2202, label %2203, label %2293

2203:                                             ; preds = %2168
  %2204 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2204, ptr %33, align 4, !tbaa !9
  %2205 = load i32, ptr %33, align 4, !tbaa !9
  %2206 = icmp ne i32 %2205, 0
  br i1 %2206, label %2207, label %2216

2207:                                             ; preds = %2203
  %2208 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2208, ptr %33, align 4, !tbaa !9
  store i32 -64, ptr %34, align 4, !tbaa !9
  %2209 = load i32, ptr %34, align 4, !tbaa !9
  %2210 = load i32, ptr %33, align 4, !tbaa !9
  %2211 = sub i32 %2210, %2209
  store i32 %2211, ptr %33, align 4, !tbaa !9
  %2212 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2212, ptr %34, align 4, !tbaa !9
  %2213 = load ptr, ptr %12, align 8, !tbaa !5
  %2214 = load i32, ptr %33, align 4, !tbaa !9
  %2215 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef %2213, i32 noundef %2214, i32 noundef %2215)
  br label %2258

2216:                                             ; preds = %2203
  %2217 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2217, ptr %33, align 4, !tbaa !9
  store i32 48758, ptr %34, align 4, !tbaa !9
  %2218 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2218, ptr %17, align 4, !tbaa !9
  %2219 = load ptr, ptr %12, align 8, !tbaa !5
  %2220 = getelementptr inbounds %struct.w2c_hermes, ptr %2219, i32 0, i32 6
  %2221 = load i32, ptr %34, align 4, !tbaa !9
  %2222 = zext i32 %2221 to i64
  %2223 = add i64 %2222, 4
  %2224 = call i32 @i32_load8_u(ptr noundef %2220, i64 noundef %2223)
  store i32 %2224, ptr %34, align 4, !tbaa !9
  %2225 = load ptr, ptr %12, align 8, !tbaa !5
  %2226 = getelementptr inbounds %struct.w2c_hermes, ptr %2225, i32 0, i32 6
  %2227 = load i32, ptr %33, align 4, !tbaa !9
  %2228 = zext i32 %2227 to i64
  %2229 = add i64 %2228, 68
  %2230 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2226, i64 noundef %2229, i32 noundef %2230)
  %2231 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2231, ptr %33, align 4, !tbaa !9
  store i32 5, ptr %34, align 4, !tbaa !9
  %2232 = load ptr, ptr %12, align 8, !tbaa !5
  %2233 = getelementptr inbounds %struct.w2c_hermes, ptr %2232, i32 0, i32 6
  %2234 = load i32, ptr %33, align 4, !tbaa !9
  %2235 = zext i32 %2234 to i64
  %2236 = add i64 %2235, 75
  %2237 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2233, i64 noundef %2236, i32 noundef %2237)
  %2238 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2238, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2239 = load ptr, ptr %12, align 8, !tbaa !5
  %2240 = getelementptr inbounds %struct.w2c_hermes, ptr %2239, i32 0, i32 6
  %2241 = load i32, ptr %33, align 4, !tbaa !9
  %2242 = zext i32 %2241 to i64
  %2243 = add i64 %2242, 69
  %2244 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2240, i64 noundef %2243, i32 noundef %2244)
  %2245 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2245, ptr %33, align 4, !tbaa !9
  %2246 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2246, ptr %34, align 4, !tbaa !9
  %2247 = load ptr, ptr %12, align 8, !tbaa !5
  %2248 = getelementptr inbounds %struct.w2c_hermes, ptr %2247, i32 0, i32 6
  %2249 = load i32, ptr %34, align 4, !tbaa !9
  %2250 = zext i32 %2249 to i64
  %2251 = call i32 @i32_load(ptr noundef %2248, i64 noundef %2250)
  store i32 %2251, ptr %34, align 4, !tbaa !9
  %2252 = load ptr, ptr %12, align 8, !tbaa !5
  %2253 = getelementptr inbounds %struct.w2c_hermes, ptr %2252, i32 0, i32 6
  %2254 = load i32, ptr %33, align 4, !tbaa !9
  %2255 = zext i32 %2254 to i64
  %2256 = add i64 %2255, 64
  %2257 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2253, i64 noundef %2256, i32 noundef %2257)
  br label %2258

2258:                                             ; preds = %2216, %2207
  %2259 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2259, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2260 = load ptr, ptr %12, align 8, !tbaa !5
  %2261 = getelementptr inbounds %struct.w2c_hermes, ptr %2260, i32 0, i32 6
  %2262 = load i32, ptr %33, align 4, !tbaa !9
  %2263 = zext i32 %2262 to i64
  %2264 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2261, i64 noundef %2263, i32 noundef %2264)
  %2265 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2265, ptr %33, align 4, !tbaa !9
  %2266 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2266, ptr %34, align 4, !tbaa !9
  %2267 = load ptr, ptr %12, align 8, !tbaa !5
  %2268 = getelementptr inbounds %struct.w2c_hermes, ptr %2267, i32 0, i32 6
  %2269 = load i32, ptr %34, align 4, !tbaa !9
  %2270 = zext i32 %2269 to i64
  %2271 = add i64 %2270, 64
  %2272 = call i64 @i64_load(ptr noundef %2268, i64 noundef %2271)
  store i64 %2272, ptr %40, align 8, !tbaa !11
  %2273 = load ptr, ptr %12, align 8, !tbaa !5
  %2274 = getelementptr inbounds %struct.w2c_hermes, ptr %2273, i32 0, i32 6
  %2275 = load i32, ptr %33, align 4, !tbaa !9
  %2276 = zext i32 %2275 to i64
  %2277 = add i64 %2276, 4
  %2278 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2274, i64 noundef %2277, i64 noundef %2278)
  %2279 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2279, ptr %33, align 4, !tbaa !9
  %2280 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2280, ptr %34, align 4, !tbaa !9
  %2281 = load ptr, ptr %12, align 8, !tbaa !5
  %2282 = getelementptr inbounds %struct.w2c_hermes, ptr %2281, i32 0, i32 6
  %2283 = load i32, ptr %34, align 4, !tbaa !9
  %2284 = zext i32 %2283 to i64
  %2285 = add i64 %2284, 72
  %2286 = call i32 @i32_load(ptr noundef %2282, i64 noundef %2285)
  store i32 %2286, ptr %34, align 4, !tbaa !9
  %2287 = load ptr, ptr %12, align 8, !tbaa !5
  %2288 = getelementptr inbounds %struct.w2c_hermes, ptr %2287, i32 0, i32 6
  %2289 = load i32, ptr %33, align 4, !tbaa !9
  %2290 = zext i32 %2289 to i64
  %2291 = add i64 %2290, 12
  %2292 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2288, i64 noundef %2291, i32 noundef %2292)
  br label %2902

2293:                                             ; preds = %2168
  store i32 0, ptr %33, align 4, !tbaa !9
  %2294 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2294, ptr %24, align 4, !tbaa !9
  %2295 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2295, ptr %33, align 4, !tbaa !9
  %2296 = load ptr, ptr %12, align 8, !tbaa !5
  %2297 = getelementptr inbounds %struct.w2c_hermes, ptr %2296, i32 0, i32 6
  %2298 = load i32, ptr %33, align 4, !tbaa !9
  %2299 = zext i32 %2298 to i64
  %2300 = add i64 %2299, 16
  %2301 = call i32 @i32_load(ptr noundef %2297, i64 noundef %2300)
  store i32 %2301, ptr %33, align 4, !tbaa !9
  %2302 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2302, ptr %15, align 4, !tbaa !9
  %2303 = load i32, ptr %33, align 4, !tbaa !9
  %2304 = icmp ne i32 %2303, 0
  br i1 %2304, label %2305, label %2390

2305:                                             ; preds = %2293
  %2306 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2306, ptr %33, align 4, !tbaa !9
  %2307 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2307, ptr %34, align 4, !tbaa !9
  %2308 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2308, ptr %35, align 4, !tbaa !9
  %2309 = load ptr, ptr %12, align 8, !tbaa !5
  %2310 = getelementptr inbounds %struct.w2c_hermes, ptr %2309, i32 0, i32 6
  %2311 = load i32, ptr %35, align 4, !tbaa !9
  %2312 = zext i32 %2311 to i64
  %2313 = call i32 @i32_load(ptr noundef %2310, i64 noundef %2312)
  store i32 %2313, ptr %35, align 4, !tbaa !9
  %2314 = load ptr, ptr %12, align 8, !tbaa !5
  %2315 = getelementptr inbounds %struct.w2c_hermes, ptr %2314, i32 0, i32 6
  %2316 = load i32, ptr %35, align 4, !tbaa !9
  %2317 = zext i32 %2316 to i64
  %2318 = add i64 %2317, 24
  %2319 = call i32 @i32_load(ptr noundef %2315, i64 noundef %2318)
  store i32 %2319, ptr %35, align 4, !tbaa !9
  %2320 = load i32, ptr %35, align 4, !tbaa !9
  %2321 = load ptr, ptr %12, align 8, !tbaa !5
  %2322 = getelementptr inbounds %struct.w2c_hermes, ptr %2321, i32 0, i32 7
  %2323 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2322, i32 0, i32 2
  %2324 = load i32, ptr %2323, align 4, !tbaa !18
  %2325 = icmp ult i32 %2320, %2324
  br i1 %2325, label %2326, label %2349

2326:                                             ; preds = %2305
  %2327 = load ptr, ptr %12, align 8, !tbaa !5
  %2328 = getelementptr inbounds %struct.w2c_hermes, ptr %2327, i32 0, i32 7
  %2329 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2328, i32 0, i32 0
  %2330 = load ptr, ptr %2329, align 8, !tbaa !19
  %2331 = load i32, ptr %35, align 4, !tbaa !9
  %2332 = zext i32 %2331 to i64
  %2333 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2330, i64 %2332
  %2334 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2333, i32 0, i32 1
  %2335 = load ptr, ptr %2334, align 8, !tbaa !20
  %2336 = icmp ne ptr %2335, null
  br i1 %2336, label %2337, label %2349

2337:                                             ; preds = %2326
  %2338 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %2339 = load ptr, ptr %12, align 8, !tbaa !5
  %2340 = getelementptr inbounds %struct.w2c_hermes, ptr %2339, i32 0, i32 7
  %2341 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2340, i32 0, i32 0
  %2342 = load ptr, ptr %2341, align 8, !tbaa !19
  %2343 = load i32, ptr %35, align 4, !tbaa !9
  %2344 = zext i32 %2343 to i64
  %2345 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2342, i64 %2344
  %2346 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2345, i32 0, i32 0
  %2347 = load ptr, ptr %2346, align 8, !tbaa !22
  %2348 = call zeroext i1 @func_types_eq(ptr noundef %2338, ptr noundef %2347)
  br label %2349

2349:                                             ; preds = %2337, %2326, %2305
  %2350 = phi i1 [ false, %2326 ], [ false, %2305 ], [ %2348, %2337 ]
  %2351 = xor i1 %2350, true
  %2352 = xor i1 %2351, true
  %2353 = zext i1 %2352 to i32
  %2354 = sext i32 %2353 to i64
  %2355 = call i64 @llvm.expect.i64(i64 %2354, i64 1)
  %2356 = icmp ne i64 %2355, 0
  br i1 %2356, label %2359, label %2357

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

2358:                                             ; No predecessors!
  br label %2359

2359:                                             ; preds = %2358, %2349
  %2360 = phi i1 [ true, %2349 ], [ false, %2358 ]
  %2361 = zext i1 %2360 to i32
  %2362 = load ptr, ptr %12, align 8, !tbaa !5
  %2363 = getelementptr inbounds %struct.w2c_hermes, ptr %2362, i32 0, i32 7
  %2364 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2363, i32 0, i32 0
  %2365 = load ptr, ptr %2364, align 8, !tbaa !19
  %2366 = load i32, ptr %35, align 4, !tbaa !9
  %2367 = zext i32 %2366 to i64
  %2368 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2365, i64 %2367
  %2369 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2368, i32 0, i32 1
  %2370 = load ptr, ptr %2369, align 8, !tbaa !20
  %2371 = load ptr, ptr %12, align 8, !tbaa !5
  %2372 = getelementptr inbounds %struct.w2c_hermes, ptr %2371, i32 0, i32 7
  %2373 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2372, i32 0, i32 0
  %2374 = load ptr, ptr %2373, align 8, !tbaa !19
  %2375 = load i32, ptr %35, align 4, !tbaa !9
  %2376 = zext i32 %2375 to i64
  %2377 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2374, i64 %2376
  %2378 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2377, i32 0, i32 2
  %2379 = load ptr, ptr %2378, align 8, !tbaa !23
  %2380 = load i32, ptr %33, align 4, !tbaa !9
  %2381 = load i32, ptr %34, align 4, !tbaa !9
  call void %2370(ptr noundef %2379, i32 noundef %2380, i32 noundef %2381)
  %2382 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2382, ptr %33, align 4, !tbaa !9
  %2383 = load ptr, ptr %12, align 8, !tbaa !5
  %2384 = getelementptr inbounds %struct.w2c_hermes, ptr %2383, i32 0, i32 6
  %2385 = load i32, ptr %33, align 4, !tbaa !9
  %2386 = zext i32 %2385 to i64
  %2387 = add i64 %2386, 16
  %2388 = call i32 @i32_load(ptr noundef %2384, i64 noundef %2387)
  store i32 %2388, ptr %33, align 4, !tbaa !9
  %2389 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2389, ptr %24, align 4, !tbaa !9
  br label %2390

2390:                                             ; preds = %2359, %2293
  %2391 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2391, ptr %33, align 4, !tbaa !9
  %2392 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2392, ptr %34, align 4, !tbaa !9
  %2393 = load ptr, ptr %12, align 8, !tbaa !5
  %2394 = getelementptr inbounds %struct.w2c_hermes, ptr %2393, i32 0, i32 6
  %2395 = load i32, ptr %34, align 4, !tbaa !9
  %2396 = zext i32 %2395 to i64
  %2397 = add i64 %2396, 16
  %2398 = call i32 @i32_load(ptr noundef %2394, i64 noundef %2397)
  store i32 %2398, ptr %34, align 4, !tbaa !9
  %2399 = load ptr, ptr %12, align 8, !tbaa !5
  %2400 = getelementptr inbounds %struct.w2c_hermes, ptr %2399, i32 0, i32 6
  %2401 = load i32, ptr %33, align 4, !tbaa !9
  %2402 = zext i32 %2401 to i64
  %2403 = add i64 %2402, 80
  %2404 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2400, i64 noundef %2403, i32 noundef %2404)
  %2405 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2405, ptr %33, align 4, !tbaa !9
  store i32 72, ptr %34, align 4, !tbaa !9
  %2406 = load i32, ptr %34, align 4, !tbaa !9
  %2407 = load i32, ptr %33, align 4, !tbaa !9
  %2408 = add i32 %2407, %2406
  store i32 %2408, ptr %33, align 4, !tbaa !9
  %2409 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2409, ptr %15, align 4, !tbaa !9
  %2410 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2410, ptr %34, align 4, !tbaa !9
  %2411 = load ptr, ptr %12, align 8, !tbaa !5
  %2412 = getelementptr inbounds %struct.w2c_hermes, ptr %2411, i32 0, i32 6
  %2413 = load i32, ptr %34, align 4, !tbaa !9
  %2414 = zext i32 %2413 to i64
  %2415 = add i64 %2414, 8
  %2416 = call i64 @i64_load(ptr noundef %2412, i64 noundef %2415)
  store i64 %2416, ptr %40, align 8, !tbaa !11
  %2417 = load ptr, ptr %12, align 8, !tbaa !5
  %2418 = getelementptr inbounds %struct.w2c_hermes, ptr %2417, i32 0, i32 6
  %2419 = load i32, ptr %33, align 4, !tbaa !9
  %2420 = zext i32 %2419 to i64
  %2421 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2418, i64 noundef %2420, i64 noundef %2421)
  %2422 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2422, ptr %33, align 4, !tbaa !9
  %2423 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2423, ptr %34, align 4, !tbaa !9
  %2424 = load ptr, ptr %12, align 8, !tbaa !5
  %2425 = getelementptr inbounds %struct.w2c_hermes, ptr %2424, i32 0, i32 6
  %2426 = load i32, ptr %34, align 4, !tbaa !9
  %2427 = zext i32 %2426 to i64
  %2428 = call i64 @i64_load(ptr noundef %2425, i64 noundef %2427)
  store i64 %2428, ptr %40, align 8, !tbaa !11
  %2429 = load ptr, ptr %12, align 8, !tbaa !5
  %2430 = getelementptr inbounds %struct.w2c_hermes, ptr %2429, i32 0, i32 6
  %2431 = load i32, ptr %33, align 4, !tbaa !9
  %2432 = zext i32 %2431 to i64
  %2433 = add i64 %2432, 64
  %2434 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2430, i64 noundef %2433, i64 noundef %2434)
  %2435 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2435, ptr %33, align 4, !tbaa !9
  %2436 = load ptr, ptr %12, align 8, !tbaa !5
  %2437 = getelementptr inbounds %struct.w2c_hermes, ptr %2436, i32 0, i32 6
  %2438 = load i32, ptr %33, align 4, !tbaa !9
  %2439 = zext i32 %2438 to i64
  %2440 = add i64 %2439, 24
  %2441 = call i32 @i32_load(ptr noundef %2437, i64 noundef %2440)
  store i32 %2441, ptr %33, align 4, !tbaa !9
  %2442 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2442, ptr %20, align 4, !tbaa !9
  %2443 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2443, ptr %33, align 4, !tbaa !9
  %2444 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2444, ptr %34, align 4, !tbaa !9
  store i32 0, ptr %35, align 4, !tbaa !9
  %2445 = load i32, ptr %34, align 4, !tbaa !9
  %2446 = load i32, ptr %35, align 4, !tbaa !9
  %2447 = icmp ne i32 %2445, %2446
  %2448 = zext i1 %2447 to i32
  store i32 %2448, ptr %34, align 4, !tbaa !9
  %2449 = load ptr, ptr %12, align 8, !tbaa !5
  %2450 = getelementptr inbounds %struct.w2c_hermes, ptr %2449, i32 0, i32 6
  %2451 = load i32, ptr %33, align 4, !tbaa !9
  %2452 = zext i32 %2451 to i64
  %2453 = add i64 %2452, 68
  %2454 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2450, i64 noundef %2453, i32 noundef %2454)
  %2455 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2455, ptr %33, align 4, !tbaa !9
  %2456 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2456, ptr %34, align 4, !tbaa !9
  %2457 = load ptr, ptr %12, align 8, !tbaa !5
  %2458 = getelementptr inbounds %struct.w2c_hermes, ptr %2457, i32 0, i32 6
  %2459 = load i32, ptr %33, align 4, !tbaa !9
  %2460 = zext i32 %2459 to i64
  %2461 = add i64 %2460, 64
  %2462 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2458, i64 noundef %2461, i32 noundef %2462)
  %2463 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2463, ptr %33, align 4, !tbaa !9
  %2464 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2464, ptr %34, align 4, !tbaa !9
  %2465 = load ptr, ptr %12, align 8, !tbaa !5
  %2466 = getelementptr inbounds %struct.w2c_hermes, ptr %2465, i32 0, i32 6
  %2467 = load i32, ptr %34, align 4, !tbaa !9
  %2468 = zext i32 %2467 to i64
  %2469 = add i64 %2468, 363
  %2470 = call i32 @i32_load8_u(ptr noundef %2466, i64 noundef %2469)
  store i32 %2470, ptr %34, align 4, !tbaa !9
  %2471 = load ptr, ptr %12, align 8, !tbaa !5
  %2472 = getelementptr inbounds %struct.w2c_hermes, ptr %2471, i32 0, i32 6
  %2473 = load i32, ptr %33, align 4, !tbaa !9
  %2474 = zext i32 %2473 to i64
  %2475 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2472, i64 noundef %2474, i32 noundef %2475)
  %2476 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2476, ptr %33, align 4, !tbaa !9
  %2477 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2477, ptr %34, align 4, !tbaa !9
  %2478 = load ptr, ptr %12, align 8, !tbaa !5
  %2479 = getelementptr inbounds %struct.w2c_hermes, ptr %2478, i32 0, i32 6
  %2480 = load i32, ptr %34, align 4, !tbaa !9
  %2481 = zext i32 %2480 to i64
  %2482 = add i64 %2481, 15
  %2483 = call i32 @i32_load8_u(ptr noundef %2479, i64 noundef %2482)
  store i32 %2483, ptr %34, align 4, !tbaa !9
  %2484 = load ptr, ptr %12, align 8, !tbaa !5
  %2485 = getelementptr inbounds %struct.w2c_hermes, ptr %2484, i32 0, i32 6
  %2486 = load i32, ptr %33, align 4, !tbaa !9
  %2487 = zext i32 %2486 to i64
  %2488 = add i64 %2487, 73
  %2489 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2485, i64 noundef %2488, i32 noundef %2489)
  %2490 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2490, ptr %33, align 4, !tbaa !9
  %2491 = load ptr, ptr %12, align 8, !tbaa !5
  %2492 = getelementptr inbounds %struct.w2c_hermes, ptr %2491, i32 0, i32 6
  %2493 = load i32, ptr %33, align 4, !tbaa !9
  %2494 = zext i32 %2493 to i64
  %2495 = add i64 %2494, 40
  %2496 = call i32 @i32_load(ptr noundef %2492, i64 noundef %2495)
  store i32 %2496, ptr %33, align 4, !tbaa !9
  %2497 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2497, ptr %34, align 4, !tbaa !9
  store i32 40, ptr %35, align 4, !tbaa !9
  %2498 = load i32, ptr %35, align 4, !tbaa !9
  %2499 = load i32, ptr %34, align 4, !tbaa !9
  %2500 = add i32 %2499, %2498
  store i32 %2500, ptr %34, align 4, !tbaa !9
  %2501 = load i32, ptr %33, align 4, !tbaa !9
  %2502 = load i32, ptr %34, align 4, !tbaa !9
  %2503 = icmp eq i32 %2501, %2502
  %2504 = zext i1 %2503 to i32
  store i32 %2504, ptr %33, align 4, !tbaa !9
  %2505 = load i32, ptr %33, align 4, !tbaa !9
  %2506 = icmp ne i32 %2505, 0
  br i1 %2506, label %2507, label %2508

2507:                                             ; preds = %2390
  br label %3563

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

2559:                                             ; preds = %2508
  %2560 = load i32, ptr %34, align 4, !tbaa !9
  br label %2563

2561:                                             ; preds = %2508
  %2562 = load i32, ptr %35, align 4, !tbaa !9
  br label %2563

2563:                                             ; preds = %2561, %2559
  %2564 = phi i32 [ %2560, %2559 ], [ %2562, %2561 ]
  store i32 %2564, ptr %34, align 4, !tbaa !9
  %2565 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2565, ptr %35, align 4, !tbaa !9
  store i32 -64, ptr %36, align 4, !tbaa !9
  %2566 = load i32, ptr %36, align 4, !tbaa !9
  %2567 = load i32, ptr %35, align 4, !tbaa !9
  %2568 = sub i32 %2567, %2566
  store i32 %2568, ptr %35, align 4, !tbaa !9
  %2569 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2569, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %2570 = load i32, ptr %37, align 4, !tbaa !9
  %2571 = load i32, ptr %36, align 4, !tbaa !9
  %2572 = add i32 %2571, %2570
  store i32 %2572, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %2573 = load ptr, ptr %12, align 8, !tbaa !5
  %2574 = load i32, ptr %33, align 4, !tbaa !9
  %2575 = load i32, ptr %34, align 4, !tbaa !9
  %2576 = load i32, ptr %35, align 4, !tbaa !9
  %2577 = load i32, ptr %36, align 4, !tbaa !9
  %2578 = load i32, ptr %37, align 4, !tbaa !9
  %2579 = load i32, ptr %38, align 4, !tbaa !9
  %2580 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AgenerateBytecodeModule0x28hermes0x3A0x3AModule0x2A0x2C0x20hermes0x3A0x3AFunction0x2A0x2C0x20hermes0x3A0x3ABytecodeGenerationOptions0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x2C0x20hermes0x3A0x3ASourceMapGenerator0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x3E0x29(ptr noundef %2573, i32 noundef %2574, i32 noundef %2575, i32 noundef %2576, i32 noundef %2577, i32 noundef %2578, i32 noundef %2579)
  store i32 %2580, ptr %33, align 4, !tbaa !9
  %2581 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2581, ptr %17, align 4, !tbaa !9
  %2582 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2582, ptr %33, align 4, !tbaa !9
  %2583 = load ptr, ptr %12, align 8, !tbaa !5
  %2584 = getelementptr inbounds %struct.w2c_hermes, ptr %2583, i32 0, i32 6
  %2585 = load i32, ptr %33, align 4, !tbaa !9
  %2586 = zext i32 %2585 to i64
  %2587 = add i64 %2586, 84
  %2588 = call i32 @i32_load(ptr noundef %2584, i64 noundef %2587)
  store i32 %2588, ptr %33, align 4, !tbaa !9
  %2589 = load ptr, ptr %12, align 8, !tbaa !5
  %2590 = getelementptr inbounds %struct.w2c_hermes, ptr %2589, i32 0, i32 6
  %2591 = load i32, ptr %33, align 4, !tbaa !9
  %2592 = zext i32 %2591 to i64
  %2593 = add i64 %2592, 128
  %2594 = call i32 @i32_load(ptr noundef %2590, i64 noundef %2593)
  store i32 %2594, ptr %33, align 4, !tbaa !9
  %2595 = load i32, ptr %33, align 4, !tbaa !9
  %2596 = icmp ne i32 %2595, 0
  br i1 %2596, label %2597, label %2615

2597:                                             ; preds = %2563
  %2598 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2598, ptr %33, align 4, !tbaa !9
  %2599 = load i32, ptr %33, align 4, !tbaa !9
  %2600 = icmp ne i32 %2599, 0
  %2601 = xor i1 %2600, true
  %2602 = zext i1 %2601 to i32
  store i32 %2602, ptr %33, align 4, !tbaa !9
  %2603 = load i32, ptr %33, align 4, !tbaa !9
  %2604 = icmp ne i32 %2603, 0
  br i1 %2604, label %2605, label %2606

2605:                                             ; preds = %2597
  br label %2810

2606:                                             ; preds = %2597
  %2607 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2607, ptr %33, align 4, !tbaa !9
  store i32 44, ptr %34, align 4, !tbaa !9
  %2608 = load i32, ptr %34, align 4, !tbaa !9
  %2609 = load i32, ptr %33, align 4, !tbaa !9
  %2610 = add i32 %2609, %2608
  store i32 %2610, ptr %33, align 4, !tbaa !9
  %2611 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2611, ptr %34, align 4, !tbaa !9
  %2612 = load ptr, ptr %12, align 8, !tbaa !5
  %2613 = load i32, ptr %33, align 4, !tbaa !9
  %2614 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef %2612, i32 noundef %2613, i32 noundef %2614)
  br label %2852

2615:                                             ; preds = %2563
  store i32 172, ptr %33, align 4, !tbaa !9
  %2616 = load ptr, ptr %12, align 8, !tbaa !5
  %2617 = load i32, ptr %33, align 4, !tbaa !9
  %2618 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2616, i32 noundef %2617)
  store i32 %2618, ptr %33, align 4, !tbaa !9
  %2619 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2619, ptr %34, align 4, !tbaa !9
  %2620 = load ptr, ptr %12, align 8, !tbaa !5
  %2621 = load i32, ptr %33, align 4, !tbaa !9
  %2622 = load i32, ptr %34, align 4, !tbaa !9
  %2623 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABCProviderFromSrc0x3A0x3ABCProviderFromSrc0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3E0x3E0x29(ptr noundef %2620, i32 noundef %2621, i32 noundef %2622)
  store i32 %2623, ptr %33, align 4, !tbaa !9
  %2624 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2624, ptr %16, align 4, !tbaa !9
  %2625 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2625, ptr %33, align 4, !tbaa !9
  %2626 = load ptr, ptr %12, align 8, !tbaa !5
  %2627 = getelementptr inbounds %struct.w2c_hermes, ptr %2626, i32 0, i32 6
  %2628 = load i32, ptr %33, align 4, !tbaa !9
  %2629 = zext i32 %2628 to i64
  %2630 = add i64 %2629, 700
  %2631 = call i32 @i32_load8_u(ptr noundef %2627, i64 noundef %2630)
  store i32 %2631, ptr %33, align 4, !tbaa !9
  %2632 = load i32, ptr %33, align 4, !tbaa !9
  %2633 = icmp ne i32 %2632, 0
  %2634 = xor i1 %2633, true
  %2635 = zext i1 %2634 to i32
  store i32 %2635, ptr %33, align 4, !tbaa !9
  %2636 = load i32, ptr %33, align 4, !tbaa !9
  %2637 = icmp ne i32 %2636, 0
  br i1 %2637, label %2638, label %2639

2638:                                             ; preds = %2615
  br label %3581

2639:                                             ; preds = %2615
  %2640 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2640, ptr %33, align 4, !tbaa !9
  %2641 = load ptr, ptr %12, align 8, !tbaa !5
  %2642 = getelementptr inbounds %struct.w2c_hermes, ptr %2641, i32 0, i32 6
  %2643 = load i32, ptr %33, align 4, !tbaa !9
  %2644 = zext i32 %2643 to i64
  %2645 = add i64 %2644, 696
  %2646 = call i32 @i32_load(ptr noundef %2642, i64 noundef %2645)
  store i32 %2646, ptr %33, align 4, !tbaa !9
  %2647 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2647, ptr %24, align 4, !tbaa !9
  %2648 = load i32, ptr %33, align 4, !tbaa !9
  %2649 = icmp ne i32 %2648, 0
  %2650 = xor i1 %2649, true
  %2651 = zext i1 %2650 to i32
  store i32 %2651, ptr %33, align 4, !tbaa !9
  %2652 = load i32, ptr %33, align 4, !tbaa !9
  %2653 = icmp ne i32 %2652, 0
  br i1 %2653, label %2654, label %2655

2654:                                             ; preds = %2639
  br label %3599

2655:                                             ; preds = %2639
  store i32 0, ptr %33, align 4, !tbaa !9
  %2656 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2656, ptr %17, align 4, !tbaa !9
  %2657 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2657, ptr %33, align 4, !tbaa !9
  %2658 = load ptr, ptr %12, align 8, !tbaa !5
  %2659 = getelementptr inbounds %struct.w2c_hermes, ptr %2658, i32 0, i32 6
  %2660 = load i32, ptr %33, align 4, !tbaa !9
  %2661 = zext i32 %2660 to i64
  %2662 = add i64 %2661, 8
  %2663 = call i32 @i32_load(ptr noundef %2659, i64 noundef %2662)
  store i32 %2663, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %2664 = load i32, ptr %33, align 4, !tbaa !9
  %2665 = load i32, ptr %34, align 4, !tbaa !9
  %2666 = icmp ne i32 %2664, %2665
  %2667 = zext i1 %2666 to i32
  store i32 %2667, ptr %33, align 4, !tbaa !9
  %2668 = load i32, ptr %33, align 4, !tbaa !9
  %2669 = icmp ne i32 %2668, 0
  br i1 %2669, label %2670, label %2671

2670:                                             ; preds = %2655
  br label %2780

2671:                                             ; preds = %2655
  %2672 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2672, ptr %33, align 4, !tbaa !9
  %2673 = load ptr, ptr %12, align 8, !tbaa !5
  %2674 = getelementptr inbounds %struct.w2c_hermes, ptr %2673, i32 0, i32 6
  %2675 = load i32, ptr %33, align 4, !tbaa !9
  %2676 = zext i32 %2675 to i64
  %2677 = add i64 %2676, 56
  %2678 = call i32 @i32_load(ptr noundef %2674, i64 noundef %2677)
  store i32 %2678, ptr %33, align 4, !tbaa !9
  %2679 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2679, ptr %26, align 4, !tbaa !9
  %2680 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2680, ptr %34, align 4, !tbaa !9
  store i32 52, ptr %35, align 4, !tbaa !9
  %2681 = load i32, ptr %35, align 4, !tbaa !9
  %2682 = load i32, ptr %34, align 4, !tbaa !9
  %2683 = add i32 %2682, %2681
  store i32 %2683, ptr %34, align 4, !tbaa !9
  %2684 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2684, ptr %15, align 4, !tbaa !9
  %2685 = load i32, ptr %33, align 4, !tbaa !9
  %2686 = load i32, ptr %34, align 4, !tbaa !9
  %2687 = icmp eq i32 %2685, %2686
  %2688 = zext i1 %2687 to i32
  store i32 %2688, ptr %33, align 4, !tbaa !9
  %2689 = load i32, ptr %33, align 4, !tbaa !9
  %2690 = icmp ne i32 %2689, 0
  br i1 %2690, label %2691, label %2692

2691:                                             ; preds = %2671
  br label %2780

2692:                                             ; preds = %2671
  %2693 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2693, ptr %33, align 4, !tbaa !9
  %2694 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2694, ptr %24, align 4, !tbaa !9
  br label %2695

2695:                                             ; preds = %2717, %2692
  %2696 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2696, ptr %33, align 4, !tbaa !9
  %2697 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2697, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2698 = load i32, ptr %34, align 4, !tbaa !9
  %2699 = load i32, ptr %33, align 4, !tbaa !9
  %2700 = add i32 %2699, %2698
  store i32 %2700, ptr %33, align 4, !tbaa !9
  %2701 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2701, ptr %17, align 4, !tbaa !9
  %2702 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2702, ptr %33, align 4, !tbaa !9
  %2703 = load ptr, ptr %12, align 8, !tbaa !5
  %2704 = getelementptr inbounds %struct.w2c_hermes, ptr %2703, i32 0, i32 6
  %2705 = load i32, ptr %33, align 4, !tbaa !9
  %2706 = zext i32 %2705 to i64
  %2707 = add i64 %2706, 4
  %2708 = call i32 @i32_load(ptr noundef %2704, i64 noundef %2707)
  store i32 %2708, ptr %33, align 4, !tbaa !9
  %2709 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2709, ptr %24, align 4, !tbaa !9
  %2710 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2710, ptr %34, align 4, !tbaa !9
  %2711 = load i32, ptr %33, align 4, !tbaa !9
  %2712 = load i32, ptr %34, align 4, !tbaa !9
  %2713 = icmp ne i32 %2711, %2712
  %2714 = zext i1 %2713 to i32
  store i32 %2714, ptr %33, align 4, !tbaa !9
  %2715 = load i32, ptr %33, align 4, !tbaa !9
  %2716 = icmp ne i32 %2715, 0
  br i1 %2716, label %2717, label %2718

2717:                                             ; preds = %2695
  br label %2695

2718:                                             ; preds = %2695
  store i32 0, ptr %33, align 4, !tbaa !9
  %2719 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2719, ptr %17, align 4, !tbaa !9
  %2720 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2720, ptr %33, align 4, !tbaa !9
  %2721 = load i32, ptr %33, align 4, !tbaa !9
  %2722 = icmp ne i32 %2721, 0
  br i1 %2722, label %2723, label %2724

2723:                                             ; preds = %2718
  br label %2780

2724:                                             ; preds = %2718
  %2725 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2725, ptr %33, align 4, !tbaa !9
  %2726 = load i32, ptr %33, align 4, !tbaa !9
  %2727 = icmp ne i32 %2726, 0
  %2728 = xor i1 %2727, true
  %2729 = zext i1 %2728 to i32
  store i32 %2729, ptr %33, align 4, !tbaa !9
  %2730 = load i32, ptr %33, align 4, !tbaa !9
  %2731 = icmp ne i32 %2730, 0
  br i1 %2731, label %2732, label %2733

2732:                                             ; preds = %2724
  br label %3617

2733:                                             ; preds = %2724
  %2734 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2734, ptr %33, align 4, !tbaa !9
  %2735 = load ptr, ptr %12, align 8, !tbaa !5
  %2736 = getelementptr inbounds %struct.w2c_hermes, ptr %2735, i32 0, i32 6
  %2737 = load i32, ptr %33, align 4, !tbaa !9
  %2738 = zext i32 %2737 to i64
  %2739 = add i64 %2738, 8
  %2740 = call i32 @i32_load(ptr noundef %2736, i64 noundef %2739)
  store i32 %2740, ptr %33, align 4, !tbaa !9
  store i32 28, ptr %34, align 4, !tbaa !9
  %2741 = load i32, ptr %33, align 4, !tbaa !9
  %2742 = load i32, ptr %34, align 4, !tbaa !9
  %2743 = icmp ne i32 %2741, %2742
  %2744 = zext i1 %2743 to i32
  store i32 %2744, ptr %33, align 4, !tbaa !9
  %2745 = load i32, ptr %33, align 4, !tbaa !9
  %2746 = icmp ne i32 %2745, 0
  br i1 %2746, label %2747, label %2748

2747:                                             ; preds = %2733
  br label %2780

2748:                                             ; preds = %2733
  %2749 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2749, ptr %33, align 4, !tbaa !9
  %2750 = load ptr, ptr %12, align 8, !tbaa !5
  %2751 = getelementptr inbounds %struct.w2c_hermes, ptr %2750, i32 0, i32 6
  %2752 = load i32, ptr %33, align 4, !tbaa !9
  %2753 = zext i32 %2752 to i64
  %2754 = add i64 %2753, 28
  %2755 = call i32 @i32_load(ptr noundef %2751, i64 noundef %2754)
  store i32 %2755, ptr %33, align 4, !tbaa !9
  %2756 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2756, ptr %17, align 4, !tbaa !9
  %2757 = load i32, ptr %33, align 4, !tbaa !9
  %2758 = icmp ne i32 %2757, 0
  %2759 = xor i1 %2758, true
  %2760 = zext i1 %2759 to i32
  store i32 %2760, ptr %33, align 4, !tbaa !9
  %2761 = load i32, ptr %33, align 4, !tbaa !9
  %2762 = icmp ne i32 %2761, 0
  br i1 %2762, label %2763, label %2764

2763:                                             ; preds = %2748
  br label %3635

2764:                                             ; preds = %2748
  %2765 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2765, ptr %33, align 4, !tbaa !9
  %2766 = load ptr, ptr %12, align 8, !tbaa !5
  %2767 = getelementptr inbounds %struct.w2c_hermes, ptr %2766, i32 0, i32 6
  %2768 = load i32, ptr %33, align 4, !tbaa !9
  %2769 = zext i32 %2768 to i64
  %2770 = add i64 %2769, 8
  %2771 = call i32 @i32_load(ptr noundef %2767, i64 noundef %2770)
  store i32 %2771, ptr %33, align 4, !tbaa !9
  store i32 -2, ptr %34, align 4, !tbaa !9
  %2772 = load i32, ptr %34, align 4, !tbaa !9
  %2773 = load i32, ptr %33, align 4, !tbaa !9
  %2774 = and i32 %2773, %2772
  store i32 %2774, ptr %33, align 4, !tbaa !9
  store i32 4, ptr %34, align 4, !tbaa !9
  %2775 = load i32, ptr %33, align 4, !tbaa !9
  %2776 = load i32, ptr %34, align 4, !tbaa !9
  %2777 = icmp eq i32 %2775, %2776
  %2778 = zext i1 %2777 to i32
  store i32 %2778, ptr %33, align 4, !tbaa !9
  %2779 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2779, ptr %17, align 4, !tbaa !9
  br label %2780

2780:                                             ; preds = %2764, %2747, %2723, %2691, %2670
  %2781 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2781, ptr %33, align 4, !tbaa !9
  %2782 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2782, ptr %34, align 4, !tbaa !9
  %2783 = load ptr, ptr %12, align 8, !tbaa !5
  %2784 = getelementptr inbounds %struct.w2c_hermes, ptr %2783, i32 0, i32 6
  %2785 = load i32, ptr %33, align 4, !tbaa !9
  %2786 = zext i32 %2785 to i64
  %2787 = add i64 %2786, 148
  %2788 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2784, i64 noundef %2787, i32 noundef %2788)
  %2789 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2789, ptr %33, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %2790 = load ptr, ptr %12, align 8, !tbaa !5
  %2791 = getelementptr inbounds %struct.w2c_hermes, ptr %2790, i32 0, i32 6
  %2792 = load i32, ptr %33, align 4, !tbaa !9
  %2793 = zext i32 %2792 to i64
  %2794 = add i64 %2793, 4
  %2795 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2791, i64 noundef %2794, i64 noundef %2795)
  %2796 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2796, ptr %33, align 4, !tbaa !9
  %2797 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2797, ptr %34, align 4, !tbaa !9
  %2798 = load ptr, ptr %12, align 8, !tbaa !5
  %2799 = getelementptr inbounds %struct.w2c_hermes, ptr %2798, i32 0, i32 6
  %2800 = load i32, ptr %33, align 4, !tbaa !9
  %2801 = zext i32 %2800 to i64
  %2802 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2799, i64 noundef %2801, i32 noundef %2802)
  %2803 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2803, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2804 = load ptr, ptr %12, align 8, !tbaa !5
  %2805 = getelementptr inbounds %struct.w2c_hermes, ptr %2804, i32 0, i32 6
  %2806 = load i32, ptr %33, align 4, !tbaa !9
  %2807 = zext i32 %2806 to i64
  %2808 = add i64 %2807, 12
  %2809 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2805, i64 noundef %2808, i32 noundef %2809)
  br label %2902

2810:                                             ; preds = %2605
  %2811 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2811, ptr %33, align 4, !tbaa !9
  store i32 48758, ptr %34, align 4, !tbaa !9
  %2812 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2812, ptr %24, align 4, !tbaa !9
  %2813 = load ptr, ptr %12, align 8, !tbaa !5
  %2814 = getelementptr inbounds %struct.w2c_hermes, ptr %2813, i32 0, i32 6
  %2815 = load i32, ptr %34, align 4, !tbaa !9
  %2816 = zext i32 %2815 to i64
  %2817 = add i64 %2816, 4
  %2818 = call i32 @i32_load8_u(ptr noundef %2814, i64 noundef %2817)
  store i32 %2818, ptr %34, align 4, !tbaa !9
  %2819 = load ptr, ptr %12, align 8, !tbaa !5
  %2820 = getelementptr inbounds %struct.w2c_hermes, ptr %2819, i32 0, i32 6
  %2821 = load i32, ptr %33, align 4, !tbaa !9
  %2822 = zext i32 %2821 to i64
  %2823 = add i64 %2822, 48
  %2824 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2820, i64 noundef %2823, i32 noundef %2824)
  %2825 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2825, ptr %33, align 4, !tbaa !9
  store i32 5, ptr %34, align 4, !tbaa !9
  %2826 = load ptr, ptr %12, align 8, !tbaa !5
  %2827 = getelementptr inbounds %struct.w2c_hermes, ptr %2826, i32 0, i32 6
  %2828 = load i32, ptr %33, align 4, !tbaa !9
  %2829 = zext i32 %2828 to i64
  %2830 = add i64 %2829, 55
  %2831 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2827, i64 noundef %2830, i32 noundef %2831)
  %2832 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2832, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2833 = load ptr, ptr %12, align 8, !tbaa !5
  %2834 = getelementptr inbounds %struct.w2c_hermes, ptr %2833, i32 0, i32 6
  %2835 = load i32, ptr %33, align 4, !tbaa !9
  %2836 = zext i32 %2835 to i64
  %2837 = add i64 %2836, 49
  %2838 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2834, i64 noundef %2837, i32 noundef %2838)
  %2839 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2839, ptr %33, align 4, !tbaa !9
  %2840 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2840, ptr %34, align 4, !tbaa !9
  %2841 = load ptr, ptr %12, align 8, !tbaa !5
  %2842 = getelementptr inbounds %struct.w2c_hermes, ptr %2841, i32 0, i32 6
  %2843 = load i32, ptr %34, align 4, !tbaa !9
  %2844 = zext i32 %2843 to i64
  %2845 = call i32 @i32_load(ptr noundef %2842, i64 noundef %2844)
  store i32 %2845, ptr %34, align 4, !tbaa !9
  %2846 = load ptr, ptr %12, align 8, !tbaa !5
  %2847 = getelementptr inbounds %struct.w2c_hermes, ptr %2846, i32 0, i32 6
  %2848 = load i32, ptr %33, align 4, !tbaa !9
  %2849 = zext i32 %2848 to i64
  %2850 = add i64 %2849, 44
  %2851 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2847, i64 noundef %2850, i32 noundef %2851)
  br label %2852

2852:                                             ; preds = %2810, %2606
  %2853 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2853, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %2854 = load ptr, ptr %12, align 8, !tbaa !5
  %2855 = getelementptr inbounds %struct.w2c_hermes, ptr %2854, i32 0, i32 6
  %2856 = load i32, ptr %33, align 4, !tbaa !9
  %2857 = zext i32 %2856 to i64
  %2858 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2855, i64 noundef %2857, i32 noundef %2858)
  %2859 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2859, ptr %33, align 4, !tbaa !9
  %2860 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2860, ptr %34, align 4, !tbaa !9
  %2861 = load ptr, ptr %12, align 8, !tbaa !5
  %2862 = getelementptr inbounds %struct.w2c_hermes, ptr %2861, i32 0, i32 6
  %2863 = load i32, ptr %34, align 4, !tbaa !9
  %2864 = zext i32 %2863 to i64
  %2865 = add i64 %2864, 44
  %2866 = call i64 @i64_load(ptr noundef %2862, i64 noundef %2865)
  store i64 %2866, ptr %40, align 8, !tbaa !11
  %2867 = load ptr, ptr %12, align 8, !tbaa !5
  %2868 = getelementptr inbounds %struct.w2c_hermes, ptr %2867, i32 0, i32 6
  %2869 = load i32, ptr %33, align 4, !tbaa !9
  %2870 = zext i32 %2869 to i64
  %2871 = add i64 %2870, 4
  %2872 = load i64, ptr %40, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2868, i64 noundef %2871, i64 noundef %2872)
  %2873 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2873, ptr %33, align 4, !tbaa !9
  %2874 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2874, ptr %34, align 4, !tbaa !9
  %2875 = load ptr, ptr %12, align 8, !tbaa !5
  %2876 = getelementptr inbounds %struct.w2c_hermes, ptr %2875, i32 0, i32 6
  %2877 = load i32, ptr %34, align 4, !tbaa !9
  %2878 = zext i32 %2877 to i64
  %2879 = add i64 %2878, 52
  %2880 = call i32 @i32_load(ptr noundef %2876, i64 noundef %2879)
  store i32 %2880, ptr %34, align 4, !tbaa !9
  %2881 = load ptr, ptr %12, align 8, !tbaa !5
  %2882 = getelementptr inbounds %struct.w2c_hermes, ptr %2881, i32 0, i32 6
  %2883 = load i32, ptr %33, align 4, !tbaa !9
  %2884 = zext i32 %2883 to i64
  %2885 = add i64 %2884, 12
  %2886 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2882, i64 noundef %2885, i32 noundef %2886)
  %2887 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2887, ptr %33, align 4, !tbaa !9
  %2888 = load i32, ptr %33, align 4, !tbaa !9
  %2889 = icmp ne i32 %2888, 0
  %2890 = xor i1 %2889, true
  %2891 = zext i1 %2890 to i32
  store i32 %2891, ptr %33, align 4, !tbaa !9
  %2892 = load i32, ptr %33, align 4, !tbaa !9
  %2893 = icmp ne i32 %2892, 0
  br i1 %2893, label %2894, label %2895

2894:                                             ; preds = %2852
  br label %2902

2895:                                             ; preds = %2852
  %2896 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2896, ptr %33, align 4, !tbaa !9
  %2897 = load ptr, ptr %12, align 8, !tbaa !5
  %2898 = load i32, ptr %33, align 4, !tbaa !9
  %2899 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3A0x7EBytecodeModule0x280x29(ptr noundef %2897, i32 noundef %2898)
  store i32 %2899, ptr %33, align 4, !tbaa !9
  %2900 = load ptr, ptr %12, align 8, !tbaa !5
  %2901 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2900, i32 noundef %2901)
  br label %2902

2902:                                             ; preds = %2895, %2894, %2780, %2258
  %2903 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2903, ptr %33, align 4, !tbaa !9
  %2904 = load ptr, ptr %12, align 8, !tbaa !5
  %2905 = load i32, ptr %33, align 4, !tbaa !9
  %2906 = call i32 @w2c_hermes_hermes0x3A0x3AModule0x3A0x3A0x7EModule0x280x29(ptr noundef %2904, i32 noundef %2905)
  store i32 %2906, ptr %33, align 4, !tbaa !9
  br label %2907

2907:                                             ; preds = %2902, %2035
  %2908 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2908, ptr %33, align 4, !tbaa !9
  %2909 = load ptr, ptr %12, align 8, !tbaa !5
  %2910 = load i32, ptr %33, align 4, !tbaa !9
  %2911 = call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef %2909, i32 noundef %2910)
  store i32 %2911, ptr %33, align 4, !tbaa !9
  %2912 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2912, ptr %33, align 4, !tbaa !9
  %2913 = load ptr, ptr %12, align 8, !tbaa !5
  %2914 = getelementptr inbounds %struct.w2c_hermes, ptr %2913, i32 0, i32 6
  %2915 = load i32, ptr %33, align 4, !tbaa !9
  %2916 = zext i32 %2915 to i64
  %2917 = add i64 %2916, 720
  %2918 = call i32 @i32_load(ptr noundef %2914, i64 noundef %2917)
  store i32 %2918, ptr %33, align 4, !tbaa !9
  %2919 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2919, ptr %14, align 4, !tbaa !9
  %2920 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2920, ptr %34, align 4, !tbaa !9
  %2921 = load ptr, ptr %12, align 8, !tbaa !5
  %2922 = getelementptr inbounds %struct.w2c_hermes, ptr %2921, i32 0, i32 6
  %2923 = load i32, ptr %34, align 4, !tbaa !9
  %2924 = zext i32 %2923 to i64
  %2925 = add i64 %2924, 716
  %2926 = call i32 @i32_load(ptr noundef %2922, i64 noundef %2925)
  store i32 %2926, ptr %34, align 4, !tbaa !9
  %2927 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2927, ptr %17, align 4, !tbaa !9
  %2928 = load i32, ptr %33, align 4, !tbaa !9
  %2929 = load i32, ptr %34, align 4, !tbaa !9
  %2930 = icmp eq i32 %2928, %2929
  %2931 = zext i1 %2930 to i32
  store i32 %2931, ptr %33, align 4, !tbaa !9
  %2932 = load i32, ptr %33, align 4, !tbaa !9
  %2933 = icmp ne i32 %2932, 0
  br i1 %2933, label %2934, label %2937

2934:                                             ; preds = %2907
  %2935 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2935, ptr %33, align 4, !tbaa !9
  %2936 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2936, ptr %14, align 4, !tbaa !9
  br label %3122

2937:                                             ; preds = %2907
  %2938 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2938, ptr %33, align 4, !tbaa !9
  %2939 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2939, ptr %34, align 4, !tbaa !9
  %2940 = load ptr, ptr %12, align 8, !tbaa !5
  %2941 = getelementptr inbounds %struct.w2c_hermes, ptr %2940, i32 0, i32 6
  %2942 = load i32, ptr %34, align 4, !tbaa !9
  %2943 = zext i32 %2942 to i64
  %2944 = add i64 %2943, 728
  %2945 = call i32 @i32_load(ptr noundef %2941, i64 noundef %2944)
  store i32 %2945, ptr %34, align 4, !tbaa !9
  %2946 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2946, ptr %24, align 4, !tbaa !9
  store i32 22, ptr %35, align 4, !tbaa !9
  %2947 = load i32, ptr %35, align 4, !tbaa !9
  %2948 = icmp eq i32 %2947, 0
  %2949 = xor i1 %2948, true
  %2950 = xor i1 %2949, true
  %2951 = zext i1 %2950 to i32
  %2952 = sext i32 %2951 to i64
  %2953 = call i64 @llvm.expect.i64(i64 %2952, i64 0)
  %2954 = icmp ne i64 %2953, 0
  br i1 %2954, label %2955, label %2957

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

2956:                                             ; No predecessors!
  br label %2961

2957:                                             ; preds = %2937
  %2958 = load i32, ptr %34, align 4, !tbaa !9
  %2959 = load i32, ptr %35, align 4, !tbaa !9
  %2960 = udiv i32 %2958, %2959
  br label %2961

2961:                                             ; preds = %2957, %2956
  %2962 = phi i32 [ 0, %2956 ], [ %2960, %2957 ]
  store i32 %2962, ptr %34, align 4, !tbaa !9
  %2963 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %2963, ptr %19, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %2964 = load i32, ptr %35, align 4, !tbaa !9
  %2965 = and i32 %2964, 31
  %2966 = load i32, ptr %34, align 4, !tbaa !9
  %2967 = shl i32 %2966, %2965
  store i32 %2967, ptr %34, align 4, !tbaa !9
  %2968 = load i32, ptr %34, align 4, !tbaa !9
  %2969 = load i32, ptr %33, align 4, !tbaa !9
  %2970 = add i32 %2969, %2968
  store i32 %2970, ptr %33, align 4, !tbaa !9
  %2971 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2971, ptr %13, align 4, !tbaa !9
  %2972 = load ptr, ptr %12, align 8, !tbaa !5
  %2973 = getelementptr inbounds %struct.w2c_hermes, ptr %2972, i32 0, i32 6
  %2974 = load i32, ptr %33, align 4, !tbaa !9
  %2975 = zext i32 %2974 to i64
  %2976 = call i32 @i32_load(ptr noundef %2973, i64 noundef %2975)
  store i32 %2976, ptr %33, align 4, !tbaa !9
  %2977 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2977, ptr %34, align 4, !tbaa !9
  %2978 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2978, ptr %35, align 4, !tbaa !9
  store i32 22, ptr %36, align 4, !tbaa !9
  %2979 = load i32, ptr %36, align 4, !tbaa !9
  %2980 = load i32, ptr %35, align 4, !tbaa !9
  %2981 = mul i32 %2980, %2979
  store i32 %2981, ptr %35, align 4, !tbaa !9
  %2982 = load i32, ptr %35, align 4, !tbaa !9
  %2983 = load i32, ptr %34, align 4, !tbaa !9
  %2984 = sub i32 %2983, %2982
  store i32 %2984, ptr %34, align 4, !tbaa !9
  store i32 184, ptr %35, align 4, !tbaa !9
  %2985 = load i32, ptr %35, align 4, !tbaa !9
  %2986 = load i32, ptr %34, align 4, !tbaa !9
  %2987 = mul i32 %2986, %2985
  store i32 %2987, ptr %34, align 4, !tbaa !9
  %2988 = load i32, ptr %34, align 4, !tbaa !9
  %2989 = load i32, ptr %33, align 4, !tbaa !9
  %2990 = add i32 %2989, %2988
  store i32 %2990, ptr %33, align 4, !tbaa !9
  %2991 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2991, ptr %19, align 4, !tbaa !9
  %2992 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2992, ptr %34, align 4, !tbaa !9
  %2993 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2993, ptr %35, align 4, !tbaa !9
  %2994 = load ptr, ptr %12, align 8, !tbaa !5
  %2995 = getelementptr inbounds %struct.w2c_hermes, ptr %2994, i32 0, i32 6
  %2996 = load i32, ptr %35, align 4, !tbaa !9
  %2997 = zext i32 %2996 to i64
  %2998 = add i64 %2997, 732
  %2999 = call i32 @i32_load(ptr noundef %2995, i64 noundef %2998)
  store i32 %2999, ptr %35, align 4, !tbaa !9
  %3000 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3000, ptr %36, align 4, !tbaa !9
  %3001 = load i32, ptr %36, align 4, !tbaa !9
  %3002 = load i32, ptr %35, align 4, !tbaa !9
  %3003 = add i32 %3002, %3001
  store i32 %3003, ptr %35, align 4, !tbaa !9
  %3004 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %3004, ptr %24, align 4, !tbaa !9
  store i32 22, ptr %36, align 4, !tbaa !9
  %3005 = load i32, ptr %36, align 4, !tbaa !9
  %3006 = icmp eq i32 %3005, 0
  %3007 = xor i1 %3006, true
  %3008 = xor i1 %3007, true
  %3009 = zext i1 %3008 to i32
  %3010 = sext i32 %3009 to i64
  %3011 = call i64 @llvm.expect.i64(i64 %3010, i64 0)
  %3012 = icmp ne i64 %3011, 0
  br i1 %3012, label %3013, label %3015

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

3014:                                             ; No predecessors!
  br label %3019

3015:                                             ; preds = %2961
  %3016 = load i32, ptr %35, align 4, !tbaa !9
  %3017 = load i32, ptr %36, align 4, !tbaa !9
  %3018 = udiv i32 %3016, %3017
  br label %3019

3019:                                             ; preds = %3015, %3014
  %3020 = phi i32 [ 0, %3014 ], [ %3018, %3015 ]
  store i32 %3020, ptr %35, align 4, !tbaa !9
  %3021 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %3021, ptr %15, align 4, !tbaa !9
  store i32 2, ptr %36, align 4, !tbaa !9
  %3022 = load i32, ptr %36, align 4, !tbaa !9
  %3023 = and i32 %3022, 31
  %3024 = load i32, ptr %35, align 4, !tbaa !9
  %3025 = shl i32 %3024, %3023
  store i32 %3025, ptr %35, align 4, !tbaa !9
  %3026 = load i32, ptr %35, align 4, !tbaa !9
  %3027 = load i32, ptr %34, align 4, !tbaa !9
  %3028 = add i32 %3027, %3026
  store i32 %3028, ptr %34, align 4, !tbaa !9
  %3029 = load ptr, ptr %12, align 8, !tbaa !5
  %3030 = getelementptr inbounds %struct.w2c_hermes, ptr %3029, i32 0, i32 6
  %3031 = load i32, ptr %34, align 4, !tbaa !9
  %3032 = zext i32 %3031 to i64
  %3033 = call i32 @i32_load(ptr noundef %3030, i64 noundef %3032)
  store i32 %3033, ptr %34, align 4, !tbaa !9
  %3034 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3034, ptr %35, align 4, !tbaa !9
  %3035 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3035, ptr %36, align 4, !tbaa !9
  store i32 22, ptr %37, align 4, !tbaa !9
  %3036 = load i32, ptr %37, align 4, !tbaa !9
  %3037 = load i32, ptr %36, align 4, !tbaa !9
  %3038 = mul i32 %3037, %3036
  store i32 %3038, ptr %36, align 4, !tbaa !9
  %3039 = load i32, ptr %36, align 4, !tbaa !9
  %3040 = load i32, ptr %35, align 4, !tbaa !9
  %3041 = sub i32 %3040, %3039
  store i32 %3041, ptr %35, align 4, !tbaa !9
  store i32 184, ptr %36, align 4, !tbaa !9
  %3042 = load i32, ptr %36, align 4, !tbaa !9
  %3043 = load i32, ptr %35, align 4, !tbaa !9
  %3044 = mul i32 %3043, %3042
  store i32 %3044, ptr %35, align 4, !tbaa !9
  %3045 = load i32, ptr %35, align 4, !tbaa !9
  %3046 = load i32, ptr %34, align 4, !tbaa !9
  %3047 = add i32 %3046, %3045
  store i32 %3047, ptr %34, align 4, !tbaa !9
  %3048 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3048, ptr %24, align 4, !tbaa !9
  %3049 = load i32, ptr %33, align 4, !tbaa !9
  %3050 = load i32, ptr %34, align 4, !tbaa !9
  %3051 = icmp eq i32 %3049, %3050
  %3052 = zext i1 %3051 to i32
  store i32 %3052, ptr %33, align 4, !tbaa !9
  %3053 = load i32, ptr %33, align 4, !tbaa !9
  %3054 = icmp ne i32 %3053, 0
  br i1 %3054, label %3055, label %3056

3055:                                             ; preds = %3019
  br label %3122

3056:                                             ; preds = %3019
  br label %3057

3057:                                             ; preds = %3104, %3056
  %3058 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3058, ptr %33, align 4, !tbaa !9
  %3059 = load ptr, ptr %12, align 8, !tbaa !5
  %3060 = load i32, ptr %33, align 4, !tbaa !9
  %3061 = call i32 @w2c_hermes_hermes0x3A0x3Asem0x3A0x3AFunctionInfo0x3A0x3A0x7EFunctionInfo0x280x29(ptr noundef %3059, i32 noundef %3060)
  store i32 %3061, ptr %33, align 4, !tbaa !9
  store i32 184, ptr %34, align 4, !tbaa !9
  %3062 = load i32, ptr %34, align 4, !tbaa !9
  %3063 = load i32, ptr %33, align 4, !tbaa !9
  %3064 = add i32 %3063, %3062
  store i32 %3064, ptr %33, align 4, !tbaa !9
  %3065 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3065, ptr %19, align 4, !tbaa !9
  %3066 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3066, ptr %34, align 4, !tbaa !9
  %3067 = load ptr, ptr %12, align 8, !tbaa !5
  %3068 = getelementptr inbounds %struct.w2c_hermes, ptr %3067, i32 0, i32 6
  %3069 = load i32, ptr %34, align 4, !tbaa !9
  %3070 = zext i32 %3069 to i64
  %3071 = call i32 @i32_load(ptr noundef %3068, i64 noundef %3070)
  store i32 %3071, ptr %34, align 4, !tbaa !9
  %3072 = load i32, ptr %34, align 4, !tbaa !9
  %3073 = load i32, ptr %33, align 4, !tbaa !9
  %3074 = sub i32 %3073, %3072
  store i32 %3074, ptr %33, align 4, !tbaa !9
  store i32 4048, ptr %34, align 4, !tbaa !9
  %3075 = load i32, ptr %33, align 4, !tbaa !9
  %3076 = load i32, ptr %34, align 4, !tbaa !9
  %3077 = icmp eq i32 %3075, %3076
  %3078 = zext i1 %3077 to i32
  store i32 %3078, ptr %33, align 4, !tbaa !9
  %3079 = load i32, ptr %33, align 4, !tbaa !9
  %3080 = icmp ne i32 %3079, 0
  br i1 %3080, label %3081, label %3095

3081:                                             ; preds = %3057
  %3082 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3082, ptr %33, align 4, !tbaa !9
  %3083 = load ptr, ptr %12, align 8, !tbaa !5
  %3084 = getelementptr inbounds %struct.w2c_hermes, ptr %3083, i32 0, i32 6
  %3085 = load i32, ptr %33, align 4, !tbaa !9
  %3086 = zext i32 %3085 to i64
  %3087 = add i64 %3086, 4
  %3088 = call i32 @i32_load(ptr noundef %3084, i64 noundef %3087)
  store i32 %3088, ptr %33, align 4, !tbaa !9
  %3089 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3089, ptr %19, align 4, !tbaa !9
  %3090 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3090, ptr %33, align 4, !tbaa !9
  store i32 4, ptr %34, align 4, !tbaa !9
  %3091 = load i32, ptr %34, align 4, !tbaa !9
  %3092 = load i32, ptr %33, align 4, !tbaa !9
  %3093 = add i32 %3092, %3091
  store i32 %3093, ptr %33, align 4, !tbaa !9
  %3094 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3094, ptr %13, align 4, !tbaa !9
  br label %3095

3095:                                             ; preds = %3081, %3057
  %3096 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3096, ptr %33, align 4, !tbaa !9
  %3097 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3097, ptr %34, align 4, !tbaa !9
  %3098 = load i32, ptr %33, align 4, !tbaa !9
  %3099 = load i32, ptr %34, align 4, !tbaa !9
  %3100 = icmp ne i32 %3098, %3099
  %3101 = zext i1 %3100 to i32
  store i32 %3101, ptr %33, align 4, !tbaa !9
  %3102 = load i32, ptr %33, align 4, !tbaa !9
  %3103 = icmp ne i32 %3102, 0
  br i1 %3103, label %3104, label %3105

3104:                                             ; preds = %3095
  br label %3057

3105:                                             ; preds = %3095
  %3106 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3106, ptr %33, align 4, !tbaa !9
  %3107 = load ptr, ptr %12, align 8, !tbaa !5
  %3108 = getelementptr inbounds %struct.w2c_hermes, ptr %3107, i32 0, i32 6
  %3109 = load i32, ptr %33, align 4, !tbaa !9
  %3110 = zext i32 %3109 to i64
  %3111 = add i64 %3110, 716
  %3112 = call i32 @i32_load(ptr noundef %3108, i64 noundef %3111)
  store i32 %3112, ptr %33, align 4, !tbaa !9
  %3113 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3113, ptr %17, align 4, !tbaa !9
  %3114 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3114, ptr %33, align 4, !tbaa !9
  %3115 = load ptr, ptr %12, align 8, !tbaa !5
  %3116 = getelementptr inbounds %struct.w2c_hermes, ptr %3115, i32 0, i32 6
  %3117 = load i32, ptr %33, align 4, !tbaa !9
  %3118 = zext i32 %3117 to i64
  %3119 = add i64 %3118, 720
  %3120 = call i32 @i32_load(ptr noundef %3116, i64 noundef %3119)
  store i32 %3120, ptr %33, align 4, !tbaa !9
  %3121 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3121, ptr %14, align 4, !tbaa !9
  br label %3122

3122:                                             ; preds = %3105, %3055, %2934
  %3123 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3123, ptr %33, align 4, !tbaa !9
  store i32 0, ptr %34, align 4, !tbaa !9
  %3124 = load ptr, ptr %12, align 8, !tbaa !5
  %3125 = getelementptr inbounds %struct.w2c_hermes, ptr %3124, i32 0, i32 6
  %3126 = load i32, ptr %33, align 4, !tbaa !9
  %3127 = zext i32 %3126 to i64
  %3128 = add i64 %3127, 732
  %3129 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3125, i64 noundef %3128, i32 noundef %3129)
  %3130 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3130, ptr %33, align 4, !tbaa !9
  %3131 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3131, ptr %34, align 4, !tbaa !9
  %3132 = load i32, ptr %34, align 4, !tbaa !9
  %3133 = load i32, ptr %33, align 4, !tbaa !9
  %3134 = sub i32 %3133, %3132
  store i32 %3134, ptr %33, align 4, !tbaa !9
  %3135 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3135, ptr %19, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3136 = load i32, ptr %33, align 4, !tbaa !9
  %3137 = load i32, ptr %34, align 4, !tbaa !9
  %3138 = icmp ugt i32 %3136, %3137
  %3139 = zext i1 %3138 to i32
  store i32 %3139, ptr %33, align 4, !tbaa !9
  %3140 = load i32, ptr %33, align 4, !tbaa !9
  %3141 = icmp ne i32 %3140, 0
  br i1 %3141, label %3142, label %3191

3142:                                             ; preds = %3122
  br label %3143

3143:                                             ; preds = %3189, %3142
  %3144 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3144, ptr %33, align 4, !tbaa !9
  %3145 = load ptr, ptr %12, align 8, !tbaa !5
  %3146 = getelementptr inbounds %struct.w2c_hermes, ptr %3145, i32 0, i32 6
  %3147 = load i32, ptr %33, align 4, !tbaa !9
  %3148 = zext i32 %3147 to i64
  %3149 = call i32 @i32_load(ptr noundef %3146, i64 noundef %3148)
  store i32 %3149, ptr %33, align 4, !tbaa !9
  %3150 = load ptr, ptr %12, align 8, !tbaa !5
  %3151 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3150, i32 noundef %3151)
  %3152 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3152, ptr %33, align 4, !tbaa !9
  %3153 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3153, ptr %34, align 4, !tbaa !9
  %3154 = load ptr, ptr %12, align 8, !tbaa !5
  %3155 = getelementptr inbounds %struct.w2c_hermes, ptr %3154, i32 0, i32 6
  %3156 = load i32, ptr %34, align 4, !tbaa !9
  %3157 = zext i32 %3156 to i64
  %3158 = add i64 %3157, 716
  %3159 = call i32 @i32_load(ptr noundef %3155, i64 noundef %3158)
  store i32 %3159, ptr %34, align 4, !tbaa !9
  store i32 4, ptr %35, align 4, !tbaa !9
  %3160 = load i32, ptr %35, align 4, !tbaa !9
  %3161 = load i32, ptr %34, align 4, !tbaa !9
  %3162 = add i32 %3161, %3160
  store i32 %3162, ptr %34, align 4, !tbaa !9
  %3163 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3163, ptr %17, align 4, !tbaa !9
  %3164 = load ptr, ptr %12, align 8, !tbaa !5
  %3165 = getelementptr inbounds %struct.w2c_hermes, ptr %3164, i32 0, i32 6
  %3166 = load i32, ptr %33, align 4, !tbaa !9
  %3167 = zext i32 %3166 to i64
  %3168 = add i64 %3167, 716
  %3169 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3165, i64 noundef %3168, i32 noundef %3169)
  %3170 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3170, ptr %33, align 4, !tbaa !9
  %3171 = load ptr, ptr %12, align 8, !tbaa !5
  %3172 = getelementptr inbounds %struct.w2c_hermes, ptr %3171, i32 0, i32 6
  %3173 = load i32, ptr %33, align 4, !tbaa !9
  %3174 = zext i32 %3173 to i64
  %3175 = add i64 %3174, 720
  %3176 = call i32 @i32_load(ptr noundef %3172, i64 noundef %3175)
  store i32 %3176, ptr %33, align 4, !tbaa !9
  %3177 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3177, ptr %14, align 4, !tbaa !9
  %3178 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3178, ptr %34, align 4, !tbaa !9
  %3179 = load i32, ptr %34, align 4, !tbaa !9
  %3180 = load i32, ptr %33, align 4, !tbaa !9
  %3181 = sub i32 %3180, %3179
  store i32 %3181, ptr %33, align 4, !tbaa !9
  %3182 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3182, ptr %19, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3183 = load i32, ptr %33, align 4, !tbaa !9
  %3184 = load i32, ptr %34, align 4, !tbaa !9
  %3185 = icmp ugt i32 %3183, %3184
  %3186 = zext i1 %3185 to i32
  store i32 %3186, ptr %33, align 4, !tbaa !9
  %3187 = load i32, ptr %33, align 4, !tbaa !9
  %3188 = icmp ne i32 %3187, 0
  br i1 %3188, label %3189, label %3190

3189:                                             ; preds = %3143
  br label %3143

3190:                                             ; preds = %3143
  br label %3191

3191:                                             ; preds = %3190, %3122
  store i32 11, ptr %33, align 4, !tbaa !9
  %3192 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3192, ptr %13, align 4, !tbaa !9
  %3193 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3193, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %3194 = load i32, ptr %34, align 4, !tbaa !9
  %3195 = and i32 %3194, 31
  %3196 = load i32, ptr %33, align 4, !tbaa !9
  %3197 = lshr i32 %3196, %3195
  store i32 %3197, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %3198 = load i32, ptr %34, align 4, !tbaa !9
  %3199 = load i32, ptr %33, align 4, !tbaa !9
  %3200 = sub i32 %3199, %3198
  store i32 %3200, ptr %33, align 4, !tbaa !9
  %3201 = load i32, ptr %33, align 4, !tbaa !9
  switch i32 %3201, label %3204 [
    i32 0, label %3202
    i32 1, label %3203
  ]

3202:                                             ; preds = %3191
  br label %3207

3203:                                             ; preds = %3191
  br label %3205

3204:                                             ; preds = %3191
  br label %3216

3205:                                             ; preds = %3203
  store i32 22, ptr %33, align 4, !tbaa !9
  %3206 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3206, ptr %13, align 4, !tbaa !9
  br label %3207

3207:                                             ; preds = %3205, %3202
  %3208 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3208, ptr %33, align 4, !tbaa !9
  %3209 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3209, ptr %34, align 4, !tbaa !9
  %3210 = load ptr, ptr %12, align 8, !tbaa !5
  %3211 = getelementptr inbounds %struct.w2c_hermes, ptr %3210, i32 0, i32 6
  %3212 = load i32, ptr %33, align 4, !tbaa !9
  %3213 = zext i32 %3212 to i64
  %3214 = add i64 %3213, 728
  %3215 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3211, i64 noundef %3214, i32 noundef %3215)
  br label %3216

3216:                                             ; preds = %3207, %3204
  %3217 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3217, ptr %33, align 4, !tbaa !9
  %3218 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3218, ptr %34, align 4, !tbaa !9
  %3219 = load i32, ptr %33, align 4, !tbaa !9
  %3220 = load i32, ptr %34, align 4, !tbaa !9
  %3221 = icmp eq i32 %3219, %3220
  %3222 = zext i1 %3221 to i32
  store i32 %3222, ptr %33, align 4, !tbaa !9
  %3223 = load i32, ptr %33, align 4, !tbaa !9
  %3224 = icmp ne i32 %3223, 0
  br i1 %3224, label %3225, label %3226

3225:                                             ; preds = %3216
  br label %3296

3226:                                             ; preds = %3216
  br label %3227

3227:                                             ; preds = %3248, %3226
  %3228 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3228, ptr %33, align 4, !tbaa !9
  %3229 = load ptr, ptr %12, align 8, !tbaa !5
  %3230 = getelementptr inbounds %struct.w2c_hermes, ptr %3229, i32 0, i32 6
  %3231 = load i32, ptr %33, align 4, !tbaa !9
  %3232 = zext i32 %3231 to i64
  %3233 = call i32 @i32_load(ptr noundef %3230, i64 noundef %3232)
  store i32 %3233, ptr %33, align 4, !tbaa !9
  %3234 = load ptr, ptr %12, align 8, !tbaa !5
  %3235 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3234, i32 noundef %3235)
  %3236 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3236, ptr %33, align 4, !tbaa !9
  store i32 4, ptr %34, align 4, !tbaa !9
  %3237 = load i32, ptr %34, align 4, !tbaa !9
  %3238 = load i32, ptr %33, align 4, !tbaa !9
  %3239 = add i32 %3238, %3237
  store i32 %3239, ptr %33, align 4, !tbaa !9
  %3240 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3240, ptr %17, align 4, !tbaa !9
  %3241 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3241, ptr %34, align 4, !tbaa !9
  %3242 = load i32, ptr %33, align 4, !tbaa !9
  %3243 = load i32, ptr %34, align 4, !tbaa !9
  %3244 = icmp ne i32 %3242, %3243
  %3245 = zext i1 %3244 to i32
  store i32 %3245, ptr %33, align 4, !tbaa !9
  %3246 = load i32, ptr %33, align 4, !tbaa !9
  %3247 = icmp ne i32 %3246, 0
  br i1 %3247, label %3248, label %3249

3248:                                             ; preds = %3227
  br label %3227

3249:                                             ; preds = %3227
  %3250 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3250, ptr %33, align 4, !tbaa !9
  %3251 = load ptr, ptr %12, align 8, !tbaa !5
  %3252 = getelementptr inbounds %struct.w2c_hermes, ptr %3251, i32 0, i32 6
  %3253 = load i32, ptr %33, align 4, !tbaa !9
  %3254 = zext i32 %3253 to i64
  %3255 = add i64 %3254, 720
  %3256 = call i32 @i32_load(ptr noundef %3252, i64 noundef %3255)
  store i32 %3256, ptr %33, align 4, !tbaa !9
  %3257 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3257, ptr %17, align 4, !tbaa !9
  %3258 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3258, ptr %34, align 4, !tbaa !9
  %3259 = load ptr, ptr %12, align 8, !tbaa !5
  %3260 = getelementptr inbounds %struct.w2c_hermes, ptr %3259, i32 0, i32 6
  %3261 = load i32, ptr %34, align 4, !tbaa !9
  %3262 = zext i32 %3261 to i64
  %3263 = add i64 %3262, 716
  %3264 = call i32 @i32_load(ptr noundef %3260, i64 noundef %3263)
  store i32 %3264, ptr %34, align 4, !tbaa !9
  %3265 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3265, ptr %19, align 4, !tbaa !9
  %3266 = load i32, ptr %33, align 4, !tbaa !9
  %3267 = load i32, ptr %34, align 4, !tbaa !9
  %3268 = icmp eq i32 %3266, %3267
  %3269 = zext i1 %3268 to i32
  store i32 %3269, ptr %33, align 4, !tbaa !9
  %3270 = load i32, ptr %33, align 4, !tbaa !9
  %3271 = icmp ne i32 %3270, 0
  br i1 %3271, label %3272, label %3273

3272:                                             ; preds = %3249
  br label %3296

3273:                                             ; preds = %3249
  %3274 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3274, ptr %33, align 4, !tbaa !9
  %3275 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3275, ptr %34, align 4, !tbaa !9
  %3276 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3276, ptr %35, align 4, !tbaa !9
  %3277 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3277, ptr %36, align 4, !tbaa !9
  %3278 = load i32, ptr %36, align 4, !tbaa !9
  %3279 = load i32, ptr %35, align 4, !tbaa !9
  %3280 = sub i32 %3279, %3278
  store i32 %3280, ptr %35, align 4, !tbaa !9
  store i32 3, ptr %36, align 4, !tbaa !9
  %3281 = load i32, ptr %36, align 4, !tbaa !9
  %3282 = load i32, ptr %35, align 4, !tbaa !9
  %3283 = add i32 %3282, %3281
  store i32 %3283, ptr %35, align 4, !tbaa !9
  store i32 -4, ptr %36, align 4, !tbaa !9
  %3284 = load i32, ptr %36, align 4, !tbaa !9
  %3285 = load i32, ptr %35, align 4, !tbaa !9
  %3286 = and i32 %3285, %3284
  store i32 %3286, ptr %35, align 4, !tbaa !9
  %3287 = load i32, ptr %35, align 4, !tbaa !9
  %3288 = load i32, ptr %34, align 4, !tbaa !9
  %3289 = add i32 %3288, %3287
  store i32 %3289, ptr %34, align 4, !tbaa !9
  %3290 = load ptr, ptr %12, align 8, !tbaa !5
  %3291 = getelementptr inbounds %struct.w2c_hermes, ptr %3290, i32 0, i32 6
  %3292 = load i32, ptr %33, align 4, !tbaa !9
  %3293 = zext i32 %3292 to i64
  %3294 = add i64 %3293, 720
  %3295 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3291, i64 noundef %3294, i32 noundef %3295)
  br label %3296

3296:                                             ; preds = %3273, %3272, %3225
  %3297 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3297, ptr %33, align 4, !tbaa !9
  %3298 = load ptr, ptr %12, align 8, !tbaa !5
  %3299 = getelementptr inbounds %struct.w2c_hermes, ptr %3298, i32 0, i32 6
  %3300 = load i32, ptr %33, align 4, !tbaa !9
  %3301 = zext i32 %3300 to i64
  %3302 = add i64 %3301, 712
  %3303 = call i32 @i32_load(ptr noundef %3299, i64 noundef %3302)
  store i32 %3303, ptr %33, align 4, !tbaa !9
  %3304 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3304, ptr %17, align 4, !tbaa !9
  %3305 = load i32, ptr %33, align 4, !tbaa !9
  %3306 = icmp ne i32 %3305, 0
  %3307 = xor i1 %3306, true
  %3308 = zext i1 %3307 to i32
  store i32 %3308, ptr %33, align 4, !tbaa !9
  %3309 = load i32, ptr %33, align 4, !tbaa !9
  %3310 = icmp ne i32 %3309, 0
  br i1 %3310, label %3311, label %3312

3311:                                             ; preds = %3296
  br label %3316

3312:                                             ; preds = %3296
  %3313 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3313, ptr %33, align 4, !tbaa !9
  %3314 = load ptr, ptr %12, align 8, !tbaa !5
  %3315 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3314, i32 noundef %3315)
  br label %3316

3316:                                             ; preds = %3312, %3311, %1813
  %3317 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3317, ptr %33, align 4, !tbaa !9
  %3318 = load ptr, ptr %12, align 8, !tbaa !5
  %3319 = getelementptr inbounds %struct.w2c_hermes, ptr %3318, i32 0, i32 6
  %3320 = load i32, ptr %33, align 4, !tbaa !9
  %3321 = zext i32 %3320 to i64
  %3322 = add i64 %3321, 752
  %3323 = call i32 @i32_load(ptr noundef %3319, i64 noundef %3322)
  store i32 %3323, ptr %33, align 4, !tbaa !9
  %3324 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3324, ptr %17, align 4, !tbaa !9
  %3325 = load i32, ptr %33, align 4, !tbaa !9
  %3326 = icmp ne i32 %3325, 0
  br i1 %3326, label %3327, label %3339

3327:                                             ; preds = %3316
  %3328 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3328, ptr %33, align 4, !tbaa !9
  %3329 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3329, ptr %34, align 4, !tbaa !9
  %3330 = load ptr, ptr %12, align 8, !tbaa !5
  %3331 = getelementptr inbounds %struct.w2c_hermes, ptr %3330, i32 0, i32 6
  %3332 = load i32, ptr %33, align 4, !tbaa !9
  %3333 = zext i32 %3332 to i64
  %3334 = add i64 %3333, 756
  %3335 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3331, i64 noundef %3334, i32 noundef %3335)
  %3336 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3336, ptr %33, align 4, !tbaa !9
  %3337 = load ptr, ptr %12, align 8, !tbaa !5
  %3338 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3337, i32 noundef %3338)
  br label %3339

3339:                                             ; preds = %3327, %3316
  %3340 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %3340, ptr %33, align 4, !tbaa !9
  %3341 = load i32, ptr %33, align 4, !tbaa !9
  %3342 = icmp ne i32 %3341, 0
  br i1 %3342, label %3343, label %3350

3343:                                             ; preds = %3339
  %3344 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %3344, ptr %33, align 4, !tbaa !9
  %3345 = load ptr, ptr %12, align 8, !tbaa !5
  %3346 = load i32, ptr %33, align 4, !tbaa !9
  %3347 = call i32 @w2c_hermes_hermes0x3A0x3ASimpleDiagHandlerRAII0x3A0x3A0x7ESimpleDiagHandlerRAII0x280x29(ptr noundef %3345, i32 noundef %3346)
  store i32 %3347, ptr %33, align 4, !tbaa !9
  %3348 = load ptr, ptr %12, align 8, !tbaa !5
  %3349 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %3348, i32 noundef %3349)
  br label %3350

3350:                                             ; preds = %3343, %3339
  %3351 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3351, ptr %33, align 4, !tbaa !9
  %3352 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3352, ptr %34, align 4, !tbaa !9
  %3353 = load ptr, ptr %12, align 8, !tbaa !5
  %3354 = getelementptr inbounds %struct.w2c_hermes, ptr %3353, i32 0, i32 6
  %3355 = load i32, ptr %34, align 4, !tbaa !9
  %3356 = zext i32 %3355 to i64
  %3357 = add i64 %3356, 4
  %3358 = call i32 @i32_load(ptr noundef %3354, i64 noundef %3357)
  store i32 %3358, ptr %34, align 4, !tbaa !9
  %3359 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3359, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %35, align 4, !tbaa !9
  %3360 = load i32, ptr %35, align 4, !tbaa !9
  %3361 = load i32, ptr %34, align 4, !tbaa !9
  %3362 = sub i32 %3361, %3360
  store i32 %3362, ptr %34, align 4, !tbaa !9
  %3363 = load ptr, ptr %12, align 8, !tbaa !5
  %3364 = getelementptr inbounds %struct.w2c_hermes, ptr %3363, i32 0, i32 6
  %3365 = load i32, ptr %33, align 4, !tbaa !9
  %3366 = zext i32 %3365 to i64
  %3367 = add i64 %3366, 4
  %3368 = load i32, ptr %34, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3364, i64 noundef %3367, i32 noundef %3368)
  %3369 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3369, ptr %33, align 4, !tbaa !9
  %3370 = load i32, ptr %33, align 4, !tbaa !9
  %3371 = icmp ne i32 %3370, 0
  %3372 = xor i1 %3371, true
  %3373 = zext i1 %3372 to i32
  store i32 %3373, ptr %33, align 4, !tbaa !9
  %3374 = load i32, ptr %33, align 4, !tbaa !9
  %3375 = icmp ne i32 %3374, 0
  br i1 %3375, label %3376, label %3454

3376:                                             ; preds = %3350
  %3377 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3377, ptr %33, align 4, !tbaa !9
  %3378 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3378, ptr %34, align 4, !tbaa !9
  %3379 = load ptr, ptr %12, align 8, !tbaa !5
  %3380 = getelementptr inbounds %struct.w2c_hermes, ptr %3379, i32 0, i32 6
  %3381 = load i32, ptr %34, align 4, !tbaa !9
  %3382 = zext i32 %3381 to i64
  %3383 = call i32 @i32_load(ptr noundef %3380, i64 noundef %3382)
  store i32 %3383, ptr %34, align 4, !tbaa !9
  %3384 = load ptr, ptr %12, align 8, !tbaa !5
  %3385 = getelementptr inbounds %struct.w2c_hermes, ptr %3384, i32 0, i32 6
  %3386 = load i32, ptr %34, align 4, !tbaa !9
  %3387 = zext i32 %3386 to i64
  %3388 = add i64 %3387, 8
  %3389 = call i32 @i32_load(ptr noundef %3385, i64 noundef %3388)
  store i32 %3389, ptr %34, align 4, !tbaa !9
  %3390 = load i32, ptr %34, align 4, !tbaa !9
  %3391 = load ptr, ptr %12, align 8, !tbaa !5
  %3392 = getelementptr inbounds %struct.w2c_hermes, ptr %3391, i32 0, i32 7
  %3393 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3392, i32 0, i32 2
  %3394 = load i32, ptr %3393, align 4, !tbaa !18
  %3395 = icmp ult i32 %3390, %3394
  br i1 %3395, label %3396, label %3419

3396:                                             ; preds = %3376
  %3397 = load ptr, ptr %12, align 8, !tbaa !5
  %3398 = getelementptr inbounds %struct.w2c_hermes, ptr %3397, i32 0, i32 7
  %3399 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3398, i32 0, i32 0
  %3400 = load ptr, ptr %3399, align 8, !tbaa !19
  %3401 = load i32, ptr %34, align 4, !tbaa !9
  %3402 = zext i32 %3401 to i64
  %3403 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3400, i64 %3402
  %3404 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3403, i32 0, i32 1
  %3405 = load ptr, ptr %3404, align 8, !tbaa !20
  %3406 = icmp ne ptr %3405, null
  br i1 %3406, label %3407, label %3419

3407:                                             ; preds = %3396
  %3408 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %3409 = load ptr, ptr %12, align 8, !tbaa !5
  %3410 = getelementptr inbounds %struct.w2c_hermes, ptr %3409, i32 0, i32 7
  %3411 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3410, i32 0, i32 0
  %3412 = load ptr, ptr %3411, align 8, !tbaa !19
  %3413 = load i32, ptr %34, align 4, !tbaa !9
  %3414 = zext i32 %3413 to i64
  %3415 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3412, i64 %3414
  %3416 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3415, i32 0, i32 0
  %3417 = load ptr, ptr %3416, align 8, !tbaa !22
  %3418 = call zeroext i1 @func_types_eq(ptr noundef %3408, ptr noundef %3417)
  br label %3419

3419:                                             ; preds = %3407, %3396, %3376
  %3420 = phi i1 [ false, %3396 ], [ false, %3376 ], [ %3418, %3407 ]
  %3421 = xor i1 %3420, true
  %3422 = xor i1 %3421, true
  %3423 = zext i1 %3422 to i32
  %3424 = sext i32 %3423 to i64
  %3425 = call i64 @llvm.expect.i64(i64 %3424, i64 1)
  %3426 = icmp ne i64 %3425, 0
  br i1 %3426, label %3429, label %3427

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

3428:                                             ; No predecessors!
  br label %3429

3429:                                             ; preds = %3428, %3419
  %3430 = phi i1 [ true, %3419 ], [ false, %3428 ]
  %3431 = zext i1 %3430 to i32
  %3432 = load ptr, ptr %12, align 8, !tbaa !5
  %3433 = getelementptr inbounds %struct.w2c_hermes, ptr %3432, i32 0, i32 7
  %3434 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3433, i32 0, i32 0
  %3435 = load ptr, ptr %3434, align 8, !tbaa !19
  %3436 = load i32, ptr %34, align 4, !tbaa !9
  %3437 = zext i32 %3436 to i64
  %3438 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3435, i64 %3437
  %3439 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3438, i32 0, i32 1
  %3440 = load ptr, ptr %3439, align 8, !tbaa !20
  %3441 = load ptr, ptr %12, align 8, !tbaa !5
  %3442 = getelementptr inbounds %struct.w2c_hermes, ptr %3441, i32 0, i32 7
  %3443 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3442, i32 0, i32 0
  %3444 = load ptr, ptr %3443, align 8, !tbaa !19
  %3445 = load i32, ptr %34, align 4, !tbaa !9
  %3446 = zext i32 %3445 to i64
  %3447 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3444, i64 %3446
  %3448 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3447, i32 0, i32 2
  %3449 = load ptr, ptr %3448, align 8, !tbaa !23
  %3450 = load i32, ptr %33, align 4, !tbaa !9
  call void %3440(ptr noundef %3449, i32 noundef %3450)
  %3451 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3451, ptr %33, align 4, !tbaa !9
  %3452 = load ptr, ptr %12, align 8, !tbaa !5
  %3453 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %3452, i32 noundef %3453)
  br label %3454

3454:                                             ; preds = %3429, %3350
  %3455 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3455, ptr %33, align 4, !tbaa !9
  store i32 772, ptr %34, align 4, !tbaa !9
  %3456 = load i32, ptr %34, align 4, !tbaa !9
  %3457 = load i32, ptr %33, align 4, !tbaa !9
  %3458 = add i32 %3457, %3456
  store i32 %3458, ptr %33, align 4, !tbaa !9
  %3459 = load ptr, ptr %12, align 8, !tbaa !5
  %3460 = load i32, ptr %33, align 4, !tbaa !9
  %3461 = call i32 @w2c_hermes_hermes0x3A0x3ACodeGenerationSettings0x3A0x3A0x7ECodeGenerationSettings0x280x29(ptr noundef %3459, i32 noundef %3460)
  store i32 %3461, ptr %33, align 4, !tbaa !9
  %3462 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3462, ptr %33, align 4, !tbaa !9
  store i32 992, ptr %34, align 4, !tbaa !9
  %3463 = load i32, ptr %34, align 4, !tbaa !9
  %3464 = load i32, ptr %33, align 4, !tbaa !9
  %3465 = add i32 %3464, %3463
  store i32 %3465, ptr %33, align 4, !tbaa !9
  %3466 = load i32, ptr %33, align 4, !tbaa !9
  %3467 = load ptr, ptr %12, align 8, !tbaa !5
  %3468 = getelementptr inbounds %struct.w2c_hermes, ptr %3467, i32 0, i32 3
  store i32 %3466, ptr %3468, align 8, !tbaa !13
  br label %3671

3469:                                             ; preds = %11
  store i32 0, ptr %33, align 4, !tbaa !9
  %3470 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3470, ptr %23, align 4, !tbaa !9
  store i32 179423, ptr %34, align 4, !tbaa !9
  %3471 = load i32, ptr %34, align 4, !tbaa !9
  %3472 = load i32, ptr %33, align 4, !tbaa !9
  %3473 = add i32 %3472, %3471
  store i32 %3473, ptr %33, align 4, !tbaa !9
  %3474 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3474, ptr %34, align 4, !tbaa !9
  store i32 61787, ptr %35, align 4, !tbaa !9
  %3475 = load i32, ptr %35, align 4, !tbaa !9
  %3476 = load i32, ptr %34, align 4, !tbaa !9
  %3477 = add i32 %3476, %3475
  store i32 %3477, ptr %34, align 4, !tbaa !9
  store i32 131, ptr %35, align 4, !tbaa !9
  %3478 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3478, ptr %36, align 4, !tbaa !9
  store i32 72125, ptr %37, align 4, !tbaa !9
  %3479 = load i32, ptr %37, align 4, !tbaa !9
  %3480 = load i32, ptr %36, align 4, !tbaa !9
  %3481 = add i32 %3480, %3479
  store i32 %3481, ptr %36, align 4, !tbaa !9
  %3482 = load ptr, ptr %12, align 8, !tbaa !5
  %3483 = load i32, ptr %33, align 4, !tbaa !9
  %3484 = load i32, ptr %34, align 4, !tbaa !9
  %3485 = load i32, ptr %35, align 4, !tbaa !9
  %3486 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3482, i32 noundef %3483, i32 noundef %3484, i32 noundef %3485, i32 noundef %3486)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3487:                                             ; preds = %528
  store i32 0, ptr %33, align 4, !tbaa !9
  %3488 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3488, ptr %23, align 4, !tbaa !9
  store i32 202974, ptr %34, align 4, !tbaa !9
  %3489 = load i32, ptr %34, align 4, !tbaa !9
  %3490 = load i32, ptr %33, align 4, !tbaa !9
  %3491 = add i32 %3490, %3489
  store i32 %3491, ptr %33, align 4, !tbaa !9
  %3492 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3492, ptr %34, align 4, !tbaa !9
  store i32 82833, ptr %35, align 4, !tbaa !9
  %3493 = load i32, ptr %35, align 4, !tbaa !9
  %3494 = load i32, ptr %34, align 4, !tbaa !9
  %3495 = add i32 %3494, %3493
  store i32 %3495, ptr %34, align 4, !tbaa !9
  store i32 418, ptr %35, align 4, !tbaa !9
  %3496 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3496, ptr %36, align 4, !tbaa !9
  store i32 108367, ptr %37, align 4, !tbaa !9
  %3497 = load i32, ptr %37, align 4, !tbaa !9
  %3498 = load i32, ptr %36, align 4, !tbaa !9
  %3499 = add i32 %3498, %3497
  store i32 %3499, ptr %36, align 4, !tbaa !9
  %3500 = load ptr, ptr %12, align 8, !tbaa !5
  %3501 = load i32, ptr %33, align 4, !tbaa !9
  %3502 = load i32, ptr %34, align 4, !tbaa !9
  %3503 = load i32, ptr %35, align 4, !tbaa !9
  %3504 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3500, i32 noundef %3501, i32 noundef %3502, i32 noundef %3503, i32 noundef %3504)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3505:                                             ; preds = %834
  store i32 0, ptr %33, align 4, !tbaa !9
  %3506 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3506, ptr %23, align 4, !tbaa !9
  store i32 166192, ptr %34, align 4, !tbaa !9
  %3507 = load i32, ptr %34, align 4, !tbaa !9
  %3508 = load i32, ptr %33, align 4, !tbaa !9
  %3509 = add i32 %3508, %3507
  store i32 %3509, ptr %33, align 4, !tbaa !9
  %3510 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3510, ptr %34, align 4, !tbaa !9
  store i32 61787, ptr %35, align 4, !tbaa !9
  %3511 = load i32, ptr %35, align 4, !tbaa !9
  %3512 = load i32, ptr %34, align 4, !tbaa !9
  %3513 = add i32 %3512, %3511
  store i32 %3513, ptr %34, align 4, !tbaa !9
  store i32 188, ptr %35, align 4, !tbaa !9
  %3514 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3514, ptr %36, align 4, !tbaa !9
  store i32 72125, ptr %37, align 4, !tbaa !9
  %3515 = load i32, ptr %37, align 4, !tbaa !9
  %3516 = load i32, ptr %36, align 4, !tbaa !9
  %3517 = add i32 %3516, %3515
  store i32 %3517, ptr %36, align 4, !tbaa !9
  %3518 = load ptr, ptr %12, align 8, !tbaa !5
  %3519 = load i32, ptr %33, align 4, !tbaa !9
  %3520 = load i32, ptr %34, align 4, !tbaa !9
  %3521 = load i32, ptr %35, align 4, !tbaa !9
  %3522 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3518, i32 noundef %3519, i32 noundef %3520, i32 noundef %3521, i32 noundef %3522)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3523:                                             ; preds = %853
  store i32 0, ptr %33, align 4, !tbaa !9
  %3524 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3524, ptr %23, align 4, !tbaa !9
  store i32 74646, ptr %34, align 4, !tbaa !9
  %3525 = load i32, ptr %34, align 4, !tbaa !9
  %3526 = load i32, ptr %33, align 4, !tbaa !9
  %3527 = add i32 %3526, %3525
  store i32 %3527, ptr %33, align 4, !tbaa !9
  %3528 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3528, ptr %34, align 4, !tbaa !9
  store i32 82467, ptr %35, align 4, !tbaa !9
  %3529 = load i32, ptr %35, align 4, !tbaa !9
  %3530 = load i32, ptr %34, align 4, !tbaa !9
  %3531 = add i32 %3530, %3529
  store i32 %3531, ptr %34, align 4, !tbaa !9
  store i32 176, ptr %35, align 4, !tbaa !9
  %3532 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3532, ptr %36, align 4, !tbaa !9
  store i32 49706, ptr %37, align 4, !tbaa !9
  %3533 = load i32, ptr %37, align 4, !tbaa !9
  %3534 = load i32, ptr %36, align 4, !tbaa !9
  %3535 = add i32 %3534, %3533
  store i32 %3535, ptr %36, align 4, !tbaa !9
  %3536 = load ptr, ptr %12, align 8, !tbaa !5
  %3537 = load i32, ptr %33, align 4, !tbaa !9
  %3538 = load i32, ptr %34, align 4, !tbaa !9
  %3539 = load i32, ptr %35, align 4, !tbaa !9
  %3540 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3536, i32 noundef %3537, i32 noundef %3538, i32 noundef %3539, i32 noundef %3540)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3541:                                             ; preds = %1163, %930
  %3542 = load ptr, ptr %12, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %3542)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3543:                                             ; preds = %977
  %3544 = load ptr, ptr %12, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef %3544)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3545:                                             ; preds = %2167
  store i32 0, ptr %33, align 4, !tbaa !9
  %3546 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3546, ptr %23, align 4, !tbaa !9
  store i32 74646, ptr %34, align 4, !tbaa !9
  %3547 = load i32, ptr %34, align 4, !tbaa !9
  %3548 = load i32, ptr %33, align 4, !tbaa !9
  %3549 = add i32 %3548, %3547
  store i32 %3549, ptr %33, align 4, !tbaa !9
  %3550 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3550, ptr %34, align 4, !tbaa !9
  store i32 82467, ptr %35, align 4, !tbaa !9
  %3551 = load i32, ptr %35, align 4, !tbaa !9
  %3552 = load i32, ptr %34, align 4, !tbaa !9
  %3553 = add i32 %3552, %3551
  store i32 %3553, ptr %34, align 4, !tbaa !9
  store i32 176, ptr %35, align 4, !tbaa !9
  %3554 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3554, ptr %36, align 4, !tbaa !9
  store i32 49706, ptr %37, align 4, !tbaa !9
  %3555 = load i32, ptr %37, align 4, !tbaa !9
  %3556 = load i32, ptr %36, align 4, !tbaa !9
  %3557 = add i32 %3556, %3555
  store i32 %3557, ptr %36, align 4, !tbaa !9
  %3558 = load ptr, ptr %12, align 8, !tbaa !5
  %3559 = load i32, ptr %33, align 4, !tbaa !9
  %3560 = load i32, ptr %34, align 4, !tbaa !9
  %3561 = load i32, ptr %35, align 4, !tbaa !9
  %3562 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3558, i32 noundef %3559, i32 noundef %3560, i32 noundef %3561, i32 noundef %3562)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3563:                                             ; preds = %2507
  store i32 0, ptr %33, align 4, !tbaa !9
  %3564 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3564, ptr %23, align 4, !tbaa !9
  store i32 132004, ptr %34, align 4, !tbaa !9
  %3565 = load i32, ptr %34, align 4, !tbaa !9
  %3566 = load i32, ptr %33, align 4, !tbaa !9
  %3567 = add i32 %3566, %3565
  store i32 %3567, ptr %33, align 4, !tbaa !9
  %3568 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3568, ptr %34, align 4, !tbaa !9
  store i32 85918, ptr %35, align 4, !tbaa !9
  %3569 = load i32, ptr %35, align 4, !tbaa !9
  %3570 = load i32, ptr %34, align 4, !tbaa !9
  %3571 = add i32 %3570, %3569
  store i32 %3571, ptr %34, align 4, !tbaa !9
  store i32 2067, ptr %35, align 4, !tbaa !9
  %3572 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3572, ptr %36, align 4, !tbaa !9
  store i32 66017, ptr %37, align 4, !tbaa !9
  %3573 = load i32, ptr %37, align 4, !tbaa !9
  %3574 = load i32, ptr %36, align 4, !tbaa !9
  %3575 = add i32 %3574, %3573
  store i32 %3575, ptr %36, align 4, !tbaa !9
  %3576 = load ptr, ptr %12, align 8, !tbaa !5
  %3577 = load i32, ptr %33, align 4, !tbaa !9
  %3578 = load i32, ptr %34, align 4, !tbaa !9
  %3579 = load i32, ptr %35, align 4, !tbaa !9
  %3580 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3576, i32 noundef %3577, i32 noundef %3578, i32 noundef %3579, i32 noundef %3580)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3581:                                             ; preds = %2638
  store i32 0, ptr %33, align 4, !tbaa !9
  %3582 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3582, ptr %23, align 4, !tbaa !9
  store i32 74646, ptr %34, align 4, !tbaa !9
  %3583 = load i32, ptr %34, align 4, !tbaa !9
  %3584 = load i32, ptr %33, align 4, !tbaa !9
  %3585 = add i32 %3584, %3583
  store i32 %3585, ptr %33, align 4, !tbaa !9
  %3586 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3586, ptr %34, align 4, !tbaa !9
  store i32 82467, ptr %35, align 4, !tbaa !9
  %3587 = load i32, ptr %35, align 4, !tbaa !9
  %3588 = load i32, ptr %34, align 4, !tbaa !9
  %3589 = add i32 %3588, %3587
  store i32 %3589, ptr %34, align 4, !tbaa !9
  store i32 176, ptr %35, align 4, !tbaa !9
  %3590 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3590, ptr %36, align 4, !tbaa !9
  store i32 49706, ptr %37, align 4, !tbaa !9
  %3591 = load i32, ptr %37, align 4, !tbaa !9
  %3592 = load i32, ptr %36, align 4, !tbaa !9
  %3593 = add i32 %3592, %3591
  store i32 %3593, ptr %36, align 4, !tbaa !9
  %3594 = load ptr, ptr %12, align 8, !tbaa !5
  %3595 = load i32, ptr %33, align 4, !tbaa !9
  %3596 = load i32, ptr %34, align 4, !tbaa !9
  %3597 = load i32, ptr %35, align 4, !tbaa !9
  %3598 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3594, i32 noundef %3595, i32 noundef %3596, i32 noundef %3597, i32 noundef %3598)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3599:                                             ; preds = %2654
  store i32 0, ptr %33, align 4, !tbaa !9
  %3600 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3600, ptr %23, align 4, !tbaa !9
  store i32 147142, ptr %34, align 4, !tbaa !9
  %3601 = load i32, ptr %34, align 4, !tbaa !9
  %3602 = load i32, ptr %33, align 4, !tbaa !9
  %3603 = add i32 %3602, %3601
  store i32 %3603, ptr %33, align 4, !tbaa !9
  %3604 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3604, ptr %34, align 4, !tbaa !9
  store i32 82611, ptr %35, align 4, !tbaa !9
  %3605 = load i32, ptr %35, align 4, !tbaa !9
  %3606 = load i32, ptr %34, align 4, !tbaa !9
  %3607 = add i32 %3606, %3605
  store i32 %3607, ptr %34, align 4, !tbaa !9
  store i32 106, ptr %35, align 4, !tbaa !9
  %3608 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3608, ptr %36, align 4, !tbaa !9
  store i32 28119, ptr %37, align 4, !tbaa !9
  %3609 = load i32, ptr %37, align 4, !tbaa !9
  %3610 = load i32, ptr %36, align 4, !tbaa !9
  %3611 = add i32 %3610, %3609
  store i32 %3611, ptr %36, align 4, !tbaa !9
  %3612 = load ptr, ptr %12, align 8, !tbaa !5
  %3613 = load i32, ptr %33, align 4, !tbaa !9
  %3614 = load i32, ptr %34, align 4, !tbaa !9
  %3615 = load i32, ptr %35, align 4, !tbaa !9
  %3616 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3612, i32 noundef %3613, i32 noundef %3614, i32 noundef %3615, i32 noundef %3616)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3617:                                             ; preds = %2732
  store i32 0, ptr %33, align 4, !tbaa !9
  %3618 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3618, ptr %23, align 4, !tbaa !9
  store i32 147142, ptr %34, align 4, !tbaa !9
  %3619 = load i32, ptr %34, align 4, !tbaa !9
  %3620 = load i32, ptr %33, align 4, !tbaa !9
  %3621 = add i32 %3620, %3619
  store i32 %3621, ptr %33, align 4, !tbaa !9
  %3622 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3622, ptr %34, align 4, !tbaa !9
  store i32 82611, ptr %35, align 4, !tbaa !9
  %3623 = load i32, ptr %35, align 4, !tbaa !9
  %3624 = load i32, ptr %34, align 4, !tbaa !9
  %3625 = add i32 %3624, %3623
  store i32 %3625, ptr %34, align 4, !tbaa !9
  store i32 106, ptr %35, align 4, !tbaa !9
  %3626 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3626, ptr %36, align 4, !tbaa !9
  store i32 28119, ptr %37, align 4, !tbaa !9
  %3627 = load i32, ptr %37, align 4, !tbaa !9
  %3628 = load i32, ptr %36, align 4, !tbaa !9
  %3629 = add i32 %3628, %3627
  store i32 %3629, ptr %36, align 4, !tbaa !9
  %3630 = load ptr, ptr %12, align 8, !tbaa !5
  %3631 = load i32, ptr %33, align 4, !tbaa !9
  %3632 = load i32, ptr %34, align 4, !tbaa !9
  %3633 = load i32, ptr %35, align 4, !tbaa !9
  %3634 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3630, i32 noundef %3631, i32 noundef %3632, i32 noundef %3633, i32 noundef %3634)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3635:                                             ; preds = %2763
  store i32 0, ptr %33, align 4, !tbaa !9
  %3636 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3636, ptr %23, align 4, !tbaa !9
  store i32 147142, ptr %34, align 4, !tbaa !9
  %3637 = load i32, ptr %34, align 4, !tbaa !9
  %3638 = load i32, ptr %33, align 4, !tbaa !9
  %3639 = add i32 %3638, %3637
  store i32 %3639, ptr %33, align 4, !tbaa !9
  %3640 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3640, ptr %34, align 4, !tbaa !9
  store i32 82611, ptr %35, align 4, !tbaa !9
  %3641 = load i32, ptr %35, align 4, !tbaa !9
  %3642 = load i32, ptr %34, align 4, !tbaa !9
  %3643 = add i32 %3642, %3641
  store i32 %3643, ptr %34, align 4, !tbaa !9
  store i32 106, ptr %35, align 4, !tbaa !9
  %3644 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3644, ptr %36, align 4, !tbaa !9
  store i32 28119, ptr %37, align 4, !tbaa !9
  %3645 = load i32, ptr %37, align 4, !tbaa !9
  %3646 = load i32, ptr %36, align 4, !tbaa !9
  %3647 = add i32 %3646, %3645
  store i32 %3647, ptr %36, align 4, !tbaa !9
  %3648 = load ptr, ptr %12, align 8, !tbaa !5
  %3649 = load i32, ptr %33, align 4, !tbaa !9
  %3650 = load i32, ptr %34, align 4, !tbaa !9
  %3651 = load i32, ptr %35, align 4, !tbaa !9
  %3652 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3648, i32 noundef %3649, i32 noundef %3650, i32 noundef %3651, i32 noundef %3652)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3653:                                             ; preds = %483, %474
  store i32 0, ptr %33, align 4, !tbaa !9
  %3654 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3654, ptr %23, align 4, !tbaa !9
  store i32 191690, ptr %34, align 4, !tbaa !9
  %3655 = load i32, ptr %34, align 4, !tbaa !9
  %3656 = load i32, ptr %33, align 4, !tbaa !9
  %3657 = add i32 %3656, %3655
  store i32 %3657, ptr %33, align 4, !tbaa !9
  %3658 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3658, ptr %34, align 4, !tbaa !9
  store i32 79174, ptr %35, align 4, !tbaa !9
  %3659 = load i32, ptr %35, align 4, !tbaa !9
  %3660 = load i32, ptr %34, align 4, !tbaa !9
  %3661 = add i32 %3660, %3659
  store i32 %3661, ptr %34, align 4, !tbaa !9
  store i32 453, ptr %35, align 4, !tbaa !9
  %3662 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3662, ptr %36, align 4, !tbaa !9
  store i32 108367, ptr %37, align 4, !tbaa !9
  %3663 = load i32, ptr %37, align 4, !tbaa !9
  %3664 = load i32, ptr %36, align 4, !tbaa !9
  %3665 = add i32 %3664, %3663
  store i32 %3665, ptr %36, align 4, !tbaa !9
  %3666 = load ptr, ptr %12, align 8, !tbaa !5
  %3667 = load i32, ptr %33, align 4, !tbaa !9
  %3668 = load i32, ptr %34, align 4, !tbaa !9
  %3669 = load i32, ptr %35, align 4, !tbaa !9
  %3670 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3666, i32 noundef %3667, i32 noundef %3668, i32 noundef %3669, i32 noundef %3670)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3671:                                             ; preds = %3454
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  ret void
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #2

declare void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24:                                               ; preds = %11
  %25 = zext i32 %14 to i64
  %26 = add nuw nsw i64 %25, 984
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %26, i64 noundef 4294967295)
  %27 = add nuw nsw i64 %25, 976
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %27, i64 noundef 4294967295)
  %28 = add nuw nsw i64 %25, 968
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %28, i64 noundef 4294967295)
  %29 = add nuw nsw i64 %25, 960
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %29, i64 noundef 4294967295)
  %30 = add nuw nsw i64 %25, 944
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %30, i64 noundef 4294967295)
  %31 = add nuw nsw i64 %25, 936
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %31, i64 noundef 4294967295)
  %32 = add nuw nsw i64 %25, 928
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %32, i64 noundef 4294967295)
  %33 = add nuw nsw i64 %25, 920
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %33, i64 noundef 4294967295)
  %34 = add nuw nsw i64 %25, 912
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %34, i64 noundef 1)
  %35 = add nuw nsw i64 %25, 904
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %35, i64 noundef 4294967295)
  %36 = add nuw nsw i64 %25, 896
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %36, i64 noundef 4294967295)
  %37 = add nuw nsw i64 %25, 888
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %37, i64 noundef 4294967295)
  %38 = add nuw nsw i64 %25, 880
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %38, i64 noundef 4294967295)
  %39 = add nuw nsw i64 %25, 872
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %39, i64 noundef 1)
  %40 = add nuw nsw i64 %25, 860
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %40, i64 noundef 4294967295)
  %41 = add nuw nsw i64 %25, 852
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %41, i64 noundef 4294967295)
  %42 = add nuw nsw i64 %25, 844
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %42, i64 noundef 4294967295)
  %43 = add nuw nsw i64 %25, 836
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %43, i64 noundef 4294967295)
  %44 = add nuw nsw i64 %25, 828
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %44, i64 noundef 1)
  %45 = add nuw nsw i64 %25, 820
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %45, i64 noundef 4294967295)
  %46 = add nuw nsw i64 %25, 812
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %46, i64 noundef 4294967295)
  %47 = add nuw nsw i64 %25, 804
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %47, i64 noundef 4294967295)
  %48 = add nuw nsw i64 %25, 796
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %48, i64 noundef 4294967295)
  %49 = add nuw nsw i64 %25, 788
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %49, i64 noundef 1)
  %50 = add nuw nsw i64 %25, 784
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %50, i32 noundef 0)
  %51 = add nuw nsw i64 %25, 772
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %51, i32 noundef 0)
  %52 = add nuw nsw i64 %25, 952
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %52, i64 noundef 1)
  %53 = add nuw nsw i64 %25, 868
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %53, i32 noundef 0)
  %54 = add nuw nsw i64 %25, 774
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %54, i64 noundef 0)
  %55 = add nuw nsw i64 %25, 773
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %55, i32 noundef 0)
  %56 = zext i32 %5 to i64
  %57 = add nuw nsw i64 %56, 18
  %58 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %57)
  %59 = add nuw nsw i64 %25, 779
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %59, i32 noundef %58)
  %60 = add nuw nsw i64 %56, 2
  %61 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %60)
  %62 = add nuw nsw i64 %25, 781
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %62, i32 noundef %61)
  %63 = add nuw nsw i64 %25, 770
  tail call void @i32_store16(ptr noundef nonnull %15, i64 noundef %63, i32 noundef 0)
  %64 = add nuw nsw i64 %25, 768
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %64, i32 noundef 1)
  %65 = add nuw nsw i64 %25, 766
  tail call void @i32_store16(ptr noundef nonnull %15, i64 noundef %65, i32 noundef 257)
  %66 = add nuw nsw i64 %56, 14
  %67 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %66)
  %68 = icmp ne i32 %67, 0
  %69 = add nuw nsw i64 %56, 13
  %70 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %69)
  %71 = icmp ne i32 %70, 0
  %72 = and i1 %68, %71
  %73 = zext i1 %72 to i32
  %74 = add nuw nsw i64 %25, 769
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %74, i32 noundef %73)
  %75 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 376) #5
  %76 = add i32 %13, -220
  %77 = add i32 %13, -226
  %78 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_ptr_emplace0x3Chermes0x3A0x3AContext0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AContext0x3E0x3E0x3A0x3A_0x5Fshared_ptr_emplace0x5Babi0x3Av150070x5D0x3Chermes0x3A0x3ACodeGenerationSettings0x260x2C0x20hermes0x3A0x3AOptimizationSettings0x260x3E0x28std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AContext0x3E0x2C0x20hermes0x3A0x3ACodeGenerationSettings0x260x2C0x20hermes0x3A0x3AOptimizationSettings0x260x29(ptr noundef nonnull %0, i32 noundef %75, i32 noundef %76, i32 noundef %77) #5
  %.not1963 = icmp eq i32 %7, 0
  br i1 %.not1963, label %86, label %79

79:                                               ; preds = %24
  %80 = zext i32 %78 to i64
  %81 = add nuw nsw i64 %80, 84
  %82 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %81)
  %83 = zext i32 %82 to i64
  %84 = add nuw nsw i64 %83, 44
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %84, i32 noundef %8)
  %85 = add nuw nsw i64 %83, 40
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %85, i32 noundef %7)
  br label %93

86:                                               ; preds = %24
  %87 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 176) #5
  %88 = add i32 %78, 84
  %89 = zext i32 %88 to i64
  %90 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %89)
  %91 = tail call i32 @w2c_hermes_hermes0x3A0x3ASimpleDiagHandlerRAII0x3A0x3ASimpleDiagHandlerRAII0x28hermes0x3A0x3ASourceErrorManager0x260x29(ptr noundef nonnull %0, i32 noundef %87, i32 noundef %90)
  %92 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %89)
  %.pre = zext i32 %92 to i64
  br label %93

93:                                               ; preds = %86, %79
  %.pre-phi = phi i64 [ %.pre, %86 ], [ %83, %79 ]
  %.01919 = phi i32 [ %91, %86 ], [ 0, %79 ]
  %94 = add nuw nsw i64 %.pre-phi, 152
  %95 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %94)
  %96 = and i32 %95, 1
  %.not1964 = icmp eq i32 %96, 0
  br i1 %.not1964, label %97, label %102

97:                                               ; preds = %93
  %98 = zext i32 %95 to i64
  %99 = add nuw nsw i64 %98, 8
  %100 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %99)
  %101 = icmp ugt i32 %100, 1
  br i1 %101, label %111, label %720

102:                                              ; preds = %93
  %103 = icmp ult i32 %95, 268435456
  br i1 %103, label %720, label %104

104:                                              ; preds = %102
  %105 = lshr i32 %95, 27
  %106 = shl i32 -2, %105
  %107 = and i32 %106, 134217722
  %108 = xor i32 %107, -6
  %109 = and i32 %108, %95
  %110 = or disjoint i32 %109, 1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %94, i32 noundef %110)
  br label %119

111:                                              ; preds = %97
  %112 = add nuw nsw i64 %98, 4
  %113 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %112)
  %.not1965 = icmp eq i32 %113, 0
  br i1 %.not1965, label %709, label %114

114:                                              ; preds = %111
  %115 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %98)
  %116 = zext i32 %115 to i64
  %117 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %116)
  %118 = and i32 %117, -3
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %116, i32 noundef %118)
  br label %119

119:                                              ; preds = %114, %104
  %120 = add nuw nsw i64 %56, 12
  %121 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %120)
  %122 = zext i32 %78 to i64
  %123 = add nuw nsw i64 %122, 89
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %123, i32 noundef 1)
  %124 = add nuw nsw i64 %122, 88
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %124, i32 noundef %121)
  %125 = add nuw nsw i64 %56, 20
  %126 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %125)
  %127 = add nuw nsw i64 %122, 113
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %127, i32 noundef %126)
  %128 = add nuw nsw i64 %56, 8
  %129 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %128)
  %130 = add nuw nsw i64 %122, 92
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %130, i32 noundef %129)
  %131 = add nuw nsw i64 %56, 4
  %132 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %131)
  %133 = add nuw nsw i64 %122, 96
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %133, i32 noundef %132)
  %134 = add nuw nsw i64 %56, 1
  %135 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %134)
  %.not1966 = icmp eq i32 %135, 0
  br i1 %.not1966, label %142, label %136

136:                                              ; preds = %119
  %137 = zext i32 %9 to i64
  %138 = add nuw nsw i64 %137, 16
  %139 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %138)
  %.not1967 = icmp eq i32 %139, 0
  br i1 %.not1967, label %140, label %142

140:                                              ; preds = %136
  %141 = add nuw nsw i64 %122, 90
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %141, i32 noundef 1)
  br label %142

142:                                              ; preds = %136, %119, %140
  %143 = add i32 %78, 12
  %144 = add nuw nsw i64 %56, 19
  %145 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %144)
  %146 = add nuw nsw i64 %122, 101
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %146, i32 noundef %145)
  %147 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %56)
  %148 = shl i32 %147, 1
  %149 = add nuw nsw i64 %122, 132
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %149, i32 noundef %148)
  %150 = add nuw nsw i64 %56, 16
  %151 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %150)
  %152 = add nuw nsw i64 %122, 136
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %152, i32 noundef %151)
  %153 = add nuw nsw i64 %25, 760
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %153, i32 noundef 0)
  %154 = add nuw nsw i64 %25, 752
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %154, i64 noundef 0)
  %155 = add nuw nsw i64 %56, 17
  %156 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %155)
  %.not1968 = icmp eq i32 %156, 0
  br i1 %.not1968, label %213, label %157

157:                                              ; preds = %142
  %158 = add nuw nsw i64 %25, 748
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %158, i32 noundef 1085)
  %159 = add nuw nsw i64 %25, 744
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %159, i32 noundef 233808)
  %160 = add nuw nsw i64 %25, 740
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %160, i32 noundef 0)
  %161 = add nuw nsw i64 %25, 736
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %161, i32 noundef 213048)
  %162 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %159)
  %163 = add nuw nsw i64 %25, 32
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %163, i64 noundef %162)
  %164 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %161)
  %165 = add nuw nsw i64 %25, 24
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %165, i64 noundef %164)
  %166 = add i32 %13, -280
  %167 = add i32 %13, -896
  %168 = add i32 %13, -960
  %169 = add i32 %13, -968
  %170 = tail call i32 @w2c_hermes_llvh0x3A0x3AMemoryBuffer0x3A0x3AgetMemBuffer0x28llvh0x3A0x3AStringRef0x2C0x20llvh0x3A0x3AStringRef0x2C0x20bool0x29(ptr noundef nonnull %0, i32 noundef %168, i32 noundef %169, i32 noundef 1) #5
  %171 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AJSParser0x28hermes0x3A0x3AContext0x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3AMemoryBuffer0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3AMemoryBuffer0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %167, i32 noundef %143, i32 noundef %170) #5
  tail call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3Aparse0x280x29(ptr noundef nonnull %0, i32 noundef %166, i32 noundef %171) #5
  %172 = add nuw nsw i64 %25, 716
  %173 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %172)
  %.not1969 = icmp eq i32 %173, 0
  br i1 %.not1969, label %710, label %174

174:                                              ; preds = %157
  tail call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef nonnull %0, i32 noundef %171, i32 noundef 3) #5
  %175 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %172)
  %.not1970 = icmp eq i32 %175, 0
  br i1 %.not1970, label %711, label %176

176:                                              ; preds = %174
  %177 = add nuw nsw i64 %25, 756
  %178 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %177)
  %179 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %153)
  %.not1971 = icmp eq i32 %178, %179
  br i1 %.not1971, label %185, label %180

180:                                              ; preds = %176
  %181 = add nuw nsw i64 %25, 712
  %182 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %181)
  %183 = zext i32 %178 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %183, i32 noundef %182)
  %184 = add i32 %178, 4
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %177, i32 noundef %184)
  br label %210

185:                                              ; preds = %176
  %186 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %154)
  %187 = sub i32 %178, %186
  %188 = ashr i32 %187, 2
  %189 = add nsw i32 %188, 1
  %190 = icmp ugt i32 %189, 1073741823
  br i1 %190, label %712, label %191

191:                                              ; preds = %185
  %192 = ashr i32 %187, 1
  %193 = tail call i32 @llvm.umax.i32(i32 %189, i32 %192)
  %194 = icmp ugt i32 %187, 2147483643
  %195 = select i1 %194, i32 1073741823, i32 %193
  %.not1972 = icmp eq i32 %195, 0
  br i1 %.not1972, label %._crit_edge, label %196

196:                                              ; preds = %191
  %197 = icmp ugt i32 %195, 1073741823
  br i1 %197, label %713, label %198

198:                                              ; preds = %196
  %199 = shl nuw i32 %195, 2
  %200 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %199) #5
  br label %._crit_edge

._crit_edge:                                      ; preds = %191, %198
  %.pre-phi2050 = phi i32 [ %199, %198 ], [ 0, %191 ]
  %.0 = phi i32 [ %200, %198 ], [ 0, %191 ]
  %201 = and i32 %187, -4
  %202 = add i32 %.0, %201
  %203 = add nuw nsw i64 %25, 712
  %204 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %203)
  %205 = zext i32 %202 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %205, i32 noundef %204)
  %206 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.0, i32 noundef %186, i32 noundef %187) #5
  %207 = add i32 %206, %.pre-phi2050
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %153, i32 noundef %207)
  %208 = add i32 %202, 4
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %177, i32 noundef %208)
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %154, i32 noundef %206)
  %.not1973 = icmp eq i32 %186, 0
  br i1 %.not1973, label %210, label %209

209:                                              ; preds = %._crit_edge
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %186) #5
  br label %210

210:                                              ; preds = %._crit_edge, %209, %180
  %211 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef nonnull %0, i32 noundef %171) #5
  %212 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %133)
  br label %213

213:                                              ; preds = %210, %142
  %.01920 = phi i32 [ %212, %210 ], [ %132, %142 ]
  %214 = add nuw nsw i64 %122, 84
  %215 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %214)
  %216 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %19)
  %217 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 28) #5
  %218 = zext i32 %3 to i64
  %219 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %218)
  %220 = zext i32 %217 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %220, i32 noundef 271664)
  %221 = add i32 %217, 12
  %222 = trunc i64 %219 to i32
  %.not1974 = icmp eq i32 %222, 0
  br i1 %.not1974, label %223, label %226

223:                                              ; preds = %213
  %224 = zext i32 %221 to i64
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %224, i64 noundef 0)
  %225 = add nuw nsw i64 %224, 8
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %225, i32 noundef 0)
  br label %249

226:                                              ; preds = %213
  %227 = lshr i64 %219, 32
  %228 = trunc nuw i64 %227 to i32
  %229 = icmp ugt i64 %219, 9223371968135299071
  br i1 %229, label %712, label %230

230:                                              ; preds = %226
  %231 = icmp ugt i64 %219, 47244640255
  br i1 %231, label %232, label %241

232:                                              ; preds = %230
  %233 = or i32 %228, 15
  %234 = add nuw i32 %233, 1
  %235 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %234) #5
  %236 = or i32 %234, -2147483648
  %237 = add nuw nsw i64 %220, 20
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %237, i32 noundef %236)
  %238 = add nuw nsw i64 %220, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %238, i32 noundef %235)
  %239 = add nuw nsw i64 %220, 16
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %239, i32 noundef %228)
  %240 = add i32 %235, %228
  br label %244

241:                                              ; preds = %230
  %242 = add nuw nsw i64 %220, 23
  tail call void @i64_store8(ptr noundef nonnull %15, i64 noundef %242, i64 noundef %227)
  %243 = add i32 %221, %228
  %.not1975 = icmp ult i64 %219, 4294967296
  br i1 %.not1975, label %246, label %244

244:                                              ; preds = %241, %232
  %.01935 = phi i32 [ %235, %232 ], [ %221, %241 ]
  %.01917 = phi i32 [ %240, %232 ], [ %243, %241 ]
  %245 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.01935, i32 noundef %222, i32 noundef %228) #5
  br label %246

246:                                              ; preds = %241, %244
  %.11918 = phi i32 [ %.01917, %244 ], [ %243, %241 ]
  %247 = zext i32 %.11918 to i64
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %247, i32 noundef 0)
  %248 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %19)
  br label %249

249:                                              ; preds = %246, %223
  %.1 = phi i32 [ %216, %223 ], [ %248, %246 ]
  %250 = add nuw nsw i64 %220, 24
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %250, i32 noundef %2)
  %251 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %17)
  %252 = add i32 %251, %.1
  tail call void @w2c_hermes_llvh0x3A0x3AMemoryBuffer0x3A0x3Ainit0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x20bool0x29(ptr noundef nonnull %0, i32 noundef %217, i32 noundef %251, i32 noundef %252, i32 noundef 1) #5
  %253 = tail call i32 @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3AaddNewSourceBuffer0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3AMemoryBuffer0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3AMemoryBuffer0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %215, i32 noundef %217)
  %.not1976 = icmp eq i32 %4, 0
  br i1 %.not1976, label %358, label %254

254:                                              ; preds = %249
  %255 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %214)
  %256 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 36) #5
  %257 = zext i32 %256 to i64
  %258 = add nuw nsw i64 %257, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %258, i32 noundef 271412)
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %257, i32 noundef 271688)
  %259 = add nuw nsw i64 %257, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %259, i64 noundef 2)
  %260 = add nuw nsw i64 %257, 16
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %260, i64 noundef 0)
  %261 = add nuw nsw i64 %257, 24
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %261, i64 noundef 0)
  %262 = add nuw nsw i64 %257, 32
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %262, i32 noundef %255)
  %263 = add i32 %256, 12
  %264 = zext i32 %255 to i64
  %265 = add nuw nsw i64 %264, 56
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %265, i32 noundef %263)
  %266 = add i32 %255, 60
  %267 = zext i32 %266 to i64
  %268 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %267)
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %267, i32 noundef %256)
  %.not1977 = icmp eq i32 %268, 0
  br i1 %.not1977, label %300, label %269

269:                                              ; preds = %254
  %270 = zext i32 %268 to i64
  %271 = add nuw nsw i64 %270, 4
  %272 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %271)
  %273 = add i32 %272, -1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %271, i32 noundef %273)
  %.not1978 = icmp eq i32 %272, 0
  br i1 %.not1978, label %274, label %300

274:                                              ; preds = %269
  %275 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %270)
  %276 = zext i32 %275 to i64
  %277 = add nuw nsw i64 %276, 8
  %278 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %277)
  %279 = getelementptr inbounds i8, ptr %0, i64 80
  %280 = getelementptr inbounds i8, ptr %0, i64 92
  %281 = load i32, ptr %280, align 4, !tbaa !15
  %282 = icmp ult i32 %278, %281
  br i1 %282, label %283, label %.critedge, !prof !16

283:                                              ; preds = %274
  %284 = load ptr, ptr %279, align 8, !tbaa !17
  %285 = zext i32 %278 to i64
  %286 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %284, i64 %285
  %287 = getelementptr inbounds i8, ptr %286, i64 8
  %288 = load ptr, ptr %287, align 8, !tbaa !18
  %.not1979 = icmp eq ptr %288, null
  br i1 %.not1979, label %.critedge, label %289, !prof !20

289:                                              ; preds = %283
  %290 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %291 = load ptr, ptr %286, align 8, !tbaa !22
  %292 = tail call zeroext i1 @func_types_eq(ptr noundef %290, ptr noundef %291)
  br i1 %292, label %293, label %.critedge, !prof !16

.critedge:                                        ; preds = %283, %274, %289
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

293:                                              ; preds = %289
  %294 = load ptr, ptr %279, align 8, !tbaa !17
  %295 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %294, i64 %285
  %296 = getelementptr inbounds i8, ptr %295, i64 8
  %297 = load ptr, ptr %296, align 8, !tbaa !18
  %298 = getelementptr inbounds i8, ptr %295, i64 16
  %299 = load ptr, ptr %298, align 8, !tbaa !23
  tail call void %297(ptr noundef %299, i32 noundef %268) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %268) #5
  br label %300

300:                                              ; preds = %269, %254, %293
  %301 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %259)
  %302 = add i32 %301, -1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %259, i32 noundef %302)
  %.not1980 = icmp eq i32 %301, 0
  br i1 %.not1980, label %303, label %329

303:                                              ; preds = %300
  %304 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %257)
  %305 = zext i32 %304 to i64
  %306 = add nuw nsw i64 %305, 8
  %307 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %306)
  %308 = getelementptr inbounds i8, ptr %0, i64 80
  %309 = getelementptr inbounds i8, ptr %0, i64 92
  %310 = load i32, ptr %309, align 4, !tbaa !15
  %311 = icmp ult i32 %307, %310
  br i1 %311, label %312, label %.critedge2023, !prof !16

312:                                              ; preds = %303
  %313 = load ptr, ptr %308, align 8, !tbaa !17
  %314 = zext i32 %307 to i64
  %315 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %313, i64 %314
  %316 = getelementptr inbounds i8, ptr %315, i64 8
  %317 = load ptr, ptr %316, align 8, !tbaa !18
  %.not1981 = icmp eq ptr %317, null
  br i1 %.not1981, label %.critedge2023, label %318, !prof !20

318:                                              ; preds = %312
  %319 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %320 = load ptr, ptr %315, align 8, !tbaa !22
  %321 = tail call zeroext i1 @func_types_eq(ptr noundef %319, ptr noundef %320)
  br i1 %321, label %322, label %.critedge2023, !prof !16

.critedge2023:                                    ; preds = %312, %303, %318
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

322:                                              ; preds = %318
  %323 = load ptr, ptr %308, align 8, !tbaa !17
  %324 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %323, i64 %314
  %325 = getelementptr inbounds i8, ptr %324, i64 8
  %326 = load ptr, ptr %325, align 8, !tbaa !18
  %327 = getelementptr inbounds i8, ptr %324, i64 16
  %328 = load ptr, ptr %327, align 8, !tbaa !23
  tail call void %326(ptr noundef %328, i32 noundef %256) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %256) #5
  br label %329

329:                                              ; preds = %322, %300
  tail call void @w2c_hermes_hermes0x3A0x3ASourceMapTranslator0x3A0x3AaddSourceMap0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3ASourceMap0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3ASourceMap0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %263, i32 noundef %253, i32 noundef %4)
  %330 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %259)
  %331 = add i32 %330, -1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %259, i32 noundef %331)
  %.not1982 = icmp eq i32 %330, 0
  br i1 %.not1982, label %332, label %358

332:                                              ; preds = %329
  %333 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %257)
  %334 = zext i32 %333 to i64
  %335 = add nuw nsw i64 %334, 8
  %336 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %335)
  %337 = getelementptr inbounds i8, ptr %0, i64 80
  %338 = getelementptr inbounds i8, ptr %0, i64 92
  %339 = load i32, ptr %338, align 4, !tbaa !15
  %340 = icmp ult i32 %336, %339
  br i1 %340, label %341, label %.critedge2025, !prof !16

341:                                              ; preds = %332
  %342 = load ptr, ptr %337, align 8, !tbaa !17
  %343 = zext i32 %336 to i64
  %344 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %342, i64 %343
  %345 = getelementptr inbounds i8, ptr %344, i64 8
  %346 = load ptr, ptr %345, align 8, !tbaa !18
  %.not1983 = icmp eq ptr %346, null
  br i1 %.not1983, label %.critedge2025, label %347, !prof !20

347:                                              ; preds = %341
  %348 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %349 = load ptr, ptr %344, align 8, !tbaa !22
  %350 = tail call zeroext i1 @func_types_eq(ptr noundef %348, ptr noundef %349)
  br i1 %350, label %351, label %.critedge2025, !prof !16

.critedge2025:                                    ; preds = %341, %332, %347
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

351:                                              ; preds = %347
  %352 = load ptr, ptr %337, align 8, !tbaa !17
  %353 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %352, i64 %343
  %354 = getelementptr inbounds i8, ptr %353, i64 8
  %355 = load ptr, ptr %354, align 8, !tbaa !18
  %356 = getelementptr inbounds i8, ptr %353, i64 16
  %357 = load ptr, ptr %356, align 8, !tbaa !23
  tail call void %355(ptr noundef %357, i32 noundef %256) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %256) #5
  br label %358

358:                                              ; preds = %329, %249, %351
  %359 = add nuw nsw i64 %122, 90
  %360 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %359)
  %.not1984 = icmp eq i32 %360, 0
  %361 = icmp ugt i32 %.01920, %216
  %.not1989.not1992 = or i1 %361, %.not1984
  br i1 %.not1989.not1992, label %384, label %362

362:                                              ; preds = %358
  %363 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3ApreParseBuffer0x28hermes0x3A0x3AContext0x260x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %143, i32 noundef %253) #5
  %.not1985 = icmp eq i32 %363, 0
  br i1 %.not1985, label %364, label %381

364:                                              ; preds = %362
  %.not1986 = icmp eq i32 %.01919, 0
  br i1 %.not1986, label %367, label %365

365:                                              ; preds = %364
  %366 = add i32 %13, -896
  tail call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef nonnull %0, i32 noundef %366, i32 noundef %.01919)
  %.pre2044 = add nuw nsw i64 %25, 96
  br label %374

367:                                              ; preds = %364
  %368 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef 48762)
  %369 = add nuw nsw i64 %25, 100
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %369, i32 noundef %368)
  %370 = add nuw nsw i64 %25, 107
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %370, i32 noundef 5)
  %371 = add nuw nsw i64 %25, 101
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %371, i32 noundef 0)
  %372 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef 48758)
  %373 = add nuw nsw i64 %25, 96
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %373, i32 noundef %372)
  br label %374

374:                                              ; preds = %367, %365
  %.pre-phi2045 = phi i64 [ %373, %367 ], [ %.pre2044, %365 ]
  %375 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %375, i32 noundef 0)
  %376 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %.pre-phi2045)
  %377 = add nuw nsw i64 %375, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %377, i64 noundef %376)
  %378 = add nuw nsw i64 %25, 104
  %379 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %378)
  %380 = add nuw nsw i64 %375, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %380, i32 noundef %379)
  br label %669

381:                                              ; preds = %362
  %382 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AgetUseStaticBuiltin0x280x290x20const(ptr noundef nonnull %0, i32 noundef %363) #5
  tail call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef nonnull %0, i32 noundef %363, i32 noundef 3) #5
  %383 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef nonnull %0, i32 noundef %363) #5
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %383) #5
  br label %384

384:                                              ; preds = %358, %381
  %.01930 = phi i32 [ %382, %381 ], [ 0, %358 ]
  %.2 = phi i32 [ 1, %381 ], [ 2, %358 ]
  %385 = add nuw nsw i64 %25, 728
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %385, i64 noundef 0)
  %386 = add nuw nsw i64 %25, 720
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %386, i64 noundef 0)
  %387 = add nuw nsw i64 %25, 712
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %387, i64 noundef 0)
  %388 = add i32 %13, -296
  %389 = add i32 %13, -288
  %390 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AJSParser0x28hermes0x3A0x3AContext0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Aparser0x3A0x3AParserPass0x29(ptr noundef nonnull %0, i32 noundef %389, i32 noundef %143, i32 noundef %253, i32 noundef %.2) #5
  tail call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3Aparse0x280x29(ptr noundef nonnull %0, i32 noundef %388, i32 noundef %390) #5
  %391 = add nuw nsw i64 %25, 700
  %392 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %391)
  %.not1987 = icmp ne i32 %392, 0
  %.not1990 = and i1 %.not1989.not1992, %.not1987
  br i1 %.not1990, label %393, label %396

393:                                              ; preds = %384
  %394 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AgetUseStaticBuiltin0x280x290x20const(ptr noundef nonnull %0, i32 noundef %390) #5
  tail call void @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3AregisterMagicURLs0x28unsigned0x20char0x290x20const(ptr noundef nonnull %0, i32 noundef %390, i32 noundef 3) #5
  %395 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %391)
  br label %396

396:                                              ; preds = %393, %384
  %.11931 = phi i32 [ %394, %393 ], [ %.01930, %384 ]
  %.01927 = phi i32 [ %395, %393 ], [ %392, %384 ]
  %397 = and i32 %.01927, 255
  %.not1993 = icmp eq i32 %397, 0
  br i1 %.not1993, label %403, label %398

398:                                              ; preds = %396
  %399 = add i32 %13, -280
  %400 = add nuw nsw i64 %25, 696
  %401 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %400)
  %402 = tail call i32 @w2c_hermes_hermes0x3A0x3Asem0x3A0x3AvalidateAST0x28hermes0x3A0x3AContext0x260x2C0x20hermes0x3A0x3Asem0x3A0x3ASemContext0x260x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x29(ptr noundef nonnull %0, i32 noundef %143, i32 noundef %399, i32 noundef %401) #5
  %.not1994 = icmp eq i32 %402, 0
  br i1 %.not1994, label %403, label %420

403:                                              ; preds = %398, %396
  %.not1995 = icmp eq i32 %.01919, 0
  br i1 %.not1995, label %406, label %404

404:                                              ; preds = %403
  %405 = add i32 %13, -896
  tail call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef nonnull %0, i32 noundef %405, i32 noundef %.01919)
  %.pre2038 = add nuw nsw i64 %25, 96
  br label %413

406:                                              ; preds = %403
  %407 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef 48762)
  %408 = add nuw nsw i64 %25, 100
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %408, i32 noundef %407)
  %409 = add nuw nsw i64 %25, 107
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %409, i32 noundef 5)
  %410 = add nuw nsw i64 %25, 101
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %410, i32 noundef 0)
  %411 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef 48758)
  %412 = add nuw nsw i64 %25, 96
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %412, i32 noundef %411)
  br label %413

413:                                              ; preds = %406, %404
  %.pre-phi2039 = phi i64 [ %412, %406 ], [ %.pre2038, %404 ]
  %414 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %414, i32 noundef 0)
  %415 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %.pre-phi2039)
  %416 = add nuw nsw i64 %414, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %416, i64 noundef %415)
  %417 = add nuw nsw i64 %25, 104
  %418 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %417)
  %419 = add nuw nsw i64 %414, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %419, i32 noundef %418)
  br label %598

420:                                              ; preds = %398
  %421 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %66)
  %.not1996 = icmp eq i32 %421, 0
  br i1 %.not1996, label %422, label %424

422:                                              ; preds = %420
  %423 = add nuw nsw i64 %122, 363
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %423, i32 noundef %.11931)
  br label %424

424:                                              ; preds = %422, %420
  %425 = add nuw nsw i64 %25, 92
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %425, i32 noundef %78)
  %426 = add nuw nsw i64 %25, 88
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %426, i32 noundef %143)
  %427 = add nuw nsw i64 %122, 4
  %428 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %427)
  %429 = add i32 %428, 1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %427, i32 noundef %429)
  %430 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %426)
  %431 = add nuw nsw i64 %25, 16
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %431, i64 noundef %430)
  %432 = add i32 %13, -896
  %433 = add i32 %13, -976
  %434 = tail call i32 @w2c_hermes_hermes0x3A0x3AModule0x3A0x3AModule0x28std0x3A0x3A_0x5F20x3A0x3Ashared_ptr0x3Chermes0x3A0x3AContext0x3E0x29(ptr noundef nonnull %0, i32 noundef %432, i32 noundef %433)
  %435 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %391)
  %.not1997 = icmp eq i32 %435, 0
  br i1 %.not1997, label %714, label %436

436:                                              ; preds = %424
  %437 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %400)
  %438 = add i32 %13, -240
  %439 = tail call i32 @w2c_hermes_hermes0x3A0x3AgenerateIRFromESTree0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AModule0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AESTree0x3A0x3AProgramNode0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AESTree0x3A0x3AProgramNode0x2A0x3E0x3E0x20const0x260x2C0x20hermes0x3A0x3AScopeChain0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %437, i32 noundef %434, i32 noundef %438, i32 noundef %6)
  %440 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %214)
  %441 = zext i32 %440 to i64
  %442 = add nuw nsw i64 %441, 128
  %443 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %442)
  %.not1998 = icmp eq i32 %443, 0
  br i1 %.not1998, label %461, label %444

444:                                              ; preds = %436
  %.not2013 = icmp eq i32 %.01919, 0
  br i1 %.not2013, label %447, label %445

445:                                              ; preds = %444
  %446 = add i32 %13, -928
  tail call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef nonnull %0, i32 noundef %446, i32 noundef %.01919)
  %.pre2042 = add nuw nsw i64 %25, 64
  br label %454

447:                                              ; preds = %444
  %448 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef 48762)
  %449 = add nuw nsw i64 %25, 68
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %449, i32 noundef %448)
  %450 = add nuw nsw i64 %25, 75
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %450, i32 noundef 5)
  %451 = add nuw nsw i64 %25, 69
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %451, i32 noundef 0)
  %452 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef 48758)
  %453 = add nuw nsw i64 %25, 64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %453, i32 noundef %452)
  br label %454

454:                                              ; preds = %447, %445
  %.pre-phi2043 = phi i64 [ %453, %447 ], [ %.pre2042, %445 ]
  %455 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %455, i32 noundef 0)
  %456 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %.pre-phi2043)
  %457 = add nuw nsw i64 %455, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %457, i64 noundef %456)
  %458 = add nuw nsw i64 %25, 72
  %459 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %458)
  %460 = add nuw nsw i64 %455, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %460, i32 noundef %459)
  br label %596

461:                                              ; preds = %436
  %462 = zext i32 %9 to i64
  %463 = add nuw nsw i64 %462, 16
  %464 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %463)
  %.not1999 = icmp eq i32 %464, 0
  br i1 %.not1999, label %493, label %465

465:                                              ; preds = %461
  %466 = zext i32 %464 to i64
  %467 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %466)
  %468 = zext i32 %467 to i64
  %469 = add nuw nsw i64 %468, 24
  %470 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %469)
  %471 = getelementptr inbounds i8, ptr %0, i64 80
  %472 = getelementptr inbounds i8, ptr %0, i64 92
  %473 = load i32, ptr %472, align 4, !tbaa !15
  %474 = icmp ult i32 %470, %473
  br i1 %474, label %475, label %.critedge2027, !prof !16

475:                                              ; preds = %465
  %476 = load ptr, ptr %471, align 8, !tbaa !17
  %477 = zext i32 %470 to i64
  %478 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %476, i64 %477
  %479 = getelementptr inbounds i8, ptr %478, i64 8
  %480 = load ptr, ptr %479, align 8, !tbaa !18
  %.not2000 = icmp eq ptr %480, null
  br i1 %.not2000, label %.critedge2027, label %481, !prof !20

481:                                              ; preds = %475
  %482 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %483 = load ptr, ptr %478, align 8, !tbaa !22
  %484 = tail call zeroext i1 @func_types_eq(ptr noundef %482, ptr noundef %483)
  br i1 %484, label %485, label %.critedge2027, !prof !16

.critedge2027:                                    ; preds = %475, %465, %481
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

485:                                              ; preds = %481
  %486 = load ptr, ptr %471, align 8, !tbaa !17
  %487 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %486, i64 %477
  %488 = getelementptr inbounds i8, ptr %487, i64 8
  %489 = load ptr, ptr %488, align 8, !tbaa !18
  %490 = getelementptr inbounds i8, ptr %487, i64 16
  %491 = load ptr, ptr %490, align 8, !tbaa !23
  tail call void %489(ptr noundef %491, i32 noundef %464, i32 noundef %434) #5
  %492 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %463)
  br label %493

493:                                              ; preds = %485, %461
  %.11922 = phi i32 [ %492, %485 ], [ 0, %461 ]
  %494 = zext i32 %10 to i64
  %495 = add nuw nsw i64 %494, 16
  %496 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %495)
  %497 = add nuw nsw i64 %25, 80
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %497, i32 noundef %496)
  %498 = add i32 %13, -920
  %499 = add nuw nsw i64 %494, 8
  %500 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %499)
  %501 = zext i32 %498 to i64
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %501, i64 noundef %500)
  %502 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %494)
  %503 = add nuw nsw i64 %25, 64
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %503, i64 noundef %502)
  %504 = add nuw nsw i64 %56, 24
  %505 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %504)
  %506 = icmp ne i32 %.11922, 0
  %507 = zext i1 %506 to i32
  %508 = add nuw nsw i64 %25, 68
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %508, i32 noundef %507)
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %503, i32 noundef %505)
  %509 = add nuw nsw i64 %122, 363
  %510 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %509)
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %501, i32 noundef %510)
  %511 = add nuw nsw i64 %56, 15
  %512 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %511)
  %513 = add nuw nsw i64 %25, 73
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %513, i32 noundef %512)
  %514 = zext i32 %434 to i64
  %515 = add nuw nsw i64 %514, 40
  %516 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %515)
  %517 = add i32 %434, 40
  %518 = icmp eq i32 %516, %517
  br i1 %518, label %715, label %519

519:                                              ; preds = %493
  %520 = add nuw nsw i64 %514, 44
  %521 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %520)
  %522 = add nuw nsw i64 %514, 36
  %523 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %522)
  %524 = add nuw nsw i64 %25, 60
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %524, i32 noundef 0)
  %525 = add nuw nsw i64 %25, 56
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %525, i32 noundef 0)
  %526 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %525)
  %527 = add nuw nsw i64 %25, 8
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %527, i64 noundef %526)
  %.not2001 = icmp eq i32 %523, 0
  %528 = select i1 %.not2001, i32 %521, i32 %523
  %529 = add i32 %13, -928
  %530 = add i32 %13, -984
  %531 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AgenerateBytecodeModule0x28hermes0x3A0x3AModule0x2A0x2C0x20hermes0x3A0x3AFunction0x2A0x2C0x20hermes0x3A0x3ABytecodeGenerationOptions0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x2C0x20hermes0x3A0x3ASourceMapGenerator0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABCProviderBase0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %434, i32 noundef %528, i32 noundef %529, i32 noundef %530, i32 noundef 0, i32 noundef 0) #5
  %532 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %214)
  %533 = zext i32 %532 to i64
  %534 = add nuw nsw i64 %533, 128
  %535 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %534)
  %.not2002 = icmp eq i32 %535, 0
  br i1 %.not2002, label %539, label %536

536:                                              ; preds = %519
  %.not2011 = icmp eq i32 %.01919, 0
  br i1 %.not2011, label %580, label %537

537:                                              ; preds = %536
  %538 = add i32 %13, -948
  tail call void @w2c_hermes_hermes0x3A0x3ASimpleDiagHandler0x3A0x3AgetErrorString0x280x290x20const(ptr noundef nonnull %0, i32 noundef %538, i32 noundef %.01919)
  %.pre2040 = add nuw nsw i64 %25, 44
  br label %587

539:                                              ; preds = %519
  %540 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 172) #5
  %541 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABCProviderFromSrc0x3A0x3ABCProviderFromSrc0x28std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %540, i32 noundef %531)
  %542 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef %391)
  %.not2003 = icmp eq i32 %542, 0
  br i1 %.not2003, label %716, label %543

543:                                              ; preds = %539
  %544 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %400)
  %.not2004 = icmp eq i32 %544, 0
  br i1 %.not2004, label %717, label %545

545:                                              ; preds = %543
  %546 = zext i32 %544 to i64
  %547 = add nuw nsw i64 %546, 8
  %548 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %547)
  %.not2005 = icmp eq i32 %548, 3
  br i1 %.not2005, label %549, label %574

549:                                              ; preds = %545
  %550 = add nuw nsw i64 %546, 56
  %551 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %550)
  %552 = add i32 %544, 52
  %553 = icmp eq i32 %551, %552
  br i1 %553, label %574, label %.preheader2033

.preheader2033:                                   ; preds = %549, %.preheader2033
  %.01936 = phi i32 [ %554, %.preheader2033 ], [ 0, %549 ]
  %.21923 = phi i32 [ %557, %.preheader2033 ], [ %551, %549 ]
  %554 = add i32 %.01936, 1
  %555 = zext i32 %.21923 to i64
  %556 = add nuw nsw i64 %555, 4
  %557 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %556)
  %.not2006 = icmp eq i32 %557, %552
  br i1 %.not2006, label %558, label %.preheader2033

558:                                              ; preds = %.preheader2033
  %.not2007 = icmp eq i32 %.01936, 0
  br i1 %.not2007, label %559, label %574

559:                                              ; preds = %558
  %.not2008 = icmp eq i32 %551, 0
  br i1 %.not2008, label %718, label %560

560:                                              ; preds = %559
  %561 = zext i32 %551 to i64
  %562 = add nuw nsw i64 %561, 8
  %563 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %562)
  %.not2009 = icmp eq i32 %563, 28
  br i1 %.not2009, label %564, label %574

564:                                              ; preds = %560
  %565 = add nuw nsw i64 %561, 28
  %566 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %565)
  %.not2010 = icmp eq i32 %566, 0
  br i1 %.not2010, label %719, label %567

567:                                              ; preds = %564
  %568 = zext i32 %566 to i64
  %569 = add nuw nsw i64 %568, 8
  %570 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %569)
  %571 = and i32 %570, -2
  %572 = icmp eq i32 %571, 4
  %573 = zext i1 %572 to i32
  br label %574

574:                                              ; preds = %560, %558, %549, %545, %567
  %.11937 = phi i32 [ 0, %545 ], [ 0, %549 ], [ 0, %558 ], [ 0, %560 ], [ %573, %567 ]
  %575 = zext i32 %541 to i64
  %576 = add nuw nsw i64 %575, 148
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %576, i32 noundef %.11937)
  %577 = zext i32 %1 to i64
  %578 = add nuw nsw i64 %577, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %578, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %577, i32 noundef %541)
  %579 = add nuw nsw i64 %577, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %579, i32 noundef 0)
  br label %596

580:                                              ; preds = %536
  %581 = tail call i32 @i32_load8_u(ptr noundef nonnull %15, i64 noundef 48762)
  %582 = add nuw nsw i64 %25, 48
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %582, i32 noundef %581)
  %583 = add nuw nsw i64 %25, 55
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %583, i32 noundef 5)
  %584 = add nuw nsw i64 %25, 49
  tail call void @i32_store8(ptr noundef nonnull %15, i64 noundef %584, i32 noundef 0)
  %585 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef 48758)
  %586 = add nuw nsw i64 %25, 44
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %586, i32 noundef %585)
  br label %587

587:                                              ; preds = %580, %537
  %.pre-phi2041 = phi i64 [ %586, %580 ], [ %.pre2040, %537 ]
  %588 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %588, i32 noundef 0)
  %589 = tail call i64 @i64_load(ptr noundef nonnull %15, i64 noundef %.pre-phi2041)
  %590 = add nuw nsw i64 %588, 4
  tail call void @i64_store(ptr noundef nonnull %15, i64 noundef %590, i64 noundef %589)
  %591 = add nuw nsw i64 %25, 52
  %592 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %591)
  %593 = add nuw nsw i64 %588, 12
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %593, i32 noundef %592)
  %.not2012 = icmp eq i32 %531, 0
  br i1 %.not2012, label %596, label %594

594:                                              ; preds = %587
  %595 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3A0x7EBytecodeModule0x280x29(ptr noundef nonnull %0, i32 noundef %531) #5
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %595) #5
  br label %596

596:                                              ; preds = %587, %594, %574, %454
  %597 = tail call i32 @w2c_hermes_hermes0x3A0x3AModule0x3A0x3A0x7EModule0x280x29(ptr noundef %0, i32 noundef %434)
  br label %598

598:                                              ; preds = %596, %413
  %599 = tail call i32 @w2c_hermes_hermes0x3A0x3Aparser0x3A0x3AJSParser0x3A0x3A0x7EJSParser0x280x29(ptr noundef %0, i32 noundef %390) #5
  %600 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %386)
  %601 = add nuw nsw i64 %25, 716
  %602 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %601)
  %603 = icmp eq i32 %600, %602
  br i1 %603, label %._crit_edge2046, label %604

._crit_edge2046:                                  ; preds = %598
  %.pre2047 = add nuw nsw i64 %25, 732
  br label %640

604:                                              ; preds = %598
  %605 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %385)
  %606 = udiv i32 %605, 22
  %607 = shl nuw nsw i32 %606, 2
  %608 = add i32 %607, %602
  %609 = zext i32 %608 to i64
  %610 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %609)
  %611 = add nuw nsw i64 %25, 732
  %612 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %611)
  %613 = add i32 %612, %605
  %.neg = mul i32 %606, -22
  %614 = add i32 %.neg, %605
  %615 = mul i32 %614, 184
  %616 = add i32 %615, %610
  %617 = udiv i32 %613, 22
  %618 = shl nuw nsw i32 %617, 2
  %619 = add i32 %618, %602
  %620 = zext i32 %619 to i64
  %621 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %620)
  %.neg2014 = mul i32 %617, -22
  %622 = add i32 %.neg2014, %613
  %623 = mul i32 %622, 184
  %624 = add i32 %623, %621
  %625 = icmp eq i32 %616, %624
  br i1 %625, label %640, label %.preheader2032

.preheader2032:                                   ; preds = %604, %636
  %.01932 = phi i32 [ %.11933, %636 ], [ %616, %604 ]
  %.01924 = phi i32 [ %.11925, %636 ], [ %608, %604 ]
  %626 = tail call i32 @w2c_hermes_hermes0x3A0x3Asem0x3A0x3AFunctionInfo0x3A0x3A0x7EFunctionInfo0x280x29(ptr noundef %0, i32 noundef %.01932) #5
  %627 = add i32 %626, 184
  %628 = zext i32 %.01924 to i64
  %629 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %628)
  %630 = sub i32 %627, %629
  %631 = icmp eq i32 %630, 4048
  br i1 %631, label %632, label %636

632:                                              ; preds = %.preheader2032
  %633 = add nuw nsw i64 %628, 4
  %634 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %633)
  %635 = add i32 %.01924, 4
  br label %636

636:                                              ; preds = %632, %.preheader2032
  %.11933 = phi i32 [ %634, %632 ], [ %627, %.preheader2032 ]
  %.11925 = phi i32 [ %635, %632 ], [ %.01924, %.preheader2032 ]
  %.not2015 = icmp eq i32 %.11933, %624
  br i1 %.not2015, label %637, label %.preheader2032

637:                                              ; preds = %636
  %638 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %601)
  %639 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %386)
  br label %640

640:                                              ; preds = %._crit_edge2046, %604, %637
  %.pre-phi2048 = phi i64 [ %.pre2047, %._crit_edge2046 ], [ %611, %604 ], [ %611, %637 ]
  %.21938 = phi i32 [ %600, %._crit_edge2046 ], [ %602, %604 ], [ %638, %637 ]
  %.11928 = phi i32 [ %600, %._crit_edge2046 ], [ %600, %604 ], [ %639, %637 ]
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %.pre-phi2048, i32 noundef 0)
  %641 = sub i32 %.11928, %.21938
  %642 = icmp ugt i32 %641, 8
  br i1 %642, label %.preheader2031, label %.loopexit

.preheader2031:                                   ; preds = %640, %.preheader2031
  %.3 = phi i32 [ %646, %.preheader2031 ], [ %.21938, %640 ]
  %643 = zext i32 %.3 to i64
  %644 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %643)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %644) #5
  %645 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %601)
  %646 = add i32 %645, 4
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %601, i32 noundef %646)
  %647 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %386)
  %648 = sub i32 %647, %646
  %649 = icmp ugt i32 %648, 8
  br i1 %649, label %.preheader2031, label %.loopexit

.loopexit:                                        ; preds = %.preheader2031, %640
  %.4 = phi i32 [ %.21938, %640 ], [ %646, %.preheader2031 ]
  %.21934 = phi i32 [ %641, %640 ], [ %648, %.preheader2031 ]
  %.21929 = phi i32 [ %.11928, %640 ], [ %647, %.preheader2031 ]
  %650 = lshr i32 %.21934, 2
  switch i32 %650, label %653 [
    i32 1, label %652
    i32 2, label %651
  ]

651:                                              ; preds = %.loopexit
  br label %652

652:                                              ; preds = %.loopexit, %651
  %.21926 = phi i32 [ 22, %651 ], [ 11, %.loopexit ]
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %385, i32 noundef %.21926)
  br label %653

653:                                              ; preds = %.loopexit, %652
  %654 = icmp eq i32 %.21929, %.4
  br i1 %654, label %666, label %.preheader

.preheader:                                       ; preds = %653, %.preheader
  %.5 = phi i32 [ %657, %.preheader ], [ %.4, %653 ]
  %655 = zext i32 %.5 to i64
  %656 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %655)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %656) #5
  %657 = add i32 %.5, 4
  %.not2016 = icmp eq i32 %657, %.21929
  br i1 %.not2016, label %658, label %.preheader

658:                                              ; preds = %.preheader
  %659 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %386)
  %660 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %601)
  %661 = icmp eq i32 %659, %660
  br i1 %661, label %666, label %662

662:                                              ; preds = %658
  %reass.sub = sub i32 %660, %659
  %663 = add i32 %reass.sub, 3
  %664 = and i32 %663, -4
  %665 = add i32 %664, %659
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %386, i32 noundef %665)
  br label %666

666:                                              ; preds = %658, %653, %662
  %667 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %387)
  %.not2017 = icmp eq i32 %667, 0
  br i1 %.not2017, label %669, label %668

668:                                              ; preds = %666
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %667) #5
  br label %669

669:                                              ; preds = %666, %668, %374
  %670 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %154)
  %.not2018 = icmp eq i32 %670, 0
  br i1 %.not2018, label %673, label %671

671:                                              ; preds = %669
  %672 = add nuw nsw i64 %25, 756
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %672, i32 noundef %670)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %670) #5
  br label %673

673:                                              ; preds = %671, %669
  %.not2019 = icmp eq i32 %.01919, 0
  br i1 %.not2019, label %676, label %674

674:                                              ; preds = %673
  %675 = tail call i32 @w2c_hermes_hermes0x3A0x3ASimpleDiagHandlerRAII0x3A0x3A0x7ESimpleDiagHandlerRAII0x280x29(ptr noundef %0, i32 noundef %.01919)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %675) #5
  br label %676

676:                                              ; preds = %674, %673
  %677 = add nuw nsw i64 %122, 4
  %678 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %677)
  %679 = add i32 %678, -1
  tail call void @i32_store(ptr noundef nonnull %15, i64 noundef %677, i32 noundef %679)
  %.not2020 = icmp eq i32 %678, 0
  br i1 %.not2020, label %680, label %706

680:                                              ; preds = %676
  %681 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %122)
  %682 = zext i32 %681 to i64
  %683 = add nuw nsw i64 %682, 8
  %684 = tail call i32 @i32_load(ptr noundef nonnull %15, i64 noundef %683)
  %685 = getelementptr inbounds i8, ptr %0, i64 80
  %686 = getelementptr inbounds i8, ptr %0, i64 92
  %687 = load i32, ptr %686, align 4, !tbaa !15
  %688 = icmp ult i32 %684, %687
  br i1 %688, label %689, label %.critedge2029, !prof !16

689:                                              ; preds = %680
  %690 = load ptr, ptr %685, align 8, !tbaa !17
  %691 = zext i32 %684 to i64
  %692 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %690, i64 %691
  %693 = getelementptr inbounds i8, ptr %692, i64 8
  %694 = load ptr, ptr %693, align 8, !tbaa !18
  %.not2021 = icmp eq ptr %694, null
  br i1 %.not2021, label %.critedge2029, label %695, !prof !20

695:                                              ; preds = %689
  %696 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %697 = load ptr, ptr %692, align 8, !tbaa !22
  %698 = tail call zeroext i1 @func_types_eq(ptr noundef %696, ptr noundef %697)
  br i1 %698, label %699, label %.critedge2029, !prof !16

.critedge2029:                                    ; preds = %689, %680, %695
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

699:                                              ; preds = %695
  %700 = load ptr, ptr %685, align 8, !tbaa !17
  %701 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %700, i64 %691
  %702 = getelementptr inbounds i8, ptr %701, i64 8
  %703 = load ptr, ptr %702, align 8, !tbaa !18
  %704 = getelementptr inbounds i8, ptr %701, i64 16
  %705 = load ptr, ptr %704, align 8, !tbaa !23
  tail call void %703(ptr noundef %705, i32 noundef %78) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %78) #5
  br label %706

706:                                              ; preds = %699, %676
  %707 = tail call i32 @w2c_hermes_hermes0x3A0x3ACodeGenerationSettings0x3A0x3A0x7ECodeGenerationSettings0x280x29(ptr noundef %0, i32 noundef %76) #5
  store i32 %13, ptr %12, align 8, !tbaa !5
  ret void

708:                                              ; preds = %11
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 179423, i32 noundef 61787, i32 noundef 131, i32 noundef 72125) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

709:                                              ; preds = %111
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 202974, i32 noundef 82833, i32 noundef 418, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

710:                                              ; preds = %157
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 166192, i32 noundef 61787, i32 noundef 188, i32 noundef 72125) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

711:                                              ; preds = %174
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 74646, i32 noundef 82467, i32 noundef 176, i32 noundef 49706) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

712:                                              ; preds = %226, %185
  tail call void @w2c_hermes_abort(ptr noundef nonnull %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

713:                                              ; preds = %196
  tail call void @w2c_hermes_std0x3A0x3A_0x5Fthrow_bad_array_new_length0x5Babi0x3Av150070x5D0x280x29(ptr noundef nonnull %0) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

714:                                              ; preds = %424
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 74646, i32 noundef 82467, i32 noundef 176, i32 noundef 49706) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

715:                                              ; preds = %493
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 132004, i32 noundef 85918, i32 noundef 2067, i32 noundef 66017) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

716:                                              ; preds = %539
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 74646, i32 noundef 82467, i32 noundef 176, i32 noundef 49706) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

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

718:                                              ; preds = %559
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

719:                                              ; preds = %564
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

720:                                              ; preds = %102, %97
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 191690, i32 noundef 79174, i32 noundef 453, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !10, i64 24}
!6 = !{!"w2c_hermes", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !11, i64 40, !14, i64 80}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"", !7, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !13, i64 32}
!12 = !{!"long", !8, i64 0}
!13 = !{!"_Bool", !8, i64 0}
!14 = !{!"", !7, i64 0, !10, i64 8, !10, i64 12}
!15 = !{!6, !10, i64 92}
!16 = !{!"branch_weights", !"expected", i32 2000, i32 1}
!17 = !{!6, !7, i64 80}
!18 = !{!19, !7, i64 8}
!19 = !{!"", !7, i64 0, !7, i64 8, !7, i64 16}
!20 = !{!"branch_weights", !"expected", i32 1, i32 2000}
!21 = !{!7, !7, i64 0}
!22 = !{!19, !7, i64 0}
!23 = !{!19, !7, i64 16}


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