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

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

%struct.w2c_hermes = type { ptr, ptr, ptr, i32, i32, i32, %struct.wasm_rt_memory_t, %struct.wasm_rt_funcref_table_t }
%struct.wasm_rt_memory_t = type { ptr, i64, i64, i64, i8 }
%struct.wasm_rt_funcref_table_t = type { ptr, i32, i32 }
%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t3 = external constant ptr, align 8

; 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_load8_u(ptr noundef, i64 noundef) #1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_hermes0x3A0x3AFunction0x3A0x3AgetContext0x280x290x20const(ptr noundef, i32 noundef) #3

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

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

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

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x3E0x3A0x3Aoperator0x280x290x5Babi0x3Av150070x5D0x28hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x2A0x290x20const(ptr noundef, i32 noundef, i32 noundef) #3

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

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

declare i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #3

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3Agenerate0x280x29(ptr noundef %0, i32 noundef %1) #5 {
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i64, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i64, align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store i32 %1, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #6
  store i32 0, ptr %5, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #6
  store i32 0, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  store i32 0, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  store i32 0, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  store i32 0, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  store i64 0, ptr %22, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  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 4, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  %44 = load ptr, ptr %3, align 8, !tbaa !5
  %45 = getelementptr inbounds %struct.w2c_hermes, ptr %44, i32 0, i32 3
  %46 = load i32, ptr %45, align 8, !tbaa !13
  store i32 %46, ptr %23, align 4, !tbaa !9
  store i32 352, ptr %24, align 4, !tbaa !9
  %47 = load i32, ptr %24, align 4, !tbaa !9
  %48 = load i32, ptr %23, align 4, !tbaa !9
  %49 = sub i32 %48, %47
  store i32 %49, ptr %23, align 4, !tbaa !9
  %50 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %50, ptr %6, align 4, !tbaa !9
  %51 = load i32, ptr %23, align 4, !tbaa !9
  %52 = load ptr, ptr %3, align 8, !tbaa !5
  %53 = getelementptr inbounds %struct.w2c_hermes, ptr %52, i32 0, i32 3
  store i32 %51, ptr %53, align 8, !tbaa !13
  %54 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %54, ptr %23, align 4, !tbaa !9
  %55 = load ptr, ptr %3, align 8, !tbaa !5
  %56 = getelementptr inbounds %struct.w2c_hermes, ptr %55, i32 0, i32 6
  %57 = load i32, ptr %23, align 4, !tbaa !9
  %58 = zext i32 %57 to i64
  %59 = add i64 %58, 482
  %60 = call i32 @i32_load8_u(ptr noundef %56, i64 noundef %59)
  store i32 %60, ptr %23, align 4, !tbaa !9
  %61 = load i32, ptr %23, align 4, !tbaa !9
  %62 = icmp ne i32 %61, 0
  br i1 %62, label %63, label %2490

63:                                               ; preds = %2
  %64 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %64, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %65 = load ptr, ptr %3, align 8, !tbaa !5
  %66 = getelementptr inbounds %struct.w2c_hermes, ptr %65, i32 0, i32 6
  %67 = load i32, ptr %23, align 4, !tbaa !9
  %68 = zext i32 %67 to i64
  %69 = add i64 %68, 482
  %70 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %66, i64 noundef %69, i32 noundef %70)
  %71 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %71, ptr %23, align 4, !tbaa !9
  %72 = load ptr, ptr %3, align 8, !tbaa !5
  %73 = getelementptr inbounds %struct.w2c_hermes, ptr %72, i32 0, i32 6
  %74 = load i32, ptr %23, align 4, !tbaa !9
  %75 = zext i32 %74 to i64
  %76 = add i64 %75, 20
  %77 = call i32 @i32_load(ptr noundef %73, i64 noundef %76)
  store i32 %77, ptr %23, align 4, !tbaa !9
  %78 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %78, ptr %24, align 4, !tbaa !9
  %79 = load ptr, ptr %3, align 8, !tbaa !5
  %80 = getelementptr inbounds %struct.w2c_hermes, ptr %79, i32 0, i32 6
  %81 = load i32, ptr %24, align 4, !tbaa !9
  %82 = zext i32 %81 to i64
  %83 = add i64 %82, 168
  %84 = call i32 @i32_load(ptr noundef %80, i64 noundef %83)
  store i32 %84, ptr %24, align 4, !tbaa !9
  %85 = load i32, ptr %23, align 4, !tbaa !9
  %86 = load i32, ptr %24, align 4, !tbaa !9
  %87 = icmp eq i32 %85, %86
  %88 = zext i1 %87 to i32
  store i32 %88, ptr %23, align 4, !tbaa !9
  %89 = load i32, ptr %23, align 4, !tbaa !9
  %90 = icmp ne i32 %89, 0
  br i1 %90, label %91, label %2473

91:                                               ; preds = %63
  %92 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %92, ptr %23, align 4, !tbaa !9
  store i32 340, ptr %24, align 4, !tbaa !9
  %93 = load i32, ptr %24, align 4, !tbaa !9
  %94 = load i32, ptr %23, align 4, !tbaa !9
  %95 = add i32 %94, %93
  store i32 %95, ptr %23, align 4, !tbaa !9
  %96 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %96, ptr %24, align 4, !tbaa !9
  store i32 180, ptr %25, align 4, !tbaa !9
  %97 = load i32, ptr %25, align 4, !tbaa !9
  %98 = load i32, ptr %24, align 4, !tbaa !9
  %99 = add i32 %98, %97
  store i32 %99, ptr %24, align 4, !tbaa !9
  %100 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %100, ptr %14, align 4, !tbaa !9
  %101 = load ptr, ptr %3, align 8, !tbaa !5
  %102 = load i32, ptr %23, align 4, !tbaa !9
  %103 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringKinds0x280x290x20const(ptr noundef %101, i32 noundef %102, i32 noundef %103)
  %104 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %104, ptr %23, align 4, !tbaa !9
  store i32 328, ptr %24, align 4, !tbaa !9
  %105 = load i32, ptr %24, align 4, !tbaa !9
  %106 = load i32, ptr %23, align 4, !tbaa !9
  %107 = add i32 %106, %105
  store i32 %107, ptr %23, align 4, !tbaa !9
  %108 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %108, ptr %24, align 4, !tbaa !9
  %109 = load ptr, ptr %3, align 8, !tbaa !5
  %110 = load i32, ptr %23, align 4, !tbaa !9
  %111 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetIdentifierHashes0x280x290x20const(ptr noundef %109, i32 noundef %110, i32 noundef %111)
  %112 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %112, ptr %23, align 4, !tbaa !9
  %113 = load ptr, ptr %3, align 8, !tbaa !5
  %114 = getelementptr inbounds %struct.w2c_hermes, ptr %113, i32 0, i32 6
  %115 = load i32, ptr %23, align 4, !tbaa !9
  %116 = zext i32 %115 to i64
  %117 = add i64 %116, 481
  %118 = call i32 @i32_load8_u(ptr noundef %114, i64 noundef %117)
  store i32 %118, ptr %23, align 4, !tbaa !9
  %119 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %119, ptr %5, align 4, !tbaa !9
  %120 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %120, ptr %23, align 4, !tbaa !9
  %121 = load ptr, ptr %3, align 8, !tbaa !5
  %122 = getelementptr inbounds %struct.w2c_hermes, ptr %121, i32 0, i32 6
  %123 = load i32, ptr %23, align 4, !tbaa !9
  %124 = zext i32 %123 to i64
  %125 = add i64 %124, 468
  %126 = call i32 @i32_load8_u(ptr noundef %122, i64 noundef %125)
  store i32 %126, ptr %23, align 4, !tbaa !9
  %127 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %127, ptr %7, align 4, !tbaa !9
  %128 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %128, ptr %23, align 4, !tbaa !9
  %129 = load ptr, ptr %3, align 8, !tbaa !5
  %130 = getelementptr inbounds %struct.w2c_hermes, ptr %129, i32 0, i32 6
  %131 = load i32, ptr %23, align 4, !tbaa !9
  %132 = zext i32 %131 to i64
  %133 = add i64 %132, 388
  %134 = call i32 @i32_load(ptr noundef %130, i64 noundef %133)
  store i32 %134, ptr %23, align 4, !tbaa !9
  %135 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %135, ptr %8, align 4, !tbaa !9
  %136 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %136, ptr %23, align 4, !tbaa !9
  %137 = load ptr, ptr %3, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.w2c_hermes, ptr %137, i32 0, i32 6
  %139 = load i32, ptr %23, align 4, !tbaa !9
  %140 = zext i32 %139 to i64
  %141 = add i64 %140, 384
  %142 = call i32 @i32_load(ptr noundef %138, i64 noundef %141)
  store i32 %142, ptr %23, align 4, !tbaa !9
  %143 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %143, ptr %9, align 4, !tbaa !9
  store i32 272, ptr %23, align 4, !tbaa !9
  %144 = load ptr, ptr %3, align 8, !tbaa !5
  %145 = load i32, ptr %23, align 4, !tbaa !9
  %146 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %144, i32 noundef %145)
  store i32 %146, ptr %23, align 4, !tbaa !9
  %147 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %147, ptr %11, align 4, !tbaa !9
  %148 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %148, ptr %23, align 4, !tbaa !9
  %149 = load ptr, ptr %3, align 8, !tbaa !5
  %150 = getelementptr inbounds %struct.w2c_hermes, ptr %149, i32 0, i32 6
  %151 = load i32, ptr %23, align 4, !tbaa !9
  %152 = zext i32 %151 to i64
  %153 = add i64 %152, 204
  %154 = call i32 @i32_load8_u(ptr noundef %150, i64 noundef %153)
  store i32 %154, ptr %23, align 4, !tbaa !9
  %155 = load i32, ptr %23, align 4, !tbaa !9
  %156 = icmp ne i32 %155, 0
  br i1 %156, label %157, label %2455

157:                                              ; preds = %91
  %158 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %158, ptr %23, align 4, !tbaa !9
  %159 = load ptr, ptr %3, align 8, !tbaa !5
  %160 = getelementptr inbounds %struct.w2c_hermes, ptr %159, i32 0, i32 6
  %161 = load i32, ptr %23, align 4, !tbaa !9
  %162 = zext i32 %161 to i64
  %163 = add i64 %162, 168
  %164 = call i32 @i32_load(ptr noundef %160, i64 noundef %163)
  store i32 %164, ptr %23, align 4, !tbaa !9
  %165 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %165, ptr %12, align 4, !tbaa !9
  %166 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %166, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %167 = load ptr, ptr %3, align 8, !tbaa !5
  %168 = getelementptr inbounds %struct.w2c_hermes, ptr %167, i32 0, i32 6
  %169 = load i32, ptr %23, align 4, !tbaa !9
  %170 = zext i32 %169 to i64
  %171 = add i64 %170, 204
  %172 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %168, i64 noundef %171, i32 noundef %172)
  %173 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %173, ptr %23, align 4, !tbaa !9
  %174 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %174, ptr %24, align 4, !tbaa !9
  %175 = load ptr, ptr %3, align 8, !tbaa !5
  %176 = getelementptr inbounds %struct.w2c_hermes, ptr %175, i32 0, i32 6
  %177 = load i32, ptr %24, align 4, !tbaa !9
  %178 = zext i32 %177 to i64
  %179 = add i64 %178, 180
  %180 = call i32 @i32_load(ptr noundef %176, i64 noundef %179)
  store i32 %180, ptr %24, align 4, !tbaa !9
  %181 = load ptr, ptr %3, align 8, !tbaa !5
  %182 = getelementptr inbounds %struct.w2c_hermes, ptr %181, i32 0, i32 6
  %183 = load i32, ptr %23, align 4, !tbaa !9
  %184 = zext i32 %183 to i64
  %185 = add i64 %184, 140
  %186 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %182, i64 noundef %185, i32 noundef %186)
  %187 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %187, ptr %23, align 4, !tbaa !9
  %188 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %188, ptr %24, align 4, !tbaa !9
  %189 = load ptr, ptr %3, align 8, !tbaa !5
  %190 = getelementptr inbounds %struct.w2c_hermes, ptr %189, i32 0, i32 6
  %191 = load i32, ptr %24, align 4, !tbaa !9
  %192 = zext i32 %191 to i64
  %193 = add i64 %192, 184
  %194 = call i32 @i32_load(ptr noundef %190, i64 noundef %193)
  store i32 %194, ptr %24, align 4, !tbaa !9
  %195 = load ptr, ptr %3, align 8, !tbaa !5
  %196 = getelementptr inbounds %struct.w2c_hermes, ptr %195, i32 0, i32 6
  %197 = load i32, ptr %23, align 4, !tbaa !9
  %198 = zext i32 %197 to i64
  %199 = add i64 %198, 144
  %200 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %196, i64 noundef %199, i32 noundef %200)
  %201 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %201, ptr %23, align 4, !tbaa !9
  %202 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %202, ptr %24, align 4, !tbaa !9
  store i32 188, ptr %25, align 4, !tbaa !9
  %203 = load i32, ptr %25, align 4, !tbaa !9
  %204 = load i32, ptr %24, align 4, !tbaa !9
  %205 = add i32 %204, %203
  store i32 %205, ptr %24, align 4, !tbaa !9
  %206 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %206, ptr %10, align 4, !tbaa !9
  %207 = load ptr, ptr %3, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.w2c_hermes, ptr %207, i32 0, i32 6
  %209 = load i32, ptr %24, align 4, !tbaa !9
  %210 = zext i32 %209 to i64
  %211 = call i32 @i32_load(ptr noundef %208, i64 noundef %210)
  store i32 %211, ptr %24, align 4, !tbaa !9
  %212 = load ptr, ptr %3, align 8, !tbaa !5
  %213 = getelementptr inbounds %struct.w2c_hermes, ptr %212, i32 0, i32 6
  %214 = load i32, ptr %23, align 4, !tbaa !9
  %215 = zext i32 %214 to i64
  %216 = add i64 %215, 148
  %217 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %213, i64 noundef %216, i32 noundef %217)
  %218 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %218, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %219 = load ptr, ptr %3, align 8, !tbaa !5
  %220 = getelementptr inbounds %struct.w2c_hermes, ptr %219, i32 0, i32 6
  %221 = load i32, ptr %23, align 4, !tbaa !9
  %222 = zext i32 %221 to i64
  %223 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %220, i64 noundef %222, i32 noundef %223)
  %224 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %224, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %225 = load ptr, ptr %3, align 8, !tbaa !5
  %226 = getelementptr inbounds %struct.w2c_hermes, ptr %225, i32 0, i32 6
  %227 = load i32, ptr %23, align 4, !tbaa !9
  %228 = zext i32 %227 to i64
  %229 = add i64 %228, 180
  %230 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %226, i64 noundef %229, i64 noundef %230)
  %231 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %231, ptr %23, align 4, !tbaa !9
  %232 = load ptr, ptr %3, align 8, !tbaa !5
  %233 = getelementptr inbounds %struct.w2c_hermes, ptr %232, i32 0, i32 6
  %234 = load i32, ptr %23, align 4, !tbaa !9
  %235 = zext i32 %234 to i64
  %236 = add i64 %235, 205
  %237 = call i32 @i32_load8_u(ptr noundef %233, i64 noundef %236)
  store i32 %237, ptr %23, align 4, !tbaa !9
  %238 = load i32, ptr %23, align 4, !tbaa !9
  %239 = icmp ne i32 %238, 0
  br i1 %239, label %240, label %2437

240:                                              ; preds = %157
  %241 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %241, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %242 = load ptr, ptr %3, align 8, !tbaa !5
  %243 = getelementptr inbounds %struct.w2c_hermes, ptr %242, i32 0, i32 6
  %244 = load i32, ptr %23, align 4, !tbaa !9
  %245 = zext i32 %244 to i64
  %246 = add i64 %245, 205
  %247 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %243, i64 noundef %246, i32 noundef %247)
  %248 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %248, ptr %23, align 4, !tbaa !9
  %249 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %249, ptr %24, align 4, !tbaa !9
  store i32 192, ptr %25, align 4, !tbaa !9
  %250 = load i32, ptr %25, align 4, !tbaa !9
  %251 = load i32, ptr %24, align 4, !tbaa !9
  %252 = add i32 %251, %250
  store i32 %252, ptr %24, align 4, !tbaa !9
  %253 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %253, ptr %10, align 4, !tbaa !9
  %254 = load ptr, ptr %3, align 8, !tbaa !5
  %255 = getelementptr inbounds %struct.w2c_hermes, ptr %254, i32 0, i32 6
  %256 = load i32, ptr %24, align 4, !tbaa !9
  %257 = zext i32 %256 to i64
  %258 = call i32 @i32_load(ptr noundef %255, i64 noundef %257)
  store i32 %258, ptr %24, align 4, !tbaa !9
  %259 = load ptr, ptr %3, align 8, !tbaa !5
  %260 = getelementptr inbounds %struct.w2c_hermes, ptr %259, i32 0, i32 6
  %261 = load i32, ptr %23, align 4, !tbaa !9
  %262 = zext i32 %261 to i64
  %263 = add i64 %262, 312
  %264 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %260, i64 noundef %263, i32 noundef %264)
  %265 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %265, ptr %23, align 4, !tbaa !9
  %266 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %266, ptr %24, align 4, !tbaa !9
  %267 = load ptr, ptr %3, align 8, !tbaa !5
  %268 = getelementptr inbounds %struct.w2c_hermes, ptr %267, i32 0, i32 6
  %269 = load i32, ptr %24, align 4, !tbaa !9
  %270 = zext i32 %269 to i64
  %271 = add i64 %270, 196
  %272 = call i32 @i32_load(ptr noundef %268, i64 noundef %271)
  store i32 %272, ptr %24, align 4, !tbaa !9
  %273 = load ptr, ptr %3, align 8, !tbaa !5
  %274 = getelementptr inbounds %struct.w2c_hermes, ptr %273, i32 0, i32 6
  %275 = load i32, ptr %23, align 4, !tbaa !9
  %276 = zext i32 %275 to i64
  %277 = add i64 %276, 316
  %278 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %274, i64 noundef %277, i32 noundef %278)
  %279 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %279, ptr %23, align 4, !tbaa !9
  %280 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %280, ptr %24, align 4, !tbaa !9
  store i32 200, ptr %25, align 4, !tbaa !9
  %281 = load i32, ptr %25, align 4, !tbaa !9
  %282 = load i32, ptr %24, align 4, !tbaa !9
  %283 = add i32 %282, %281
  store i32 %283, ptr %24, align 4, !tbaa !9
  %284 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %284, ptr %13, align 4, !tbaa !9
  %285 = load ptr, ptr %3, align 8, !tbaa !5
  %286 = getelementptr inbounds %struct.w2c_hermes, ptr %285, i32 0, i32 6
  %287 = load i32, ptr %24, align 4, !tbaa !9
  %288 = zext i32 %287 to i64
  %289 = call i32 @i32_load(ptr noundef %286, i64 noundef %288)
  store i32 %289, ptr %24, align 4, !tbaa !9
  %290 = load ptr, ptr %3, align 8, !tbaa !5
  %291 = getelementptr inbounds %struct.w2c_hermes, ptr %290, i32 0, i32 6
  %292 = load i32, ptr %23, align 4, !tbaa !9
  %293 = zext i32 %292 to i64
  %294 = add i64 %293, 320
  %295 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %291, i64 noundef %294, i32 noundef %295)
  %296 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %296, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %297 = load ptr, ptr %3, align 8, !tbaa !5
  %298 = getelementptr inbounds %struct.w2c_hermes, ptr %297, i32 0, i32 6
  %299 = load i32, ptr %23, align 4, !tbaa !9
  %300 = zext i32 %299 to i64
  %301 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %298, i64 noundef %300, i32 noundef %301)
  %302 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %302, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %303 = load ptr, ptr %3, align 8, !tbaa !5
  %304 = getelementptr inbounds %struct.w2c_hermes, ptr %303, i32 0, i32 6
  %305 = load i32, ptr %23, align 4, !tbaa !9
  %306 = zext i32 %305 to i64
  %307 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %304, i64 noundef %306, i64 noundef %307)
  %308 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %308, ptr %23, align 4, !tbaa !9
  store i32 300, ptr %24, align 4, !tbaa !9
  %309 = load i32, ptr %24, align 4, !tbaa !9
  %310 = load i32, ptr %23, align 4, !tbaa !9
  %311 = add i32 %310, %309
  store i32 %311, ptr %23, align 4, !tbaa !9
  %312 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %312, ptr %24, align 4, !tbaa !9
  store i32 260, ptr %25, align 4, !tbaa !9
  %313 = load i32, ptr %25, align 4, !tbaa !9
  %314 = load i32, ptr %24, align 4, !tbaa !9
  %315 = add i32 %314, %313
  store i32 %315, ptr %24, align 4, !tbaa !9
  %316 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %316, ptr %10, align 4, !tbaa !9
  %317 = load ptr, ptr %3, align 8, !tbaa !5
  %318 = load i32, ptr %23, align 4, !tbaa !9
  %319 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef %317, i32 noundef %318, i32 noundef %319)
  %320 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %320, ptr %23, align 4, !tbaa !9
  store i32 288, ptr %24, align 4, !tbaa !9
  %321 = load i32, ptr %24, align 4, !tbaa !9
  %322 = load i32, ptr %23, align 4, !tbaa !9
  %323 = add i32 %322, %321
  store i32 %323, ptr %23, align 4, !tbaa !9
  %324 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %324, ptr %24, align 4, !tbaa !9
  %325 = load ptr, ptr %3, align 8, !tbaa !5
  %326 = load i32, ptr %23, align 4, !tbaa !9
  %327 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetDigitsBuffer0x280x290x20const(ptr noundef %325, i32 noundef %326, i32 noundef %327)
  %328 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %328, ptr %23, align 4, !tbaa !9
  store i32 276, ptr %24, align 4, !tbaa !9
  %329 = load i32, ptr %24, align 4, !tbaa !9
  %330 = load i32, ptr %23, align 4, !tbaa !9
  %331 = add i32 %330, %329
  store i32 %331, ptr %23, align 4, !tbaa !9
  %332 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %332, ptr %24, align 4, !tbaa !9
  store i32 300, ptr %25, align 4, !tbaa !9
  %333 = load i32, ptr %25, align 4, !tbaa !9
  %334 = load i32, ptr %24, align 4, !tbaa !9
  %335 = add i32 %334, %333
  store i32 %335, ptr %24, align 4, !tbaa !9
  %336 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %336, ptr %10, align 4, !tbaa !9
  %337 = load ptr, ptr %3, align 8, !tbaa !5
  %338 = load i32, ptr %23, align 4, !tbaa !9
  %339 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef %337, i32 noundef %338, i32 noundef %339)
  %340 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %340, ptr %23, align 4, !tbaa !9
  store i32 264, ptr %24, align 4, !tbaa !9
  %341 = load i32, ptr %24, align 4, !tbaa !9
  %342 = load i32, ptr %23, align 4, !tbaa !9
  %343 = add i32 %342, %341
  store i32 %343, ptr %23, align 4, !tbaa !9
  %344 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %344, ptr %24, align 4, !tbaa !9
  %345 = load ptr, ptr %3, align 8, !tbaa !5
  %346 = load i32, ptr %23, align 4, !tbaa !9
  %347 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetBytecodeBuffer0x280x290x20const(ptr noundef %345, i32 noundef %346, i32 noundef %347)
  %348 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %348, ptr %23, align 4, !tbaa !9
  %349 = load ptr, ptr %3, align 8, !tbaa !5
  %350 = getelementptr inbounds %struct.w2c_hermes, ptr %349, i32 0, i32 6
  %351 = load i32, ptr %23, align 4, !tbaa !9
  %352 = zext i32 %351 to i64
  %353 = add i64 %352, 368
  %354 = call i32 @i32_load(ptr noundef %350, i64 noundef %353)
  store i32 %354, ptr %23, align 4, !tbaa !9
  %355 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %355, ptr %10, align 4, !tbaa !9
  %356 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %356, ptr %23, align 4, !tbaa !9
  %357 = load ptr, ptr %3, align 8, !tbaa !5
  %358 = getelementptr inbounds %struct.w2c_hermes, ptr %357, i32 0, i32 6
  %359 = load i32, ptr %23, align 4, !tbaa !9
  %360 = zext i32 %359 to i64
  %361 = add i64 %360, 484
  %362 = call i32 @i32_load(ptr noundef %358, i64 noundef %361)
  store i32 %362, ptr %23, align 4, !tbaa !9
  %363 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %363, ptr %13, align 4, !tbaa !9
  %364 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %364, ptr %23, align 4, !tbaa !9
  %365 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %365, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %366 = load i32, ptr %25, align 4, !tbaa !9
  %367 = and i32 %366, 31
  %368 = load i32, ptr %24, align 4, !tbaa !9
  %369 = shl i32 %368, %367
  store i32 %369, ptr %24, align 4, !tbaa !9
  %370 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %370, ptr %25, align 4, !tbaa !9
  %371 = load i32, ptr %25, align 4, !tbaa !9
  %372 = load i32, ptr %24, align 4, !tbaa !9
  %373 = or i32 %372, %371
  store i32 %373, ptr %24, align 4, !tbaa !9
  %374 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %374, ptr %25, align 4, !tbaa !9
  %375 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %375, ptr %26, align 4, !tbaa !9
  %376 = load i32, ptr %25, align 4, !tbaa !9
  %377 = load i32, ptr %26, align 4, !tbaa !9
  %378 = icmp ne i32 %376, %377
  %379 = zext i1 %378 to i32
  store i32 %379, ptr %25, align 4, !tbaa !9
  store i32 1, ptr %26, align 4, !tbaa !9
  %380 = load i32, ptr %26, align 4, !tbaa !9
  %381 = and i32 %380, 31
  %382 = load i32, ptr %25, align 4, !tbaa !9
  %383 = shl i32 %382, %381
  store i32 %383, ptr %25, align 4, !tbaa !9
  %384 = load i32, ptr %25, align 4, !tbaa !9
  %385 = load i32, ptr %24, align 4, !tbaa !9
  %386 = or i32 %385, %384
  store i32 %386, ptr %24, align 4, !tbaa !9
  %387 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %387, ptr %5, align 4, !tbaa !9
  %388 = load ptr, ptr %3, align 8, !tbaa !5
  %389 = getelementptr inbounds %struct.w2c_hermes, ptr %388, i32 0, i32 6
  %390 = load i32, ptr %23, align 4, !tbaa !9
  %391 = zext i32 %390 to i64
  %392 = add i64 %391, 43
  %393 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %389, i64 noundef %392, i32 noundef %393)
  %394 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %394, ptr %23, align 4, !tbaa !9
  %395 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %395, ptr %24, align 4, !tbaa !9
  %396 = load ptr, ptr %3, align 8, !tbaa !5
  %397 = getelementptr inbounds %struct.w2c_hermes, ptr %396, i32 0, i32 6
  %398 = load i32, ptr %23, align 4, !tbaa !9
  %399 = zext i32 %398 to i64
  %400 = add i64 %399, 263
  %401 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %397, i64 noundef %400, i32 noundef %401)
  %402 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %402, ptr %23, align 4, !tbaa !9
  %403 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %403, ptr %24, align 4, !tbaa !9
  %404 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %404, ptr %25, align 4, !tbaa !9
  store i32 340, ptr %26, align 4, !tbaa !9
  %405 = load i32, ptr %26, align 4, !tbaa !9
  %406 = load i32, ptr %25, align 4, !tbaa !9
  %407 = add i32 %406, %405
  store i32 %407, ptr %25, align 4, !tbaa !9
  %408 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %408, ptr %26, align 4, !tbaa !9
  store i32 328, ptr %27, align 4, !tbaa !9
  %409 = load i32, ptr %27, align 4, !tbaa !9
  %410 = load i32, ptr %26, align 4, !tbaa !9
  %411 = add i32 %410, %409
  store i32 %411, ptr %26, align 4, !tbaa !9
  %412 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %412, ptr %27, align 4, !tbaa !9
  store i32 140, ptr %28, align 4, !tbaa !9
  %413 = load i32, ptr %28, align 4, !tbaa !9
  %414 = load i32, ptr %27, align 4, !tbaa !9
  %415 = add i32 %414, %413
  store i32 %415, ptr %27, align 4, !tbaa !9
  %416 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %416, ptr %28, align 4, !tbaa !9
  store i32 312, ptr %29, align 4, !tbaa !9
  %417 = load i32, ptr %29, align 4, !tbaa !9
  %418 = load i32, ptr %28, align 4, !tbaa !9
  %419 = add i32 %418, %417
  store i32 %419, ptr %28, align 4, !tbaa !9
  %420 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %420, ptr %29, align 4, !tbaa !9
  store i32 300, ptr %30, align 4, !tbaa !9
  %421 = load i32, ptr %30, align 4, !tbaa !9
  %422 = load i32, ptr %29, align 4, !tbaa !9
  %423 = add i32 %422, %421
  store i32 %423, ptr %29, align 4, !tbaa !9
  %424 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %424, ptr %30, align 4, !tbaa !9
  store i32 288, ptr %31, align 4, !tbaa !9
  %425 = load i32, ptr %31, align 4, !tbaa !9
  %426 = load i32, ptr %30, align 4, !tbaa !9
  %427 = add i32 %426, %425
  store i32 %427, ptr %30, align 4, !tbaa !9
  %428 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %428, ptr %31, align 4, !tbaa !9
  store i32 276, ptr %32, align 4, !tbaa !9
  %429 = load i32, ptr %32, align 4, !tbaa !9
  %430 = load i32, ptr %31, align 4, !tbaa !9
  %431 = add i32 %430, %429
  store i32 %431, ptr %31, align 4, !tbaa !9
  %432 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %432, ptr %32, align 4, !tbaa !9
  store i32 264, ptr %33, align 4, !tbaa !9
  %433 = load i32, ptr %33, align 4, !tbaa !9
  %434 = load i32, ptr %32, align 4, !tbaa !9
  %435 = add i32 %434, %433
  store i32 %435, ptr %32, align 4, !tbaa !9
  %436 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %436, ptr %33, align 4, !tbaa !9
  %437 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %437, ptr %34, align 4, !tbaa !9
  store i32 408, ptr %35, align 4, !tbaa !9
  %438 = load i32, ptr %35, align 4, !tbaa !9
  %439 = load i32, ptr %34, align 4, !tbaa !9
  %440 = add i32 %439, %438
  store i32 %440, ptr %34, align 4, !tbaa !9
  %441 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %441, ptr %35, align 4, !tbaa !9
  store i32 420, ptr %36, align 4, !tbaa !9
  %442 = load i32, ptr %36, align 4, !tbaa !9
  %443 = load i32, ptr %35, align 4, !tbaa !9
  %444 = add i32 %443, %442
  store i32 %444, ptr %35, align 4, !tbaa !9
  %445 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %445, ptr %36, align 4, !tbaa !9
  store i32 432, ptr %37, align 4, !tbaa !9
  %446 = load i32, ptr %37, align 4, !tbaa !9
  %447 = load i32, ptr %36, align 4, !tbaa !9
  %448 = add i32 %447, %446
  store i32 %448, ptr %36, align 4, !tbaa !9
  %449 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %449, ptr %37, align 4, !tbaa !9
  %450 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %450, ptr %38, align 4, !tbaa !9
  store i32 372, ptr %39, align 4, !tbaa !9
  %451 = load i32, ptr %39, align 4, !tbaa !9
  %452 = load i32, ptr %38, align 4, !tbaa !9
  %453 = add i32 %452, %451
  store i32 %453, ptr %38, align 4, !tbaa !9
  %454 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %454, ptr %39, align 4, !tbaa !9
  store i32 384, ptr %40, align 4, !tbaa !9
  %455 = load i32, ptr %40, align 4, !tbaa !9
  %456 = load i32, ptr %39, align 4, !tbaa !9
  %457 = add i32 %456, %455
  store i32 %457, ptr %39, align 4, !tbaa !9
  %458 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %458, ptr %40, align 4, !tbaa !9
  store i32 396, ptr %41, align 4, !tbaa !9
  %459 = load i32, ptr %41, align 4, !tbaa !9
  %460 = load i32, ptr %40, align 4, !tbaa !9
  %461 = add i32 %460, %459
  store i32 %461, ptr %40, align 4, !tbaa !9
  %462 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %462, ptr %41, align 4, !tbaa !9
  store i32 43, ptr %42, align 4, !tbaa !9
  %463 = load i32, ptr %42, align 4, !tbaa !9
  %464 = load i32, ptr %41, align 4, !tbaa !9
  %465 = add i32 %464, %463
  store i32 %465, ptr %41, align 4, !tbaa !9
  %466 = load ptr, ptr %3, align 8, !tbaa !5
  %467 = load i32, ptr %23, align 4, !tbaa !9
  %468 = load i32, ptr %24, align 4, !tbaa !9
  %469 = load i32, ptr %25, align 4, !tbaa !9
  %470 = load i32, ptr %26, align 4, !tbaa !9
  %471 = load i32, ptr %27, align 4, !tbaa !9
  %472 = load i32, ptr %28, align 4, !tbaa !9
  %473 = load i32, ptr %29, align 4, !tbaa !9
  %474 = load i32, ptr %30, align 4, !tbaa !9
  %475 = load i32, ptr %31, align 4, !tbaa !9
  %476 = load i32, ptr %32, align 4, !tbaa !9
  %477 = load i32, ptr %33, align 4, !tbaa !9
  %478 = load i32, ptr %34, align 4, !tbaa !9
  %479 = load i32, ptr %35, align 4, !tbaa !9
  %480 = load i32, ptr %36, align 4, !tbaa !9
  %481 = load i32, ptr %37, align 4, !tbaa !9
  %482 = load i32, ptr %38, align 4, !tbaa !9
  %483 = load i32, ptr %39, align 4, !tbaa !9
  %484 = load i32, ptr %40, align 4, !tbaa !9
  %485 = load i32, ptr %41, align 4, !tbaa !9
  %486 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3ABytecodeModule0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AStringKind0x3A0x3AEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AStringKind0x3A0x3AEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20int0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AStringTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AStringTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Abigint0x3A0x3ABigIntTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Abigint0x3A0x3ABigIntTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ARegExpTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ARegExpTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ABytecodeOptions0x29(ptr noundef %466, i32 noundef %467, i32 noundef %468, i32 noundef %469, i32 noundef %470, i32 noundef %471, i32 noundef %472, i32 noundef %473, i32 noundef %474, i32 noundef %475, i32 noundef %476, i32 noundef %477, i32 noundef %478, i32 noundef %479, i32 noundef %480, i32 noundef %481, i32 noundef %482, i32 noundef %483, i32 noundef %484, i32 noundef %485)
  store i32 %486, ptr %23, align 4, !tbaa !9
  %487 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %487, ptr %13, align 4, !tbaa !9
  %488 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %488, ptr %23, align 4, !tbaa !9
  %489 = load ptr, ptr %3, align 8, !tbaa !5
  %490 = getelementptr inbounds %struct.w2c_hermes, ptr %489, i32 0, i32 6
  %491 = load i32, ptr %23, align 4, !tbaa !9
  %492 = zext i32 %491 to i64
  %493 = add i64 %492, 264
  %494 = call i32 @i32_load(ptr noundef %490, i64 noundef %493)
  store i32 %494, ptr %23, align 4, !tbaa !9
  %495 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %495, ptr %5, align 4, !tbaa !9
  %496 = load i32, ptr %23, align 4, !tbaa !9
  %497 = icmp ne i32 %496, 0
  br i1 %497, label %498, label %510

498:                                              ; preds = %240
  %499 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %499, ptr %23, align 4, !tbaa !9
  %500 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %500, ptr %24, align 4, !tbaa !9
  %501 = load ptr, ptr %3, align 8, !tbaa !5
  %502 = getelementptr inbounds %struct.w2c_hermes, ptr %501, i32 0, i32 6
  %503 = load i32, ptr %23, align 4, !tbaa !9
  %504 = zext i32 %503 to i64
  %505 = add i64 %504, 268
  %506 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %502, i64 noundef %505, i32 noundef %506)
  %507 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %507, ptr %23, align 4, !tbaa !9
  %508 = load ptr, ptr %3, align 8, !tbaa !5
  %509 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %508, i32 noundef %509)
  br label %510

510:                                              ; preds = %498, %240
  %511 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %511, ptr %23, align 4, !tbaa !9
  %512 = load ptr, ptr %3, align 8, !tbaa !5
  %513 = getelementptr inbounds %struct.w2c_hermes, ptr %512, i32 0, i32 6
  %514 = load i32, ptr %23, align 4, !tbaa !9
  %515 = zext i32 %514 to i64
  %516 = add i64 %515, 276
  %517 = call i32 @i32_load(ptr noundef %513, i64 noundef %516)
  store i32 %517, ptr %23, align 4, !tbaa !9
  %518 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %518, ptr %5, align 4, !tbaa !9
  %519 = load i32, ptr %23, align 4, !tbaa !9
  %520 = icmp ne i32 %519, 0
  br i1 %520, label %521, label %533

521:                                              ; preds = %510
  %522 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %522, ptr %23, align 4, !tbaa !9
  %523 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %523, ptr %24, align 4, !tbaa !9
  %524 = load ptr, ptr %3, align 8, !tbaa !5
  %525 = getelementptr inbounds %struct.w2c_hermes, ptr %524, i32 0, i32 6
  %526 = load i32, ptr %23, align 4, !tbaa !9
  %527 = zext i32 %526 to i64
  %528 = add i64 %527, 280
  %529 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %525, i64 noundef %528, i32 noundef %529)
  %530 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %530, ptr %23, align 4, !tbaa !9
  %531 = load ptr, ptr %3, align 8, !tbaa !5
  %532 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %531, i32 noundef %532)
  br label %533

533:                                              ; preds = %521, %510
  %534 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %534, ptr %23, align 4, !tbaa !9
  %535 = load ptr, ptr %3, align 8, !tbaa !5
  %536 = getelementptr inbounds %struct.w2c_hermes, ptr %535, i32 0, i32 6
  %537 = load i32, ptr %23, align 4, !tbaa !9
  %538 = zext i32 %537 to i64
  %539 = add i64 %538, 288
  %540 = call i32 @i32_load(ptr noundef %536, i64 noundef %539)
  store i32 %540, ptr %23, align 4, !tbaa !9
  %541 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %541, ptr %5, align 4, !tbaa !9
  %542 = load i32, ptr %23, align 4, !tbaa !9
  %543 = icmp ne i32 %542, 0
  br i1 %543, label %544, label %556

544:                                              ; preds = %533
  %545 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %545, ptr %23, align 4, !tbaa !9
  %546 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %546, ptr %24, align 4, !tbaa !9
  %547 = load ptr, ptr %3, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.w2c_hermes, ptr %547, i32 0, i32 6
  %549 = load i32, ptr %23, align 4, !tbaa !9
  %550 = zext i32 %549 to i64
  %551 = add i64 %550, 292
  %552 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %548, i64 noundef %551, i32 noundef %552)
  %553 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %553, ptr %23, align 4, !tbaa !9
  %554 = load ptr, ptr %3, align 8, !tbaa !5
  %555 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %554, i32 noundef %555)
  br label %556

556:                                              ; preds = %544, %533
  %557 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %557, ptr %23, align 4, !tbaa !9
  %558 = load ptr, ptr %3, align 8, !tbaa !5
  %559 = getelementptr inbounds %struct.w2c_hermes, ptr %558, i32 0, i32 6
  %560 = load i32, ptr %23, align 4, !tbaa !9
  %561 = zext i32 %560 to i64
  %562 = add i64 %561, 300
  %563 = call i32 @i32_load(ptr noundef %559, i64 noundef %562)
  store i32 %563, ptr %23, align 4, !tbaa !9
  %564 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %564, ptr %5, align 4, !tbaa !9
  %565 = load i32, ptr %23, align 4, !tbaa !9
  %566 = icmp ne i32 %565, 0
  br i1 %566, label %567, label %579

567:                                              ; preds = %556
  %568 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %568, ptr %23, align 4, !tbaa !9
  %569 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %569, ptr %24, align 4, !tbaa !9
  %570 = load ptr, ptr %3, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.w2c_hermes, ptr %570, i32 0, i32 6
  %572 = load i32, ptr %23, align 4, !tbaa !9
  %573 = zext i32 %572 to i64
  %574 = add i64 %573, 304
  %575 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %571, i64 noundef %574, i32 noundef %575)
  %576 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %576, ptr %23, align 4, !tbaa !9
  %577 = load ptr, ptr %3, align 8, !tbaa !5
  %578 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %577, i32 noundef %578)
  br label %579

579:                                              ; preds = %567, %556
  %580 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %580, ptr %23, align 4, !tbaa !9
  %581 = load ptr, ptr %3, align 8, !tbaa !5
  %582 = getelementptr inbounds %struct.w2c_hermes, ptr %581, i32 0, i32 6
  %583 = load i32, ptr %23, align 4, !tbaa !9
  %584 = zext i32 %583 to i64
  %585 = add i64 %584, 312
  %586 = call i32 @i32_load(ptr noundef %582, i64 noundef %585)
  store i32 %586, ptr %23, align 4, !tbaa !9
  %587 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %587, ptr %5, align 4, !tbaa !9
  %588 = load i32, ptr %23, align 4, !tbaa !9
  %589 = icmp ne i32 %588, 0
  br i1 %589, label %590, label %602

590:                                              ; preds = %579
  %591 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %591, ptr %23, align 4, !tbaa !9
  %592 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %592, ptr %24, align 4, !tbaa !9
  %593 = load ptr, ptr %3, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.w2c_hermes, ptr %593, i32 0, i32 6
  %595 = load i32, ptr %23, align 4, !tbaa !9
  %596 = zext i32 %595 to i64
  %597 = add i64 %596, 316
  %598 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %594, i64 noundef %597, i32 noundef %598)
  %599 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %599, ptr %23, align 4, !tbaa !9
  %600 = load ptr, ptr %3, align 8, !tbaa !5
  %601 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %600, i32 noundef %601)
  br label %602

602:                                              ; preds = %590, %579
  %603 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %603, ptr %23, align 4, !tbaa !9
  %604 = load ptr, ptr %3, align 8, !tbaa !5
  %605 = getelementptr inbounds %struct.w2c_hermes, ptr %604, i32 0, i32 6
  %606 = load i32, ptr %23, align 4, !tbaa !9
  %607 = zext i32 %606 to i64
  %608 = add i64 %607, 140
  %609 = call i32 @i32_load(ptr noundef %605, i64 noundef %608)
  store i32 %609, ptr %23, align 4, !tbaa !9
  %610 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %610, ptr %5, align 4, !tbaa !9
  %611 = load i32, ptr %23, align 4, !tbaa !9
  %612 = icmp ne i32 %611, 0
  br i1 %612, label %613, label %625

613:                                              ; preds = %602
  %614 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %614, ptr %23, align 4, !tbaa !9
  %615 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %615, ptr %24, align 4, !tbaa !9
  %616 = load ptr, ptr %3, align 8, !tbaa !5
  %617 = getelementptr inbounds %struct.w2c_hermes, ptr %616, i32 0, i32 6
  %618 = load i32, ptr %23, align 4, !tbaa !9
  %619 = zext i32 %618 to i64
  %620 = add i64 %619, 144
  %621 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %617, i64 noundef %620, i32 noundef %621)
  %622 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %622, ptr %23, align 4, !tbaa !9
  %623 = load ptr, ptr %3, align 8, !tbaa !5
  %624 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %623, i32 noundef %624)
  br label %625

625:                                              ; preds = %613, %602
  %626 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %626, ptr %23, align 4, !tbaa !9
  store i32 140, ptr %24, align 4, !tbaa !9
  %627 = load i32, ptr %24, align 4, !tbaa !9
  %628 = load i32, ptr %23, align 4, !tbaa !9
  %629 = add i32 %628, %627
  store i32 %629, ptr %23, align 4, !tbaa !9
  %630 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %630, ptr %24, align 4, !tbaa !9
  store i32 328, ptr %25, align 4, !tbaa !9
  %631 = load i32, ptr %25, align 4, !tbaa !9
  %632 = load i32, ptr %24, align 4, !tbaa !9
  %633 = add i32 %632, %631
  store i32 %633, ptr %24, align 4, !tbaa !9
  %634 = load ptr, ptr %3, align 8, !tbaa !5
  %635 = load i32, ptr %23, align 4, !tbaa !9
  %636 = load i32, ptr %24, align 4, !tbaa !9
  %637 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3ADebugInfoGenerator0x28hermes0x3A0x3Ahbc0x3A0x3AUniquingFilenameTable0x260x260x29(ptr noundef %634, i32 noundef %635, i32 noundef %636)
  store i32 %637, ptr %23, align 4, !tbaa !9
  %638 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %638, ptr %9, align 4, !tbaa !9
  %639 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %639, ptr %23, align 4, !tbaa !9
  %640 = load ptr, ptr %3, align 8, !tbaa !5
  %641 = getelementptr inbounds %struct.w2c_hermes, ptr %640, i32 0, i32 6
  %642 = load i32, ptr %23, align 4, !tbaa !9
  %643 = zext i32 %642 to i64
  %644 = add i64 %643, 470
  %645 = call i32 @i32_load8_u(ptr noundef %641, i64 noundef %644)
  store i32 %645, ptr %23, align 4, !tbaa !9
  %646 = load i32, ptr %23, align 4, !tbaa !9
  %647 = icmp ne i32 %646, 0
  br i1 %647, label %648, label %686

648:                                              ; preds = %625
  %649 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %649, ptr %23, align 4, !tbaa !9
  store i32 22, ptr %24, align 4, !tbaa !9
  %650 = load ptr, ptr %3, align 8, !tbaa !5
  %651 = getelementptr inbounds %struct.w2c_hermes, ptr %650, i32 0, i32 6
  %652 = load i32, ptr %23, align 4, !tbaa !9
  %653 = zext i32 %652 to i64
  %654 = add i64 %653, 316
  %655 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %651, i64 noundef %654, i32 noundef %655)
  %656 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %656, ptr %23, align 4, !tbaa !9
  store i32 105273, ptr %24, align 4, !tbaa !9
  %657 = load ptr, ptr %3, align 8, !tbaa !5
  %658 = getelementptr inbounds %struct.w2c_hermes, ptr %657, i32 0, i32 6
  %659 = load i32, ptr %23, align 4, !tbaa !9
  %660 = zext i32 %659 to i64
  %661 = add i64 %660, 312
  %662 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %658, i64 noundef %661, i32 noundef %662)
  %663 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %663, ptr %23, align 4, !tbaa !9
  %664 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %664, ptr %24, align 4, !tbaa !9
  %665 = load ptr, ptr %3, align 8, !tbaa !5
  %666 = getelementptr inbounds %struct.w2c_hermes, ptr %665, i32 0, i32 6
  %667 = load i32, ptr %24, align 4, !tbaa !9
  %668 = zext i32 %667 to i64
  %669 = add i64 %668, 312
  %670 = call i64 @i64_load(ptr noundef %666, i64 noundef %669)
  store i64 %670, ptr %43, align 8, !tbaa !11
  %671 = load ptr, ptr %3, align 8, !tbaa !5
  %672 = getelementptr inbounds %struct.w2c_hermes, ptr %671, i32 0, i32 6
  %673 = load i32, ptr %23, align 4, !tbaa !9
  %674 = zext i32 %673 to i64
  %675 = add i64 %674, 32
  %676 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %672, i64 noundef %675, i64 noundef %676)
  %677 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %677, ptr %23, align 4, !tbaa !9
  %678 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %678, ptr %24, align 4, !tbaa !9
  store i32 32, ptr %25, align 4, !tbaa !9
  %679 = load i32, ptr %25, align 4, !tbaa !9
  %680 = load i32, ptr %24, align 4, !tbaa !9
  %681 = add i32 %680, %679
  store i32 %681, ptr %24, align 4, !tbaa !9
  %682 = load ptr, ptr %3, align 8, !tbaa !5
  %683 = load i32, ptr %23, align 4, !tbaa !9
  %684 = load i32, ptr %24, align 4, !tbaa !9
  %685 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringID0x28llvh0x3A0x3AStringRef0x290x20const(ptr noundef %682, i32 noundef %683, i32 noundef %684)
  store i32 %685, ptr %23, align 4, !tbaa !9
  br label %687

686:                                              ; preds = %625
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %687

687:                                              ; preds = %686, %648
  %688 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %688, ptr %16, align 4, !tbaa !9
  %689 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %689, ptr %23, align 4, !tbaa !9
  %690 = load ptr, ptr %3, align 8, !tbaa !5
  %691 = getelementptr inbounds %struct.w2c_hermes, ptr %690, i32 0, i32 6
  %692 = load i32, ptr %23, align 4, !tbaa !9
  %693 = zext i32 %692 to i64
  %694 = add i64 %693, 20
  %695 = call i32 @i32_load(ptr noundef %691, i64 noundef %694)
  store i32 %695, ptr %23, align 4, !tbaa !9
  %696 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %696, ptr %17, align 4, !tbaa !9
  %697 = load i32, ptr %23, align 4, !tbaa !9
  %698 = icmp ne i32 %697, 0
  %699 = xor i1 %698, true
  %700 = zext i1 %699 to i32
  store i32 %700, ptr %23, align 4, !tbaa !9
  %701 = load i32, ptr %23, align 4, !tbaa !9
  %702 = icmp ne i32 %701, 0
  br i1 %702, label %703, label %704

703:                                              ; preds = %687
  br label %2507

704:                                              ; preds = %687
  %705 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %705, ptr %23, align 4, !tbaa !9
  store i32 164, ptr %24, align 4, !tbaa !9
  %706 = load i32, ptr %24, align 4, !tbaa !9
  %707 = load i32, ptr %23, align 4, !tbaa !9
  %708 = add i32 %707, %706
  store i32 %708, ptr %23, align 4, !tbaa !9
  %709 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %709, ptr %18, align 4, !tbaa !9
  %710 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %710, ptr %23, align 4, !tbaa !9
  %711 = load ptr, ptr %3, align 8, !tbaa !5
  %712 = getelementptr inbounds %struct.w2c_hermes, ptr %711, i32 0, i32 6
  %713 = load i32, ptr %23, align 4, !tbaa !9
  %714 = zext i32 %713 to i64
  %715 = add i64 %714, 16
  %716 = call i32 @i32_load(ptr noundef %712, i64 noundef %715)
  store i32 %716, ptr %23, align 4, !tbaa !9
  %717 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %717, ptr %19, align 4, !tbaa !9
  %718 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %718, ptr %23, align 4, !tbaa !9
  store i32 148, ptr %24, align 4, !tbaa !9
  %719 = load i32, ptr %24, align 4, !tbaa !9
  %720 = load i32, ptr %23, align 4, !tbaa !9
  %721 = add i32 %720, %719
  store i32 %721, ptr %23, align 4, !tbaa !9
  %722 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %722, ptr %20, align 4, !tbaa !9
  %723 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %723, ptr %23, align 4, !tbaa !9
  store i32 120, ptr %24, align 4, !tbaa !9
  %724 = load i32, ptr %24, align 4, !tbaa !9
  %725 = load i32, ptr %23, align 4, !tbaa !9
  %726 = add i32 %725, %724
  store i32 %726, ptr %23, align 4, !tbaa !9
  %727 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %727, ptr %15, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %728 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %728, ptr %12, align 4, !tbaa !9
  br label %729

729:                                              ; preds = %2435, %704
  %730 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %730, ptr %23, align 4, !tbaa !9
  %731 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %731, ptr %24, align 4, !tbaa !9
  %732 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %732, ptr %25, align 4, !tbaa !9
  store i32 2, ptr %26, align 4, !tbaa !9
  %733 = load i32, ptr %26, align 4, !tbaa !9
  %734 = and i32 %733, 31
  %735 = load i32, ptr %25, align 4, !tbaa !9
  %736 = shl i32 %735, %734
  store i32 %736, ptr %25, align 4, !tbaa !9
  %737 = load i32, ptr %25, align 4, !tbaa !9
  %738 = load i32, ptr %24, align 4, !tbaa !9
  %739 = add i32 %738, %737
  store i32 %739, ptr %24, align 4, !tbaa !9
  %740 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %740, ptr %5, align 4, !tbaa !9
  %741 = load ptr, ptr %3, align 8, !tbaa !5
  %742 = getelementptr inbounds %struct.w2c_hermes, ptr %741, i32 0, i32 6
  %743 = load i32, ptr %24, align 4, !tbaa !9
  %744 = zext i32 %743 to i64
  %745 = call i32 @i32_load(ptr noundef %742, i64 noundef %744)
  store i32 %745, ptr %24, align 4, !tbaa !9
  %746 = load ptr, ptr %3, align 8, !tbaa !5
  %747 = getelementptr inbounds %struct.w2c_hermes, ptr %746, i32 0, i32 6
  %748 = load i32, ptr %23, align 4, !tbaa !9
  %749 = zext i32 %748 to i64
  %750 = add i64 %749, 300
  %751 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %747, i64 noundef %750, i32 noundef %751)
  %752 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %752, ptr %23, align 4, !tbaa !9
  %753 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %753, ptr %24, align 4, !tbaa !9
  store i32 300, ptr %25, align 4, !tbaa !9
  %754 = load i32, ptr %25, align 4, !tbaa !9
  %755 = load i32, ptr %24, align 4, !tbaa !9
  %756 = add i32 %755, %754
  store i32 %756, ptr %24, align 4, !tbaa !9
  %757 = load ptr, ptr %3, align 8, !tbaa !5
  %758 = load i32, ptr %23, align 4, !tbaa !9
  %759 = load i32, ptr %24, align 4, !tbaa !9
  %760 = call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(ptr noundef %757, i32 noundef %758, i32 noundef %759)
  store i32 %760, ptr %23, align 4, !tbaa !9
  %761 = load ptr, ptr %3, align 8, !tbaa !5
  %762 = getelementptr inbounds %struct.w2c_hermes, ptr %761, i32 0, i32 6
  %763 = load i32, ptr %23, align 4, !tbaa !9
  %764 = zext i32 %763 to i64
  %765 = add i64 %764, 4
  %766 = call i32 @i32_load(ptr noundef %762, i64 noundef %765)
  store i32 %766, ptr %23, align 4, !tbaa !9
  %767 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %767, ptr %10, align 4, !tbaa !9
  %768 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %768, ptr %23, align 4, !tbaa !9
  %769 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %769, ptr %7, align 4, !tbaa !9
  %770 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %770, ptr %23, align 4, !tbaa !9
  %771 = load ptr, ptr %3, align 8, !tbaa !5
  %772 = getelementptr inbounds %struct.w2c_hermes, ptr %771, i32 0, i32 6
  %773 = load i32, ptr %23, align 4, !tbaa !9
  %774 = zext i32 %773 to i64
  %775 = add i64 %774, 470
  %776 = call i32 @i32_load8_u(ptr noundef %772, i64 noundef %775)
  store i32 %776, ptr %23, align 4, !tbaa !9
  %777 = load i32, ptr %23, align 4, !tbaa !9
  %778 = icmp ne i32 %777, 0
  %779 = xor i1 %778, true
  %780 = zext i1 %779 to i32
  store i32 %780, ptr %23, align 4, !tbaa !9
  %781 = load i32, ptr %23, align 4, !tbaa !9
  %782 = icmp ne i32 %781, 0
  br i1 %782, label %783, label %827

783:                                              ; preds = %729
  %784 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %784, ptr %23, align 4, !tbaa !9
  %785 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %785, ptr %24, align 4, !tbaa !9
  %786 = load ptr, ptr %3, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.w2c_hermes, ptr %786, i32 0, i32 6
  %788 = load i32, ptr %24, align 4, !tbaa !9
  %789 = zext i32 %788 to i64
  %790 = call i32 @i32_load(ptr noundef %787, i64 noundef %789)
  store i32 %790, ptr %24, align 4, !tbaa !9
  %791 = load ptr, ptr %3, align 8, !tbaa !5
  %792 = getelementptr inbounds %struct.w2c_hermes, ptr %791, i32 0, i32 6
  %793 = load i32, ptr %24, align 4, !tbaa !9
  %794 = zext i32 %793 to i64
  %795 = add i64 %794, 100
  %796 = call i32 @i32_load(ptr noundef %792, i64 noundef %795)
  store i32 %796, ptr %24, align 4, !tbaa !9
  %797 = load ptr, ptr %3, align 8, !tbaa !5
  %798 = getelementptr inbounds %struct.w2c_hermes, ptr %797, i32 0, i32 6
  %799 = load i32, ptr %24, align 4, !tbaa !9
  %800 = zext i32 %799 to i64
  %801 = call i64 @i64_load(ptr noundef %798, i64 noundef %800)
  store i64 %801, ptr %43, align 8, !tbaa !11
  %802 = load i64, ptr %43, align 8, !tbaa !11
  store i64 %802, ptr %22, align 8, !tbaa !11
  %803 = load ptr, ptr %3, align 8, !tbaa !5
  %804 = getelementptr inbounds %struct.w2c_hermes, ptr %803, i32 0, i32 6
  %805 = load i32, ptr %23, align 4, !tbaa !9
  %806 = zext i32 %805 to i64
  %807 = add i64 %806, 24
  %808 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %804, i64 noundef %807, i64 noundef %808)
  %809 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %809, ptr %23, align 4, !tbaa !9
  %810 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %810, ptr %43, align 8, !tbaa !11
  %811 = load ptr, ptr %3, align 8, !tbaa !5
  %812 = getelementptr inbounds %struct.w2c_hermes, ptr %811, i32 0, i32 6
  %813 = load i32, ptr %23, align 4, !tbaa !9
  %814 = zext i32 %813 to i64
  %815 = add i64 %814, 312
  %816 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %812, i64 noundef %815, i64 noundef %816)
  %817 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %817, ptr %23, align 4, !tbaa !9
  %818 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %818, ptr %24, align 4, !tbaa !9
  store i32 24, ptr %25, align 4, !tbaa !9
  %819 = load i32, ptr %25, align 4, !tbaa !9
  %820 = load i32, ptr %24, align 4, !tbaa !9
  %821 = add i32 %820, %819
  store i32 %821, ptr %24, align 4, !tbaa !9
  %822 = load ptr, ptr %3, align 8, !tbaa !5
  %823 = load i32, ptr %23, align 4, !tbaa !9
  %824 = load i32, ptr %24, align 4, !tbaa !9
  %825 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringID0x28llvh0x3A0x3AStringRef0x290x20const(ptr noundef %822, i32 noundef %823, i32 noundef %824)
  store i32 %825, ptr %23, align 4, !tbaa !9
  %826 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %826, ptr %7, align 4, !tbaa !9
  br label %827

827:                                              ; preds = %783, %729
  %828 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %828, ptr %23, align 4, !tbaa !9
  %829 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %829, ptr %24, align 4, !tbaa !9
  %830 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %830, ptr %25, align 4, !tbaa !9
  %831 = load ptr, ptr %3, align 8, !tbaa !5
  %832 = getelementptr inbounds %struct.w2c_hermes, ptr %831, i32 0, i32 6
  %833 = load i32, ptr %25, align 4, !tbaa !9
  %834 = zext i32 %833 to i64
  %835 = add i64 %834, 300
  %836 = call i32 @i32_load(ptr noundef %832, i64 noundef %835)
  store i32 %836, ptr %25, align 4, !tbaa !9
  %837 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %837, ptr %5, align 4, !tbaa !9
  %838 = load ptr, ptr %3, align 8, !tbaa !5
  %839 = getelementptr inbounds %struct.w2c_hermes, ptr %838, i32 0, i32 6
  %840 = load i32, ptr %25, align 4, !tbaa !9
  %841 = zext i32 %840 to i64
  %842 = add i64 %841, 104
  %843 = call i32 @i32_load(ptr noundef %839, i64 noundef %842)
  store i32 %843, ptr %25, align 4, !tbaa !9
  %844 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %844, ptr %26, align 4, !tbaa !9
  %845 = load ptr, ptr %3, align 8, !tbaa !5
  %846 = getelementptr inbounds %struct.w2c_hermes, ptr %845, i32 0, i32 6
  %847 = load i32, ptr %26, align 4, !tbaa !9
  %848 = zext i32 %847 to i64
  %849 = add i64 %848, 8
  %850 = call i32 @i32_load8_u(ptr noundef %846, i64 noundef %849)
  store i32 %850, ptr %26, align 4, !tbaa !9
  %851 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %851, ptr %27, align 4, !tbaa !9
  %852 = load ptr, ptr %3, align 8, !tbaa !5
  %853 = getelementptr inbounds %struct.w2c_hermes, ptr %852, i32 0, i32 6
  %854 = load i32, ptr %27, align 4, !tbaa !9
  %855 = zext i32 %854 to i64
  %856 = add i64 %855, 108
  %857 = call i32 @i32_load8_u(ptr noundef %853, i64 noundef %856)
  store i32 %857, ptr %27, align 4, !tbaa !9
  %858 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %858, ptr %28, align 4, !tbaa !9
  %859 = load ptr, ptr %3, align 8, !tbaa !5
  %860 = getelementptr inbounds %struct.w2c_hermes, ptr %859, i32 0, i32 6
  %861 = load i32, ptr %28, align 4, !tbaa !9
  %862 = zext i32 %861 to i64
  %863 = add i64 %862, 132
  %864 = call i32 @i32_load(ptr noundef %860, i64 noundef %863)
  store i32 %864, ptr %28, align 4, !tbaa !9
  %865 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %865, ptr %29, align 4, !tbaa !9
  %866 = load ptr, ptr %3, align 8, !tbaa !5
  %867 = getelementptr inbounds %struct.w2c_hermes, ptr %866, i32 0, i32 6
  %868 = load i32, ptr %29, align 4, !tbaa !9
  %869 = zext i32 %868 to i64
  %870 = add i64 %869, 44
  %871 = call i32 @i32_load(ptr noundef %867, i64 noundef %870)
  store i32 %871, ptr %29, align 4, !tbaa !9
  %872 = load ptr, ptr %3, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.w2c_hermes, ptr %872, i32 0, i32 6
  %874 = load i32, ptr %29, align 4, !tbaa !9
  %875 = zext i32 %874 to i64
  %876 = add i64 %875, 92
  %877 = call i32 @i32_load(ptr noundef %873, i64 noundef %876)
  store i32 %877, ptr %29, align 4, !tbaa !9
  %878 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %878, ptr %30, align 4, !tbaa !9
  %879 = load ptr, ptr %3, align 8, !tbaa !5
  %880 = load i32, ptr %24, align 4, !tbaa !9
  %881 = load i32, ptr %25, align 4, !tbaa !9
  %882 = load i32, ptr %26, align 4, !tbaa !9
  %883 = load i32, ptr %27, align 4, !tbaa !9
  %884 = load i32, ptr %28, align 4, !tbaa !9
  %885 = load i32, ptr %29, align 4, !tbaa !9
  %886 = load i32, ptr %30, align 4, !tbaa !9
  %887 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3AgenerateBytecodeFunction0x28hermes0x3A0x3AFunction0x3A0x3ADefinitionKind0x2C0x20hermes0x3A0x3AValueKind0x2C0x20bool0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %879, i32 noundef %880, i32 noundef %881, i32 noundef %882, i32 noundef %883, i32 noundef %884, i32 noundef %885, i32 noundef %886)
  store i32 %887, ptr %24, align 4, !tbaa !9
  %888 = load ptr, ptr %3, align 8, !tbaa !5
  %889 = getelementptr inbounds %struct.w2c_hermes, ptr %888, i32 0, i32 6
  %890 = load i32, ptr %23, align 4, !tbaa !9
  %891 = zext i32 %890 to i64
  %892 = add i64 %891, 312
  %893 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %889, i64 noundef %892, i32 noundef %893)
  %894 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %894, ptr %23, align 4, !tbaa !9
  %895 = load ptr, ptr %3, align 8, !tbaa !5
  %896 = getelementptr inbounds %struct.w2c_hermes, ptr %895, i32 0, i32 6
  %897 = load i32, ptr %23, align 4, !tbaa !9
  %898 = zext i32 %897 to i64
  %899 = add i64 %898, 300
  %900 = call i32 @i32_load(ptr noundef %896, i64 noundef %899)
  store i32 %900, ptr %23, align 4, !tbaa !9
  %901 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %901, ptr %7, align 4, !tbaa !9
  %902 = load ptr, ptr %3, align 8, !tbaa !5
  %903 = getelementptr inbounds %struct.w2c_hermes, ptr %902, i32 0, i32 6
  %904 = load i32, ptr %23, align 4, !tbaa !9
  %905 = zext i32 %904 to i64
  %906 = add i64 %905, 144
  %907 = call i32 @i32_load(ptr noundef %903, i64 noundef %906)
  store i32 %907, ptr %23, align 4, !tbaa !9
  %908 = load i32, ptr %23, align 4, !tbaa !9
  %909 = icmp ne i32 %908, 0
  %910 = xor i1 %909, true
  %911 = zext i1 %910 to i32
  store i32 %911, ptr %23, align 4, !tbaa !9
  %912 = load i32, ptr %23, align 4, !tbaa !9
  %913 = icmp ne i32 %912, 0
  br i1 %913, label %914, label %915

914:                                              ; preds = %827
  br label %1738

915:                                              ; preds = %827
  store i32 44, ptr %23, align 4, !tbaa !9
  %916 = load ptr, ptr %3, align 8, !tbaa !5
  %917 = load i32, ptr %23, align 4, !tbaa !9
  %918 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %916, i32 noundef %917)
  store i32 %918, ptr %23, align 4, !tbaa !9
  %919 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %919, ptr %5, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %920 = load ptr, ptr %3, align 8, !tbaa !5
  %921 = getelementptr inbounds %struct.w2c_hermes, ptr %920, i32 0, i32 6
  %922 = load i32, ptr %23, align 4, !tbaa !9
  %923 = zext i32 %922 to i64
  %924 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %921, i64 noundef %923, i64 noundef %924)
  %925 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %925, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %926 = load ptr, ptr %3, align 8, !tbaa !5
  %927 = getelementptr inbounds %struct.w2c_hermes, ptr %926, i32 0, i32 6
  %928 = load i32, ptr %23, align 4, !tbaa !9
  %929 = zext i32 %928 to i64
  %930 = add i64 %929, 40
  %931 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %927, i64 noundef %930, i32 noundef %931)
  %932 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %932, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %933 = load ptr, ptr %3, align 8, !tbaa !5
  %934 = getelementptr inbounds %struct.w2c_hermes, ptr %933, i32 0, i32 6
  %935 = load i32, ptr %23, align 4, !tbaa !9
  %936 = zext i32 %935 to i64
  %937 = add i64 %936, 32
  %938 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %934, i64 noundef %937, i64 noundef %938)
  %939 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %939, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %940 = load ptr, ptr %3, align 8, !tbaa !5
  %941 = getelementptr inbounds %struct.w2c_hermes, ptr %940, i32 0, i32 6
  %942 = load i32, ptr %23, align 4, !tbaa !9
  %943 = zext i32 %942 to i64
  %944 = add i64 %943, 24
  %945 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %941, i64 noundef %944, i64 noundef %945)
  %946 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %946, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %947 = load ptr, ptr %3, align 8, !tbaa !5
  %948 = getelementptr inbounds %struct.w2c_hermes, ptr %947, i32 0, i32 6
  %949 = load i32, ptr %23, align 4, !tbaa !9
  %950 = zext i32 %949 to i64
  %951 = add i64 %950, 16
  %952 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %948, i64 noundef %951, i64 noundef %952)
  %953 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %953, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %954 = load ptr, ptr %3, align 8, !tbaa !5
  %955 = getelementptr inbounds %struct.w2c_hermes, ptr %954, i32 0, i32 6
  %956 = load i32, ptr %23, align 4, !tbaa !9
  %957 = zext i32 %956 to i64
  %958 = add i64 %957, 8
  %959 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %955, i64 noundef %958, i64 noundef %959)
  %960 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %960, ptr %23, align 4, !tbaa !9
  %961 = load ptr, ptr %3, align 8, !tbaa !5
  %962 = getelementptr inbounds %struct.w2c_hermes, ptr %961, i32 0, i32 6
  %963 = load i32, ptr %23, align 4, !tbaa !9
  %964 = zext i32 %963 to i64
  %965 = add i64 %964, 36
  %966 = call i32 @i32_load(ptr noundef %962, i64 noundef %965)
  store i32 %966, ptr %23, align 4, !tbaa !9
  %967 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %967, ptr %7, align 4, !tbaa !9
  %968 = load ptr, ptr %3, align 8, !tbaa !5
  %969 = getelementptr inbounds %struct.w2c_hermes, ptr %968, i32 0, i32 6
  %970 = load i32, ptr %23, align 4, !tbaa !9
  %971 = zext i32 %970 to i64
  %972 = add i64 %971, 28
  %973 = call i32 @i32_load(ptr noundef %969, i64 noundef %972)
  store i32 %973, ptr %23, align 4, !tbaa !9
  %974 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %974, ptr %8, align 4, !tbaa !9
  %975 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %975, ptr %23, align 4, !tbaa !9
  %976 = load ptr, ptr %3, align 8, !tbaa !5
  %977 = getelementptr inbounds %struct.w2c_hermes, ptr %976, i32 0, i32 6
  %978 = load i32, ptr %23, align 4, !tbaa !9
  %979 = zext i32 %978 to i64
  %980 = add i64 %979, 32
  %981 = call i32 @i32_load(ptr noundef %977, i64 noundef %980)
  store i32 %981, ptr %23, align 4, !tbaa !9
  %982 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %982, ptr %7, align 4, !tbaa !9
  %983 = load i32, ptr %23, align 4, !tbaa !9
  %984 = icmp ne i32 %983, 0
  %985 = xor i1 %984, true
  %986 = zext i1 %985 to i32
  store i32 %986, ptr %23, align 4, !tbaa !9
  %987 = load i32, ptr %23, align 4, !tbaa !9
  %988 = icmp ne i32 %987, 0
  br i1 %988, label %989, label %1005

989:                                              ; preds = %915
  %990 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %990, ptr %23, align 4, !tbaa !9
  %991 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %991, ptr %24, align 4, !tbaa !9
  %992 = load ptr, ptr %3, align 8, !tbaa !5
  %993 = getelementptr inbounds %struct.w2c_hermes, ptr %992, i32 0, i32 6
  %994 = load i32, ptr %23, align 4, !tbaa !9
  %995 = zext i32 %994 to i64
  %996 = add i64 %995, 4
  %997 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %993, i64 noundef %996, i32 noundef %997)
  %998 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %998, ptr %23, align 4, !tbaa !9
  %999 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %999, ptr %24, align 4, !tbaa !9
  %1000 = load ptr, ptr %3, align 8, !tbaa !5
  %1001 = getelementptr inbounds %struct.w2c_hermes, ptr %1000, i32 0, i32 6
  %1002 = load i32, ptr %23, align 4, !tbaa !9
  %1003 = zext i32 %1002 to i64
  %1004 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1001, i64 noundef %1003, i32 noundef %1004)
  br label %1155

1005:                                             ; preds = %915
  %1006 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1006, ptr %23, align 4, !tbaa !9
  %1007 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1007, ptr %24, align 4, !tbaa !9
  %1008 = load ptr, ptr %3, align 8, !tbaa !5
  %1009 = getelementptr inbounds %struct.w2c_hermes, ptr %1008, i32 0, i32 6
  %1010 = load i32, ptr %24, align 4, !tbaa !9
  %1011 = zext i32 %1010 to i64
  %1012 = add i64 %1011, 4
  %1013 = call i32 @i32_load(ptr noundef %1009, i64 noundef %1012)
  store i32 %1013, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1014 = load i32, ptr %25, align 4, !tbaa !9
  %1015 = load i32, ptr %24, align 4, !tbaa !9
  %1016 = add i32 %1015, %1014
  store i32 %1016, ptr %24, align 4, !tbaa !9
  %1017 = load ptr, ptr %3, align 8, !tbaa !5
  %1018 = getelementptr inbounds %struct.w2c_hermes, ptr %1017, i32 0, i32 6
  %1019 = load i32, ptr %23, align 4, !tbaa !9
  %1020 = zext i32 %1019 to i64
  %1021 = add i64 %1020, 4
  %1022 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1018, i64 noundef %1021, i32 noundef %1022)
  %1023 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1023, ptr %23, align 4, !tbaa !9
  %1024 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1024, ptr %24, align 4, !tbaa !9
  %1025 = load ptr, ptr %3, align 8, !tbaa !5
  %1026 = getelementptr inbounds %struct.w2c_hermes, ptr %1025, i32 0, i32 6
  %1027 = load i32, ptr %23, align 4, !tbaa !9
  %1028 = zext i32 %1027 to i64
  %1029 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1026, i64 noundef %1028, i32 noundef %1029)
  %1030 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1030, ptr %23, align 4, !tbaa !9
  %1031 = load ptr, ptr %3, align 8, !tbaa !5
  %1032 = getelementptr inbounds %struct.w2c_hermes, ptr %1031, i32 0, i32 6
  %1033 = load i32, ptr %23, align 4, !tbaa !9
  %1034 = zext i32 %1033 to i64
  %1035 = add i64 %1034, 4
  %1036 = call i32 @i32_load(ptr noundef %1032, i64 noundef %1035)
  store i32 %1036, ptr %23, align 4, !tbaa !9
  %1037 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1037, ptr %8, align 4, !tbaa !9
  %1038 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1038, ptr %23, align 4, !tbaa !9
  %1039 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1039, ptr %24, align 4, !tbaa !9
  %1040 = load ptr, ptr %3, align 8, !tbaa !5
  %1041 = getelementptr inbounds %struct.w2c_hermes, ptr %1040, i32 0, i32 6
  %1042 = load i32, ptr %23, align 4, !tbaa !9
  %1043 = zext i32 %1042 to i64
  %1044 = add i64 %1043, 4
  %1045 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1041, i64 noundef %1044, i32 noundef %1045)
  %1046 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1046, ptr %23, align 4, !tbaa !9
  %1047 = load i32, ptr %23, align 4, !tbaa !9
  %1048 = icmp ne i32 %1047, 0
  %1049 = xor i1 %1048, true
  %1050 = zext i1 %1049 to i32
  store i32 %1050, ptr %23, align 4, !tbaa !9
  %1051 = load i32, ptr %23, align 4, !tbaa !9
  %1052 = icmp ne i32 %1051, 0
  br i1 %1052, label %1053, label %1054

1053:                                             ; preds = %1005
  br label %1155

1054:                                             ; preds = %1005
  %1055 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1055, ptr %23, align 4, !tbaa !9
  %1056 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1056, ptr %24, align 4, !tbaa !9
  %1057 = load ptr, ptr %3, align 8, !tbaa !5
  %1058 = getelementptr inbounds %struct.w2c_hermes, ptr %1057, i32 0, i32 6
  %1059 = load i32, ptr %24, align 4, !tbaa !9
  %1060 = zext i32 %1059 to i64
  %1061 = add i64 %1060, 4
  %1062 = call i32 @i32_load(ptr noundef %1058, i64 noundef %1061)
  store i32 %1062, ptr %24, align 4, !tbaa !9
  %1063 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1063, ptr %7, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1064 = load i32, ptr %25, align 4, !tbaa !9
  %1065 = load i32, ptr %24, align 4, !tbaa !9
  %1066 = sub i32 %1065, %1064
  store i32 %1066, ptr %24, align 4, !tbaa !9
  %1067 = load ptr, ptr %3, align 8, !tbaa !5
  %1068 = getelementptr inbounds %struct.w2c_hermes, ptr %1067, i32 0, i32 6
  %1069 = load i32, ptr %23, align 4, !tbaa !9
  %1070 = zext i32 %1069 to i64
  %1071 = add i64 %1070, 4
  %1072 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1068, i64 noundef %1071, i32 noundef %1072)
  %1073 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1073, ptr %23, align 4, !tbaa !9
  %1074 = load i32, ptr %23, align 4, !tbaa !9
  %1075 = icmp ne i32 %1074, 0
  br i1 %1075, label %1076, label %1077

1076:                                             ; preds = %1054
  br label %1155

1077:                                             ; preds = %1054
  %1078 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1078, ptr %23, align 4, !tbaa !9
  %1079 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1079, ptr %24, align 4, !tbaa !9
  %1080 = load ptr, ptr %3, align 8, !tbaa !5
  %1081 = getelementptr inbounds %struct.w2c_hermes, ptr %1080, i32 0, i32 6
  %1082 = load i32, ptr %24, align 4, !tbaa !9
  %1083 = zext i32 %1082 to i64
  %1084 = call i32 @i32_load(ptr noundef %1081, i64 noundef %1083)
  store i32 %1084, ptr %24, align 4, !tbaa !9
  %1085 = load ptr, ptr %3, align 8, !tbaa !5
  %1086 = getelementptr inbounds %struct.w2c_hermes, ptr %1085, i32 0, i32 6
  %1087 = load i32, ptr %24, align 4, !tbaa !9
  %1088 = zext i32 %1087 to i64
  %1089 = add i64 %1088, 8
  %1090 = call i32 @i32_load(ptr noundef %1086, i64 noundef %1089)
  store i32 %1090, ptr %24, align 4, !tbaa !9
  %1091 = load i32, ptr %24, align 4, !tbaa !9
  %1092 = load ptr, ptr %3, align 8, !tbaa !5
  %1093 = getelementptr inbounds %struct.w2c_hermes, ptr %1092, i32 0, i32 7
  %1094 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1093, i32 0, i32 2
  %1095 = load i32, ptr %1094, align 4, !tbaa !18
  %1096 = icmp ult i32 %1091, %1095
  br i1 %1096, label %1097, label %1120

1097:                                             ; preds = %1077
  %1098 = load ptr, ptr %3, align 8, !tbaa !5
  %1099 = getelementptr inbounds %struct.w2c_hermes, ptr %1098, i32 0, i32 7
  %1100 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1099, i32 0, i32 0
  %1101 = load ptr, ptr %1100, align 8, !tbaa !19
  %1102 = load i32, ptr %24, align 4, !tbaa !9
  %1103 = zext i32 %1102 to i64
  %1104 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1101, i64 %1103
  %1105 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1104, i32 0, i32 1
  %1106 = load ptr, ptr %1105, align 8, !tbaa !20
  %1107 = icmp ne ptr %1106, null
  br i1 %1107, label %1108, label %1120

1108:                                             ; preds = %1097
  %1109 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1110 = load ptr, ptr %3, align 8, !tbaa !5
  %1111 = getelementptr inbounds %struct.w2c_hermes, ptr %1110, i32 0, i32 7
  %1112 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1111, i32 0, i32 0
  %1113 = load ptr, ptr %1112, align 8, !tbaa !19
  %1114 = load i32, ptr %24, align 4, !tbaa !9
  %1115 = zext i32 %1114 to i64
  %1116 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1113, i64 %1115
  %1117 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1116, i32 0, i32 0
  %1118 = load ptr, ptr %1117, align 8, !tbaa !22
  %1119 = call zeroext i1 @func_types_eq(ptr noundef %1109, ptr noundef %1118)
  br label %1120

1120:                                             ; preds = %1108, %1097, %1077
  %1121 = phi i1 [ false, %1097 ], [ false, %1077 ], [ %1119, %1108 ]
  %1122 = xor i1 %1121, true
  %1123 = xor i1 %1122, true
  %1124 = zext i1 %1123 to i32
  %1125 = sext i32 %1124 to i64
  %1126 = call i64 @llvm.expect.i64(i64 %1125, i64 1)
  %1127 = icmp ne i64 %1126, 0
  br i1 %1127, label %1130, label %1128

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

1129:                                             ; No predecessors!
  br label %1130

1130:                                             ; preds = %1129, %1120
  %1131 = phi i1 [ true, %1120 ], [ false, %1129 ]
  %1132 = zext i1 %1131 to i32
  %1133 = load ptr, ptr %3, align 8, !tbaa !5
  %1134 = getelementptr inbounds %struct.w2c_hermes, ptr %1133, i32 0, i32 7
  %1135 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1134, i32 0, i32 0
  %1136 = load ptr, ptr %1135, align 8, !tbaa !19
  %1137 = load i32, ptr %24, align 4, !tbaa !9
  %1138 = zext i32 %1137 to i64
  %1139 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1136, i64 %1138
  %1140 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1139, i32 0, i32 1
  %1141 = load ptr, ptr %1140, align 8, !tbaa !20
  %1142 = load ptr, ptr %3, align 8, !tbaa !5
  %1143 = getelementptr inbounds %struct.w2c_hermes, ptr %1142, i32 0, i32 7
  %1144 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1143, i32 0, i32 0
  %1145 = load ptr, ptr %1144, align 8, !tbaa !19
  %1146 = load i32, ptr %24, align 4, !tbaa !9
  %1147 = zext i32 %1146 to i64
  %1148 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1145, i64 %1147
  %1149 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1148, i32 0, i32 2
  %1150 = load ptr, ptr %1149, align 8, !tbaa !23
  %1151 = load i32, ptr %23, align 4, !tbaa !9
  call void %1141(ptr noundef %1150, i32 noundef %1151)
  %1152 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1152, ptr %23, align 4, !tbaa !9
  %1153 = load ptr, ptr %3, align 8, !tbaa !5
  %1154 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1153, i32 noundef %1154)
  br label %1155

1155:                                             ; preds = %1130, %1076, %1053, %989
  %1156 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1156, ptr %23, align 4, !tbaa !9
  %1157 = load ptr, ptr %3, align 8, !tbaa !5
  %1158 = getelementptr inbounds %struct.w2c_hermes, ptr %1157, i32 0, i32 6
  %1159 = load i32, ptr %23, align 4, !tbaa !9
  %1160 = zext i32 %1159 to i64
  %1161 = add i64 %1160, 300
  %1162 = call i32 @i32_load(ptr noundef %1158, i64 noundef %1161)
  store i32 %1162, ptr %23, align 4, !tbaa !9
  %1163 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1163, ptr %7, align 4, !tbaa !9
  %1164 = load ptr, ptr %3, align 8, !tbaa !5
  %1165 = getelementptr inbounds %struct.w2c_hermes, ptr %1164, i32 0, i32 6
  %1166 = load i32, ptr %23, align 4, !tbaa !9
  %1167 = zext i32 %1166 to i64
  %1168 = add i64 %1167, 164
  %1169 = call i32 @i32_load(ptr noundef %1165, i64 noundef %1168)
  store i32 %1169, ptr %23, align 4, !tbaa !9
  %1170 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1170, ptr %11, align 4, !tbaa !9
  %1171 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1171, ptr %23, align 4, !tbaa !9
  %1172 = load ptr, ptr %3, align 8, !tbaa !5
  %1173 = getelementptr inbounds %struct.w2c_hermes, ptr %1172, i32 0, i32 6
  %1174 = load i32, ptr %23, align 4, !tbaa !9
  %1175 = zext i32 %1174 to i64
  %1176 = add i64 %1175, 168
  %1177 = call i32 @i32_load(ptr noundef %1173, i64 noundef %1176)
  store i32 %1177, ptr %23, align 4, !tbaa !9
  %1178 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1178, ptr %8, align 4, !tbaa !9
  %1179 = load i32, ptr %23, align 4, !tbaa !9
  %1180 = icmp ne i32 %1179, 0
  br i1 %1180, label %1181, label %1199

1181:                                             ; preds = %1155
  %1182 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1182, ptr %23, align 4, !tbaa !9
  %1183 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1183, ptr %24, align 4, !tbaa !9
  %1184 = load ptr, ptr %3, align 8, !tbaa !5
  %1185 = getelementptr inbounds %struct.w2c_hermes, ptr %1184, i32 0, i32 6
  %1186 = load i32, ptr %24, align 4, !tbaa !9
  %1187 = zext i32 %1186 to i64
  %1188 = add i64 %1187, 4
  %1189 = call i32 @i32_load(ptr noundef %1185, i64 noundef %1188)
  store i32 %1189, ptr %24, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1190 = load i32, ptr %25, align 4, !tbaa !9
  %1191 = load i32, ptr %24, align 4, !tbaa !9
  %1192 = add i32 %1191, %1190
  store i32 %1192, ptr %24, align 4, !tbaa !9
  %1193 = load ptr, ptr %3, align 8, !tbaa !5
  %1194 = getelementptr inbounds %struct.w2c_hermes, ptr %1193, i32 0, i32 6
  %1195 = load i32, ptr %23, align 4, !tbaa !9
  %1196 = zext i32 %1195 to i64
  %1197 = add i64 %1196, 4
  %1198 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1194, i64 noundef %1197, i32 noundef %1198)
  br label %1199

1199:                                             ; preds = %1181, %1155
  %1200 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1200, ptr %23, align 4, !tbaa !9
  %1201 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1201, ptr %24, align 4, !tbaa !9
  %1202 = load ptr, ptr %3, align 8, !tbaa !5
  %1203 = getelementptr inbounds %struct.w2c_hermes, ptr %1202, i32 0, i32 6
  %1204 = load i32, ptr %23, align 4, !tbaa !9
  %1205 = zext i32 %1204 to i64
  %1206 = add i64 %1205, 8
  %1207 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1203, i64 noundef %1206, i32 noundef %1207)
  %1208 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1208, ptr %23, align 4, !tbaa !9
  store i32 12, ptr %24, align 4, !tbaa !9
  %1209 = load i32, ptr %24, align 4, !tbaa !9
  %1210 = load i32, ptr %23, align 4, !tbaa !9
  %1211 = add i32 %1210, %1209
  store i32 %1211, ptr %23, align 4, !tbaa !9
  %1212 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1212, ptr %11, align 4, !tbaa !9
  %1213 = load ptr, ptr %3, align 8, !tbaa !5
  %1214 = getelementptr inbounds %struct.w2c_hermes, ptr %1213, i32 0, i32 6
  %1215 = load i32, ptr %23, align 4, !tbaa !9
  %1216 = zext i32 %1215 to i64
  %1217 = call i32 @i32_load(ptr noundef %1214, i64 noundef %1216)
  store i32 %1217, ptr %23, align 4, !tbaa !9
  %1218 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1218, ptr %7, align 4, !tbaa !9
  %1219 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1219, ptr %23, align 4, !tbaa !9
  %1220 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1220, ptr %24, align 4, !tbaa !9
  %1221 = load ptr, ptr %3, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.w2c_hermes, ptr %1221, i32 0, i32 6
  %1223 = load i32, ptr %23, align 4, !tbaa !9
  %1224 = zext i32 %1223 to i64
  %1225 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1222, i64 noundef %1224, i32 noundef %1225)
  %1226 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1226, ptr %23, align 4, !tbaa !9
  %1227 = load i32, ptr %23, align 4, !tbaa !9
  %1228 = icmp ne i32 %1227, 0
  %1229 = xor i1 %1228, true
  %1230 = zext i1 %1229 to i32
  store i32 %1230, ptr %23, align 4, !tbaa !9
  %1231 = load i32, ptr %23, align 4, !tbaa !9
  %1232 = icmp ne i32 %1231, 0
  br i1 %1232, label %1233, label %1234

1233:                                             ; preds = %1199
  br label %1335

1234:                                             ; preds = %1199
  %1235 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1235, ptr %23, align 4, !tbaa !9
  %1236 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1236, ptr %24, align 4, !tbaa !9
  %1237 = load ptr, ptr %3, align 8, !tbaa !5
  %1238 = getelementptr inbounds %struct.w2c_hermes, ptr %1237, i32 0, i32 6
  %1239 = load i32, ptr %24, align 4, !tbaa !9
  %1240 = zext i32 %1239 to i64
  %1241 = add i64 %1240, 4
  %1242 = call i32 @i32_load(ptr noundef %1238, i64 noundef %1241)
  store i32 %1242, ptr %24, align 4, !tbaa !9
  %1243 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1243, ptr %8, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1244 = load i32, ptr %25, align 4, !tbaa !9
  %1245 = load i32, ptr %24, align 4, !tbaa !9
  %1246 = sub i32 %1245, %1244
  store i32 %1246, ptr %24, align 4, !tbaa !9
  %1247 = load ptr, ptr %3, align 8, !tbaa !5
  %1248 = getelementptr inbounds %struct.w2c_hermes, ptr %1247, i32 0, i32 6
  %1249 = load i32, ptr %23, align 4, !tbaa !9
  %1250 = zext i32 %1249 to i64
  %1251 = add i64 %1250, 4
  %1252 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1248, i64 noundef %1251, i32 noundef %1252)
  %1253 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1253, ptr %23, align 4, !tbaa !9
  %1254 = load i32, ptr %23, align 4, !tbaa !9
  %1255 = icmp ne i32 %1254, 0
  br i1 %1255, label %1256, label %1257

1256:                                             ; preds = %1234
  br label %1335

1257:                                             ; preds = %1234
  %1258 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1258, ptr %23, align 4, !tbaa !9
  %1259 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1259, ptr %24, align 4, !tbaa !9
  %1260 = load ptr, ptr %3, align 8, !tbaa !5
  %1261 = getelementptr inbounds %struct.w2c_hermes, ptr %1260, i32 0, i32 6
  %1262 = load i32, ptr %24, align 4, !tbaa !9
  %1263 = zext i32 %1262 to i64
  %1264 = call i32 @i32_load(ptr noundef %1261, i64 noundef %1263)
  store i32 %1264, ptr %24, align 4, !tbaa !9
  %1265 = load ptr, ptr %3, align 8, !tbaa !5
  %1266 = getelementptr inbounds %struct.w2c_hermes, ptr %1265, i32 0, i32 6
  %1267 = load i32, ptr %24, align 4, !tbaa !9
  %1268 = zext i32 %1267 to i64
  %1269 = add i64 %1268, 8
  %1270 = call i32 @i32_load(ptr noundef %1266, i64 noundef %1269)
  store i32 %1270, ptr %24, align 4, !tbaa !9
  %1271 = load i32, ptr %24, align 4, !tbaa !9
  %1272 = load ptr, ptr %3, align 8, !tbaa !5
  %1273 = getelementptr inbounds %struct.w2c_hermes, ptr %1272, i32 0, i32 7
  %1274 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1273, i32 0, i32 2
  %1275 = load i32, ptr %1274, align 4, !tbaa !18
  %1276 = icmp ult i32 %1271, %1275
  br i1 %1276, label %1277, label %1300

1277:                                             ; preds = %1257
  %1278 = load ptr, ptr %3, align 8, !tbaa !5
  %1279 = getelementptr inbounds %struct.w2c_hermes, ptr %1278, i32 0, i32 7
  %1280 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1279, i32 0, i32 0
  %1281 = load ptr, ptr %1280, align 8, !tbaa !19
  %1282 = load i32, ptr %24, align 4, !tbaa !9
  %1283 = zext i32 %1282 to i64
  %1284 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1281, i64 %1283
  %1285 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1284, i32 0, i32 1
  %1286 = load ptr, ptr %1285, align 8, !tbaa !20
  %1287 = icmp ne ptr %1286, null
  br i1 %1287, label %1288, label %1300

1288:                                             ; preds = %1277
  %1289 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1290 = load ptr, ptr %3, align 8, !tbaa !5
  %1291 = getelementptr inbounds %struct.w2c_hermes, ptr %1290, i32 0, i32 7
  %1292 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1291, i32 0, i32 0
  %1293 = load ptr, ptr %1292, align 8, !tbaa !19
  %1294 = load i32, ptr %24, align 4, !tbaa !9
  %1295 = zext i32 %1294 to i64
  %1296 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1293, i64 %1295
  %1297 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1296, i32 0, i32 0
  %1298 = load ptr, ptr %1297, align 8, !tbaa !22
  %1299 = call zeroext i1 @func_types_eq(ptr noundef %1289, ptr noundef %1298)
  br label %1300

1300:                                             ; preds = %1288, %1277, %1257
  %1301 = phi i1 [ false, %1277 ], [ false, %1257 ], [ %1299, %1288 ]
  %1302 = xor i1 %1301, true
  %1303 = xor i1 %1302, true
  %1304 = zext i1 %1303 to i32
  %1305 = sext i32 %1304 to i64
  %1306 = call i64 @llvm.expect.i64(i64 %1305, i64 1)
  %1307 = icmp ne i64 %1306, 0
  br i1 %1307, label %1310, label %1308

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

1309:                                             ; No predecessors!
  br label %1310

1310:                                             ; preds = %1309, %1300
  %1311 = phi i1 [ true, %1300 ], [ false, %1309 ]
  %1312 = zext i1 %1311 to i32
  %1313 = load ptr, ptr %3, align 8, !tbaa !5
  %1314 = getelementptr inbounds %struct.w2c_hermes, ptr %1313, i32 0, i32 7
  %1315 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1314, i32 0, i32 0
  %1316 = load ptr, ptr %1315, align 8, !tbaa !19
  %1317 = load i32, ptr %24, align 4, !tbaa !9
  %1318 = zext i32 %1317 to i64
  %1319 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1316, i64 %1318
  %1320 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1319, i32 0, i32 1
  %1321 = load ptr, ptr %1320, align 8, !tbaa !20
  %1322 = load ptr, ptr %3, align 8, !tbaa !5
  %1323 = getelementptr inbounds %struct.w2c_hermes, ptr %1322, i32 0, i32 7
  %1324 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1323, i32 0, i32 0
  %1325 = load ptr, ptr %1324, align 8, !tbaa !19
  %1326 = load i32, ptr %24, align 4, !tbaa !9
  %1327 = zext i32 %1326 to i64
  %1328 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1325, i64 %1327
  %1329 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1328, i32 0, i32 2
  %1330 = load ptr, ptr %1329, align 8, !tbaa !23
  %1331 = load i32, ptr %23, align 4, !tbaa !9
  call void %1321(ptr noundef %1330, i32 noundef %1331)
  %1332 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1332, ptr %23, align 4, !tbaa !9
  %1333 = load ptr, ptr %3, align 8, !tbaa !5
  %1334 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1333, i32 noundef %1334)
  br label %1335

1335:                                             ; preds = %1310, %1256, %1233
  %1336 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1336, ptr %23, align 4, !tbaa !9
  %1337 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1337, ptr %24, align 4, !tbaa !9
  %1338 = load ptr, ptr %3, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.w2c_hermes, ptr %1338, i32 0, i32 6
  %1340 = load i32, ptr %24, align 4, !tbaa !9
  %1341 = zext i32 %1340 to i64
  %1342 = add i64 %1341, 300
  %1343 = call i32 @i32_load(ptr noundef %1339, i64 noundef %1342)
  store i32 %1343, ptr %24, align 4, !tbaa !9
  %1344 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1344, ptr %7, align 4, !tbaa !9
  %1345 = load ptr, ptr %3, align 8, !tbaa !5
  %1346 = getelementptr inbounds %struct.w2c_hermes, ptr %1345, i32 0, i32 6
  %1347 = load i32, ptr %24, align 4, !tbaa !9
  %1348 = zext i32 %1347 to i64
  %1349 = add i64 %1348, 152
  %1350 = call i64 @i64_load(ptr noundef %1346, i64 noundef %1349)
  store i64 %1350, ptr %43, align 8, !tbaa !11
  %1351 = load ptr, ptr %3, align 8, !tbaa !5
  %1352 = getelementptr inbounds %struct.w2c_hermes, ptr %1351, i32 0, i32 6
  %1353 = load i32, ptr %23, align 4, !tbaa !9
  %1354 = zext i32 %1353 to i64
  %1355 = add i64 %1354, 28
  %1356 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1352, i64 noundef %1355, i64 noundef %1356)
  %1357 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1357, ptr %23, align 4, !tbaa !9
  %1358 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1358, ptr %24, align 4, !tbaa !9
  %1359 = load ptr, ptr %3, align 8, !tbaa !5
  %1360 = getelementptr inbounds %struct.w2c_hermes, ptr %1359, i32 0, i32 6
  %1361 = load i32, ptr %24, align 4, !tbaa !9
  %1362 = zext i32 %1361 to i64
  %1363 = add i64 %1362, 144
  %1364 = call i32 @i32_load(ptr noundef %1360, i64 noundef %1363)
  store i32 %1364, ptr %24, align 4, !tbaa !9
  %1365 = load ptr, ptr %3, align 8, !tbaa !5
  %1366 = getelementptr inbounds %struct.w2c_hermes, ptr %1365, i32 0, i32 6
  %1367 = load i32, ptr %23, align 4, !tbaa !9
  %1368 = zext i32 %1367 to i64
  %1369 = add i64 %1368, 36
  %1370 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1366, i64 noundef %1369, i32 noundef %1370)
  %1371 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1371, ptr %23, align 4, !tbaa !9
  %1372 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1372, ptr %24, align 4, !tbaa !9
  %1373 = load ptr, ptr %3, align 8, !tbaa !5
  %1374 = getelementptr inbounds %struct.w2c_hermes, ptr %1373, i32 0, i32 6
  %1375 = load i32, ptr %24, align 4, !tbaa !9
  %1376 = zext i32 %1375 to i64
  %1377 = add i64 %1376, 160
  %1378 = call i32 @i32_load8_u(ptr noundef %1374, i64 noundef %1377)
  store i32 %1378, ptr %24, align 4, !tbaa !9
  %1379 = load ptr, ptr %3, align 8, !tbaa !5
  %1380 = getelementptr inbounds %struct.w2c_hermes, ptr %1379, i32 0, i32 6
  %1381 = load i32, ptr %23, align 4, !tbaa !9
  %1382 = zext i32 %1381 to i64
  %1383 = add i64 %1382, 41
  %1384 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1380, i64 noundef %1383, i32 noundef %1384)
  %1385 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1385, ptr %23, align 4, !tbaa !9
  %1386 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1386, ptr %24, align 4, !tbaa !9
  %1387 = load ptr, ptr %3, align 8, !tbaa !5
  %1388 = getelementptr inbounds %struct.w2c_hermes, ptr %1387, i32 0, i32 6
  %1389 = load i32, ptr %24, align 4, !tbaa !9
  %1390 = zext i32 %1389 to i64
  %1391 = add i64 %1390, 161
  %1392 = call i32 @i32_load8_u(ptr noundef %1388, i64 noundef %1391)
  store i32 %1392, ptr %24, align 4, !tbaa !9
  %1393 = load ptr, ptr %3, align 8, !tbaa !5
  %1394 = getelementptr inbounds %struct.w2c_hermes, ptr %1393, i32 0, i32 6
  %1395 = load i32, ptr %23, align 4, !tbaa !9
  %1396 = zext i32 %1395 to i64
  %1397 = add i64 %1396, 42
  %1398 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1394, i64 noundef %1397, i32 noundef %1398)
  %1399 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1399, ptr %23, align 4, !tbaa !9
  %1400 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1400, ptr %24, align 4, !tbaa !9
  %1401 = load ptr, ptr %3, align 8, !tbaa !5
  %1402 = getelementptr inbounds %struct.w2c_hermes, ptr %1401, i32 0, i32 6
  %1403 = load i32, ptr %24, align 4, !tbaa !9
  %1404 = zext i32 %1403 to i64
  %1405 = add i64 %1404, 148
  %1406 = call i32 @i32_load(ptr noundef %1402, i64 noundef %1405)
  store i32 %1406, ptr %24, align 4, !tbaa !9
  %1407 = load ptr, ptr %3, align 8, !tbaa !5
  %1408 = getelementptr inbounds %struct.w2c_hermes, ptr %1407, i32 0, i32 6
  %1409 = load i32, ptr %23, align 4, !tbaa !9
  %1410 = zext i32 %1409 to i64
  %1411 = add i64 %1410, 24
  %1412 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1408, i64 noundef %1411, i32 noundef %1412)
  %1413 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1413, ptr %23, align 4, !tbaa !9
  %1414 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1414, ptr %24, align 4, !tbaa !9
  %1415 = load ptr, ptr %3, align 8, !tbaa !5
  %1416 = getelementptr inbounds %struct.w2c_hermes, ptr %1415, i32 0, i32 6
  %1417 = load i32, ptr %24, align 4, !tbaa !9
  %1418 = zext i32 %1417 to i64
  %1419 = add i64 %1418, 100
  %1420 = call i32 @i32_load(ptr noundef %1416, i64 noundef %1419)
  store i32 %1420, ptr %24, align 4, !tbaa !9
  %1421 = load ptr, ptr %3, align 8, !tbaa !5
  %1422 = getelementptr inbounds %struct.w2c_hermes, ptr %1421, i32 0, i32 6
  %1423 = load i32, ptr %23, align 4, !tbaa !9
  %1424 = zext i32 %1423 to i64
  %1425 = add i64 %1424, 16
  %1426 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1422, i64 noundef %1425, i32 noundef %1426)
  %1427 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1427, ptr %23, align 4, !tbaa !9
  %1428 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1428, ptr %24, align 4, !tbaa !9
  %1429 = load ptr, ptr %3, align 8, !tbaa !5
  %1430 = getelementptr inbounds %struct.w2c_hermes, ptr %1429, i32 0, i32 6
  %1431 = load i32, ptr %24, align 4, !tbaa !9
  %1432 = zext i32 %1431 to i64
  %1433 = add i64 %1432, 172
  %1434 = call i32 @i32_load(ptr noundef %1430, i64 noundef %1433)
  store i32 %1434, ptr %24, align 4, !tbaa !9
  %1435 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1435, ptr %8, align 4, !tbaa !9
  %1436 = load i32, ptr %24, align 4, !tbaa !9
  %1437 = icmp ne i32 %1436, 0
  br i1 %1437, label %1438, label %1446

1438:                                             ; preds = %1335
  %1439 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1439, ptr %24, align 4, !tbaa !9
  %1440 = load ptr, ptr %3, align 8, !tbaa !5
  %1441 = getelementptr inbounds %struct.w2c_hermes, ptr %1440, i32 0, i32 6
  %1442 = load i32, ptr %24, align 4, !tbaa !9
  %1443 = zext i32 %1442 to i64
  %1444 = add i64 %1443, 32
  %1445 = call i32 @i32_load(ptr noundef %1441, i64 noundef %1444)
  store i32 %1445, ptr %24, align 4, !tbaa !9
  br label %1447

1446:                                             ; preds = %1335
  store i32 0, ptr %24, align 4, !tbaa !9
  br label %1447

1447:                                             ; preds = %1446, %1438
  %1448 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1448, ptr %8, align 4, !tbaa !9
  %1449 = load ptr, ptr %3, align 8, !tbaa !5
  %1450 = getelementptr inbounds %struct.w2c_hermes, ptr %1449, i32 0, i32 6
  %1451 = load i32, ptr %23, align 4, !tbaa !9
  %1452 = zext i32 %1451 to i64
  %1453 = add i64 %1452, 20
  %1454 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1450, i64 noundef %1453, i32 noundef %1454)
  %1455 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1455, ptr %23, align 4, !tbaa !9
  %1456 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1456, ptr %24, align 4, !tbaa !9
  %1457 = load ptr, ptr %3, align 8, !tbaa !5
  %1458 = getelementptr inbounds %struct.w2c_hermes, ptr %1457, i32 0, i32 6
  %1459 = load i32, ptr %24, align 4, !tbaa !9
  %1460 = zext i32 %1459 to i64
  %1461 = add i64 %1460, 108
  %1462 = call i32 @i32_load8_u(ptr noundef %1458, i64 noundef %1461)
  store i32 %1462, ptr %24, align 4, !tbaa !9
  %1463 = load ptr, ptr %3, align 8, !tbaa !5
  %1464 = getelementptr inbounds %struct.w2c_hermes, ptr %1463, i32 0, i32 6
  %1465 = load i32, ptr %23, align 4, !tbaa !9
  %1466 = zext i32 %1465 to i64
  %1467 = add i64 %1466, 40
  %1468 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1464, i64 noundef %1467, i32 noundef %1468)
  %1469 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1469, ptr %23, align 4, !tbaa !9
  %1470 = load ptr, ptr %3, align 8, !tbaa !5
  %1471 = getelementptr inbounds %struct.w2c_hermes, ptr %1470, i32 0, i32 6
  %1472 = load i32, ptr %23, align 4, !tbaa !9
  %1473 = zext i32 %1472 to i64
  %1474 = add i64 %1473, 312
  %1475 = call i32 @i32_load(ptr noundef %1471, i64 noundef %1474)
  store i32 %1475, ptr %23, align 4, !tbaa !9
  %1476 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1476, ptr %8, align 4, !tbaa !9
  %1477 = load ptr, ptr %3, align 8, !tbaa !5
  %1478 = getelementptr inbounds %struct.w2c_hermes, ptr %1477, i32 0, i32 6
  %1479 = load i32, ptr %23, align 4, !tbaa !9
  %1480 = zext i32 %1479 to i64
  %1481 = add i64 %1480, 68
  %1482 = call i32 @i32_load(ptr noundef %1478, i64 noundef %1481)
  store i32 %1482, ptr %23, align 4, !tbaa !9
  %1483 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1483, ptr %7, align 4, !tbaa !9
  %1484 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1484, ptr %23, align 4, !tbaa !9
  %1485 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1485, ptr %24, align 4, !tbaa !9
  %1486 = load ptr, ptr %3, align 8, !tbaa !5
  %1487 = getelementptr inbounds %struct.w2c_hermes, ptr %1486, i32 0, i32 6
  %1488 = load i32, ptr %23, align 4, !tbaa !9
  %1489 = zext i32 %1488 to i64
  %1490 = add i64 %1489, 68
  %1491 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1487, i64 noundef %1490, i32 noundef %1491)
  %1492 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1492, ptr %23, align 4, !tbaa !9
  %1493 = load i32, ptr %23, align 4, !tbaa !9
  %1494 = icmp ne i32 %1493, 0
  %1495 = xor i1 %1494, true
  %1496 = zext i1 %1495 to i32
  store i32 %1496, ptr %23, align 4, !tbaa !9
  %1497 = load i32, ptr %23, align 4, !tbaa !9
  %1498 = icmp ne i32 %1497, 0
  br i1 %1498, label %1499, label %1500

1499:                                             ; preds = %1447
  br label %1738

1500:                                             ; preds = %1447
  %1501 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1501, ptr %23, align 4, !tbaa !9
  %1502 = load ptr, ptr %3, align 8, !tbaa !5
  %1503 = getelementptr inbounds %struct.w2c_hermes, ptr %1502, i32 0, i32 6
  %1504 = load i32, ptr %23, align 4, !tbaa !9
  %1505 = zext i32 %1504 to i64
  %1506 = add i64 %1505, 12
  %1507 = call i32 @i32_load(ptr noundef %1503, i64 noundef %1506)
  store i32 %1507, ptr %23, align 4, !tbaa !9
  %1508 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1508, ptr %5, align 4, !tbaa !9
  %1509 = load i32, ptr %23, align 4, !tbaa !9
  %1510 = icmp ne i32 %1509, 0
  %1511 = xor i1 %1510, true
  %1512 = zext i1 %1511 to i32
  store i32 %1512, ptr %23, align 4, !tbaa !9
  %1513 = load i32, ptr %23, align 4, !tbaa !9
  %1514 = icmp ne i32 %1513, 0
  br i1 %1514, label %1515, label %1516

1515:                                             ; preds = %1500
  br label %1617

1516:                                             ; preds = %1500
  %1517 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1517, ptr %23, align 4, !tbaa !9
  %1518 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1518, ptr %24, align 4, !tbaa !9
  %1519 = load ptr, ptr %3, align 8, !tbaa !5
  %1520 = getelementptr inbounds %struct.w2c_hermes, ptr %1519, i32 0, i32 6
  %1521 = load i32, ptr %24, align 4, !tbaa !9
  %1522 = zext i32 %1521 to i64
  %1523 = add i64 %1522, 4
  %1524 = call i32 @i32_load(ptr noundef %1520, i64 noundef %1523)
  store i32 %1524, ptr %24, align 4, !tbaa !9
  %1525 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1525, ptr %8, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1526 = load i32, ptr %25, align 4, !tbaa !9
  %1527 = load i32, ptr %24, align 4, !tbaa !9
  %1528 = sub i32 %1527, %1526
  store i32 %1528, ptr %24, align 4, !tbaa !9
  %1529 = load ptr, ptr %3, align 8, !tbaa !5
  %1530 = getelementptr inbounds %struct.w2c_hermes, ptr %1529, i32 0, i32 6
  %1531 = load i32, ptr %23, align 4, !tbaa !9
  %1532 = zext i32 %1531 to i64
  %1533 = add i64 %1532, 4
  %1534 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1530, i64 noundef %1533, i32 noundef %1534)
  %1535 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1535, ptr %23, align 4, !tbaa !9
  %1536 = load i32, ptr %23, align 4, !tbaa !9
  %1537 = icmp ne i32 %1536, 0
  br i1 %1537, label %1538, label %1539

1538:                                             ; preds = %1516
  br label %1617

1539:                                             ; preds = %1516
  %1540 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1540, ptr %23, align 4, !tbaa !9
  %1541 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1541, ptr %24, align 4, !tbaa !9
  %1542 = load ptr, ptr %3, align 8, !tbaa !5
  %1543 = getelementptr inbounds %struct.w2c_hermes, ptr %1542, i32 0, i32 6
  %1544 = load i32, ptr %24, align 4, !tbaa !9
  %1545 = zext i32 %1544 to i64
  %1546 = call i32 @i32_load(ptr noundef %1543, i64 noundef %1545)
  store i32 %1546, ptr %24, align 4, !tbaa !9
  %1547 = load ptr, ptr %3, align 8, !tbaa !5
  %1548 = getelementptr inbounds %struct.w2c_hermes, ptr %1547, i32 0, i32 6
  %1549 = load i32, ptr %24, align 4, !tbaa !9
  %1550 = zext i32 %1549 to i64
  %1551 = add i64 %1550, 8
  %1552 = call i32 @i32_load(ptr noundef %1548, i64 noundef %1551)
  store i32 %1552, ptr %24, align 4, !tbaa !9
  %1553 = load i32, ptr %24, align 4, !tbaa !9
  %1554 = load ptr, ptr %3, align 8, !tbaa !5
  %1555 = getelementptr inbounds %struct.w2c_hermes, ptr %1554, i32 0, i32 7
  %1556 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1555, i32 0, i32 2
  %1557 = load i32, ptr %1556, align 4, !tbaa !18
  %1558 = icmp ult i32 %1553, %1557
  br i1 %1558, label %1559, label %1582

1559:                                             ; preds = %1539
  %1560 = load ptr, ptr %3, align 8, !tbaa !5
  %1561 = getelementptr inbounds %struct.w2c_hermes, ptr %1560, i32 0, i32 7
  %1562 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1561, i32 0, i32 0
  %1563 = load ptr, ptr %1562, align 8, !tbaa !19
  %1564 = load i32, ptr %24, align 4, !tbaa !9
  %1565 = zext i32 %1564 to i64
  %1566 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1563, i64 %1565
  %1567 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1566, i32 0, i32 1
  %1568 = load ptr, ptr %1567, align 8, !tbaa !20
  %1569 = icmp ne ptr %1568, null
  br i1 %1569, label %1570, label %1582

1570:                                             ; preds = %1559
  %1571 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1572 = load ptr, ptr %3, align 8, !tbaa !5
  %1573 = getelementptr inbounds %struct.w2c_hermes, ptr %1572, i32 0, i32 7
  %1574 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1573, i32 0, i32 0
  %1575 = load ptr, ptr %1574, align 8, !tbaa !19
  %1576 = load i32, ptr %24, align 4, !tbaa !9
  %1577 = zext i32 %1576 to i64
  %1578 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1575, i64 %1577
  %1579 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1578, i32 0, i32 0
  %1580 = load ptr, ptr %1579, align 8, !tbaa !22
  %1581 = call zeroext i1 @func_types_eq(ptr noundef %1571, ptr noundef %1580)
  br label %1582

1582:                                             ; preds = %1570, %1559, %1539
  %1583 = phi i1 [ false, %1559 ], [ false, %1539 ], [ %1581, %1570 ]
  %1584 = xor i1 %1583, true
  %1585 = xor i1 %1584, true
  %1586 = zext i1 %1585 to i32
  %1587 = sext i32 %1586 to i64
  %1588 = call i64 @llvm.expect.i64(i64 %1587, i64 1)
  %1589 = icmp ne i64 %1588, 0
  br i1 %1589, label %1592, label %1590

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

1591:                                             ; No predecessors!
  br label %1592

1592:                                             ; preds = %1591, %1582
  %1593 = phi i1 [ true, %1582 ], [ false, %1591 ]
  %1594 = zext i1 %1593 to i32
  %1595 = load ptr, ptr %3, align 8, !tbaa !5
  %1596 = getelementptr inbounds %struct.w2c_hermes, ptr %1595, i32 0, i32 7
  %1597 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1596, i32 0, i32 0
  %1598 = load ptr, ptr %1597, align 8, !tbaa !19
  %1599 = load i32, ptr %24, align 4, !tbaa !9
  %1600 = zext i32 %1599 to i64
  %1601 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1598, i64 %1600
  %1602 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1601, i32 0, i32 1
  %1603 = load ptr, ptr %1602, align 8, !tbaa !20
  %1604 = load ptr, ptr %3, align 8, !tbaa !5
  %1605 = getelementptr inbounds %struct.w2c_hermes, ptr %1604, i32 0, i32 7
  %1606 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1605, i32 0, i32 0
  %1607 = load ptr, ptr %1606, align 8, !tbaa !19
  %1608 = load i32, ptr %24, align 4, !tbaa !9
  %1609 = zext i32 %1608 to i64
  %1610 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1607, i64 %1609
  %1611 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1610, i32 0, i32 2
  %1612 = load ptr, ptr %1611, align 8, !tbaa !23
  %1613 = load i32, ptr %23, align 4, !tbaa !9
  call void %1603(ptr noundef %1612, i32 noundef %1613)
  %1614 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1614, ptr %23, align 4, !tbaa !9
  %1615 = load ptr, ptr %3, align 8, !tbaa !5
  %1616 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1615, i32 noundef %1616)
  br label %1617

1617:                                             ; preds = %1592, %1538, %1515
  %1618 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1618, ptr %23, align 4, !tbaa !9
  %1619 = load ptr, ptr %3, align 8, !tbaa !5
  %1620 = getelementptr inbounds %struct.w2c_hermes, ptr %1619, i32 0, i32 6
  %1621 = load i32, ptr %23, align 4, !tbaa !9
  %1622 = zext i32 %1621 to i64
  %1623 = add i64 %1622, 4
  %1624 = call i32 @i32_load(ptr noundef %1620, i64 noundef %1623)
  store i32 %1624, ptr %23, align 4, !tbaa !9
  %1625 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1625, ptr %5, align 4, !tbaa !9
  %1626 = load i32, ptr %23, align 4, !tbaa !9
  %1627 = icmp ne i32 %1626, 0
  %1628 = xor i1 %1627, true
  %1629 = zext i1 %1628 to i32
  store i32 %1629, ptr %23, align 4, !tbaa !9
  %1630 = load i32, ptr %23, align 4, !tbaa !9
  %1631 = icmp ne i32 %1630, 0
  br i1 %1631, label %1632, label %1633

1632:                                             ; preds = %1617
  br label %1734

1633:                                             ; preds = %1617
  %1634 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1634, ptr %23, align 4, !tbaa !9
  %1635 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1635, ptr %24, align 4, !tbaa !9
  %1636 = load ptr, ptr %3, align 8, !tbaa !5
  %1637 = getelementptr inbounds %struct.w2c_hermes, ptr %1636, i32 0, i32 6
  %1638 = load i32, ptr %24, align 4, !tbaa !9
  %1639 = zext i32 %1638 to i64
  %1640 = add i64 %1639, 4
  %1641 = call i32 @i32_load(ptr noundef %1637, i64 noundef %1640)
  store i32 %1641, ptr %24, align 4, !tbaa !9
  %1642 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1642, ptr %8, align 4, !tbaa !9
  store i32 1, ptr %25, align 4, !tbaa !9
  %1643 = load i32, ptr %25, align 4, !tbaa !9
  %1644 = load i32, ptr %24, align 4, !tbaa !9
  %1645 = sub i32 %1644, %1643
  store i32 %1645, ptr %24, align 4, !tbaa !9
  %1646 = load ptr, ptr %3, align 8, !tbaa !5
  %1647 = getelementptr inbounds %struct.w2c_hermes, ptr %1646, i32 0, i32 6
  %1648 = load i32, ptr %23, align 4, !tbaa !9
  %1649 = zext i32 %1648 to i64
  %1650 = add i64 %1649, 4
  %1651 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1647, i64 noundef %1650, i32 noundef %1651)
  %1652 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1652, ptr %23, align 4, !tbaa !9
  %1653 = load i32, ptr %23, align 4, !tbaa !9
  %1654 = icmp ne i32 %1653, 0
  br i1 %1654, label %1655, label %1656

1655:                                             ; preds = %1633
  br label %1734

1656:                                             ; preds = %1633
  %1657 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1657, ptr %23, align 4, !tbaa !9
  %1658 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1658, ptr %24, align 4, !tbaa !9
  %1659 = load ptr, ptr %3, align 8, !tbaa !5
  %1660 = getelementptr inbounds %struct.w2c_hermes, ptr %1659, i32 0, i32 6
  %1661 = load i32, ptr %24, align 4, !tbaa !9
  %1662 = zext i32 %1661 to i64
  %1663 = call i32 @i32_load(ptr noundef %1660, i64 noundef %1662)
  store i32 %1663, ptr %24, align 4, !tbaa !9
  %1664 = load ptr, ptr %3, align 8, !tbaa !5
  %1665 = getelementptr inbounds %struct.w2c_hermes, ptr %1664, i32 0, i32 6
  %1666 = load i32, ptr %24, align 4, !tbaa !9
  %1667 = zext i32 %1666 to i64
  %1668 = add i64 %1667, 8
  %1669 = call i32 @i32_load(ptr noundef %1665, i64 noundef %1668)
  store i32 %1669, ptr %24, align 4, !tbaa !9
  %1670 = load i32, ptr %24, align 4, !tbaa !9
  %1671 = load ptr, ptr %3, align 8, !tbaa !5
  %1672 = getelementptr inbounds %struct.w2c_hermes, ptr %1671, i32 0, i32 7
  %1673 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1672, i32 0, i32 2
  %1674 = load i32, ptr %1673, align 4, !tbaa !18
  %1675 = icmp ult i32 %1670, %1674
  br i1 %1675, label %1676, label %1699

1676:                                             ; preds = %1656
  %1677 = load ptr, ptr %3, align 8, !tbaa !5
  %1678 = getelementptr inbounds %struct.w2c_hermes, ptr %1677, i32 0, i32 7
  %1679 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1678, i32 0, i32 0
  %1680 = load ptr, ptr %1679, align 8, !tbaa !19
  %1681 = load i32, ptr %24, align 4, !tbaa !9
  %1682 = zext i32 %1681 to i64
  %1683 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1680, i64 %1682
  %1684 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1683, i32 0, i32 1
  %1685 = load ptr, ptr %1684, align 8, !tbaa !20
  %1686 = icmp ne ptr %1685, null
  br i1 %1686, label %1687, label %1699

1687:                                             ; preds = %1676
  %1688 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1689 = load ptr, ptr %3, align 8, !tbaa !5
  %1690 = getelementptr inbounds %struct.w2c_hermes, ptr %1689, i32 0, i32 7
  %1691 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1690, i32 0, i32 0
  %1692 = load ptr, ptr %1691, align 8, !tbaa !19
  %1693 = load i32, ptr %24, align 4, !tbaa !9
  %1694 = zext i32 %1693 to i64
  %1695 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1692, i64 %1694
  %1696 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1695, i32 0, i32 0
  %1697 = load ptr, ptr %1696, align 8, !tbaa !22
  %1698 = call zeroext i1 @func_types_eq(ptr noundef %1688, ptr noundef %1697)
  br label %1699

1699:                                             ; preds = %1687, %1676, %1656
  %1700 = phi i1 [ false, %1676 ], [ false, %1656 ], [ %1698, %1687 ]
  %1701 = xor i1 %1700, true
  %1702 = xor i1 %1701, true
  %1703 = zext i1 %1702 to i32
  %1704 = sext i32 %1703 to i64
  %1705 = call i64 @llvm.expect.i64(i64 %1704, i64 1)
  %1706 = icmp ne i64 %1705, 0
  br i1 %1706, label %1709, label %1707

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

1708:                                             ; No predecessors!
  br label %1709

1709:                                             ; preds = %1708, %1699
  %1710 = phi i1 [ true, %1699 ], [ false, %1708 ]
  %1711 = zext i1 %1710 to i32
  %1712 = load ptr, ptr %3, align 8, !tbaa !5
  %1713 = getelementptr inbounds %struct.w2c_hermes, ptr %1712, i32 0, i32 7
  %1714 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1713, i32 0, i32 0
  %1715 = load ptr, ptr %1714, align 8, !tbaa !19
  %1716 = load i32, ptr %24, align 4, !tbaa !9
  %1717 = zext i32 %1716 to i64
  %1718 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1715, i64 %1717
  %1719 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1718, i32 0, i32 1
  %1720 = load ptr, ptr %1719, align 8, !tbaa !20
  %1721 = load ptr, ptr %3, align 8, !tbaa !5
  %1722 = getelementptr inbounds %struct.w2c_hermes, ptr %1721, i32 0, i32 7
  %1723 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1722, i32 0, i32 0
  %1724 = load ptr, ptr %1723, align 8, !tbaa !19
  %1725 = load i32, ptr %24, align 4, !tbaa !9
  %1726 = zext i32 %1725 to i64
  %1727 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1724, i64 %1726
  %1728 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1727, i32 0, i32 2
  %1729 = load ptr, ptr %1728, align 8, !tbaa !23
  %1730 = load i32, ptr %23, align 4, !tbaa !9
  call void %1720(ptr noundef %1729, i32 noundef %1730)
  %1731 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1731, ptr %23, align 4, !tbaa !9
  %1732 = load ptr, ptr %3, align 8, !tbaa !5
  %1733 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1732, i32 noundef %1733)
  br label %1734

1734:                                             ; preds = %1709, %1655, %1632
  %1735 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1735, ptr %23, align 4, !tbaa !9
  %1736 = load ptr, ptr %3, align 8, !tbaa !5
  %1737 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %1736, i32 noundef %1737)
  br label %1738

1738:                                             ; preds = %1734, %1499, %914
  %1739 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1739, ptr %23, align 4, !tbaa !9
  %1740 = load ptr, ptr %3, align 8, !tbaa !5
  %1741 = getelementptr inbounds %struct.w2c_hermes, ptr %1740, i32 0, i32 6
  %1742 = load i32, ptr %23, align 4, !tbaa !9
  %1743 = zext i32 %1742 to i64
  %1744 = add i64 %1743, 68
  %1745 = call i32 @i32_load(ptr noundef %1741, i64 noundef %1744)
  store i32 %1745, ptr %23, align 4, !tbaa !9
  %1746 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1746, ptr %24, align 4, !tbaa !9
  %1747 = load ptr, ptr %3, align 8, !tbaa !5
  %1748 = getelementptr inbounds %struct.w2c_hermes, ptr %1747, i32 0, i32 6
  %1749 = load i32, ptr %24, align 4, !tbaa !9
  %1750 = zext i32 %1749 to i64
  %1751 = add i64 %1750, 72
  %1752 = call i32 @i32_load(ptr noundef %1748, i64 noundef %1751)
  store i32 %1752, ptr %24, align 4, !tbaa !9
  %1753 = load i32, ptr %23, align 4, !tbaa !9
  %1754 = load i32, ptr %24, align 4, !tbaa !9
  %1755 = icmp ne i32 %1753, %1754
  %1756 = zext i1 %1755 to i32
  store i32 %1756, ptr %23, align 4, !tbaa !9
  %1757 = load i32, ptr %23, align 4, !tbaa !9
  %1758 = icmp ne i32 %1757, 0
  br i1 %1758, label %1759, label %1760

1759:                                             ; preds = %1738
  br label %1791

1760:                                             ; preds = %1738
  %1761 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1761, ptr %23, align 4, !tbaa !9
  %1762 = load ptr, ptr %3, align 8, !tbaa !5
  %1763 = getelementptr inbounds %struct.w2c_hermes, ptr %1762, i32 0, i32 6
  %1764 = load i32, ptr %23, align 4, !tbaa !9
  %1765 = zext i32 %1764 to i64
  %1766 = add i64 %1765, 80
  %1767 = call i32 @i32_load(ptr noundef %1763, i64 noundef %1766)
  store i32 %1767, ptr %23, align 4, !tbaa !9
  %1768 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1768, ptr %24, align 4, !tbaa !9
  %1769 = load ptr, ptr %3, align 8, !tbaa !5
  %1770 = getelementptr inbounds %struct.w2c_hermes, ptr %1769, i32 0, i32 6
  %1771 = load i32, ptr %24, align 4, !tbaa !9
  %1772 = zext i32 %1771 to i64
  %1773 = add i64 %1772, 84
  %1774 = call i32 @i32_load(ptr noundef %1770, i64 noundef %1773)
  store i32 %1774, ptr %24, align 4, !tbaa !9
  %1775 = load i32, ptr %23, align 4, !tbaa !9
  %1776 = load i32, ptr %24, align 4, !tbaa !9
  %1777 = icmp ne i32 %1775, %1776
  %1778 = zext i1 %1777 to i32
  store i32 %1778, ptr %23, align 4, !tbaa !9
  %1779 = load i32, ptr %23, align 4, !tbaa !9
  %1780 = icmp ne i32 %1779, 0
  br i1 %1780, label %1781, label %1782

1781:                                             ; preds = %1760
  br label %1791

1782:                                             ; preds = %1760
  %1783 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1783, ptr %23, align 4, !tbaa !9
  %1784 = load ptr, ptr %3, align 8, !tbaa !5
  %1785 = getelementptr inbounds %struct.w2c_hermes, ptr %1784, i32 0, i32 6
  %1786 = load i32, ptr %23, align 4, !tbaa !9
  %1787 = zext i32 %1786 to i64
  %1788 = add i64 %1787, 312
  %1789 = call i32 @i32_load(ptr noundef %1785, i64 noundef %1788)
  store i32 %1789, ptr %23, align 4, !tbaa !9
  %1790 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1790, ptr %5, align 4, !tbaa !9
  br label %2380

1791:                                             ; preds = %1781, %1759
  %1792 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1792, ptr %23, align 4, !tbaa !9
  %1793 = load ptr, ptr %3, align 8, !tbaa !5
  %1794 = getelementptr inbounds %struct.w2c_hermes, ptr %1793, i32 0, i32 6
  %1795 = load i32, ptr %23, align 4, !tbaa !9
  %1796 = zext i32 %1795 to i64
  %1797 = add i64 %1796, 140
  %1798 = call i32 @i32_load(ptr noundef %1794, i64 noundef %1797)
  store i32 %1798, ptr %23, align 4, !tbaa !9
  %1799 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1799, ptr %5, align 4, !tbaa !9
  %1800 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1800, ptr %24, align 4, !tbaa !9
  %1801 = load ptr, ptr %3, align 8, !tbaa !5
  %1802 = getelementptr inbounds %struct.w2c_hermes, ptr %1801, i32 0, i32 6
  %1803 = load i32, ptr %24, align 4, !tbaa !9
  %1804 = zext i32 %1803 to i64
  %1805 = add i64 %1804, 136
  %1806 = call i32 @i32_load(ptr noundef %1802, i64 noundef %1805)
  store i32 %1806, ptr %24, align 4, !tbaa !9
  %1807 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1807, ptr %7, align 4, !tbaa !9
  %1808 = load i32, ptr %23, align 4, !tbaa !9
  %1809 = load i32, ptr %24, align 4, !tbaa !9
  %1810 = icmp ne i32 %1808, %1809
  %1811 = zext i1 %1810 to i32
  store i32 %1811, ptr %23, align 4, !tbaa !9
  %1812 = load i32, ptr %23, align 4, !tbaa !9
  %1813 = icmp ne i32 %1812, 0
  br i1 %1813, label %1814, label %1923

1814:                                             ; preds = %1791
  store i32 1, ptr %23, align 4, !tbaa !9
  %1815 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1815, ptr %24, align 4, !tbaa !9
  %1816 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1816, ptr %25, align 4, !tbaa !9
  %1817 = load i32, ptr %25, align 4, !tbaa !9
  %1818 = load i32, ptr %24, align 4, !tbaa !9
  %1819 = sub i32 %1818, %1817
  store i32 %1819, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1820 = load i32, ptr %24, align 4, !tbaa !9
  %1821 = load i32, ptr %25, align 4, !tbaa !9
  %1822 = and i32 %1821, 31
  %1823 = ashr i32 %1820, %1822
  store i32 %1823, ptr %24, align 4, !tbaa !9
  %1824 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1824, ptr %5, align 4, !tbaa !9
  %1825 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1825, ptr %25, align 4, !tbaa !9
  store i32 1, ptr %26, align 4, !tbaa !9
  %1826 = load i32, ptr %25, align 4, !tbaa !9
  %1827 = load i32, ptr %26, align 4, !tbaa !9
  %1828 = icmp ule i32 %1826, %1827
  %1829 = zext i1 %1828 to i32
  store i32 %1829, ptr %25, align 4, !tbaa !9
  %1830 = load i32, ptr %25, align 4, !tbaa !9
  %1831 = icmp ne i32 %1830, 0
  br i1 %1831, label %1832, label %1834

1832:                                             ; preds = %1814
  %1833 = load i32, ptr %23, align 4, !tbaa !9
  br label %1836

1834:                                             ; preds = %1814
  %1835 = load i32, ptr %24, align 4, !tbaa !9
  br label %1836

1836:                                             ; preds = %1834, %1832
  %1837 = phi i32 [ %1833, %1832 ], [ %1835, %1834 ]
  store i32 %1837, ptr %23, align 4, !tbaa !9
  %1838 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1838, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1839 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1839, ptr %5, align 4, !tbaa !9
  br label %1840

1840:                                             ; preds = %1921, %1836
  %1841 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1841, ptr %23, align 4, !tbaa !9
  %1842 = load ptr, ptr %3, align 8, !tbaa !5
  %1843 = getelementptr inbounds %struct.w2c_hermes, ptr %1842, i32 0, i32 6
  %1844 = load i32, ptr %23, align 4, !tbaa !9
  %1845 = zext i32 %1844 to i64
  %1846 = add i64 %1845, 300
  %1847 = call i32 @i32_load(ptr noundef %1843, i64 noundef %1846)
  store i32 %1847, ptr %23, align 4, !tbaa !9
  %1848 = load ptr, ptr %3, align 8, !tbaa !5
  %1849 = load i32, ptr %23, align 4, !tbaa !9
  %1850 = call i32 @w2c_hermes_hermes0x3A0x3AFunction0x3A0x3AgetContext0x280x290x20const(ptr noundef %1848, i32 noundef %1849)
  store i32 %1850, ptr %23, align 4, !tbaa !9
  %1851 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1851, ptr %7, align 4, !tbaa !9
  %1852 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1852, ptr %23, align 4, !tbaa !9
  %1853 = load ptr, ptr %3, align 8, !tbaa !5
  %1854 = getelementptr inbounds %struct.w2c_hermes, ptr %1853, i32 0, i32 6
  %1855 = load i32, ptr %23, align 4, !tbaa !9
  %1856 = zext i32 %1855 to i64
  %1857 = add i64 %1856, 140
  %1858 = call i32 @i32_load(ptr noundef %1854, i64 noundef %1857)
  store i32 %1858, ptr %23, align 4, !tbaa !9
  %1859 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1859, ptr %24, align 4, !tbaa !9
  %1860 = load ptr, ptr %3, align 8, !tbaa !5
  %1861 = getelementptr inbounds %struct.w2c_hermes, ptr %1860, i32 0, i32 6
  %1862 = load i32, ptr %24, align 4, !tbaa !9
  %1863 = zext i32 %1862 to i64
  %1864 = add i64 %1863, 136
  %1865 = call i32 @i32_load(ptr noundef %1861, i64 noundef %1864)
  store i32 %1865, ptr %24, align 4, !tbaa !9
  %1866 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1866, ptr %8, align 4, !tbaa !9
  %1867 = load i32, ptr %24, align 4, !tbaa !9
  %1868 = load i32, ptr %23, align 4, !tbaa !9
  %1869 = sub i32 %1868, %1867
  store i32 %1869, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1870 = load i32, ptr %23, align 4, !tbaa !9
  %1871 = load i32, ptr %24, align 4, !tbaa !9
  %1872 = and i32 %1871, 31
  %1873 = ashr i32 %1870, %1872
  store i32 %1873, ptr %23, align 4, !tbaa !9
  %1874 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1874, ptr %24, align 4, !tbaa !9
  %1875 = load i32, ptr %23, align 4, !tbaa !9
  %1876 = load i32, ptr %24, align 4, !tbaa !9
  %1877 = icmp ule i32 %1875, %1876
  %1878 = zext i1 %1877 to i32
  store i32 %1878, ptr %23, align 4, !tbaa !9
  %1879 = load i32, ptr %23, align 4, !tbaa !9
  %1880 = icmp ne i32 %1879, 0
  br i1 %1880, label %1881, label %1882

1881:                                             ; preds = %1840
  br label %2362

1882:                                             ; preds = %1840
  %1883 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1883, ptr %23, align 4, !tbaa !9
  %1884 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1884, ptr %24, align 4, !tbaa !9
  store i32 36, ptr %25, align 4, !tbaa !9
  %1885 = load i32, ptr %25, align 4, !tbaa !9
  %1886 = load i32, ptr %24, align 4, !tbaa !9
  %1887 = add i32 %1886, %1885
  store i32 %1887, ptr %24, align 4, !tbaa !9
  %1888 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1888, ptr %25, align 4, !tbaa !9
  %1889 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1889, ptr %26, align 4, !tbaa !9
  %1890 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1890, ptr %27, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %1891 = load i32, ptr %28, align 4, !tbaa !9
  %1892 = and i32 %1891, 31
  %1893 = load i32, ptr %27, align 4, !tbaa !9
  %1894 = shl i32 %1893, %1892
  store i32 %1894, ptr %27, align 4, !tbaa !9
  %1895 = load i32, ptr %27, align 4, !tbaa !9
  %1896 = load i32, ptr %26, align 4, !tbaa !9
  %1897 = add i32 %1896, %1895
  store i32 %1897, ptr %26, align 4, !tbaa !9
  %1898 = load ptr, ptr %3, align 8, !tbaa !5
  %1899 = getelementptr inbounds %struct.w2c_hermes, ptr %1898, i32 0, i32 6
  %1900 = load i32, ptr %26, align 4, !tbaa !9
  %1901 = zext i32 %1900 to i64
  %1902 = call i32 @i32_load(ptr noundef %1899, i64 noundef %1901)
  store i32 %1902, ptr %26, align 4, !tbaa !9
  %1903 = load ptr, ptr %3, align 8, !tbaa !5
  %1904 = load i32, ptr %23, align 4, !tbaa !9
  %1905 = load i32, ptr %24, align 4, !tbaa !9
  %1906 = load i32, ptr %25, align 4, !tbaa !9
  %1907 = load i32, ptr %26, align 4, !tbaa !9
  %1908 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3AserializeScopeChain0x28hermes0x3A0x3AStringTable0x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x260x2C0x20hermes0x3A0x3AScopeDesc0x2A0x29(ptr noundef %1903, i32 noundef %1904, i32 noundef %1905, i32 noundef %1906, i32 noundef %1907)
  store i32 %1908, ptr %23, align 4, !tbaa !9
  %1909 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1909, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1910 = load i32, ptr %24, align 4, !tbaa !9
  %1911 = load i32, ptr %23, align 4, !tbaa !9
  %1912 = add i32 %1911, %1910
  store i32 %1912, ptr %23, align 4, !tbaa !9
  %1913 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1913, ptr %5, align 4, !tbaa !9
  %1914 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1914, ptr %24, align 4, !tbaa !9
  %1915 = load i32, ptr %23, align 4, !tbaa !9
  %1916 = load i32, ptr %24, align 4, !tbaa !9
  %1917 = icmp ne i32 %1915, %1916
  %1918 = zext i1 %1917 to i32
  store i32 %1918, ptr %23, align 4, !tbaa !9
  %1919 = load i32, ptr %23, align 4, !tbaa !9
  %1920 = icmp ne i32 %1919, 0
  br i1 %1920, label %1921, label %1922

1921:                                             ; preds = %1882
  br label %1840

1922:                                             ; preds = %1882
  br label %1923

1923:                                             ; preds = %1922, %1791
  %1924 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1924, ptr %23, align 4, !tbaa !9
  %1925 = load ptr, ptr %3, align 8, !tbaa !5
  %1926 = getelementptr inbounds %struct.w2c_hermes, ptr %1925, i32 0, i32 6
  %1927 = load i32, ptr %23, align 4, !tbaa !9
  %1928 = zext i32 %1927 to i64
  %1929 = add i64 %1928, 124
  %1930 = call i32 @i32_load(ptr noundef %1926, i64 noundef %1929)
  store i32 %1930, ptr %23, align 4, !tbaa !9
  %1931 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1931, ptr %5, align 4, !tbaa !9
  %1932 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1932, ptr %24, align 4, !tbaa !9
  %1933 = load ptr, ptr %3, align 8, !tbaa !5
  %1934 = getelementptr inbounds %struct.w2c_hermes, ptr %1933, i32 0, i32 6
  %1935 = load i32, ptr %24, align 4, !tbaa !9
  %1936 = zext i32 %1935 to i64
  %1937 = add i64 %1936, 128
  %1938 = call i32 @i32_load(ptr noundef %1934, i64 noundef %1937)
  store i32 %1938, ptr %24, align 4, !tbaa !9
  %1939 = load i32, ptr %24, align 4, !tbaa !9
  %1940 = load i32, ptr %23, align 4, !tbaa !9
  %1941 = or i32 %1940, %1939
  store i32 %1941, ptr %23, align 4, !tbaa !9
  %1942 = load i32, ptr %23, align 4, !tbaa !9
  %1943 = icmp ne i32 %1942, 0
  %1944 = xor i1 %1943, true
  %1945 = zext i1 %1944 to i32
  store i32 %1945, ptr %23, align 4, !tbaa !9
  %1946 = load i32, ptr %23, align 4, !tbaa !9
  %1947 = icmp ne i32 %1946, 0
  br i1 %1947, label %1948, label %1949

1948:                                             ; preds = %1923
  br label %2112

1949:                                             ; preds = %1923
  %1950 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %1950, ptr %23, align 4, !tbaa !9
  %1951 = load ptr, ptr %3, align 8, !tbaa !5
  %1952 = getelementptr inbounds %struct.w2c_hermes, ptr %1951, i32 0, i32 6
  %1953 = load i32, ptr %23, align 4, !tbaa !9
  %1954 = zext i32 %1953 to i64
  %1955 = add i64 %1954, 132
  %1956 = call i32 @i32_load(ptr noundef %1952, i64 noundef %1955)
  store i32 %1956, ptr %23, align 4, !tbaa !9
  %1957 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1957, ptr %11, align 4, !tbaa !9
  %1958 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1958, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1959 = load i32, ptr %25, align 4, !tbaa !9
  %1960 = and i32 %1959, 31
  %1961 = load i32, ptr %24, align 4, !tbaa !9
  %1962 = shl i32 %1961, %1960
  store i32 %1962, ptr %24, align 4, !tbaa !9
  %1963 = load i32, ptr %23, align 4, !tbaa !9
  %1964 = load i32, ptr %24, align 4, !tbaa !9
  %1965 = icmp ule i32 %1963, %1964
  %1966 = zext i1 %1965 to i32
  store i32 %1966, ptr %23, align 4, !tbaa !9
  %1967 = load i32, ptr %23, align 4, !tbaa !9
  %1968 = icmp ne i32 %1967, 0
  br i1 %1968, label %1969, label %1970

1969:                                             ; preds = %1949
  br label %1983

1970:                                             ; preds = %1949
  %1971 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1971, ptr %23, align 4, !tbaa !9
  store i32 65, ptr %24, align 4, !tbaa !9
  %1972 = load i32, ptr %23, align 4, !tbaa !9
  %1973 = load i32, ptr %24, align 4, !tbaa !9
  %1974 = icmp ult i32 %1972, %1973
  %1975 = zext i1 %1974 to i32
  store i32 %1975, ptr %23, align 4, !tbaa !9
  %1976 = load i32, ptr %23, align 4, !tbaa !9
  %1977 = icmp ne i32 %1976, 0
  br i1 %1977, label %1978, label %1979

1978:                                             ; preds = %1970
  br label %1983

1979:                                             ; preds = %1970
  %1980 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1980, ptr %23, align 4, !tbaa !9
  %1981 = load ptr, ptr %3, align 8, !tbaa !5
  %1982 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AScopeDesc0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetEmpty0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetPair0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x3E0x3A0x3Ashrink_and_clear0x280x29(ptr noundef %1981, i32 noundef %1982)
  br label %2112

1983:                                             ; preds = %1978, %1969
  %1984 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1984, ptr %23, align 4, !tbaa !9
  %1985 = load i32, ptr %23, align 4, !tbaa !9
  %1986 = icmp ne i32 %1985, 0
  %1987 = xor i1 %1986, true
  %1988 = zext i1 %1987 to i32
  store i32 %1988, ptr %23, align 4, !tbaa !9
  %1989 = load i32, ptr %23, align 4, !tbaa !9
  %1990 = icmp ne i32 %1989, 0
  br i1 %1990, label %1991, label %1992

1991:                                             ; preds = %1983
  br label %2104

1992:                                             ; preds = %1983
  store i32 0, ptr %23, align 4, !tbaa !9
  %1993 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1993, ptr %7, align 4, !tbaa !9
  %1994 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1994, ptr %23, align 4, !tbaa !9
  %1995 = load ptr, ptr %3, align 8, !tbaa !5
  %1996 = getelementptr inbounds %struct.w2c_hermes, ptr %1995, i32 0, i32 6
  %1997 = load i32, ptr %23, align 4, !tbaa !9
  %1998 = zext i32 %1997 to i64
  %1999 = call i32 @i32_load(ptr noundef %1996, i64 noundef %1998)
  store i32 %1999, ptr %23, align 4, !tbaa !9
  %2000 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2000, ptr %21, align 4, !tbaa !9
  %2001 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2001, ptr %5, align 4, !tbaa !9
  %2002 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2002, ptr %23, align 4, !tbaa !9
  store i32 7, ptr %24, align 4, !tbaa !9
  %2003 = load i32, ptr %24, align 4, !tbaa !9
  %2004 = load i32, ptr %23, align 4, !tbaa !9
  %2005 = and i32 %2004, %2003
  store i32 %2005, ptr %23, align 4, !tbaa !9
  %2006 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2006, ptr %8, align 4, !tbaa !9
  %2007 = load i32, ptr %23, align 4, !tbaa !9
  %2008 = icmp ne i32 %2007, 0
  br i1 %2008, label %2009, label %2036

2009:                                             ; preds = %1992
  br label %2010

2010:                                             ; preds = %2034, %2009
  %2011 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2011, ptr %23, align 4, !tbaa !9
  store i32 -4, ptr %24, align 4, !tbaa !9
  %2012 = load ptr, ptr %3, align 8, !tbaa !5
  %2013 = getelementptr inbounds %struct.w2c_hermes, ptr %2012, i32 0, i32 6
  %2014 = load i32, ptr %23, align 4, !tbaa !9
  %2015 = zext i32 %2014 to i64
  %2016 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2013, i64 noundef %2015, i32 noundef %2016)
  %2017 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2017, ptr %23, align 4, !tbaa !9
  store i32 4, ptr %24, align 4, !tbaa !9
  %2018 = load i32, ptr %24, align 4, !tbaa !9
  %2019 = load i32, ptr %23, align 4, !tbaa !9
  %2020 = add i32 %2019, %2018
  store i32 %2020, ptr %23, align 4, !tbaa !9
  %2021 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2021, ptr %5, align 4, !tbaa !9
  %2022 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2022, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %2023 = load i32, ptr %24, align 4, !tbaa !9
  %2024 = load i32, ptr %23, align 4, !tbaa !9
  %2025 = add i32 %2024, %2023
  store i32 %2025, ptr %23, align 4, !tbaa !9
  %2026 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2026, ptr %7, align 4, !tbaa !9
  %2027 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2027, ptr %24, align 4, !tbaa !9
  %2028 = load i32, ptr %23, align 4, !tbaa !9
  %2029 = load i32, ptr %24, align 4, !tbaa !9
  %2030 = icmp ne i32 %2028, %2029
  %2031 = zext i1 %2030 to i32
  store i32 %2031, ptr %23, align 4, !tbaa !9
  %2032 = load i32, ptr %23, align 4, !tbaa !9
  %2033 = icmp ne i32 %2032, 0
  br i1 %2033, label %2034, label %2035

2034:                                             ; preds = %2010
  br label %2010

2035:                                             ; preds = %2010
  br label %2036

2036:                                             ; preds = %2035, %1992
  %2037 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2037, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %2038 = load i32, ptr %24, align 4, !tbaa !9
  %2039 = load i32, ptr %23, align 4, !tbaa !9
  %2040 = sub i32 %2039, %2038
  store i32 %2040, ptr %23, align 4, !tbaa !9
  store i32 1073741823, ptr %24, align 4, !tbaa !9
  %2041 = load i32, ptr %24, align 4, !tbaa !9
  %2042 = load i32, ptr %23, align 4, !tbaa !9
  %2043 = and i32 %2042, %2041
  store i32 %2043, ptr %23, align 4, !tbaa !9
  store i32 6, ptr %24, align 4, !tbaa !9
  %2044 = load i32, ptr %23, align 4, !tbaa !9
  %2045 = load i32, ptr %24, align 4, !tbaa !9
  %2046 = icmp ule i32 %2044, %2045
  %2047 = zext i1 %2046 to i32
  store i32 %2047, ptr %23, align 4, !tbaa !9
  %2048 = load i32, ptr %23, align 4, !tbaa !9
  %2049 = icmp ne i32 %2048, 0
  br i1 %2049, label %2050, label %2051

2050:                                             ; preds = %2036
  br label %2104

2051:                                             ; preds = %2036
  %2052 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2052, ptr %23, align 4, !tbaa !9
  %2053 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2053, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %2054 = load i32, ptr %25, align 4, !tbaa !9
  %2055 = and i32 %2054, 31
  %2056 = load i32, ptr %24, align 4, !tbaa !9
  %2057 = shl i32 %2056, %2055
  store i32 %2057, ptr %24, align 4, !tbaa !9
  %2058 = load i32, ptr %24, align 4, !tbaa !9
  %2059 = load i32, ptr %23, align 4, !tbaa !9
  %2060 = add i32 %2059, %2058
  store i32 %2060, ptr %23, align 4, !tbaa !9
  %2061 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2061, ptr %7, align 4, !tbaa !9
  br label %2062

2062:                                             ; preds = %2102, %2051
  %2063 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2063, ptr %23, align 4, !tbaa !9
  store i64 -12884901892, ptr %43, align 8, !tbaa !11
  %2064 = load ptr, ptr %3, align 8, !tbaa !5
  %2065 = getelementptr inbounds %struct.w2c_hermes, ptr %2064, i32 0, i32 6
  %2066 = load i32, ptr %23, align 4, !tbaa !9
  %2067 = zext i32 %2066 to i64
  %2068 = add i64 %2067, 24
  %2069 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2065, i64 noundef %2068, i64 noundef %2069)
  %2070 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2070, ptr %23, align 4, !tbaa !9
  store i64 -12884901892, ptr %43, align 8, !tbaa !11
  %2071 = load ptr, ptr %3, align 8, !tbaa !5
  %2072 = getelementptr inbounds %struct.w2c_hermes, ptr %2071, i32 0, i32 6
  %2073 = load i32, ptr %23, align 4, !tbaa !9
  %2074 = zext i32 %2073 to i64
  %2075 = add i64 %2074, 16
  %2076 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2072, i64 noundef %2075, i64 noundef %2076)
  %2077 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2077, ptr %23, align 4, !tbaa !9
  store i64 -12884901892, ptr %43, align 8, !tbaa !11
  %2078 = load ptr, ptr %3, align 8, !tbaa !5
  %2079 = getelementptr inbounds %struct.w2c_hermes, ptr %2078, i32 0, i32 6
  %2080 = load i32, ptr %23, align 4, !tbaa !9
  %2081 = zext i32 %2080 to i64
  %2082 = add i64 %2081, 8
  %2083 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2079, i64 noundef %2082, i64 noundef %2083)
  %2084 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2084, ptr %23, align 4, !tbaa !9
  store i64 -12884901892, ptr %43, align 8, !tbaa !11
  %2085 = load ptr, ptr %3, align 8, !tbaa !5
  %2086 = getelementptr inbounds %struct.w2c_hermes, ptr %2085, i32 0, i32 6
  %2087 = load i32, ptr %23, align 4, !tbaa !9
  %2088 = zext i32 %2087 to i64
  %2089 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2086, i64 noundef %2088, i64 noundef %2089)
  %2090 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2090, ptr %23, align 4, !tbaa !9
  store i32 32, ptr %24, align 4, !tbaa !9
  %2091 = load i32, ptr %24, align 4, !tbaa !9
  %2092 = load i32, ptr %23, align 4, !tbaa !9
  %2093 = add i32 %2092, %2091
  store i32 %2093, ptr %23, align 4, !tbaa !9
  %2094 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2094, ptr %5, align 4, !tbaa !9
  %2095 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2095, ptr %24, align 4, !tbaa !9
  %2096 = load i32, ptr %23, align 4, !tbaa !9
  %2097 = load i32, ptr %24, align 4, !tbaa !9
  %2098 = icmp ne i32 %2096, %2097
  %2099 = zext i1 %2098 to i32
  store i32 %2099, ptr %23, align 4, !tbaa !9
  %2100 = load i32, ptr %23, align 4, !tbaa !9
  %2101 = icmp ne i32 %2100, 0
  br i1 %2101, label %2102, label %2103

2102:                                             ; preds = %2062
  br label %2062

2103:                                             ; preds = %2062
  br label %2104

2104:                                             ; preds = %2103, %2050, %1991
  %2105 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %2105, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %2106 = load ptr, ptr %3, align 8, !tbaa !5
  %2107 = getelementptr inbounds %struct.w2c_hermes, ptr %2106, i32 0, i32 6
  %2108 = load i32, ptr %23, align 4, !tbaa !9
  %2109 = zext i32 %2108 to i64
  %2110 = add i64 %2109, 124
  %2111 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2107, i64 noundef %2110, i64 noundef %2111)
  br label %2112

2112:                                             ; preds = %2104, %1979, %1948
  %2113 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %2113, ptr %23, align 4, !tbaa !9
  %2114 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %2114, ptr %24, align 4, !tbaa !9
  %2115 = load ptr, ptr %3, align 8, !tbaa !5
  %2116 = getelementptr inbounds %struct.w2c_hermes, ptr %2115, i32 0, i32 6
  %2117 = load i32, ptr %24, align 4, !tbaa !9
  %2118 = zext i32 %2117 to i64
  %2119 = add i64 %2118, 136
  %2120 = call i32 @i32_load(ptr noundef %2116, i64 noundef %2119)
  store i32 %2120, ptr %24, align 4, !tbaa !9
  %2121 = load ptr, ptr %3, align 8, !tbaa !5
  %2122 = getelementptr inbounds %struct.w2c_hermes, ptr %2121, i32 0, i32 6
  %2123 = load i32, ptr %23, align 4, !tbaa !9
  %2124 = zext i32 %2123 to i64
  %2125 = add i64 %2124, 140
  %2126 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2122, i64 noundef %2125, i32 noundef %2126)
  %2127 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2127, ptr %23, align 4, !tbaa !9
  %2128 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2128, ptr %24, align 4, !tbaa !9
  %2129 = load ptr, ptr %3, align 8, !tbaa !5
  %2130 = load i32, ptr %23, align 4, !tbaa !9
  %2131 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3ApatchDebugSourceLocations0x28llvh0x3A0x3ADenseMap0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cunsigned0x20int0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x20const0x260x29(ptr noundef %2129, i32 noundef %2130, i32 noundef %2131)
  %2132 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2132, ptr %23, align 4, !tbaa !9
  %2133 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2133, ptr %24, align 4, !tbaa !9
  %2134 = load ptr, ptr %3, align 8, !tbaa !5
  %2135 = getelementptr inbounds %struct.w2c_hermes, ptr %2134, i32 0, i32 6
  %2136 = load i32, ptr %24, align 4, !tbaa !9
  %2137 = zext i32 %2136 to i64
  %2138 = add i64 %2137, 68
  %2139 = call i32 @i32_load(ptr noundef %2135, i64 noundef %2138)
  store i32 %2139, ptr %24, align 4, !tbaa !9
  %2140 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2140, ptr %5, align 4, !tbaa !9
  %2141 = load ptr, ptr %3, align 8, !tbaa !5
  %2142 = getelementptr inbounds %struct.w2c_hermes, ptr %2141, i32 0, i32 6
  %2143 = load i32, ptr %23, align 4, !tbaa !9
  %2144 = zext i32 %2143 to i64
  %2145 = add i64 %2144, 132
  %2146 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2142, i64 noundef %2145, i32 noundef %2146)
  %2147 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2147, ptr %23, align 4, !tbaa !9
  %2148 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2148, ptr %24, align 4, !tbaa !9
  %2149 = load ptr, ptr %3, align 8, !tbaa !5
  %2150 = getelementptr inbounds %struct.w2c_hermes, ptr %2149, i32 0, i32 6
  %2151 = load i32, ptr %24, align 4, !tbaa !9
  %2152 = zext i32 %2151 to i64
  %2153 = add i64 %2152, 72
  %2154 = call i32 @i32_load(ptr noundef %2150, i64 noundef %2153)
  store i32 %2154, ptr %24, align 4, !tbaa !9
  %2155 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2155, ptr %25, align 4, !tbaa !9
  %2156 = load i32, ptr %25, align 4, !tbaa !9
  %2157 = load i32, ptr %24, align 4, !tbaa !9
  %2158 = sub i32 %2157, %2156
  store i32 %2158, ptr %24, align 4, !tbaa !9
  store i32 5, ptr %25, align 4, !tbaa !9
  %2159 = load i32, ptr %24, align 4, !tbaa !9
  %2160 = load i32, ptr %25, align 4, !tbaa !9
  %2161 = and i32 %2160, 31
  %2162 = ashr i32 %2159, %2161
  store i32 %2162, ptr %24, align 4, !tbaa !9
  %2163 = load ptr, ptr %3, align 8, !tbaa !5
  %2164 = getelementptr inbounds %struct.w2c_hermes, ptr %2163, i32 0, i32 6
  %2165 = load i32, ptr %23, align 4, !tbaa !9
  %2166 = zext i32 %2165 to i64
  %2167 = add i64 %2166, 136
  %2168 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2164, i64 noundef %2167, i32 noundef %2168)
  %2169 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2169, ptr %23, align 4, !tbaa !9
  %2170 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2170, ptr %24, align 4, !tbaa !9
  %2171 = load ptr, ptr %3, align 8, !tbaa !5
  %2172 = getelementptr inbounds %struct.w2c_hermes, ptr %2171, i32 0, i32 6
  %2173 = load i32, ptr %24, align 4, !tbaa !9
  %2174 = zext i32 %2173 to i64
  %2175 = add i64 %2174, 132
  %2176 = call i64 @i64_load(ptr noundef %2172, i64 noundef %2175)
  store i64 %2176, ptr %43, align 8, !tbaa !11
  %2177 = load ptr, ptr %3, align 8, !tbaa !5
  %2178 = getelementptr inbounds %struct.w2c_hermes, ptr %2177, i32 0, i32 6
  %2179 = load i32, ptr %23, align 4, !tbaa !9
  %2180 = zext i32 %2179 to i64
  %2181 = add i64 %2180, 16
  %2182 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2178, i64 noundef %2181, i64 noundef %2182)
  %2183 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2183, ptr %23, align 4, !tbaa !9
  %2184 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2184, ptr %24, align 4, !tbaa !9
  store i32 36, ptr %25, align 4, !tbaa !9
  %2185 = load i32, ptr %25, align 4, !tbaa !9
  %2186 = load i32, ptr %24, align 4, !tbaa !9
  %2187 = add i32 %2186, %2185
  store i32 %2187, ptr %24, align 4, !tbaa !9
  %2188 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2188, ptr %25, align 4, !tbaa !9
  %2189 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2189, ptr %26, align 4, !tbaa !9
  store i32 16, ptr %27, align 4, !tbaa !9
  %2190 = load i32, ptr %27, align 4, !tbaa !9
  %2191 = load i32, ptr %26, align 4, !tbaa !9
  %2192 = add i32 %2191, %2190
  store i32 %2192, ptr %26, align 4, !tbaa !9
  %2193 = load ptr, ptr %3, align 8, !tbaa !5
  %2194 = load i32, ptr %23, align 4, !tbaa !9
  %2195 = load i32, ptr %24, align 4, !tbaa !9
  %2196 = load i32, ptr %25, align 4, !tbaa !9
  %2197 = load i32, ptr %26, align 4, !tbaa !9
  %2198 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AappendSourceLocations0x28hermes0x3A0x3Ahbc0x3A0x3ADebugSourceLocation0x20const0x260x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Ahbc0x3A0x3ADebugSourceLocation0x3E0x29(ptr noundef %2193, i32 noundef %2194, i32 noundef %2195, i32 noundef %2196, i32 noundef %2197)
  store i32 %2198, ptr %23, align 4, !tbaa !9
  %2199 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2199, ptr %7, align 4, !tbaa !9
  %2200 = load i32, ptr %4, align 4, !tbaa !9
  store i32 %2200, ptr %23, align 4, !tbaa !9
  %2201 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2201, ptr %24, align 4, !tbaa !9
  %2202 = load ptr, ptr %3, align 8, !tbaa !5
  %2203 = getelementptr inbounds %struct.w2c_hermes, ptr %2202, i32 0, i32 6
  %2204 = load i32, ptr %24, align 4, !tbaa !9
  %2205 = zext i32 %2204 to i64
  %2206 = add i64 %2205, 300
  %2207 = call i32 @i32_load(ptr noundef %2203, i64 noundef %2206)
  store i32 %2207, ptr %24, align 4, !tbaa !9
  %2208 = load ptr, ptr %3, align 8, !tbaa !5
  %2209 = load i32, ptr %24, align 4, !tbaa !9
  %2210 = call i32 @w2c_hermes_hermes0x3A0x3AFunction0x3A0x3AgetContext0x280x290x20const(ptr noundef %2208, i32 noundef %2209)
  store i32 %2210, ptr %24, align 4, !tbaa !9
  store i32 36, ptr %25, align 4, !tbaa !9
  %2211 = load i32, ptr %25, align 4, !tbaa !9
  %2212 = load i32, ptr %24, align 4, !tbaa !9
  %2213 = add i32 %2212, %2211
  store i32 %2213, ptr %24, align 4, !tbaa !9
  %2214 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2214, ptr %25, align 4, !tbaa !9
  %2215 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2215, ptr %26, align 4, !tbaa !9
  %2216 = load ptr, ptr %3, align 8, !tbaa !5
  %2217 = getelementptr inbounds %struct.w2c_hermes, ptr %2216, i32 0, i32 6
  %2218 = load i32, ptr %26, align 4, !tbaa !9
  %2219 = zext i32 %2218 to i64
  %2220 = add i64 %2219, 300
  %2221 = call i32 @i32_load(ptr noundef %2217, i64 noundef %2220)
  store i32 %2221, ptr %26, align 4, !tbaa !9
  %2222 = load ptr, ptr %3, align 8, !tbaa !5
  %2223 = getelementptr inbounds %struct.w2c_hermes, ptr %2222, i32 0, i32 6
  %2224 = load i32, ptr %26, align 4, !tbaa !9
  %2225 = zext i32 %2224 to i64
  %2226 = add i64 %2225, 44
  %2227 = call i32 @i32_load(ptr noundef %2223, i64 noundef %2226)
  store i32 %2227, ptr %26, align 4, !tbaa !9
  %2228 = load ptr, ptr %3, align 8, !tbaa !5
  %2229 = load i32, ptr %23, align 4, !tbaa !9
  %2230 = load i32, ptr %24, align 4, !tbaa !9
  %2231 = load i32, ptr %25, align 4, !tbaa !9
  %2232 = load i32, ptr %26, align 4, !tbaa !9
  %2233 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3AserializeScopeChain0x28hermes0x3A0x3AStringTable0x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x260x2C0x20hermes0x3A0x3AScopeDesc0x2A0x29(ptr noundef %2228, i32 noundef %2229, i32 noundef %2230, i32 noundef %2231, i32 noundef %2232)
  store i32 %2233, ptr %23, align 4, !tbaa !9
  %2234 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2234, ptr %8, align 4, !tbaa !9
  %2235 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2235, ptr %23, align 4, !tbaa !9
  %2236 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2236, ptr %24, align 4, !tbaa !9
  %2237 = load ptr, ptr %3, align 8, !tbaa !5
  %2238 = getelementptr inbounds %struct.w2c_hermes, ptr %2237, i32 0, i32 6
  %2239 = load i32, ptr %24, align 4, !tbaa !9
  %2240 = zext i32 %2239 to i64
  %2241 = add i64 %2240, 80
  %2242 = call i32 @i32_load(ptr noundef %2238, i64 noundef %2241)
  store i32 %2242, ptr %24, align 4, !tbaa !9
  %2243 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2243, ptr %5, align 4, !tbaa !9
  %2244 = load ptr, ptr %3, align 8, !tbaa !5
  %2245 = getelementptr inbounds %struct.w2c_hermes, ptr %2244, i32 0, i32 6
  %2246 = load i32, ptr %23, align 4, !tbaa !9
  %2247 = zext i32 %2246 to i64
  %2248 = add i64 %2247, 124
  %2249 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2245, i64 noundef %2248, i32 noundef %2249)
  %2250 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2250, ptr %23, align 4, !tbaa !9
  %2251 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2251, ptr %24, align 4, !tbaa !9
  %2252 = load ptr, ptr %3, align 8, !tbaa !5
  %2253 = getelementptr inbounds %struct.w2c_hermes, ptr %2252, i32 0, i32 6
  %2254 = load i32, ptr %24, align 4, !tbaa !9
  %2255 = zext i32 %2254 to i64
  %2256 = add i64 %2255, 84
  %2257 = call i32 @i32_load(ptr noundef %2253, i64 noundef %2256)
  store i32 %2257, ptr %24, align 4, !tbaa !9
  %2258 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2258, ptr %25, align 4, !tbaa !9
  %2259 = load i32, ptr %25, align 4, !tbaa !9
  %2260 = load i32, ptr %24, align 4, !tbaa !9
  %2261 = sub i32 %2260, %2259
  store i32 %2261, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %25, align 4, !tbaa !9
  %2262 = load i32, ptr %24, align 4, !tbaa !9
  %2263 = load i32, ptr %25, align 4, !tbaa !9
  %2264 = and i32 %2263, 31
  %2265 = ashr i32 %2262, %2264
  store i32 %2265, ptr %24, align 4, !tbaa !9
  %2266 = load ptr, ptr %3, align 8, !tbaa !5
  %2267 = getelementptr inbounds %struct.w2c_hermes, ptr %2266, i32 0, i32 6
  %2268 = load i32, ptr %23, align 4, !tbaa !9
  %2269 = zext i32 %2268 to i64
  %2270 = add i64 %2269, 128
  %2271 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2267, i64 noundef %2270, i32 noundef %2271)
  %2272 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2272, ptr %23, align 4, !tbaa !9
  %2273 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2273, ptr %24, align 4, !tbaa !9
  %2274 = load ptr, ptr %3, align 8, !tbaa !5
  %2275 = getelementptr inbounds %struct.w2c_hermes, ptr %2274, i32 0, i32 6
  %2276 = load i32, ptr %24, align 4, !tbaa !9
  %2277 = zext i32 %2276 to i64
  %2278 = add i64 %2277, 124
  %2279 = call i64 @i64_load(ptr noundef %2275, i64 noundef %2278)
  store i64 %2279, ptr %43, align 8, !tbaa !11
  %2280 = load ptr, ptr %3, align 8, !tbaa !5
  %2281 = getelementptr inbounds %struct.w2c_hermes, ptr %2280, i32 0, i32 6
  %2282 = load i32, ptr %23, align 4, !tbaa !9
  %2283 = zext i32 %2282 to i64
  %2284 = add i64 %2283, 8
  %2285 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2281, i64 noundef %2284, i64 noundef %2285)
  %2286 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2286, ptr %23, align 4, !tbaa !9
  %2287 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2287, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %2288 = load i32, ptr %25, align 4, !tbaa !9
  %2289 = load i32, ptr %24, align 4, !tbaa !9
  %2290 = add i32 %2289, %2288
  store i32 %2290, ptr %24, align 4, !tbaa !9
  %2291 = load ptr, ptr %3, align 8, !tbaa !5
  %2292 = load i32, ptr %23, align 4, !tbaa !9
  %2293 = load i32, ptr %24, align 4, !tbaa !9
  %2294 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AappendTextifiedCalleeData0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Ahbc0x3A0x3ADebugTextifiedCallee0x3E0x29(ptr noundef %2291, i32 noundef %2292, i32 noundef %2293)
  store i32 %2294, ptr %23, align 4, !tbaa !9
  %2295 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2295, ptr %11, align 4, !tbaa !9
  %2296 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2296, ptr %23, align 4, !tbaa !9
  %2297 = load ptr, ptr %3, align 8, !tbaa !5
  %2298 = getelementptr inbounds %struct.w2c_hermes, ptr %2297, i32 0, i32 6
  %2299 = load i32, ptr %23, align 4, !tbaa !9
  %2300 = zext i32 %2299 to i64
  %2301 = add i64 %2300, 312
  %2302 = call i32 @i32_load(ptr noundef %2298, i64 noundef %2301)
  store i32 %2302, ptr %23, align 4, !tbaa !9
  %2303 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2303, ptr %5, align 4, !tbaa !9
  %2304 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2304, ptr %24, align 4, !tbaa !9
  %2305 = load ptr, ptr %3, align 8, !tbaa !5
  %2306 = getelementptr inbounds %struct.w2c_hermes, ptr %2305, i32 0, i32 6
  %2307 = load i32, ptr %23, align 4, !tbaa !9
  %2308 = zext i32 %2307 to i64
  %2309 = add i64 %2308, 44
  %2310 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2306, i64 noundef %2309, i32 noundef %2310)
  %2311 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2311, ptr %23, align 4, !tbaa !9
  %2312 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2312, ptr %24, align 4, !tbaa !9
  %2313 = load ptr, ptr %3, align 8, !tbaa !5
  %2314 = getelementptr inbounds %struct.w2c_hermes, ptr %2313, i32 0, i32 6
  %2315 = load i32, ptr %23, align 4, !tbaa !9
  %2316 = zext i32 %2315 to i64
  %2317 = add i64 %2316, 52
  %2318 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2314, i64 noundef %2317, i32 noundef %2318)
  %2319 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2319, ptr %23, align 4, !tbaa !9
  %2320 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2320, ptr %24, align 4, !tbaa !9
  %2321 = load ptr, ptr %3, align 8, !tbaa !5
  %2322 = getelementptr inbounds %struct.w2c_hermes, ptr %2321, i32 0, i32 6
  %2323 = load i32, ptr %23, align 4, !tbaa !9
  %2324 = zext i32 %2323 to i64
  %2325 = add i64 %2324, 48
  %2326 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2322, i64 noundef %2325, i32 noundef %2326)
  %2327 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2327, ptr %23, align 4, !tbaa !9
  store i32 42, ptr %24, align 4, !tbaa !9
  %2328 = load i32, ptr %24, align 4, !tbaa !9
  %2329 = load i32, ptr %23, align 4, !tbaa !9
  %2330 = add i32 %2329, %2328
  store i32 %2330, ptr %23, align 4, !tbaa !9
  %2331 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2331, ptr %11, align 4, !tbaa !9
  %2332 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2332, ptr %24, align 4, !tbaa !9
  %2333 = load ptr, ptr %3, align 8, !tbaa !5
  %2334 = getelementptr inbounds %struct.w2c_hermes, ptr %2333, i32 0, i32 6
  %2335 = load i32, ptr %24, align 4, !tbaa !9
  %2336 = zext i32 %2335 to i64
  %2337 = call i32 @i32_load8_u(ptr noundef %2334, i64 noundef %2336)
  store i32 %2337, ptr %24, align 4, !tbaa !9
  store i32 239, ptr %25, align 4, !tbaa !9
  %2338 = load i32, ptr %25, align 4, !tbaa !9
  %2339 = load i32, ptr %24, align 4, !tbaa !9
  %2340 = and i32 %2339, %2338
  store i32 %2340, ptr %24, align 4, !tbaa !9
  %2341 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2341, ptr %25, align 4, !tbaa !9
  %2342 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2342, ptr %26, align 4, !tbaa !9
  %2343 = load i32, ptr %26, align 4, !tbaa !9
  %2344 = load i32, ptr %25, align 4, !tbaa !9
  %2345 = and i32 %2344, %2343
  store i32 %2345, ptr %25, align 4, !tbaa !9
  store i32 -1, ptr %26, align 4, !tbaa !9
  %2346 = load i32, ptr %25, align 4, !tbaa !9
  %2347 = load i32, ptr %26, align 4, !tbaa !9
  %2348 = icmp ne i32 %2346, %2347
  %2349 = zext i1 %2348 to i32
  store i32 %2349, ptr %25, align 4, !tbaa !9
  store i32 4, ptr %26, align 4, !tbaa !9
  %2350 = load i32, ptr %26, align 4, !tbaa !9
  %2351 = and i32 %2350, 31
  %2352 = load i32, ptr %25, align 4, !tbaa !9
  %2353 = shl i32 %2352, %2351
  store i32 %2353, ptr %25, align 4, !tbaa !9
  %2354 = load i32, ptr %25, align 4, !tbaa !9
  %2355 = load i32, ptr %24, align 4, !tbaa !9
  %2356 = or i32 %2355, %2354
  store i32 %2356, ptr %24, align 4, !tbaa !9
  %2357 = load ptr, ptr %3, align 8, !tbaa !5
  %2358 = getelementptr inbounds %struct.w2c_hermes, ptr %2357, i32 0, i32 6
  %2359 = load i32, ptr %23, align 4, !tbaa !9
  %2360 = zext i32 %2359 to i64
  %2361 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2358, i64 noundef %2360, i32 noundef %2361)
  br label %2380

2362:                                             ; preds = %1881
  store i32 0, ptr %23, align 4, !tbaa !9
  %2363 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2363, ptr %5, align 4, !tbaa !9
  store i32 205507, ptr %24, align 4, !tbaa !9
  %2364 = load i32, ptr %24, align 4, !tbaa !9
  %2365 = load i32, ptr %23, align 4, !tbaa !9
  %2366 = add i32 %2365, %2364
  store i32 %2366, ptr %23, align 4, !tbaa !9
  %2367 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2367, ptr %24, align 4, !tbaa !9
  store i32 79414, ptr %25, align 4, !tbaa !9
  %2368 = load i32, ptr %25, align 4, !tbaa !9
  %2369 = load i32, ptr %24, align 4, !tbaa !9
  %2370 = add i32 %2369, %2368
  store i32 %2370, ptr %24, align 4, !tbaa !9
  store i32 136, ptr %25, align 4, !tbaa !9
  %2371 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2371, ptr %26, align 4, !tbaa !9
  store i32 108367, ptr %27, align 4, !tbaa !9
  %2372 = load i32, ptr %27, align 4, !tbaa !9
  %2373 = load i32, ptr %26, align 4, !tbaa !9
  %2374 = add i32 %2373, %2372
  store i32 %2374, ptr %26, align 4, !tbaa !9
  %2375 = load ptr, ptr %3, align 8, !tbaa !5
  %2376 = load i32, ptr %23, align 4, !tbaa !9
  %2377 = load i32, ptr %24, align 4, !tbaa !9
  %2378 = load i32, ptr %25, align 4, !tbaa !9
  %2379 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2375, i32 noundef %2376, i32 noundef %2377, i32 noundef %2378, i32 noundef %2379)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2380:                                             ; preds = %2112, %1782
  %2381 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2381, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2382 = load ptr, ptr %3, align 8, !tbaa !5
  %2383 = getelementptr inbounds %struct.w2c_hermes, ptr %2382, i32 0, i32 6
  %2384 = load i32, ptr %23, align 4, !tbaa !9
  %2385 = zext i32 %2384 to i64
  %2386 = add i64 %2385, 312
  %2387 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2383, i64 noundef %2386, i32 noundef %2387)
  %2388 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2388, ptr %23, align 4, !tbaa !9
  %2389 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2389, ptr %24, align 4, !tbaa !9
  %2390 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2390, ptr %25, align 4, !tbaa !9
  %2391 = load ptr, ptr %3, align 8, !tbaa !5
  %2392 = load i32, ptr %23, align 4, !tbaa !9
  %2393 = load i32, ptr %24, align 4, !tbaa !9
  %2394 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3AsetFunction0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x3E0x3E0x29(ptr noundef %2391, i32 noundef %2392, i32 noundef %2393, i32 noundef %2394)
  %2395 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2395, ptr %23, align 4, !tbaa !9
  %2396 = load ptr, ptr %3, align 8, !tbaa !5
  %2397 = getelementptr inbounds %struct.w2c_hermes, ptr %2396, i32 0, i32 6
  %2398 = load i32, ptr %23, align 4, !tbaa !9
  %2399 = zext i32 %2398 to i64
  %2400 = add i64 %2399, 312
  %2401 = call i32 @i32_load(ptr noundef %2397, i64 noundef %2400)
  store i32 %2401, ptr %23, align 4, !tbaa !9
  %2402 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2402, ptr %5, align 4, !tbaa !9
  %2403 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2403, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %2404 = load ptr, ptr %3, align 8, !tbaa !5
  %2405 = getelementptr inbounds %struct.w2c_hermes, ptr %2404, i32 0, i32 6
  %2406 = load i32, ptr %23, align 4, !tbaa !9
  %2407 = zext i32 %2406 to i64
  %2408 = add i64 %2407, 312
  %2409 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2405, i64 noundef %2408, i32 noundef %2409)
  %2410 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2410, ptr %23, align 4, !tbaa !9
  %2411 = load i32, ptr %23, align 4, !tbaa !9
  %2412 = icmp ne i32 %2411, 0
  br i1 %2412, label %2413, label %2422

2413:                                             ; preds = %2380
  %2414 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2414, ptr %23, align 4, !tbaa !9
  store i32 312, ptr %24, align 4, !tbaa !9
  %2415 = load i32, ptr %24, align 4, !tbaa !9
  %2416 = load i32, ptr %23, align 4, !tbaa !9
  %2417 = add i32 %2416, %2415
  store i32 %2417, ptr %23, align 4, !tbaa !9
  %2418 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2418, ptr %24, align 4, !tbaa !9
  %2419 = load ptr, ptr %3, align 8, !tbaa !5
  %2420 = load i32, ptr %23, align 4, !tbaa !9
  %2421 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x3E0x3A0x3Aoperator0x280x290x5Babi0x3Av150070x5D0x28hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x2A0x290x20const(ptr noundef %2419, i32 noundef %2420, i32 noundef %2421)
  br label %2422

2422:                                             ; preds = %2413, %2380
  %2423 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2423, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %2424 = load i32, ptr %24, align 4, !tbaa !9
  %2425 = load i32, ptr %23, align 4, !tbaa !9
  %2426 = add i32 %2425, %2424
  store i32 %2426, ptr %23, align 4, !tbaa !9
  %2427 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2427, ptr %12, align 4, !tbaa !9
  %2428 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2428, ptr %24, align 4, !tbaa !9
  %2429 = load i32, ptr %23, align 4, !tbaa !9
  %2430 = load i32, ptr %24, align 4, !tbaa !9
  %2431 = icmp ne i32 %2429, %2430
  %2432 = zext i1 %2431 to i32
  store i32 %2432, ptr %23, align 4, !tbaa !9
  %2433 = load i32, ptr %23, align 4, !tbaa !9
  %2434 = icmp ne i32 %2433, 0
  br i1 %2434, label %2435, label %2436

2435:                                             ; preds = %2422
  br label %729

2436:                                             ; preds = %2422
  br label %2507

2437:                                             ; preds = %157
  store i32 0, ptr %23, align 4, !tbaa !9
  %2438 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2438, ptr %5, align 4, !tbaa !9
  store i32 176409, ptr %24, align 4, !tbaa !9
  %2439 = load i32, ptr %24, align 4, !tbaa !9
  %2440 = load i32, ptr %23, align 4, !tbaa !9
  %2441 = add i32 %2440, %2439
  store i32 %2441, ptr %23, align 4, !tbaa !9
  %2442 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2442, ptr %24, align 4, !tbaa !9
  store i32 85237, ptr %25, align 4, !tbaa !9
  %2443 = load i32, ptr %25, align 4, !tbaa !9
  %2444 = load i32, ptr %24, align 4, !tbaa !9
  %2445 = add i32 %2444, %2443
  store i32 %2445, ptr %24, align 4, !tbaa !9
  store i32 67, ptr %25, align 4, !tbaa !9
  %2446 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2446, ptr %26, align 4, !tbaa !9
  store i32 103502, ptr %27, align 4, !tbaa !9
  %2447 = load i32, ptr %27, align 4, !tbaa !9
  %2448 = load i32, ptr %26, align 4, !tbaa !9
  %2449 = add i32 %2448, %2447
  store i32 %2449, ptr %26, align 4, !tbaa !9
  %2450 = load ptr, ptr %3, align 8, !tbaa !5
  %2451 = load i32, ptr %23, align 4, !tbaa !9
  %2452 = load i32, ptr %24, align 4, !tbaa !9
  %2453 = load i32, ptr %25, align 4, !tbaa !9
  %2454 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2450, i32 noundef %2451, i32 noundef %2452, i32 noundef %2453, i32 noundef %2454)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2455:                                             ; preds = %91
  store i32 0, ptr %23, align 4, !tbaa !9
  %2456 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2456, ptr %5, align 4, !tbaa !9
  store i32 176361, ptr %24, align 4, !tbaa !9
  %2457 = load i32, ptr %24, align 4, !tbaa !9
  %2458 = load i32, ptr %23, align 4, !tbaa !9
  %2459 = add i32 %2458, %2457
  store i32 %2459, ptr %23, align 4, !tbaa !9
  %2460 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2460, ptr %24, align 4, !tbaa !9
  store i32 85237, ptr %25, align 4, !tbaa !9
  %2461 = load i32, ptr %25, align 4, !tbaa !9
  %2462 = load i32, ptr %24, align 4, !tbaa !9
  %2463 = add i32 %2462, %2461
  store i32 %2463, ptr %24, align 4, !tbaa !9
  store i32 64, ptr %25, align 4, !tbaa !9
  %2464 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2464, ptr %26, align 4, !tbaa !9
  store i32 103485, ptr %27, align 4, !tbaa !9
  %2465 = load i32, ptr %27, align 4, !tbaa !9
  %2466 = load i32, ptr %26, align 4, !tbaa !9
  %2467 = add i32 %2466, %2465
  store i32 %2467, ptr %26, align 4, !tbaa !9
  %2468 = load ptr, ptr %3, align 8, !tbaa !5
  %2469 = load i32, ptr %23, align 4, !tbaa !9
  %2470 = load i32, ptr %24, align 4, !tbaa !9
  %2471 = load i32, ptr %25, align 4, !tbaa !9
  %2472 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2468, i32 noundef %2469, i32 noundef %2470, i32 noundef %2471, i32 noundef %2472)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2473:                                             ; preds = %63
  store i32 0, ptr %23, align 4, !tbaa !9
  store i32 191855, ptr %24, align 4, !tbaa !9
  %2474 = load i32, ptr %24, align 4, !tbaa !9
  %2475 = load i32, ptr %23, align 4, !tbaa !9
  %2476 = add i32 %2475, %2474
  store i32 %2476, ptr %23, align 4, !tbaa !9
  %2477 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2477, ptr %24, align 4, !tbaa !9
  store i32 56554, ptr %25, align 4, !tbaa !9
  %2478 = load i32, ptr %25, align 4, !tbaa !9
  %2479 = load i32, ptr %24, align 4, !tbaa !9
  %2480 = add i32 %2479, %2478
  store i32 %2480, ptr %24, align 4, !tbaa !9
  store i32 384, ptr %25, align 4, !tbaa !9
  %2481 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2481, ptr %26, align 4, !tbaa !9
  store i32 91294, ptr %27, align 4, !tbaa !9
  %2482 = load i32, ptr %27, align 4, !tbaa !9
  %2483 = load i32, ptr %26, align 4, !tbaa !9
  %2484 = add i32 %2483, %2482
  store i32 %2484, ptr %26, align 4, !tbaa !9
  %2485 = load ptr, ptr %3, align 8, !tbaa !5
  %2486 = load i32, ptr %23, align 4, !tbaa !9
  %2487 = load i32, ptr %24, align 4, !tbaa !9
  %2488 = load i32, ptr %25, align 4, !tbaa !9
  %2489 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2485, i32 noundef %2486, i32 noundef %2487, i32 noundef %2488, i32 noundef %2489)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2490:                                             ; preds = %2
  store i32 0, ptr %23, align 4, !tbaa !9
  store i32 173095, ptr %24, align 4, !tbaa !9
  %2491 = load i32, ptr %24, align 4, !tbaa !9
  %2492 = load i32, ptr %23, align 4, !tbaa !9
  %2493 = add i32 %2492, %2491
  store i32 %2493, ptr %23, align 4, !tbaa !9
  %2494 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2494, ptr %24, align 4, !tbaa !9
  store i32 56554, ptr %25, align 4, !tbaa !9
  %2495 = load i32, ptr %25, align 4, !tbaa !9
  %2496 = load i32, ptr %24, align 4, !tbaa !9
  %2497 = add i32 %2496, %2495
  store i32 %2497, ptr %24, align 4, !tbaa !9
  store i32 379, ptr %25, align 4, !tbaa !9
  %2498 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2498, ptr %26, align 4, !tbaa !9
  store i32 91294, ptr %27, align 4, !tbaa !9
  %2499 = load i32, ptr %27, align 4, !tbaa !9
  %2500 = load i32, ptr %26, align 4, !tbaa !9
  %2501 = add i32 %2500, %2499
  store i32 %2501, ptr %26, align 4, !tbaa !9
  %2502 = load ptr, ptr %3, align 8, !tbaa !5
  %2503 = load i32, ptr %23, align 4, !tbaa !9
  %2504 = load i32, ptr %24, align 4, !tbaa !9
  %2505 = load i32, ptr %25, align 4, !tbaa !9
  %2506 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2502, i32 noundef %2503, i32 noundef %2504, i32 noundef %2505, i32 noundef %2506)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2507:                                             ; preds = %2436, %703
  %2508 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2508, ptr %23, align 4, !tbaa !9
  store i32 44, ptr %24, align 4, !tbaa !9
  %2509 = load i32, ptr %24, align 4, !tbaa !9
  %2510 = load i32, ptr %23, align 4, !tbaa !9
  %2511 = add i32 %2510, %2509
  store i32 %2511, ptr %23, align 4, !tbaa !9
  %2512 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2512, ptr %24, align 4, !tbaa !9
  %2513 = load ptr, ptr %3, align 8, !tbaa !5
  %2514 = load i32, ptr %23, align 4, !tbaa !9
  %2515 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AserializeWithMove0x280x29(ptr noundef %2513, i32 noundef %2514, i32 noundef %2515)
  %2516 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2516, ptr %23, align 4, !tbaa !9
  store i32 112, ptr %24, align 4, !tbaa !9
  %2517 = load i32, ptr %24, align 4, !tbaa !9
  %2518 = load i32, ptr %23, align 4, !tbaa !9
  %2519 = add i32 %2518, %2517
  store i32 %2519, ptr %23, align 4, !tbaa !9
  %2520 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2520, ptr %24, align 4, !tbaa !9
  store i32 44, ptr %25, align 4, !tbaa !9
  %2521 = load i32, ptr %25, align 4, !tbaa !9
  %2522 = load i32, ptr %24, align 4, !tbaa !9
  %2523 = add i32 %2522, %2521
  store i32 %2523, ptr %24, align 4, !tbaa !9
  %2524 = load ptr, ptr %3, align 8, !tbaa !5
  %2525 = load i32, ptr %23, align 4, !tbaa !9
  %2526 = load i32, ptr %24, align 4, !tbaa !9
  %2527 = call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfo0x3A0x3Aoperator0x3D0x28hermes0x3A0x3Ahbc0x3A0x3ADebugInfo0x260x260x29(ptr noundef %2524, i32 noundef %2525, i32 noundef %2526)
  store i32 %2527, ptr %23, align 4, !tbaa !9
  %2528 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2528, ptr %23, align 4, !tbaa !9
  %2529 = load ptr, ptr %3, align 8, !tbaa !5
  %2530 = getelementptr inbounds %struct.w2c_hermes, ptr %2529, i32 0, i32 6
  %2531 = load i32, ptr %23, align 4, !tbaa !9
  %2532 = zext i32 %2531 to i64
  %2533 = add i64 %2532, 104
  %2534 = call i32 @i32_load(ptr noundef %2530, i64 noundef %2533)
  store i32 %2534, ptr %23, align 4, !tbaa !9
  %2535 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2535, ptr %5, align 4, !tbaa !9
  %2536 = load i32, ptr %23, align 4, !tbaa !9
  %2537 = icmp ne i32 %2536, 0
  br i1 %2537, label %2538, label %2550

2538:                                             ; preds = %2507
  %2539 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2539, ptr %23, align 4, !tbaa !9
  %2540 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2540, ptr %24, align 4, !tbaa !9
  %2541 = load ptr, ptr %3, align 8, !tbaa !5
  %2542 = getelementptr inbounds %struct.w2c_hermes, ptr %2541, i32 0, i32 6
  %2543 = load i32, ptr %23, align 4, !tbaa !9
  %2544 = zext i32 %2543 to i64
  %2545 = add i64 %2544, 108
  %2546 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2542, i64 noundef %2545, i32 noundef %2546)
  %2547 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2547, ptr %23, align 4, !tbaa !9
  %2548 = load ptr, ptr %3, align 8, !tbaa !5
  %2549 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2548, i32 noundef %2549)
  br label %2550

2550:                                             ; preds = %2538, %2507
  %2551 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2551, ptr %23, align 4, !tbaa !9
  %2552 = load ptr, ptr %3, align 8, !tbaa !5
  %2553 = getelementptr inbounds %struct.w2c_hermes, ptr %2552, i32 0, i32 6
  %2554 = load i32, ptr %23, align 4, !tbaa !9
  %2555 = zext i32 %2554 to i64
  %2556 = add i64 %2555, 68
  %2557 = call i32 @i32_load(ptr noundef %2553, i64 noundef %2556)
  store i32 %2557, ptr %23, align 4, !tbaa !9
  %2558 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2558, ptr %5, align 4, !tbaa !9
  %2559 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2559, ptr %24, align 4, !tbaa !9
  store i32 80, ptr %25, align 4, !tbaa !9
  %2560 = load i32, ptr %25, align 4, !tbaa !9
  %2561 = load i32, ptr %24, align 4, !tbaa !9
  %2562 = add i32 %2561, %2560
  store i32 %2562, ptr %24, align 4, !tbaa !9
  %2563 = load i32, ptr %23, align 4, !tbaa !9
  %2564 = load i32, ptr %24, align 4, !tbaa !9
  %2565 = icmp ne i32 %2563, %2564
  %2566 = zext i1 %2565 to i32
  store i32 %2566, ptr %23, align 4, !tbaa !9
  %2567 = load i32, ptr %23, align 4, !tbaa !9
  %2568 = icmp ne i32 %2567, 0
  br i1 %2568, label %2569, label %2573

2569:                                             ; preds = %2550
  %2570 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2570, ptr %23, align 4, !tbaa !9
  %2571 = load ptr, ptr %3, align 8, !tbaa !5
  %2572 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2571, i32 noundef %2572)
  br label %2573

2573:                                             ; preds = %2569, %2550
  %2574 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2574, ptr %23, align 4, !tbaa !9
  %2575 = load ptr, ptr %3, align 8, !tbaa !5
  %2576 = getelementptr inbounds %struct.w2c_hermes, ptr %2575, i32 0, i32 6
  %2577 = load i32, ptr %23, align 4, !tbaa !9
  %2578 = zext i32 %2577 to i64
  %2579 = add i64 %2578, 56
  %2580 = call i32 @i32_load(ptr noundef %2576, i64 noundef %2579)
  store i32 %2580, ptr %23, align 4, !tbaa !9
  %2581 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2581, ptr %5, align 4, !tbaa !9
  %2582 = load i32, ptr %23, align 4, !tbaa !9
  %2583 = icmp ne i32 %2582, 0
  br i1 %2583, label %2584, label %2596

2584:                                             ; preds = %2573
  %2585 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2585, ptr %23, align 4, !tbaa !9
  %2586 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2586, ptr %24, align 4, !tbaa !9
  %2587 = load ptr, ptr %3, align 8, !tbaa !5
  %2588 = getelementptr inbounds %struct.w2c_hermes, ptr %2587, i32 0, i32 6
  %2589 = load i32, ptr %23, align 4, !tbaa !9
  %2590 = zext i32 %2589 to i64
  %2591 = add i64 %2590, 60
  %2592 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2588, i64 noundef %2591, i32 noundef %2592)
  %2593 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2593, ptr %23, align 4, !tbaa !9
  %2594 = load ptr, ptr %3, align 8, !tbaa !5
  %2595 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2594, i32 noundef %2595)
  br label %2596

2596:                                             ; preds = %2584, %2573
  %2597 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2597, ptr %23, align 4, !tbaa !9
  %2598 = load ptr, ptr %3, align 8, !tbaa !5
  %2599 = getelementptr inbounds %struct.w2c_hermes, ptr %2598, i32 0, i32 6
  %2600 = load i32, ptr %23, align 4, !tbaa !9
  %2601 = zext i32 %2600 to i64
  %2602 = add i64 %2601, 44
  %2603 = call i32 @i32_load(ptr noundef %2599, i64 noundef %2602)
  store i32 %2603, ptr %23, align 4, !tbaa !9
  %2604 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2604, ptr %5, align 4, !tbaa !9
  %2605 = load i32, ptr %23, align 4, !tbaa !9
  %2606 = icmp ne i32 %2605, 0
  br i1 %2606, label %2607, label %2619

2607:                                             ; preds = %2596
  %2608 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2608, ptr %23, align 4, !tbaa !9
  %2609 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2609, ptr %24, align 4, !tbaa !9
  %2610 = load ptr, ptr %3, align 8, !tbaa !5
  %2611 = getelementptr inbounds %struct.w2c_hermes, ptr %2610, i32 0, i32 6
  %2612 = load i32, ptr %23, align 4, !tbaa !9
  %2613 = zext i32 %2612 to i64
  %2614 = add i64 %2613, 48
  %2615 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2611, i64 noundef %2614, i32 noundef %2615)
  %2616 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2616, ptr %23, align 4, !tbaa !9
  %2617 = load ptr, ptr %3, align 8, !tbaa !5
  %2618 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2617, i32 noundef %2618)
  br label %2619

2619:                                             ; preds = %2607, %2596
  %2620 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2620, ptr %23, align 4, !tbaa !9
  %2621 = load ptr, ptr %3, align 8, !tbaa !5
  %2622 = getelementptr inbounds %struct.w2c_hermes, ptr %2621, i32 0, i32 6
  %2623 = load i32, ptr %23, align 4, !tbaa !9
  %2624 = zext i32 %2623 to i64
  %2625 = add i64 %2624, 104
  %2626 = call i32 @i32_load(ptr noundef %2622, i64 noundef %2625)
  store i32 %2626, ptr %23, align 4, !tbaa !9
  %2627 = load ptr, ptr %3, align 8, !tbaa !5
  %2628 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2627, i32 noundef %2628)
  %2629 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2629, ptr %23, align 4, !tbaa !9
  %2630 = load ptr, ptr %3, align 8, !tbaa !5
  %2631 = getelementptr inbounds %struct.w2c_hermes, ptr %2630, i32 0, i32 6
  %2632 = load i32, ptr %23, align 4, !tbaa !9
  %2633 = zext i32 %2632 to i64
  %2634 = add i64 %2633, 92
  %2635 = call i32 @i32_load(ptr noundef %2631, i64 noundef %2634)
  store i32 %2635, ptr %23, align 4, !tbaa !9
  %2636 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2636, ptr %5, align 4, !tbaa !9
  %2637 = load i32, ptr %23, align 4, !tbaa !9
  %2638 = icmp ne i32 %2637, 0
  br i1 %2638, label %2639, label %2651

2639:                                             ; preds = %2619
  %2640 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2640, ptr %23, align 4, !tbaa !9
  %2641 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2641, ptr %24, align 4, !tbaa !9
  %2642 = load ptr, ptr %3, align 8, !tbaa !5
  %2643 = getelementptr inbounds %struct.w2c_hermes, ptr %2642, i32 0, i32 6
  %2644 = load i32, ptr %23, align 4, !tbaa !9
  %2645 = zext i32 %2644 to i64
  %2646 = add i64 %2645, 96
  %2647 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2643, i64 noundef %2646, i32 noundef %2647)
  %2648 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2648, ptr %23, align 4, !tbaa !9
  %2649 = load ptr, ptr %3, align 8, !tbaa !5
  %2650 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2649, i32 noundef %2650)
  br label %2651

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

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

2674:                                             ; preds = %2662, %2651
  %2675 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2675, ptr %23, align 4, !tbaa !9
  %2676 = load ptr, ptr %3, align 8, !tbaa !5
  %2677 = getelementptr inbounds %struct.w2c_hermes, ptr %2676, i32 0, i32 6
  %2678 = load i32, ptr %23, align 4, !tbaa !9
  %2679 = zext i32 %2678 to i64
  %2680 = add i64 %2679, 68
  %2681 = call i32 @i32_load(ptr noundef %2677, i64 noundef %2680)
  store i32 %2681, ptr %23, align 4, !tbaa !9
  %2682 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2682, ptr %5, align 4, !tbaa !9
  %2683 = load i32, ptr %23, align 4, !tbaa !9
  %2684 = icmp ne i32 %2683, 0
  br i1 %2684, label %2685, label %2697

2685:                                             ; preds = %2674
  %2686 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2686, ptr %23, align 4, !tbaa !9
  %2687 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2687, ptr %24, align 4, !tbaa !9
  %2688 = load ptr, ptr %3, align 8, !tbaa !5
  %2689 = getelementptr inbounds %struct.w2c_hermes, ptr %2688, i32 0, i32 6
  %2690 = load i32, ptr %23, align 4, !tbaa !9
  %2691 = zext i32 %2690 to i64
  %2692 = add i64 %2691, 72
  %2693 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2689, i64 noundef %2692, i32 noundef %2693)
  %2694 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2694, ptr %23, align 4, !tbaa !9
  %2695 = load ptr, ptr %3, align 8, !tbaa !5
  %2696 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2695, i32 noundef %2696)
  br label %2697

2697:                                             ; preds = %2685, %2674
  %2698 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2698, ptr %23, align 4, !tbaa !9
  %2699 = load ptr, ptr %3, align 8, !tbaa !5
  %2700 = getelementptr inbounds %struct.w2c_hermes, ptr %2699, i32 0, i32 6
  %2701 = load i32, ptr %23, align 4, !tbaa !9
  %2702 = zext i32 %2701 to i64
  %2703 = add i64 %2702, 44
  %2704 = call i32 @i32_load(ptr noundef %2700, i64 noundef %2703)
  store i32 %2704, ptr %23, align 4, !tbaa !9
  %2705 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2705, ptr %5, align 4, !tbaa !9
  %2706 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2706, ptr %24, align 4, !tbaa !9
  store i32 56, ptr %25, align 4, !tbaa !9
  %2707 = load i32, ptr %25, align 4, !tbaa !9
  %2708 = load i32, ptr %24, align 4, !tbaa !9
  %2709 = add i32 %2708, %2707
  store i32 %2709, ptr %24, align 4, !tbaa !9
  %2710 = load i32, ptr %23, align 4, !tbaa !9
  %2711 = load i32, ptr %24, align 4, !tbaa !9
  %2712 = icmp ne i32 %2710, %2711
  %2713 = zext i1 %2712 to i32
  store i32 %2713, ptr %23, align 4, !tbaa !9
  %2714 = load i32, ptr %23, align 4, !tbaa !9
  %2715 = icmp ne i32 %2714, 0
  br i1 %2715, label %2716, label %2720

2716:                                             ; preds = %2697
  %2717 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2717, ptr %23, align 4, !tbaa !9
  %2718 = load ptr, ptr %3, align 8, !tbaa !5
  %2719 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2718, i32 noundef %2719)
  br label %2720

2720:                                             ; preds = %2716, %2697
  %2721 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2721, ptr %23, align 4, !tbaa !9
  %2722 = load ptr, ptr %3, align 8, !tbaa !5
  %2723 = getelementptr inbounds %struct.w2c_hermes, ptr %2722, i32 0, i32 6
  %2724 = load i32, ptr %23, align 4, !tbaa !9
  %2725 = zext i32 %2724 to i64
  %2726 = add i64 %2725, 28
  %2727 = call i32 @i32_load(ptr noundef %2723, i64 noundef %2726)
  store i32 %2727, ptr %23, align 4, !tbaa !9
  %2728 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2728, ptr %5, align 4, !tbaa !9
  %2729 = load i32, ptr %23, align 4, !tbaa !9
  %2730 = icmp ne i32 %2729, 0
  br i1 %2730, label %2731, label %2743

2731:                                             ; preds = %2720
  %2732 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2732, ptr %23, align 4, !tbaa !9
  %2733 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2733, ptr %24, align 4, !tbaa !9
  %2734 = load ptr, ptr %3, align 8, !tbaa !5
  %2735 = getelementptr inbounds %struct.w2c_hermes, ptr %2734, i32 0, i32 6
  %2736 = load i32, ptr %23, align 4, !tbaa !9
  %2737 = zext i32 %2736 to i64
  %2738 = add i64 %2737, 32
  %2739 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2735, i64 noundef %2738, i32 noundef %2739)
  %2740 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2740, ptr %23, align 4, !tbaa !9
  %2741 = load ptr, ptr %3, align 8, !tbaa !5
  %2742 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2741, i32 noundef %2742)
  br label %2743

2743:                                             ; preds = %2731, %2720
  %2744 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2744, ptr %23, align 4, !tbaa !9
  %2745 = load ptr, ptr %3, align 8, !tbaa !5
  %2746 = getelementptr inbounds %struct.w2c_hermes, ptr %2745, i32 0, i32 6
  %2747 = load i32, ptr %23, align 4, !tbaa !9
  %2748 = zext i32 %2747 to i64
  %2749 = add i64 %2748, 16
  %2750 = call i32 @i32_load(ptr noundef %2746, i64 noundef %2749)
  store i32 %2750, ptr %23, align 4, !tbaa !9
  %2751 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2751, ptr %5, align 4, !tbaa !9
  %2752 = load i32, ptr %23, align 4, !tbaa !9
  %2753 = icmp ne i32 %2752, 0
  br i1 %2753, label %2754, label %2766

2754:                                             ; preds = %2743
  %2755 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2755, ptr %23, align 4, !tbaa !9
  %2756 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2756, ptr %24, align 4, !tbaa !9
  %2757 = load ptr, ptr %3, align 8, !tbaa !5
  %2758 = getelementptr inbounds %struct.w2c_hermes, ptr %2757, i32 0, i32 6
  %2759 = load i32, ptr %23, align 4, !tbaa !9
  %2760 = zext i32 %2759 to i64
  %2761 = add i64 %2760, 20
  %2762 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2758, i64 noundef %2761, i32 noundef %2762)
  %2763 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2763, ptr %23, align 4, !tbaa !9
  %2764 = load ptr, ptr %3, align 8, !tbaa !5
  %2765 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2764, i32 noundef %2765)
  br label %2766

2766:                                             ; preds = %2754, %2743
  %2767 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2767, ptr %23, align 4, !tbaa !9
  %2768 = load ptr, ptr %3, align 8, !tbaa !5
  %2769 = getelementptr inbounds %struct.w2c_hermes, ptr %2768, i32 0, i32 6
  %2770 = load i32, ptr %23, align 4, !tbaa !9
  %2771 = zext i32 %2770 to i64
  %2772 = add i64 %2771, 4
  %2773 = call i32 @i32_load(ptr noundef %2769, i64 noundef %2772)
  store i32 %2773, ptr %23, align 4, !tbaa !9
  %2774 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2774, ptr %5, align 4, !tbaa !9
  %2775 = load i32, ptr %23, align 4, !tbaa !9
  %2776 = icmp ne i32 %2775, 0
  br i1 %2776, label %2777, label %2789

2777:                                             ; preds = %2766
  %2778 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2778, ptr %23, align 4, !tbaa !9
  %2779 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2779, ptr %24, align 4, !tbaa !9
  %2780 = load ptr, ptr %3, align 8, !tbaa !5
  %2781 = getelementptr inbounds %struct.w2c_hermes, ptr %2780, i32 0, i32 6
  %2782 = load i32, ptr %23, align 4, !tbaa !9
  %2783 = zext i32 %2782 to i64
  %2784 = add i64 %2783, 8
  %2785 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2781, i64 noundef %2784, i32 noundef %2785)
  %2786 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2786, ptr %23, align 4, !tbaa !9
  %2787 = load ptr, ptr %3, align 8, !tbaa !5
  %2788 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2787, i32 noundef %2788)
  br label %2789

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

2800:                                             ; preds = %2789
  %2801 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2801, ptr %23, align 4, !tbaa !9
  %2802 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2802, ptr %24, align 4, !tbaa !9
  %2803 = load ptr, ptr %3, align 8, !tbaa !5
  %2804 = getelementptr inbounds %struct.w2c_hermes, ptr %2803, i32 0, i32 6
  %2805 = load i32, ptr %23, align 4, !tbaa !9
  %2806 = zext i32 %2805 to i64
  %2807 = add i64 %2806, 332
  %2808 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2804, i64 noundef %2807, i32 noundef %2808)
  %2809 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2809, ptr %23, align 4, !tbaa !9
  %2810 = load ptr, ptr %3, align 8, !tbaa !5
  %2811 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2810, i32 noundef %2811)
  br label %2812

2812:                                             ; preds = %2800, %2789
  %2813 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2813, ptr %23, align 4, !tbaa !9
  %2814 = load ptr, ptr %3, align 8, !tbaa !5
  %2815 = getelementptr inbounds %struct.w2c_hermes, ptr %2814, i32 0, i32 6
  %2816 = load i32, ptr %23, align 4, !tbaa !9
  %2817 = zext i32 %2816 to i64
  %2818 = add i64 %2817, 340
  %2819 = call i32 @i32_load(ptr noundef %2815, i64 noundef %2818)
  store i32 %2819, ptr %23, align 4, !tbaa !9
  %2820 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2820, ptr %5, align 4, !tbaa !9
  %2821 = load i32, ptr %23, align 4, !tbaa !9
  %2822 = icmp ne i32 %2821, 0
  br i1 %2822, label %2823, label %2835

2823:                                             ; preds = %2812
  %2824 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2824, ptr %23, align 4, !tbaa !9
  %2825 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2825, ptr %24, align 4, !tbaa !9
  %2826 = load ptr, ptr %3, align 8, !tbaa !5
  %2827 = getelementptr inbounds %struct.w2c_hermes, ptr %2826, i32 0, i32 6
  %2828 = load i32, ptr %23, align 4, !tbaa !9
  %2829 = zext i32 %2828 to i64
  %2830 = add i64 %2829, 344
  %2831 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2827, i64 noundef %2830, i32 noundef %2831)
  %2832 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2832, ptr %23, align 4, !tbaa !9
  %2833 = load ptr, ptr %3, align 8, !tbaa !5
  %2834 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2833, i32 noundef %2834)
  br label %2835

2835:                                             ; preds = %2823, %2812
  %2836 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2836, ptr %23, align 4, !tbaa !9
  store i32 352, ptr %24, align 4, !tbaa !9
  %2837 = load i32, ptr %24, align 4, !tbaa !9
  %2838 = load i32, ptr %23, align 4, !tbaa !9
  %2839 = add i32 %2838, %2837
  store i32 %2839, ptr %23, align 4, !tbaa !9
  %2840 = load i32, ptr %23, align 4, !tbaa !9
  %2841 = load ptr, ptr %3, align 8, !tbaa !5
  %2842 = getelementptr inbounds %struct.w2c_hermes, ptr %2841, i32 0, i32 3
  store i32 %2840, ptr %2842, align 8, !tbaa !13
  %2843 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2843, ptr %23, align 4, !tbaa !9
  %2844 = load i32, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 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 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  ret i32 %2844
}

declare void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetDigitsBuffer0x280x290x20const(ptr noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetBytecodeBuffer0x280x290x20const(ptr noundef, i32 noundef, i32 noundef) #3

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

declare i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3AgenerateBytecodeFunction0x28hermes0x3A0x3AFunction0x3A0x3ADefinitionKind0x2C0x20hermes0x3A0x3AValueKind0x2C0x20bool0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_llvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AScopeDesc0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetEmpty0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetPair0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x3E0x3A0x3Ashrink_and_clear0x280x29(ptr noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3ApatchDebugSourceLocations0x28llvh0x3A0x3ADenseMap0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cunsigned0x20int0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #3

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

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

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

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


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

%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t3 = external local_unnamed_addr constant ptr, align 8

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

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

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

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

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

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

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

declare 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 void @w2c_hermes_0x5F_assert_fail(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetIdentifierHashes0x280x290x20const(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3Agenerate0x280x29(ptr noundef %0, i32 noundef %1) local_unnamed_addr #3 {
  %3 = getelementptr inbounds i8, ptr %0, i64 24
  %4 = load i32, ptr %3, align 8, !tbaa !5
  %5 = add i32 %4, -352
  store i32 %5, ptr %3, align 8, !tbaa !5
  %6 = getelementptr inbounds i8, ptr %0, i64 40
  %7 = zext i32 %1 to i64
  %8 = add nuw nsw i64 %7, 482
  %9 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %8)
  %.not = icmp eq i32 %9, 0
  br i1 %.not, label %487, label %10

10:                                               ; preds = %2
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %8, i32 noundef 0)
  %11 = add nuw nsw i64 %7, 20
  %12 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %11)
  %13 = add nuw nsw i64 %7, 168
  %14 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %13)
  %15 = icmp eq i32 %12, %14
  br i1 %15, label %16, label %486

16:                                               ; preds = %10
  %17 = add i32 %4, -12
  %18 = add i32 %1, 180
  tail call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringKinds0x280x290x20const(ptr noundef nonnull %0, i32 noundef %17, i32 noundef %18)
  %19 = add i32 %4, -24
  tail call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetIdentifierHashes0x280x290x20const(ptr noundef nonnull %0, i32 noundef %19, i32 noundef %18)
  %20 = add nuw nsw i64 %7, 481
  %21 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %20)
  %22 = add nuw nsw i64 %7, 468
  %23 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %22)
  %24 = add nuw nsw i64 %7, 388
  %25 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %24)
  %26 = add nuw nsw i64 %7, 384
  %27 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %26)
  %28 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 272) #5
  %29 = add nuw nsw i64 %7, 204
  %30 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %29)
  %.not1536 = icmp eq i32 %30, 0
  br i1 %.not1536, label %485, label %31

31:                                               ; preds = %16
  %32 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %13)
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %29, i32 noundef 0)
  %33 = add nuw nsw i64 %7, 180
  %34 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %33)
  %35 = zext i32 %5 to i64
  %36 = add nuw nsw i64 %35, 140
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %36, i32 noundef %34)
  %37 = add nuw nsw i64 %7, 184
  %38 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %37)
  %39 = add nuw nsw i64 %35, 144
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %39, i32 noundef %38)
  %40 = add i32 %1, 188
  %41 = zext i32 %40 to i64
  %42 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %41)
  %43 = add nuw nsw i64 %35, 148
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %43, i32 noundef %42)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %41, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %33, i64 noundef 0)
  %44 = add nuw nsw i64 %7, 205
  %45 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %44)
  %.not1537 = icmp eq i32 %45, 0
  br i1 %.not1537, label %484, label %46

46:                                               ; preds = %31
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %44, i32 noundef 0)
  %47 = add i32 %1, 192
  %48 = zext i32 %47 to i64
  %49 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %48)
  %50 = add nuw nsw i64 %35, 312
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %50, i32 noundef %49)
  %51 = add nuw nsw i64 %7, 196
  %52 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %51)
  %53 = add nuw nsw i64 %35, 316
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %53, i32 noundef %52)
  %54 = add i32 %1, 200
  %55 = zext i32 %54 to i64
  %56 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %55)
  %57 = add nuw nsw i64 %35, 320
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %57, i32 noundef %56)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %55, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %48, i64 noundef 0)
  %58 = add i32 %4, -52
  %59 = add i32 %1, 260
  tail call void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef nonnull %0, i32 noundef %58, i32 noundef %59) #5
  %60 = add i32 %4, -64
  tail call void @w2c_hermes_hermes0x3A0x3Abigint0x3A0x3AUniquingBigIntTable0x3A0x3AgetDigitsBuffer0x280x290x20const(ptr noundef nonnull %0, i32 noundef %60, i32 noundef %59) #5
  %61 = add i32 %4, -76
  %62 = add i32 %1, 300
  tail call void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetEntryList0x280x290x20const(ptr noundef nonnull %0, i32 noundef %61, i32 noundef %62) #5
  %63 = add i32 %4, -88
  tail call void @w2c_hermes_hermes0x3A0x3AUniquingRegExpTable0x3A0x3AgetBytecodeBuffer0x280x290x20const(ptr noundef nonnull %0, i32 noundef %63, i32 noundef %62) #5
  %64 = add nuw nsw i64 %7, 368
  %65 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %64)
  %66 = add nuw nsw i64 %7, 484
  %67 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %66)
  %68 = shl i32 %21, 2
  %69 = or i32 %68, %23
  %.not1538 = icmp eq i32 %25, %27
  %70 = select i1 %.not1538, i32 0, i32 2
  %71 = or i32 %69, %70
  %72 = add nuw nsw i64 %35, 43
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %72, i32 noundef %71)
  %73 = add nuw nsw i64 %35, 263
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %73, i32 noundef %71)
  %74 = add i32 %4, -212
  %75 = add i32 %4, -40
  %76 = add i32 %1, 408
  %77 = add i32 %1, 420
  %78 = add i32 %1, 432
  %79 = add i32 %1, 372
  %80 = add i32 %1, 384
  %81 = add i32 %1, 396
  %82 = add i32 %4, -309
  %83 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3ABytecodeModule0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AStringKind0x3A0x3AEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AStringKind0x3A0x3AEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20int0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AStringTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AStringTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3Abigint0x3A0x3ABigIntTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3Abigint0x3A0x3ABigIntTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ARegExpTableEntry0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ARegExpTableEntry0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cunsigned0x20char0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cunsigned0x20char0x3E0x3E0x260x260x2C0x20unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3Apair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x3E0x260x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ABytecodeOptions0x29(ptr noundef nonnull %0, i32 noundef %28, i32 noundef %32, i32 noundef %17, i32 noundef %19, i32 noundef %74, i32 noundef %75, i32 noundef %58, i32 noundef %60, i32 noundef %61, i32 noundef %63, i32 noundef %67, i32 noundef %76, i32 noundef %77, i32 noundef %78, i32 noundef %65, i32 noundef %79, i32 noundef %80, i32 noundef %81, i32 noundef %82)
  %84 = add nuw nsw i64 %35, 264
  %85 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %84)
  %.not1539 = icmp eq i32 %85, 0
  br i1 %.not1539, label %88, label %86

86:                                               ; preds = %46
  %87 = add nuw nsw i64 %35, 268
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %87, i32 noundef %85)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %85) #5
  br label %88

88:                                               ; preds = %86, %46
  %89 = add nuw nsw i64 %35, 276
  %90 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %89)
  %.not1540 = icmp eq i32 %90, 0
  br i1 %.not1540, label %93, label %91

91:                                               ; preds = %88
  %92 = add nuw nsw i64 %35, 280
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %92, i32 noundef %90)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %90) #5
  br label %93

93:                                               ; preds = %91, %88
  %94 = add nuw nsw i64 %35, 288
  %95 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %94)
  %.not1541 = icmp eq i32 %95, 0
  br i1 %.not1541, label %98, label %96

96:                                               ; preds = %93
  %97 = add nuw nsw i64 %35, 292
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %97, i32 noundef %95)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %95) #5
  br label %98

98:                                               ; preds = %96, %93
  %99 = add nuw nsw i64 %35, 300
  %100 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %.not1542 = icmp eq i32 %100, 0
  br i1 %.not1542, label %103, label %101

101:                                              ; preds = %98
  %102 = add nuw nsw i64 %35, 304
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %102, i32 noundef %100)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %100) #5
  br label %103

103:                                              ; preds = %101, %98
  %104 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %50)
  %.not1543 = icmp eq i32 %104, 0
  br i1 %.not1543, label %106, label %105

105:                                              ; preds = %103
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %53, i32 noundef %104)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %104) #5
  br label %106

106:                                              ; preds = %105, %103
  %107 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %36)
  %.not1544 = icmp eq i32 %107, 0
  br i1 %.not1544, label %109, label %108

108:                                              ; preds = %106
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %39, i32 noundef %107)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %107) #5
  br label %109

109:                                              ; preds = %108, %106
  %110 = add i32 %1, 328
  %111 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3ADebugInfoGenerator0x28hermes0x3A0x3Ahbc0x3A0x3AUniquingFilenameTable0x260x260x29(ptr noundef nonnull %0, i32 noundef %74, i32 noundef %110)
  %112 = add nuw nsw i64 %7, 470
  %113 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %112)
  %.not1545 = icmp eq i32 %113, 0
  br i1 %.not1545, label %119, label %114

114:                                              ; preds = %109
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %53, i32 noundef 22)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %50, i32 noundef 105273)
  %115 = tail call i64 @i64_load(ptr noundef nonnull %6, i64 noundef %50)
  %116 = add nuw nsw i64 %35, 32
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %116, i64 noundef %115)
  %117 = add i32 %4, -320
  %118 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringID0x28llvh0x3A0x3AStringRef0x290x20const(ptr noundef nonnull %0, i32 noundef %18, i32 noundef %117)
  br label %119

119:                                              ; preds = %109, %114
  %.01504 = phi i32 [ %118, %114 ], [ 0, %109 ]
  %120 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %11)
  %.not1546 = icmp eq i32 %120, 0
  br i1 %.not1546, label %.loopexit1600, label %121

121:                                              ; preds = %119
  %122 = add i32 %1, 164
  %123 = add nuw nsw i64 %7, 16
  %124 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %123)
  %125 = add i32 %1, 148
  %126 = add i32 %1, 120
  %127 = add nuw nsw i64 %35, 24
  %128 = add i32 %4, -328
  %129 = getelementptr inbounds i8, ptr %0, i64 80
  %130 = getelementptr inbounds i8, ptr %0, i64 92
  %131 = load ptr, ptr @w2c_hermes_t3, align 8
  %132 = add nuw nsw i64 %7, 140
  %133 = add nuw nsw i64 %7, 136
  %134 = add nuw nsw i64 %7, 124
  %135 = add nuw nsw i64 %7, 128
  %136 = add nuw nsw i64 %7, 132
  %137 = zext i32 %126 to i64
  %138 = add nuw nsw i64 %35, 132
  %139 = add nuw nsw i64 %35, 136
  %140 = add nuw nsw i64 %35, 16
  %141 = add i32 %4, -336
  %142 = add nuw nsw i64 %35, 124
  %143 = add nuw nsw i64 %35, 128
  %144 = add nuw nsw i64 %35, 8
  %145 = add i32 %4, -344
  %146 = zext i32 %120 to i64
  br label %147

147:                                              ; preds = %483, %121
  %indvars.iv = phi i64 [ %indvars.iv.next, %483 ], [ 0, %121 ]
  %148 = trunc nuw i64 %indvars.iv to i32
  %149 = shl i32 %148, 2
  %150 = add i32 %149, %124
  %151 = zext i32 %150 to i64
  %152 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %151)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %99, i32 noundef %152)
  %153 = tail call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3E0x3E0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %122, i32 noundef %58) #5
  %154 = zext i32 %153 to i64
  %155 = add nuw nsw i64 %154, 4
  %156 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %155)
  %157 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %112)
  %.not1547 = icmp eq i32 %157, 0
  br i1 %.not1547, label %158, label %166

158:                                              ; preds = %147
  %159 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %151)
  %160 = zext i32 %159 to i64
  %161 = add nuw nsw i64 %160, 100
  %162 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %161)
  %163 = zext i32 %162 to i64
  %164 = tail call i64 @i64_load(ptr noundef nonnull %6, i64 noundef %163)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %127, i64 noundef %164)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %50, i64 noundef %164)
  %165 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3AStringLiteralTable0x3A0x3AgetStringID0x28llvh0x3A0x3AStringRef0x290x20const(ptr noundef %0, i32 noundef %18, i32 noundef %128)
  br label %166

166:                                              ; preds = %158, %147
  %.01500 = phi i32 [ %165, %158 ], [ %.01504, %147 ]
  %167 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %168 = zext i32 %167 to i64
  %169 = add nuw nsw i64 %168, 104
  %170 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %169)
  %171 = add nuw nsw i64 %168, 8
  %172 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %171)
  %173 = add nuw nsw i64 %168, 108
  %174 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %173)
  %175 = add nuw nsw i64 %168, 132
  %176 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %175)
  %177 = add nuw nsw i64 %168, 44
  %178 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %177)
  %179 = zext i32 %178 to i64
  %180 = add nuw nsw i64 %179, 92
  %181 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %180)
  %182 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3AgenerateBytecodeFunction0x28hermes0x3A0x3AFunction0x3A0x3ADefinitionKind0x2C0x20hermes0x3A0x3AValueKind0x2C0x20bool0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %156, i32 noundef %170, i32 noundef %172, i32 noundef %174, i32 noundef %176, i32 noundef %181, i32 noundef %.01500) #5
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %50, i32 noundef %182)
  %183 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %184 = zext i32 %183 to i64
  %185 = add nuw nsw i64 %184, 144
  %186 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %185)
  %.not1548 = icmp eq i32 %186, 0
  br i1 %.not1548, label %380, label %187

187:                                              ; preds = %166
  %188 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 44) #5
  %189 = zext i32 %188 to i64
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %189, i64 noundef 0)
  %190 = add nuw nsw i64 %189, 40
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %190, i32 noundef 0)
  %191 = add nuw nsw i64 %189, 32
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %191, i64 noundef 0)
  %192 = add nuw nsw i64 %189, 24
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %192, i64 noundef 0)
  %193 = add nuw nsw i64 %189, 16
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %193, i64 noundef 0)
  %194 = add nuw nsw i64 %189, 8
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %194, i64 noundef 0)
  %195 = add nuw nsw i64 %184, 36
  %196 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %195)
  %197 = zext i32 %196 to i64
  %198 = add nuw nsw i64 %197, 28
  %199 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %198)
  %200 = add nuw nsw i64 %197, 32
  %201 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %200)
  %.not1549 = icmp eq i32 %201, 0
  br i1 %.not1549, label %202, label %204

202:                                              ; preds = %187
  %203 = add nuw nsw i64 %189, 4
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %203, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %189, i32 noundef %199)
  br label %239

204:                                              ; preds = %187
  %205 = zext i32 %201 to i64
  %206 = add nuw nsw i64 %205, 4
  %207 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %206)
  %208 = add i32 %207, 1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %206, i32 noundef %208)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %189, i32 noundef %199)
  %209 = add nuw nsw i64 %189, 4
  %210 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %209)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %209, i32 noundef %201)
  %.not1550 = icmp eq i32 %210, 0
  br i1 %.not1550, label %239, label %211

211:                                              ; preds = %204
  %212 = zext i32 %210 to i64
  %213 = add nuw nsw i64 %212, 4
  %214 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %213)
  %215 = add i32 %214, -1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %213, i32 noundef %215)
  %.not1551 = icmp eq i32 %214, 0
  br i1 %.not1551, label %216, label %239

216:                                              ; preds = %211
  %217 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %212)
  %218 = zext i32 %217 to i64
  %219 = add nuw nsw i64 %218, 8
  %220 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %219)
  %221 = load i32, ptr %130, align 4, !tbaa !15
  %222 = icmp ult i32 %220, %221
  br i1 %222, label %223, label %.critedge, !prof !16

223:                                              ; preds = %216
  %224 = load ptr, ptr %129, align 8, !tbaa !17
  %225 = zext i32 %220 to i64
  %226 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %224, i64 %225
  %227 = getelementptr inbounds i8, ptr %226, i64 8
  %228 = load ptr, ptr %227, align 8, !tbaa !18
  %.not1552 = icmp eq ptr %228, null
  br i1 %.not1552, label %.critedge, label %229, !prof !20

229:                                              ; preds = %223
  %230 = load ptr, ptr %226, align 8, !tbaa !21
  %231 = tail call zeroext i1 @func_types_eq(ptr noundef %131, ptr noundef %230)
  br i1 %231, label %232, label %.critedge, !prof !16

.critedge:                                        ; preds = %223, %216, %229
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

232:                                              ; preds = %229
  %233 = load ptr, ptr %129, align 8, !tbaa !17
  %234 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %233, i64 %225
  %235 = getelementptr inbounds i8, ptr %234, i64 8
  %236 = load ptr, ptr %235, align 8, !tbaa !18
  %237 = getelementptr inbounds i8, ptr %234, i64 16
  %238 = load ptr, ptr %237, align 8, !tbaa !22
  tail call void %236(ptr noundef %238, i32 noundef %210) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %210) #5
  br label %239

239:                                              ; preds = %211, %204, %232, %202
  %240 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %241 = zext i32 %240 to i64
  %242 = add nuw nsw i64 %241, 164
  %243 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %242)
  %244 = add nuw nsw i64 %241, 168
  %245 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %244)
  %.not1553 = icmp eq i32 %245, 0
  br i1 %.not1553, label %251, label %246

246:                                              ; preds = %239
  %247 = zext i32 %245 to i64
  %248 = add nuw nsw i64 %247, 4
  %249 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %248)
  %250 = add i32 %249, 1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %248, i32 noundef %250)
  br label %251

251:                                              ; preds = %246, %239
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %194, i32 noundef %243)
  %252 = add i32 %188, 12
  %253 = zext i32 %252 to i64
  %254 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %253)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %253, i32 noundef %245)
  %.not1554 = icmp eq i32 %254, 0
  br i1 %.not1554, label %283, label %255

255:                                              ; preds = %251
  %256 = zext i32 %254 to i64
  %257 = add nuw nsw i64 %256, 4
  %258 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %257)
  %259 = add i32 %258, -1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %257, i32 noundef %259)
  %.not1555 = icmp eq i32 %258, 0
  br i1 %.not1555, label %260, label %283

260:                                              ; preds = %255
  %261 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %256)
  %262 = zext i32 %261 to i64
  %263 = add nuw nsw i64 %262, 8
  %264 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %263)
  %265 = load i32, ptr %130, align 4, !tbaa !15
  %266 = icmp ult i32 %264, %265
  br i1 %266, label %267, label %.critedge1593, !prof !16

267:                                              ; preds = %260
  %268 = load ptr, ptr %129, align 8, !tbaa !17
  %269 = zext i32 %264 to i64
  %270 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %268, i64 %269
  %271 = getelementptr inbounds i8, ptr %270, i64 8
  %272 = load ptr, ptr %271, align 8, !tbaa !18
  %.not1556 = icmp eq ptr %272, null
  br i1 %.not1556, label %.critedge1593, label %273, !prof !20

273:                                              ; preds = %267
  %274 = load ptr, ptr %270, align 8, !tbaa !21
  %275 = tail call zeroext i1 @func_types_eq(ptr noundef %131, ptr noundef %274)
  br i1 %275, label %276, label %.critedge1593, !prof !16

.critedge1593:                                    ; preds = %267, %260, %273
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

276:                                              ; preds = %273
  %277 = load ptr, ptr %129, align 8, !tbaa !17
  %278 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %277, i64 %269
  %279 = getelementptr inbounds i8, ptr %278, i64 8
  %280 = load ptr, ptr %279, align 8, !tbaa !18
  %281 = getelementptr inbounds i8, ptr %278, i64 16
  %282 = load ptr, ptr %281, align 8, !tbaa !22
  tail call void %280(ptr noundef %282, i32 noundef %254) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %254) #5
  br label %283

283:                                              ; preds = %255, %251, %276
  %284 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %285 = zext i32 %284 to i64
  %286 = add nuw nsw i64 %285, 152
  %287 = tail call i64 @i64_load(ptr noundef nonnull %6, i64 noundef %286)
  %288 = add nuw nsw i64 %189, 28
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %288, i64 noundef %287)
  %289 = add nuw nsw i64 %285, 144
  %290 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %289)
  %291 = add nuw nsw i64 %189, 36
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %291, i32 noundef %290)
  %292 = add nuw nsw i64 %285, 160
  %293 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %292)
  %294 = add nuw nsw i64 %189, 41
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %294, i32 noundef %293)
  %295 = add nuw nsw i64 %285, 161
  %296 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %295)
  %297 = add nuw nsw i64 %189, 42
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %297, i32 noundef %296)
  %298 = add nuw nsw i64 %285, 148
  %299 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %298)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %192, i32 noundef %299)
  %300 = add nuw nsw i64 %285, 100
  %301 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %300)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %193, i32 noundef %301)
  %302 = add nuw nsw i64 %285, 172
  %303 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %302)
  %.not1557 = icmp eq i32 %303, 0
  br i1 %.not1557, label %308, label %304

304:                                              ; preds = %283
  %305 = zext i32 %303 to i64
  %306 = add nuw nsw i64 %305, 32
  %307 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %306)
  br label %308

308:                                              ; preds = %283, %304
  %.01503 = phi i32 [ %307, %304 ], [ 0, %283 ]
  %309 = add nuw nsw i64 %189, 20
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %309, i32 noundef %.01503)
  %310 = add nuw nsw i64 %285, 108
  %311 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %310)
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %190, i32 noundef %311)
  %312 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %50)
  %313 = zext i32 %312 to i64
  %314 = add nuw nsw i64 %313, 68
  %315 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %314)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %314, i32 noundef %188)
  %.not1558 = icmp eq i32 %315, 0
  br i1 %.not1558, label %380, label %316

316:                                              ; preds = %308
  %317 = zext i32 %315 to i64
  %318 = add nuw nsw i64 %317, 12
  %319 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %318)
  %.not1559 = icmp eq i32 %319, 0
  br i1 %.not1559, label %348, label %320

320:                                              ; preds = %316
  %321 = zext i32 %319 to i64
  %322 = add nuw nsw i64 %321, 4
  %323 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %322)
  %324 = add i32 %323, -1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %322, i32 noundef %324)
  %.not1560 = icmp eq i32 %323, 0
  br i1 %.not1560, label %325, label %348

325:                                              ; preds = %320
  %326 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %321)
  %327 = zext i32 %326 to i64
  %328 = add nuw nsw i64 %327, 8
  %329 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %328)
  %330 = load i32, ptr %130, align 4, !tbaa !15
  %331 = icmp ult i32 %329, %330
  br i1 %331, label %332, label %.critedge1595, !prof !16

332:                                              ; preds = %325
  %333 = load ptr, ptr %129, align 8, !tbaa !17
  %334 = zext i32 %329 to i64
  %335 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %333, i64 %334
  %336 = getelementptr inbounds i8, ptr %335, i64 8
  %337 = load ptr, ptr %336, align 8, !tbaa !18
  %.not1561 = icmp eq ptr %337, null
  br i1 %.not1561, label %.critedge1595, label %338, !prof !20

338:                                              ; preds = %332
  %339 = load ptr, ptr %335, align 8, !tbaa !21
  %340 = tail call zeroext i1 @func_types_eq(ptr noundef %131, ptr noundef %339)
  br i1 %340, label %341, label %.critedge1595, !prof !16

.critedge1595:                                    ; preds = %332, %325, %338
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

341:                                              ; preds = %338
  %342 = load ptr, ptr %129, align 8, !tbaa !17
  %343 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %342, i64 %334
  %344 = getelementptr inbounds i8, ptr %343, i64 8
  %345 = load ptr, ptr %344, align 8, !tbaa !18
  %346 = getelementptr inbounds i8, ptr %343, i64 16
  %347 = load ptr, ptr %346, align 8, !tbaa !22
  tail call void %345(ptr noundef %347, i32 noundef %319) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %319) #5
  br label %348

348:                                              ; preds = %320, %316, %341
  %349 = add nuw nsw i64 %317, 4
  %350 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %349)
  %.not1562 = icmp eq i32 %350, 0
  br i1 %.not1562, label %379, label %351

351:                                              ; preds = %348
  %352 = zext i32 %350 to i64
  %353 = add nuw nsw i64 %352, 4
  %354 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %353)
  %355 = add i32 %354, -1
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %353, i32 noundef %355)
  %.not1563 = icmp eq i32 %354, 0
  br i1 %.not1563, label %356, label %379

356:                                              ; preds = %351
  %357 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %352)
  %358 = zext i32 %357 to i64
  %359 = add nuw nsw i64 %358, 8
  %360 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %359)
  %361 = load i32, ptr %130, align 4, !tbaa !15
  %362 = icmp ult i32 %360, %361
  br i1 %362, label %363, label %.critedge1597, !prof !16

363:                                              ; preds = %356
  %364 = load ptr, ptr %129, align 8, !tbaa !17
  %365 = zext i32 %360 to i64
  %366 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %364, i64 %365
  %367 = getelementptr inbounds i8, ptr %366, i64 8
  %368 = load ptr, ptr %367, align 8, !tbaa !18
  %.not1564 = icmp eq ptr %368, null
  br i1 %.not1564, label %.critedge1597, label %369, !prof !20

369:                                              ; preds = %363
  %370 = load ptr, ptr %366, align 8, !tbaa !21
  %371 = tail call zeroext i1 @func_types_eq(ptr noundef %131, ptr noundef %370)
  br i1 %371, label %372, label %.critedge1597, !prof !16

.critedge1597:                                    ; preds = %363, %356, %369
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

372:                                              ; preds = %369
  %373 = load ptr, ptr %129, align 8, !tbaa !17
  %374 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %373, i64 %365
  %375 = getelementptr inbounds i8, ptr %374, i64 8
  %376 = load ptr, ptr %375, align 8, !tbaa !18
  %377 = getelementptr inbounds i8, ptr %374, i64 16
  %378 = load ptr, ptr %377, align 8, !tbaa !22
  tail call void %376(ptr noundef %378, i32 noundef %350) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %350) #5
  br label %379

379:                                              ; preds = %351, %348, %372
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %315) #5
  br label %380

380:                                              ; preds = %308, %166, %379
  %381 = zext i32 %156 to i64
  %382 = add nuw nsw i64 %381, 68
  %383 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %382)
  %384 = add nuw nsw i64 %381, 72
  %385 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %384)
  %.not1565 = icmp eq i32 %383, %385
  br i1 %.not1565, label %386, label %393

386:                                              ; preds = %380
  %387 = add nuw nsw i64 %381, 80
  %388 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %387)
  %389 = add nuw nsw i64 %381, 84
  %390 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %389)
  %.not1566 = icmp eq i32 %388, %390
  br i1 %.not1566, label %391, label %393

391:                                              ; preds = %386
  %392 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %50)
  br label %480

393:                                              ; preds = %386, %380
  %394 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %132)
  %395 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %133)
  %.not1567 = icmp eq i32 %394, %395
  br i1 %.not1567, label %.loopexit1599, label %396

396:                                              ; preds = %393
  %397 = sub i32 %394, %395
  %398 = ashr i32 %397, 2
  %399 = tail call i32 @llvm.umax.i32(i32 %398, i32 1)
  br label %400

400:                                              ; preds = %407, %396
  %.0 = phi i32 [ 0, %396 ], [ %414, %407 ]
  %401 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %402 = tail call i32 @w2c_hermes_hermes0x3A0x3AFunction0x3A0x3AgetContext0x280x290x20const(ptr noundef %0, i32 noundef %401) #5
  %403 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %132)
  %404 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %133)
  %405 = sub i32 %403, %404
  %406 = ashr i32 %405, 2
  %.not1568 = icmp ugt i32 %406, %.0
  br i1 %.not1568, label %407, label %479

407:                                              ; preds = %400
  %408 = add i32 %402, 36
  %409 = shl i32 %.0, 2
  %410 = add i32 %404, %409
  %411 = zext i32 %410 to i64
  %412 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %411)
  %413 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3AserializeScopeChain0x28hermes0x3A0x3AStringTable0x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x260x2C0x20hermes0x3A0x3AScopeDesc0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %408, i32 noundef %111, i32 noundef %412)
  %414 = add nuw i32 %.0, 1
  %.not1569 = icmp eq i32 %414, %399
  br i1 %.not1569, label %.loopexit1599, label %400

.loopexit1599:                                    ; preds = %407, %393
  %415 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %134)
  %416 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %135)
  %417 = or i32 %416, %415
  %.not1570 = icmp eq i32 %417, 0
  br i1 %.not1570, label %442, label %418

418:                                              ; preds = %.loopexit1599
  %419 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %136)
  %420 = shl i32 %415, 2
  %.not1571 = icmp ule i32 %419, %420
  %421 = icmp ult i32 %419, 65
  %or.cond = or i1 %.not1571, %421
  br i1 %or.cond, label %423, label %422

422:                                              ; preds = %418
  tail call void @w2c_hermes_llvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AScopeDesc0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetEmpty0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseSetPair0x3Chermes0x3A0x3AScopeDesc0x2A0x3E0x3E0x3A0x3Ashrink_and_clear0x280x29(ptr noundef %0, i32 noundef %126) #5
  br label %442

423:                                              ; preds = %418
  %.not1572 = icmp eq i32 %419, 0
  br i1 %.not1572, label %.loopexit, label %424

424:                                              ; preds = %423
  %425 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %137)
  %426 = and i32 %419, 7
  %.not1573 = icmp eq i32 %426, 0
  br i1 %.not1573, label %.loopexit1598, label %.preheader

.preheader:                                       ; preds = %424, %.preheader
  %.11501 = phi i32 [ %429, %.preheader ], [ 0, %424 ]
  %.1 = phi i32 [ %428, %.preheader ], [ %425, %424 ]
  %427 = zext i32 %.1 to i64
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %427, i32 noundef -4)
  %428 = add i32 %.1, 4
  %429 = add nuw nsw i32 %.11501, 1
  %.not1574 = icmp eq i32 %429, %426
  br i1 %.not1574, label %.loopexit1598, label %.preheader

.loopexit1598:                                    ; preds = %.preheader, %424
  %.2 = phi i32 [ %425, %424 ], [ %428, %.preheader ]
  %430 = add i32 %419, 1073741823
  %431 = and i32 %430, 1073741823
  %432 = icmp ult i32 %431, 7
  br i1 %432, label %.loopexit, label %433

433:                                              ; preds = %.loopexit1598
  %434 = shl i32 %419, 2
  %435 = add i32 %425, %434
  br label %436

436:                                              ; preds = %436, %433
  %.3 = phi i32 [ %.2, %433 ], [ %441, %436 ]
  %437 = zext i32 %.3 to i64
  %438 = add nuw nsw i64 %437, 24
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %438, i64 noundef -12884901892)
  %439 = add nuw nsw i64 %437, 16
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %439, i64 noundef -12884901892)
  %440 = add nuw nsw i64 %437, 8
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %440, i64 noundef -12884901892)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %437, i64 noundef -12884901892)
  %441 = add i32 %.3, 32
  %.not1575 = icmp eq i32 %441, %435
  br i1 %.not1575, label %.loopexit, label %436

.loopexit:                                        ; preds = %436, %.loopexit1598, %423
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %134, i64 noundef 0)
  br label %442

442:                                              ; preds = %.loopexit1599, %.loopexit, %422
  %443 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %133)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %132, i32 noundef %443)
  tail call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunctionGenerator0x3A0x3ApatchDebugSourceLocations0x28llvh0x3A0x3ADenseMap0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Cunsigned0x20int0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Cunsigned0x20int0x2C0x20unsigned0x20int0x3E0x3E0x20const0x260x29(ptr noundef %0, i32 noundef %156, i32 noundef %125) #5
  %444 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %382)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %138, i32 noundef %444)
  %445 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %384)
  %446 = sub i32 %445, %444
  %447 = ashr i32 %446, 5
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %139, i32 noundef %447)
  %448 = tail call i64 @i64_load(ptr noundef nonnull %6, i64 noundef %138)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %140, i64 noundef %448)
  %449 = add i32 %156, 36
  %450 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AappendSourceLocations0x28hermes0x3A0x3Ahbc0x3A0x3ADebugSourceLocation0x20const0x260x2C0x20unsigned0x20int0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Ahbc0x3A0x3ADebugSourceLocation0x3E0x29(ptr noundef %0, i32 noundef %111, i32 noundef %449, i32 noundef %148, i32 noundef %141)
  %451 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %452 = tail call i32 @w2c_hermes_hermes0x3A0x3AFunction0x3A0x3AgetContext0x280x290x20const(ptr noundef %0, i32 noundef %451) #5
  %453 = add i32 %452, 36
  %454 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %99)
  %455 = zext i32 %454 to i64
  %456 = add nuw nsw i64 %455, 44
  %457 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %456)
  %458 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModuleGenerator0x3A0x3AserializeScopeChain0x28hermes0x3A0x3AStringTable0x260x2C0x20hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x260x2C0x20hermes0x3A0x3AScopeDesc0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %453, i32 noundef %111, i32 noundef %457)
  %459 = add nuw nsw i64 %381, 80
  %460 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %459)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %142, i32 noundef %460)
  %461 = add nuw nsw i64 %381, 84
  %462 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %461)
  %463 = sub i32 %462, %460
  %464 = ashr i32 %463, 3
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %143, i32 noundef %464)
  %465 = tail call i64 @i64_load(ptr noundef nonnull %6, i64 noundef %142)
  tail call void @i64_store(ptr noundef nonnull %6, i64 noundef %144, i64 noundef %465)
  %466 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AappendTextifiedCalleeData0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Ahbc0x3A0x3ADebugTextifiedCallee0x3E0x29(ptr noundef %0, i32 noundef %111, i32 noundef %145)
  %467 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %50)
  %468 = zext i32 %467 to i64
  %469 = add nuw nsw i64 %468, 44
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %469, i32 noundef %450)
  %470 = add nuw nsw i64 %468, 52
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %470, i32 noundef %466)
  %471 = add nuw nsw i64 %468, 48
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %471, i32 noundef %458)
  %472 = add i32 %467, 42
  %473 = zext i32 %472 to i64
  %474 = tail call i32 @i32_load8_u(ptr noundef nonnull %6, i64 noundef %473)
  %475 = and i32 %474, 239
  %476 = and i32 %458, %450
  %.not1576 = icmp eq i32 %476, -1
  %477 = select i1 %.not1576, i32 0, i32 16
  %478 = or disjoint i32 %475, %477
  tail call void @i32_store8(ptr noundef nonnull %6, i64 noundef %473, i32 noundef %478)
  br label %480

479:                                              ; preds = %400
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 205507, i32 noundef 79414, i32 noundef 136, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

480:                                              ; preds = %442, %391
  %.4 = phi i32 [ %467, %442 ], [ %392, %391 ]
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %50, i32 noundef 0)
  tail call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ABytecodeModule0x3A0x3AsetFunction0x28unsigned0x20int0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x3E0x3E0x29(ptr noundef %0, i32 noundef %83, i32 noundef %148, i32 noundef %.4)
  %481 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %50)
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %50, i32 noundef 0)
  %.not1577 = icmp eq i32 %481, 0
  br i1 %.not1577, label %483, label %482

482:                                              ; preds = %480
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Chermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x3E0x3A0x3Aoperator0x280x290x5Babi0x3Av150070x5D0x28hermes0x3A0x3Ahbc0x3A0x3ABytecodeFunction0x2A0x290x20const(ptr noundef %0, i32 noundef %75, i32 noundef %481) #5
  br label %483

483:                                              ; preds = %482, %480
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %.not1578 = icmp eq i64 %indvars.iv.next, %146
  br i1 %.not1578, label %.loopexit1600, label %147

484:                                              ; preds = %31
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 176409, i32 noundef 85237, i32 noundef 67, i32 noundef 103502) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

485:                                              ; preds = %16
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 176361, i32 noundef 85237, i32 noundef 64, i32 noundef 103485) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

486:                                              ; preds = %10
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 191855, i32 noundef 56554, i32 noundef 384, i32 noundef 91294) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

487:                                              ; preds = %2
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 173095, i32 noundef 56554, i32 noundef 379, i32 noundef 91294) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

.loopexit1600:                                    ; preds = %483, %119
  %488 = add i32 %4, -308
  tail call void @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfoGenerator0x3A0x3AserializeWithMove0x280x29(ptr noundef %0, i32 noundef %488, i32 noundef %111)
  %489 = add i32 %83, 112
  %490 = tail call i32 @w2c_hermes_hermes0x3A0x3Ahbc0x3A0x3ADebugInfo0x3A0x3Aoperator0x3D0x28hermes0x3A0x3Ahbc0x3A0x3ADebugInfo0x260x260x29(ptr noundef %0, i32 noundef %489, i32 noundef %488)
  %491 = add nuw nsw i64 %35, 104
  %492 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %491)
  %.not1579 = icmp eq i32 %492, 0
  br i1 %.not1579, label %495, label %493

493:                                              ; preds = %.loopexit1600
  %494 = add nuw nsw i64 %35, 108
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %494, i32 noundef %492)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %492) #5
  br label %495

495:                                              ; preds = %493, %.loopexit1600
  %496 = add nuw nsw i64 %35, 68
  %497 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %496)
  %498 = add i32 %4, -272
  %.not1580 = icmp eq i32 %497, %498
  br i1 %.not1580, label %500, label %499

499:                                              ; preds = %495
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %497) #5
  br label %500

500:                                              ; preds = %499, %495
  %501 = add nuw nsw i64 %35, 56
  %502 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %501)
  %.not1581 = icmp eq i32 %502, 0
  br i1 %.not1581, label %505, label %503

503:                                              ; preds = %500
  %504 = add nuw nsw i64 %35, 60
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %504, i32 noundef %502)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %502) #5
  br label %505

505:                                              ; preds = %503, %500
  %506 = add nuw nsw i64 %35, 44
  %507 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %506)
  %.not1582 = icmp eq i32 %507, 0
  br i1 %.not1582, label %510, label %508

508:                                              ; preds = %505
  %509 = add nuw nsw i64 %35, 48
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %509, i32 noundef %507)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %507) #5
  br label %510

510:                                              ; preds = %508, %505
  %511 = zext i32 %111 to i64
  %512 = add nuw nsw i64 %511, 104
  %513 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %512)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %513) #5
  %514 = add nuw nsw i64 %511, 92
  %515 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %514)
  %.not1583 = icmp eq i32 %515, 0
  br i1 %.not1583, label %518, label %516

516:                                              ; preds = %510
  %517 = add nuw nsw i64 %511, 96
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %517, i32 noundef %515)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %515) #5
  br label %518

518:                                              ; preds = %516, %510
  %519 = add nuw nsw i64 %511, 80
  %520 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %519)
  %.not1584 = icmp eq i32 %520, 0
  br i1 %.not1584, label %523, label %521

521:                                              ; preds = %518
  %522 = add nuw nsw i64 %511, 84
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %522, i32 noundef %520)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %520) #5
  br label %523

523:                                              ; preds = %521, %518
  %524 = add nuw nsw i64 %511, 68
  %525 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %524)
  %.not1585 = icmp eq i32 %525, 0
  br i1 %.not1585, label %528, label %526

526:                                              ; preds = %523
  %527 = add nuw nsw i64 %511, 72
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %527, i32 noundef %525)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %525) #5
  br label %528

528:                                              ; preds = %526, %523
  %529 = add nuw nsw i64 %511, 44
  %530 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %529)
  %531 = add i32 %111, 56
  %.not1586 = icmp eq i32 %530, %531
  br i1 %.not1586, label %533, label %532

532:                                              ; preds = %528
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %530) #5
  br label %533

533:                                              ; preds = %532, %528
  %534 = add nuw nsw i64 %511, 28
  %535 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %534)
  %.not1587 = icmp eq i32 %535, 0
  br i1 %.not1587, label %538, label %536

536:                                              ; preds = %533
  %537 = add nuw nsw i64 %511, 32
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %537, i32 noundef %535)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %535) #5
  br label %538

538:                                              ; preds = %536, %533
  %539 = add nuw nsw i64 %511, 16
  %540 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %539)
  %.not1588 = icmp eq i32 %540, 0
  br i1 %.not1588, label %543, label %541

541:                                              ; preds = %538
  %542 = add nuw nsw i64 %511, 20
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %542, i32 noundef %540)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %540) #5
  br label %543

543:                                              ; preds = %541, %538
  %544 = add nuw nsw i64 %511, 4
  %545 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %544)
  %.not1589 = icmp eq i32 %545, 0
  br i1 %.not1589, label %548, label %546

546:                                              ; preds = %543
  %547 = add nuw nsw i64 %511, 8
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %547, i32 noundef %545)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %545) #5
  br label %548

548:                                              ; preds = %546, %543
  %549 = add nuw nsw i64 %35, 328
  %550 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %549)
  %.not1590 = icmp eq i32 %550, 0
  br i1 %.not1590, label %553, label %551

551:                                              ; preds = %548
  %552 = add nuw nsw i64 %35, 332
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %552, i32 noundef %550)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %550) #5
  br label %553

553:                                              ; preds = %551, %548
  %554 = add nuw nsw i64 %35, 340
  %555 = tail call i32 @i32_load(ptr noundef nonnull %6, i64 noundef %554)
  %.not1591 = icmp eq i32 %555, 0
  br i1 %.not1591, label %558, label %556

556:                                              ; preds = %553
  %557 = add nuw nsw i64 %35, 344
  tail call void @i32_store(ptr noundef nonnull %6, i64 noundef %557, i32 noundef %555)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %555) #5
  br label %558

558:                                              ; preds = %556, %553
  store i32 %4, ptr %3, align 8, !tbaa !5
  ret i32 %83
}

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

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

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

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

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

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

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

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

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

; 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 = !{!19, !7, i64 0}
!22 = !{!19, !7, i64 16}


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