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

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

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

@w2c_hermes_t3 = external constant ptr, align 8
@w2c_hermes_t2 = external constant ptr, align 8
@w2c_hermes_t5 = external constant ptr, align 8
@w2c_hermes_t0 = 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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AraisePlaceholder0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 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: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #2

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

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

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

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

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

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

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i64 noundef) #1

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

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

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef, i32 noundef) #1

declare void @w2c_hermes_abort(ptr noundef) #1

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

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) #1

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

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

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

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

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AweakRefReadBarrier0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x2A0x29(ptr noundef, i32 noundef, i32 noundef) #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3AaddRuntimeModule0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i32 noundef, i64 noundef) #1

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineNewOwnProperty0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef, i32 noundef) #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef, i32 noundef) #1

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

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

102:                                              ; preds = %7
  br label %898

103:                                              ; preds = %7
  %104 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %104, ptr %40, align 4, !tbaa !9
  %105 = load ptr, ptr %8, align 8, !tbaa !5
  %106 = getelementptr inbounds %struct.w2c_hermes, ptr %105, i32 0, i32 6
  %107 = load i32, ptr %40, align 4, !tbaa !9
  %108 = zext i32 %107 to i64
  %109 = add i64 %108, 5724
  %110 = call i32 @i32_load8_u(ptr noundef %106, i64 noundef %109)
  store i32 %110, ptr %40, align 4, !tbaa !9
  %111 = load i32, ptr %40, align 4, !tbaa !9
  %112 = icmp ne i32 %111, 0
  br i1 %112, label %113, label %114

113:                                              ; preds = %103
  br label %898

114:                                              ; preds = %103
  %115 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %115, ptr %40, align 4, !tbaa !9
  %116 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %116, ptr %41, align 4, !tbaa !9
  %117 = load ptr, ptr %8, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.w2c_hermes, ptr %117, i32 0, i32 6
  %119 = load i32, ptr %40, align 4, !tbaa !9
  %120 = zext i32 %119 to i64
  %121 = add i64 %120, 80
  %122 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %118, i64 noundef %121, i32 noundef %122)
  %123 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %123, ptr %40, align 4, !tbaa !9
  %124 = load ptr, ptr %8, align 8, !tbaa !5
  %125 = getelementptr inbounds %struct.w2c_hermes, ptr %124, i32 0, i32 6
  %126 = load i32, ptr %40, align 4, !tbaa !9
  %127 = zext i32 %126 to i64
  %128 = add i64 %127, 4
  %129 = call i32 @i32_load(ptr noundef %125, i64 noundef %128)
  store i32 %129, ptr %40, align 4, !tbaa !9
  %130 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %130, ptr %22, align 4, !tbaa !9
  %131 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %131, ptr %40, align 4, !tbaa !9
  store i32 228, ptr %41, align 4, !tbaa !9
  %132 = load i32, ptr %41, align 4, !tbaa !9
  %133 = load i32, ptr %40, align 4, !tbaa !9
  %134 = add i32 %133, %132
  store i32 %134, ptr %40, align 4, !tbaa !9
  %135 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %135, ptr %17, align 4, !tbaa !9
  %136 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %136, ptr %41, align 4, !tbaa !9
  store i32 88, ptr %42, align 4, !tbaa !9
  %137 = load i32, ptr %42, align 4, !tbaa !9
  %138 = load i32, ptr %41, align 4, !tbaa !9
  %139 = add i32 %138, %137
  store i32 %139, ptr %41, align 4, !tbaa !9
  %140 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %140, ptr %16, align 4, !tbaa !9
  %141 = load ptr, ptr %8, align 8, !tbaa !5
  %142 = getelementptr inbounds %struct.w2c_hermes, ptr %141, i32 0, i32 6
  %143 = load i32, ptr %40, align 4, !tbaa !9
  %144 = zext i32 %143 to i64
  %145 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %142, i64 noundef %144, i32 noundef %145)
  %146 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %146, ptr %40, align 4, !tbaa !9
  store i64 17179869185, ptr %49, align 8, !tbaa !11
  %147 = load ptr, ptr %8, align 8, !tbaa !5
  %148 = getelementptr inbounds %struct.w2c_hermes, ptr %147, i32 0, i32 6
  %149 = load i32, ptr %40, align 4, !tbaa !9
  %150 = zext i32 %149 to i64
  %151 = add i64 %150, 220
  %152 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %148, i64 noundef %151, i64 noundef %152)
  %153 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %153, ptr %40, align 4, !tbaa !9
  %154 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %154, ptr %41, align 4, !tbaa !9
  %155 = load ptr, ptr %8, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.w2c_hermes, ptr %155, i32 0, i32 6
  %157 = load i32, ptr %40, align 4, !tbaa !9
  %158 = zext i32 %157 to i64
  %159 = add i64 %158, 216
  %160 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %156, i64 noundef %159, i32 noundef %160)
  %161 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %161, ptr %40, align 4, !tbaa !9
  %162 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %162, ptr %41, align 4, !tbaa !9
  %163 = load ptr, ptr %8, align 8, !tbaa !5
  %164 = getelementptr inbounds %struct.w2c_hermes, ptr %163, i32 0, i32 6
  %165 = load i32, ptr %40, align 4, !tbaa !9
  %166 = zext i32 %165 to i64
  %167 = add i64 %166, 84
  %168 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %164, i64 noundef %167, i32 noundef %168)
  %169 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %169, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %170 = load ptr, ptr %8, align 8, !tbaa !5
  %171 = getelementptr inbounds %struct.w2c_hermes, ptr %170, i32 0, i32 6
  %172 = load i32, ptr %40, align 4, !tbaa !9
  %173 = zext i32 %172 to i64
  %174 = add i64 %173, 252
  %175 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %171, i64 noundef %174, i32 noundef %175)
  %176 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %176, ptr %40, align 4, !tbaa !9
  %177 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %177, ptr %41, align 4, !tbaa !9
  store i32 216, ptr %42, align 4, !tbaa !9
  %178 = load i32, ptr %42, align 4, !tbaa !9
  %179 = load i32, ptr %41, align 4, !tbaa !9
  %180 = add i32 %179, %178
  store i32 %180, ptr %41, align 4, !tbaa !9
  %181 = load ptr, ptr %8, align 8, !tbaa !5
  %182 = getelementptr inbounds %struct.w2c_hermes, ptr %181, i32 0, i32 6
  %183 = load i32, ptr %40, align 4, !tbaa !9
  %184 = zext i32 %183 to i64
  %185 = add i64 %184, 248
  %186 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %182, i64 noundef %185, i32 noundef %186)
  %187 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %187, ptr %40, align 4, !tbaa !9
  %188 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %188, ptr %41, align 4, !tbaa !9
  %189 = load ptr, ptr %8, align 8, !tbaa !5
  %190 = getelementptr inbounds %struct.w2c_hermes, ptr %189, i32 0, i32 6
  %191 = load i32, ptr %40, align 4, !tbaa !9
  %192 = zext i32 %191 to i64
  %193 = add i64 %192, 244
  %194 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %190, i64 noundef %193, i32 noundef %194)
  %195 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %195, ptr %40, align 4, !tbaa !9
  %196 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %196, ptr %41, align 4, !tbaa !9
  store i32 80, ptr %42, align 4, !tbaa !9
  %197 = load i32, ptr %42, align 4, !tbaa !9
  %198 = load i32, ptr %41, align 4, !tbaa !9
  %199 = add i32 %198, %197
  store i32 %199, ptr %41, align 4, !tbaa !9
  %200 = load ptr, ptr %8, align 8, !tbaa !5
  %201 = getelementptr inbounds %struct.w2c_hermes, ptr %200, i32 0, i32 6
  %202 = load i32, ptr %40, align 4, !tbaa !9
  %203 = zext i32 %202 to i64
  %204 = add i64 %203, 4
  %205 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %201, i64 noundef %204, i32 noundef %205)
  %206 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %206, ptr %40, align 4, !tbaa !9
  %207 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %207, ptr %41, align 4, !tbaa !9
  %208 = load ptr, ptr %8, align 8, !tbaa !5
  %209 = getelementptr inbounds %struct.w2c_hermes, ptr %208, i32 0, i32 6
  %210 = load i32, ptr %40, align 4, !tbaa !9
  %211 = zext i32 %210 to i64
  %212 = add i64 %211, 60
  %213 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %209, i64 noundef %212, i32 noundef %213)
  %214 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %214, ptr %40, align 4, !tbaa !9
  store i32 120164, ptr %41, align 4, !tbaa !9
  %215 = load ptr, ptr %8, align 8, !tbaa !5
  %216 = getelementptr inbounds %struct.w2c_hermes, ptr %215, i32 0, i32 6
  %217 = load i32, ptr %40, align 4, !tbaa !9
  %218 = zext i32 %217 to i64
  %219 = add i64 %218, 56
  %220 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %216, i64 noundef %219, i32 noundef %220)
  %221 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %221, ptr %40, align 4, !tbaa !9
  %222 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %222, ptr %41, align 4, !tbaa !9
  store i32 56, ptr %42, align 4, !tbaa !9
  %223 = load i32, ptr %42, align 4, !tbaa !9
  %224 = load i32, ptr %41, align 4, !tbaa !9
  %225 = add i32 %224, %223
  store i32 %225, ptr %41, align 4, !tbaa !9
  %226 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %226, ptr %17, align 4, !tbaa !9
  %227 = load ptr, ptr %8, align 8, !tbaa !5
  %228 = getelementptr inbounds %struct.w2c_hermes, ptr %227, i32 0, i32 6
  %229 = load i32, ptr %40, align 4, !tbaa !9
  %230 = zext i32 %229 to i64
  %231 = add i64 %230, 72
  %232 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %228, i64 noundef %231, i32 noundef %232)
  %233 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %233, ptr %40, align 4, !tbaa !9
  %234 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %234, ptr %41, align 4, !tbaa !9
  %235 = load ptr, ptr %8, align 8, !tbaa !5
  %236 = load i32, ptr %40, align 4, !tbaa !9
  %237 = load i32, ptr %41, align 4, !tbaa !9
  %238 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AforEachPublicNativeBuiltin0x28std0x3A0x3A_0x5F20x3A0x3Afunction0x3Chermes0x3A0x3Avm0x3A0x3AExecutionStatus0x200x28unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3APredefined0x3A0x3AStr0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x290x3E0x20const0x260x29(ptr noundef %235, i32 noundef %236, i32 noundef %237)
  store i32 %238, ptr %40, align 4, !tbaa !9
  %239 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %239, ptr %22, align 4, !tbaa !9
  %240 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %240, ptr %40, align 4, !tbaa !9
  %241 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %241, ptr %41, align 4, !tbaa !9
  %242 = load ptr, ptr %8, align 8, !tbaa !5
  %243 = getelementptr inbounds %struct.w2c_hermes, ptr %242, i32 0, i32 6
  %244 = load i32, ptr %41, align 4, !tbaa !9
  %245 = zext i32 %244 to i64
  %246 = add i64 %245, 72
  %247 = call i32 @i32_load(ptr noundef %243, i64 noundef %246)
  store i32 %247, ptr %41, align 4, !tbaa !9
  %248 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %248, ptr %16, align 4, !tbaa !9
  %249 = load i32, ptr %40, align 4, !tbaa !9
  %250 = load i32, ptr %41, align 4, !tbaa !9
  %251 = icmp eq i32 %249, %250
  %252 = zext i1 %251 to i32
  store i32 %252, ptr %40, align 4, !tbaa !9
  %253 = load i32, ptr %40, align 4, !tbaa !9
  %254 = icmp ne i32 %253, 0
  br i1 %254, label %255, label %271

255:                                              ; preds = %114
  %256 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %256, ptr %40, align 4, !tbaa !9
  store i32 56, ptr %41, align 4, !tbaa !9
  %257 = load i32, ptr %41, align 4, !tbaa !9
  %258 = load i32, ptr %40, align 4, !tbaa !9
  %259 = add i32 %258, %257
  store i32 %259, ptr %40, align 4, !tbaa !9
  %260 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %260, ptr %16, align 4, !tbaa !9
  %261 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %261, ptr %40, align 4, !tbaa !9
  %262 = load ptr, ptr %8, align 8, !tbaa !5
  %263 = getelementptr inbounds %struct.w2c_hermes, ptr %262, i32 0, i32 6
  %264 = load i32, ptr %40, align 4, !tbaa !9
  %265 = zext i32 %264 to i64
  %266 = add i64 %265, 56
  %267 = call i32 @i32_load(ptr noundef %263, i64 noundef %266)
  store i32 %267, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %268 = load i32, ptr %41, align 4, !tbaa !9
  %269 = load i32, ptr %40, align 4, !tbaa !9
  %270 = add i32 %269, %268
  store i32 %270, ptr %40, align 4, !tbaa !9
  br label %290

271:                                              ; preds = %114
  %272 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %272, ptr %40, align 4, !tbaa !9
  %273 = load i32, ptr %40, align 4, !tbaa !9
  %274 = icmp ne i32 %273, 0
  %275 = xor i1 %274, true
  %276 = zext i1 %275 to i32
  store i32 %276, ptr %40, align 4, !tbaa !9
  %277 = load i32, ptr %40, align 4, !tbaa !9
  %278 = icmp ne i32 %277, 0
  br i1 %278, label %279, label %280

279:                                              ; preds = %271
  br label %360

280:                                              ; preds = %271
  %281 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %281, ptr %40, align 4, !tbaa !9
  %282 = load ptr, ptr %8, align 8, !tbaa !5
  %283 = getelementptr inbounds %struct.w2c_hermes, ptr %282, i32 0, i32 6
  %284 = load i32, ptr %40, align 4, !tbaa !9
  %285 = zext i32 %284 to i64
  %286 = call i32 @i32_load(ptr noundef %283, i64 noundef %285)
  store i32 %286, ptr %40, align 4, !tbaa !9
  store i32 20, ptr %41, align 4, !tbaa !9
  %287 = load i32, ptr %41, align 4, !tbaa !9
  %288 = load i32, ptr %40, align 4, !tbaa !9
  %289 = add i32 %288, %287
  store i32 %289, ptr %40, align 4, !tbaa !9
  br label %290

290:                                              ; preds = %280, %255
  %291 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %291, ptr %17, align 4, !tbaa !9
  %292 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %292, ptr %40, align 4, !tbaa !9
  %293 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %293, ptr %41, align 4, !tbaa !9
  %294 = load ptr, ptr %8, align 8, !tbaa !5
  %295 = getelementptr inbounds %struct.w2c_hermes, ptr %294, i32 0, i32 6
  %296 = load i32, ptr %41, align 4, !tbaa !9
  %297 = zext i32 %296 to i64
  %298 = call i32 @i32_load(ptr noundef %295, i64 noundef %297)
  store i32 %298, ptr %41, align 4, !tbaa !9
  %299 = load i32, ptr %41, align 4, !tbaa !9
  %300 = load ptr, ptr %8, align 8, !tbaa !5
  %301 = getelementptr inbounds %struct.w2c_hermes, ptr %300, i32 0, i32 7
  %302 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %301, i32 0, i32 2
  %303 = load i32, ptr %302, align 4, !tbaa !18
  %304 = icmp ult i32 %299, %303
  br i1 %304, label %305, label %328

305:                                              ; preds = %290
  %306 = load ptr, ptr %8, align 8, !tbaa !5
  %307 = getelementptr inbounds %struct.w2c_hermes, ptr %306, i32 0, i32 7
  %308 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %307, i32 0, i32 0
  %309 = load ptr, ptr %308, align 8, !tbaa !19
  %310 = load i32, ptr %41, align 4, !tbaa !9
  %311 = zext i32 %310 to i64
  %312 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %309, i64 %311
  %313 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %312, i32 0, i32 1
  %314 = load ptr, ptr %313, align 8, !tbaa !20
  %315 = icmp ne ptr %314, null
  br i1 %315, label %316, label %328

316:                                              ; preds = %305
  %317 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %318 = load ptr, ptr %8, align 8, !tbaa !5
  %319 = getelementptr inbounds %struct.w2c_hermes, ptr %318, i32 0, i32 7
  %320 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %319, i32 0, i32 0
  %321 = load ptr, ptr %320, align 8, !tbaa !19
  %322 = load i32, ptr %41, align 4, !tbaa !9
  %323 = zext i32 %322 to i64
  %324 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %321, i64 %323
  %325 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %324, i32 0, i32 0
  %326 = load ptr, ptr %325, align 8, !tbaa !22
  %327 = call zeroext i1 @func_types_eq(ptr noundef %317, ptr noundef %326)
  br label %328

328:                                              ; preds = %316, %305, %290
  %329 = phi i1 [ false, %305 ], [ false, %290 ], [ %327, %316 ]
  %330 = xor i1 %329, true
  %331 = xor i1 %330, true
  %332 = zext i1 %331 to i32
  %333 = sext i32 %332 to i64
  %334 = call i64 @llvm.expect.i64(i64 %333, i64 1)
  %335 = icmp ne i64 %334, 0
  br i1 %335, label %338, label %336

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

337:                                              ; No predecessors!
  br label %338

338:                                              ; preds = %337, %328
  %339 = phi i1 [ true, %328 ], [ false, %337 ]
  %340 = zext i1 %339 to i32
  %341 = load ptr, ptr %8, align 8, !tbaa !5
  %342 = getelementptr inbounds %struct.w2c_hermes, ptr %341, i32 0, i32 7
  %343 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %342, i32 0, i32 0
  %344 = load ptr, ptr %343, align 8, !tbaa !19
  %345 = load i32, ptr %41, align 4, !tbaa !9
  %346 = zext i32 %345 to i64
  %347 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %344, i64 %346
  %348 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %347, i32 0, i32 1
  %349 = load ptr, ptr %348, align 8, !tbaa !20
  %350 = load ptr, ptr %8, align 8, !tbaa !5
  %351 = getelementptr inbounds %struct.w2c_hermes, ptr %350, i32 0, i32 7
  %352 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %351, i32 0, i32 0
  %353 = load ptr, ptr %352, align 8, !tbaa !19
  %354 = load i32, ptr %41, align 4, !tbaa !9
  %355 = zext i32 %354 to i64
  %356 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %353, i64 %355
  %357 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %356, i32 0, i32 2
  %358 = load ptr, ptr %357, align 8, !tbaa !23
  %359 = load i32, ptr %40, align 4, !tbaa !9
  call void %349(ptr noundef %358, i32 noundef %359)
  br label %360

360:                                              ; preds = %338, %279
  %361 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %361, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %362 = load i32, ptr %41, align 4, !tbaa !9
  %363 = load i32, ptr %40, align 4, !tbaa !9
  %364 = add i32 %363, %362
  store i32 %364, ptr %40, align 4, !tbaa !9
  %365 = load ptr, ptr %8, align 8, !tbaa !5
  %366 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %365, i32 noundef %366)
  %367 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %367, ptr %40, align 4, !tbaa !9
  %368 = load i32, ptr %40, align 4, !tbaa !9
  %369 = icmp ne i32 %368, 0
  %370 = xor i1 %369, true
  %371 = zext i1 %370 to i32
  store i32 %371, ptr %40, align 4, !tbaa !9
  %372 = load i32, ptr %40, align 4, !tbaa !9
  %373 = icmp ne i32 %372, 0
  br i1 %373, label %374, label %381

374:                                              ; preds = %360
  %375 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %375, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %376 = load ptr, ptr %8, align 8, !tbaa !5
  %377 = getelementptr inbounds %struct.w2c_hermes, ptr %376, i32 0, i32 6
  %378 = load i32, ptr %40, align 4, !tbaa !9
  %379 = zext i32 %378 to i64
  %380 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %377, i64 noundef %379, i32 noundef %380)
  br label %8332

381:                                              ; preds = %360
  %382 = load ptr, ptr %8, align 8, !tbaa !5
  %383 = getelementptr inbounds %struct.w2c_hermes, ptr %382, i32 0, i32 3
  %384 = load i32, ptr %383, align 8, !tbaa !13
  store i32 %384, ptr %40, align 4, !tbaa !9
  store i32 272, ptr %41, align 4, !tbaa !9
  %385 = load i32, ptr %41, align 4, !tbaa !9
  %386 = load i32, ptr %40, align 4, !tbaa !9
  %387 = sub i32 %386, %385
  store i32 %387, ptr %40, align 4, !tbaa !9
  %388 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %388, ptr %15, align 4, !tbaa !9
  %389 = load i32, ptr %40, align 4, !tbaa !9
  %390 = load ptr, ptr %8, align 8, !tbaa !5
  %391 = getelementptr inbounds %struct.w2c_hermes, ptr %390, i32 0, i32 3
  store i32 %389, ptr %391, align 8, !tbaa !13
  %392 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %392, ptr %40, align 4, !tbaa !9
  %393 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %393, ptr %41, align 4, !tbaa !9
  %394 = load ptr, ptr %8, align 8, !tbaa !5
  %395 = getelementptr inbounds %struct.w2c_hermes, ptr %394, i32 0, i32 6
  %396 = load i32, ptr %40, align 4, !tbaa !9
  %397 = zext i32 %396 to i64
  %398 = add i64 %397, 96
  %399 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %395, i64 noundef %398, i32 noundef %399)
  %400 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %400, ptr %40, align 4, !tbaa !9
  %401 = load ptr, ptr %8, align 8, !tbaa !5
  %402 = getelementptr inbounds %struct.w2c_hermes, ptr %401, i32 0, i32 6
  %403 = load i32, ptr %40, align 4, !tbaa !9
  %404 = zext i32 %403 to i64
  %405 = add i64 %404, 4
  %406 = call i32 @i32_load(ptr noundef %402, i64 noundef %405)
  store i32 %406, ptr %40, align 4, !tbaa !9
  %407 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %407, ptr %22, align 4, !tbaa !9
  %408 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %408, ptr %40, align 4, !tbaa !9
  store i32 244, ptr %41, align 4, !tbaa !9
  %409 = load i32, ptr %41, align 4, !tbaa !9
  %410 = load i32, ptr %40, align 4, !tbaa !9
  %411 = add i32 %410, %409
  store i32 %411, ptr %40, align 4, !tbaa !9
  %412 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %412, ptr %17, align 4, !tbaa !9
  %413 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %413, ptr %41, align 4, !tbaa !9
  store i32 104, ptr %42, align 4, !tbaa !9
  %414 = load i32, ptr %42, align 4, !tbaa !9
  %415 = load i32, ptr %41, align 4, !tbaa !9
  %416 = add i32 %415, %414
  store i32 %416, ptr %41, align 4, !tbaa !9
  %417 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %417, ptr %16, align 4, !tbaa !9
  %418 = load ptr, ptr %8, align 8, !tbaa !5
  %419 = getelementptr inbounds %struct.w2c_hermes, ptr %418, i32 0, i32 6
  %420 = load i32, ptr %40, align 4, !tbaa !9
  %421 = zext i32 %420 to i64
  %422 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %419, i64 noundef %421, i32 noundef %422)
  %423 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %423, ptr %40, align 4, !tbaa !9
  store i64 17179869185, ptr %49, align 8, !tbaa !11
  %424 = load ptr, ptr %8, align 8, !tbaa !5
  %425 = getelementptr inbounds %struct.w2c_hermes, ptr %424, i32 0, i32 6
  %426 = load i32, ptr %40, align 4, !tbaa !9
  %427 = zext i32 %426 to i64
  %428 = add i64 %427, 236
  %429 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %425, i64 noundef %428, i64 noundef %429)
  %430 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %430, ptr %40, align 4, !tbaa !9
  %431 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %431, ptr %41, align 4, !tbaa !9
  %432 = load ptr, ptr %8, align 8, !tbaa !5
  %433 = getelementptr inbounds %struct.w2c_hermes, ptr %432, i32 0, i32 6
  %434 = load i32, ptr %40, align 4, !tbaa !9
  %435 = zext i32 %434 to i64
  %436 = add i64 %435, 232
  %437 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %433, i64 noundef %436, i32 noundef %437)
  %438 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %438, ptr %40, align 4, !tbaa !9
  %439 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %439, ptr %41, align 4, !tbaa !9
  %440 = load ptr, ptr %8, align 8, !tbaa !5
  %441 = getelementptr inbounds %struct.w2c_hermes, ptr %440, i32 0, i32 6
  %442 = load i32, ptr %40, align 4, !tbaa !9
  %443 = zext i32 %442 to i64
  %444 = add i64 %443, 100
  %445 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %441, i64 noundef %444, i32 noundef %445)
  %446 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %446, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %447 = load ptr, ptr %8, align 8, !tbaa !5
  %448 = getelementptr inbounds %struct.w2c_hermes, ptr %447, i32 0, i32 6
  %449 = load i32, ptr %40, align 4, !tbaa !9
  %450 = zext i32 %449 to i64
  %451 = add i64 %450, 268
  %452 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %448, i64 noundef %451, i32 noundef %452)
  %453 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %453, ptr %40, align 4, !tbaa !9
  %454 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %454, ptr %41, align 4, !tbaa !9
  store i32 232, ptr %42, align 4, !tbaa !9
  %455 = load i32, ptr %42, align 4, !tbaa !9
  %456 = load i32, ptr %41, align 4, !tbaa !9
  %457 = add i32 %456, %455
  store i32 %457, ptr %41, align 4, !tbaa !9
  %458 = load ptr, ptr %8, align 8, !tbaa !5
  %459 = getelementptr inbounds %struct.w2c_hermes, ptr %458, i32 0, i32 6
  %460 = load i32, ptr %40, align 4, !tbaa !9
  %461 = zext i32 %460 to i64
  %462 = add i64 %461, 264
  %463 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %459, i64 noundef %462, i32 noundef %463)
  %464 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %464, ptr %40, align 4, !tbaa !9
  %465 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %465, ptr %41, align 4, !tbaa !9
  %466 = load ptr, ptr %8, align 8, !tbaa !5
  %467 = getelementptr inbounds %struct.w2c_hermes, ptr %466, i32 0, i32 6
  %468 = load i32, ptr %40, align 4, !tbaa !9
  %469 = zext i32 %468 to i64
  %470 = add i64 %469, 260
  %471 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %467, i64 noundef %470, i32 noundef %471)
  %472 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %472, ptr %40, align 4, !tbaa !9
  %473 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %473, ptr %41, align 4, !tbaa !9
  store i32 96, ptr %42, align 4, !tbaa !9
  %474 = load i32, ptr %42, align 4, !tbaa !9
  %475 = load i32, ptr %41, align 4, !tbaa !9
  %476 = add i32 %475, %474
  store i32 %476, ptr %41, align 4, !tbaa !9
  %477 = load ptr, ptr %8, align 8, !tbaa !5
  %478 = getelementptr inbounds %struct.w2c_hermes, ptr %477, i32 0, i32 6
  %479 = load i32, ptr %40, align 4, !tbaa !9
  %480 = zext i32 %479 to i64
  %481 = add i64 %480, 4
  %482 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %478, i64 noundef %481, i32 noundef %482)
  %483 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %483, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %484 = load ptr, ptr %8, align 8, !tbaa !5
  %485 = getelementptr inbounds %struct.w2c_hermes, ptr %484, i32 0, i32 6
  %486 = load i32, ptr %40, align 4, !tbaa !9
  %487 = zext i32 %486 to i64
  %488 = add i64 %487, 92
  %489 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %485, i64 noundef %488, i32 noundef %489)
  %490 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %490, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %491 = load ptr, ptr %8, align 8, !tbaa !5
  %492 = getelementptr inbounds %struct.w2c_hermes, ptr %491, i32 0, i32 6
  %493 = load i32, ptr %40, align 4, !tbaa !9
  %494 = zext i32 %493 to i64
  %495 = add i64 %494, 84
  %496 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %492, i64 noundef %495, i64 noundef %496)
  %497 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %497, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %498 = load ptr, ptr %8, align 8, !tbaa !5
  %499 = getelementptr inbounds %struct.w2c_hermes, ptr %498, i32 0, i32 6
  %500 = load i32, ptr %40, align 4, !tbaa !9
  %501 = zext i32 %500 to i64
  %502 = add i64 %501, 80
  %503 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %499, i64 noundef %502, i32 noundef %503)
  %504 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %504, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %505 = load ptr, ptr %8, align 8, !tbaa !5
  %506 = getelementptr inbounds %struct.w2c_hermes, ptr %505, i32 0, i32 6
  %507 = load i32, ptr %40, align 4, !tbaa !9
  %508 = zext i32 %507 to i64
  %509 = add i64 %508, 72
  %510 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %506, i64 noundef %509, i64 noundef %510)
  %511 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %511, ptr %40, align 4, !tbaa !9
  store i32 12, ptr %41, align 4, !tbaa !9
  %512 = load ptr, ptr %8, align 8, !tbaa !5
  %513 = getelementptr inbounds %struct.w2c_hermes, ptr %512, i32 0, i32 6
  %514 = load i32, ptr %40, align 4, !tbaa !9
  %515 = zext i32 %514 to i64
  %516 = add i64 %515, 70
  %517 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %513, i64 noundef %516, i32 noundef %517)
  %518 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %518, ptr %40, align 4, !tbaa !9
  store i32 512, ptr %41, align 4, !tbaa !9
  %519 = load ptr, ptr %8, align 8, !tbaa !5
  %520 = getelementptr inbounds %struct.w2c_hermes, ptr %519, i32 0, i32 6
  %521 = load i32, ptr %40, align 4, !tbaa !9
  %522 = zext i32 %521 to i64
  %523 = add i64 %522, 68
  %524 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %520, i64 noundef %523, i32 noundef %524)
  store i32 24, ptr %40, align 4, !tbaa !9
  %525 = load ptr, ptr %8, align 8, !tbaa !5
  %526 = load i32, ptr %40, align 4, !tbaa !9
  %527 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %525, i32 noundef %526)
  store i32 %527, ptr %40, align 4, !tbaa !9
  %528 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %528, ptr %16, align 4, !tbaa !9
  %529 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %529, ptr %41, align 4, !tbaa !9
  %530 = load ptr, ptr %8, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.w2c_hermes, ptr %530, i32 0, i32 6
  %532 = load i32, ptr %40, align 4, !tbaa !9
  %533 = zext i32 %532 to i64
  %534 = add i64 %533, 4
  %535 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %531, i64 noundef %534, i32 noundef %535)
  %536 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %536, ptr %40, align 4, !tbaa !9
  store i32 120200, ptr %41, align 4, !tbaa !9
  %537 = load ptr, ptr %8, align 8, !tbaa !5
  %538 = getelementptr inbounds %struct.w2c_hermes, ptr %537, i32 0, i32 6
  %539 = load i32, ptr %40, align 4, !tbaa !9
  %540 = zext i32 %539 to i64
  %541 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %538, i64 noundef %540, i32 noundef %541)
  %542 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %542, ptr %40, align 4, !tbaa !9
  %543 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %543, ptr %41, align 4, !tbaa !9
  store i32 68, ptr %42, align 4, !tbaa !9
  %544 = load i32, ptr %42, align 4, !tbaa !9
  %545 = load i32, ptr %41, align 4, !tbaa !9
  %546 = add i32 %545, %544
  store i32 %546, ptr %41, align 4, !tbaa !9
  %547 = load ptr, ptr %8, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.w2c_hermes, ptr %547, i32 0, i32 6
  %549 = load i32, ptr %40, align 4, !tbaa !9
  %550 = zext i32 %549 to i64
  %551 = add i64 %550, 20
  %552 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %548, i64 noundef %551, i32 noundef %552)
  %553 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %553, ptr %40, align 4, !tbaa !9
  %554 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %554, ptr %41, align 4, !tbaa !9
  store i32 70, ptr %42, align 4, !tbaa !9
  %555 = load i32, ptr %42, align 4, !tbaa !9
  %556 = load i32, ptr %41, align 4, !tbaa !9
  %557 = add i32 %556, %555
  store i32 %557, ptr %41, align 4, !tbaa !9
  %558 = load ptr, ptr %8, align 8, !tbaa !5
  %559 = getelementptr inbounds %struct.w2c_hermes, ptr %558, i32 0, i32 6
  %560 = load i32, ptr %40, align 4, !tbaa !9
  %561 = zext i32 %560 to i64
  %562 = add i64 %561, 16
  %563 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %559, i64 noundef %562, i32 noundef %563)
  %564 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %564, ptr %40, align 4, !tbaa !9
  %565 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %565, ptr %41, align 4, !tbaa !9
  store i32 72, ptr %42, align 4, !tbaa !9
  %566 = load i32, ptr %42, align 4, !tbaa !9
  %567 = load i32, ptr %41, align 4, !tbaa !9
  %568 = add i32 %567, %566
  store i32 %568, ptr %41, align 4, !tbaa !9
  %569 = load ptr, ptr %8, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.w2c_hermes, ptr %569, i32 0, i32 6
  %571 = load i32, ptr %40, align 4, !tbaa !9
  %572 = zext i32 %571 to i64
  %573 = add i64 %572, 12
  %574 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %570, i64 noundef %573, i32 noundef %574)
  %575 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %575, ptr %40, align 4, !tbaa !9
  %576 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %576, ptr %41, align 4, !tbaa !9
  store i32 84, ptr %42, align 4, !tbaa !9
  %577 = load i32, ptr %42, align 4, !tbaa !9
  %578 = load i32, ptr %41, align 4, !tbaa !9
  %579 = add i32 %578, %577
  store i32 %579, ptr %41, align 4, !tbaa !9
  %580 = load ptr, ptr %8, align 8, !tbaa !5
  %581 = getelementptr inbounds %struct.w2c_hermes, ptr %580, i32 0, i32 6
  %582 = load i32, ptr %40, align 4, !tbaa !9
  %583 = zext i32 %582 to i64
  %584 = add i64 %583, 8
  %585 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %581, i64 noundef %584, i32 noundef %585)
  %586 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %586, ptr %40, align 4, !tbaa !9
  %587 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %587, ptr %41, align 4, !tbaa !9
  %588 = load ptr, ptr %8, align 8, !tbaa !5
  %589 = getelementptr inbounds %struct.w2c_hermes, ptr %588, i32 0, i32 6
  %590 = load i32, ptr %40, align 4, !tbaa !9
  %591 = zext i32 %590 to i64
  %592 = add i64 %591, 56
  %593 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %589, i64 noundef %592, i32 noundef %593)
  %594 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %594, ptr %40, align 4, !tbaa !9
  %595 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %595, ptr %41, align 4, !tbaa !9
  store i32 40, ptr %42, align 4, !tbaa !9
  %596 = load i32, ptr %42, align 4, !tbaa !9
  %597 = load i32, ptr %41, align 4, !tbaa !9
  %598 = add i32 %597, %596
  store i32 %598, ptr %41, align 4, !tbaa !9
  %599 = load ptr, ptr %8, align 8, !tbaa !5
  %600 = load i32, ptr %40, align 4, !tbaa !9
  %601 = load i32, ptr %41, align 4, !tbaa !9
  %602 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AforEachPublicNativeBuiltin0x28std0x3A0x3A_0x5F20x3A0x3Afunction0x3Chermes0x3A0x3Avm0x3A0x3AExecutionStatus0x200x28unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3APredefined0x3A0x3AStr0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x290x3E0x20const0x260x29(ptr noundef %599, i32 noundef %600, i32 noundef %601)
  store i32 %602, ptr %40, align 4, !tbaa !9
  %603 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %603, ptr %40, align 4, !tbaa !9
  %604 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %604, ptr %41, align 4, !tbaa !9
  %605 = load ptr, ptr %8, align 8, !tbaa !5
  %606 = getelementptr inbounds %struct.w2c_hermes, ptr %605, i32 0, i32 6
  %607 = load i32, ptr %41, align 4, !tbaa !9
  %608 = zext i32 %607 to i64
  %609 = call i32 @i32_load(ptr noundef %606, i64 noundef %608)
  store i32 %609, ptr %41, align 4, !tbaa !9
  %610 = load ptr, ptr %8, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.w2c_hermes, ptr %610, i32 0, i32 6
  %612 = load i32, ptr %41, align 4, !tbaa !9
  %613 = zext i32 %612 to i64
  %614 = add i64 %613, 20
  %615 = call i32 @i32_load(ptr noundef %611, i64 noundef %614)
  store i32 %615, ptr %41, align 4, !tbaa !9
  %616 = load i32, ptr %41, align 4, !tbaa !9
  %617 = load ptr, ptr %8, align 8, !tbaa !5
  %618 = getelementptr inbounds %struct.w2c_hermes, ptr %617, i32 0, i32 7
  %619 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %618, i32 0, i32 2
  %620 = load i32, ptr %619, align 4, !tbaa !18
  %621 = icmp ult i32 %616, %620
  br i1 %621, label %622, label %645

622:                                              ; preds = %381
  %623 = load ptr, ptr %8, align 8, !tbaa !5
  %624 = getelementptr inbounds %struct.w2c_hermes, ptr %623, i32 0, i32 7
  %625 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %624, i32 0, i32 0
  %626 = load ptr, ptr %625, align 8, !tbaa !19
  %627 = load i32, ptr %41, align 4, !tbaa !9
  %628 = zext i32 %627 to i64
  %629 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %626, i64 %628
  %630 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %629, i32 0, i32 1
  %631 = load ptr, ptr %630, align 8, !tbaa !20
  %632 = icmp ne ptr %631, null
  br i1 %632, label %633, label %645

633:                                              ; preds = %622
  %634 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %635 = load ptr, ptr %8, align 8, !tbaa !5
  %636 = getelementptr inbounds %struct.w2c_hermes, ptr %635, i32 0, i32 7
  %637 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %636, i32 0, i32 0
  %638 = load ptr, ptr %637, align 8, !tbaa !19
  %639 = load i32, ptr %41, align 4, !tbaa !9
  %640 = zext i32 %639 to i64
  %641 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %638, i64 %640
  %642 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %641, i32 0, i32 0
  %643 = load ptr, ptr %642, align 8, !tbaa !22
  %644 = call zeroext i1 @func_types_eq(ptr noundef %634, ptr noundef %643)
  br label %645

645:                                              ; preds = %633, %622, %381
  %646 = phi i1 [ false, %622 ], [ false, %381 ], [ %644, %633 ]
  %647 = xor i1 %646, true
  %648 = xor i1 %647, true
  %649 = zext i1 %648 to i32
  %650 = sext i32 %649 to i64
  %651 = call i64 @llvm.expect.i64(i64 %650, i64 1)
  %652 = icmp ne i64 %651, 0
  br i1 %652, label %655, label %653

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

654:                                              ; No predecessors!
  br label %655

655:                                              ; preds = %654, %645
  %656 = phi i1 [ true, %645 ], [ false, %654 ]
  %657 = zext i1 %656 to i32
  %658 = load ptr, ptr %8, align 8, !tbaa !5
  %659 = getelementptr inbounds %struct.w2c_hermes, ptr %658, i32 0, i32 7
  %660 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %659, i32 0, i32 0
  %661 = load ptr, ptr %660, align 8, !tbaa !19
  %662 = load i32, ptr %41, align 4, !tbaa !9
  %663 = zext i32 %662 to i64
  %664 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %661, i64 %663
  %665 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %664, i32 0, i32 1
  %666 = load ptr, ptr %665, align 8, !tbaa !20
  %667 = load ptr, ptr %8, align 8, !tbaa !5
  %668 = getelementptr inbounds %struct.w2c_hermes, ptr %667, i32 0, i32 7
  %669 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %668, i32 0, i32 0
  %670 = load ptr, ptr %669, align 8, !tbaa !19
  %671 = load i32, ptr %41, align 4, !tbaa !9
  %672 = zext i32 %671 to i64
  %673 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %670, i64 %672
  %674 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %673, i32 0, i32 2
  %675 = load ptr, ptr %674, align 8, !tbaa !23
  %676 = load i32, ptr %40, align 4, !tbaa !9
  call void %666(ptr noundef %675, i32 noundef %676)
  %677 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %677, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %678 = load ptr, ptr %8, align 8, !tbaa !5
  %679 = getelementptr inbounds %struct.w2c_hermes, ptr %678, i32 0, i32 6
  %680 = load i32, ptr %40, align 4, !tbaa !9
  %681 = zext i32 %680 to i64
  %682 = add i64 %681, 32
  %683 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %679, i64 noundef %682, i32 noundef %683)
  %684 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %684, ptr %40, align 4, !tbaa !9
  %685 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %685, ptr %41, align 4, !tbaa !9
  %686 = load ptr, ptr %8, align 8, !tbaa !5
  %687 = getelementptr inbounds %struct.w2c_hermes, ptr %686, i32 0, i32 6
  %688 = load i32, ptr %41, align 4, !tbaa !9
  %689 = zext i32 %688 to i64
  %690 = add i64 %689, 32
  %691 = call i32 @i32_load(ptr noundef %687, i64 noundef %690)
  store i32 %691, ptr %41, align 4, !tbaa !9
  %692 = load ptr, ptr %8, align 8, !tbaa !5
  %693 = getelementptr inbounds %struct.w2c_hermes, ptr %692, i32 0, i32 6
  %694 = load i32, ptr %40, align 4, !tbaa !9
  %695 = zext i32 %694 to i64
  %696 = add i64 %695, 16
  %697 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %693, i64 noundef %696, i32 noundef %697)
  %698 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %698, ptr %40, align 4, !tbaa !9
  %699 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %699, ptr %41, align 4, !tbaa !9
  %700 = load ptr, ptr %8, align 8, !tbaa !5
  %701 = getelementptr inbounds %struct.w2c_hermes, ptr %700, i32 0, i32 6
  %702 = load i32, ptr %41, align 4, !tbaa !9
  %703 = zext i32 %702 to i64
  %704 = add i64 %703, 84
  %705 = call i32 @i32_load(ptr noundef %701, i64 noundef %704)
  store i32 %705, ptr %41, align 4, !tbaa !9
  %706 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %706, ptr %16, align 4, !tbaa !9
  %707 = load ptr, ptr %8, align 8, !tbaa !5
  %708 = getelementptr inbounds %struct.w2c_hermes, ptr %707, i32 0, i32 6
  %709 = load i32, ptr %40, align 4, !tbaa !9
  %710 = zext i32 %709 to i64
  %711 = add i64 %710, 24
  %712 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %708, i64 noundef %711, i32 noundef %712)
  %713 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %713, ptr %40, align 4, !tbaa !9
  %714 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %714, ptr %41, align 4, !tbaa !9
  %715 = load ptr, ptr %8, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.w2c_hermes, ptr %715, i32 0, i32 6
  %717 = load i32, ptr %41, align 4, !tbaa !9
  %718 = zext i32 %717 to i64
  %719 = add i64 %718, 88
  %720 = call i32 @i32_load(ptr noundef %716, i64 noundef %719)
  store i32 %720, ptr %41, align 4, !tbaa !9
  %721 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %721, ptr %42, align 4, !tbaa !9
  %722 = load i32, ptr %42, align 4, !tbaa !9
  %723 = load i32, ptr %41, align 4, !tbaa !9
  %724 = sub i32 %723, %722
  store i32 %724, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %725 = load i32, ptr %41, align 4, !tbaa !9
  %726 = load i32, ptr %42, align 4, !tbaa !9
  %727 = and i32 %726, 31
  %728 = ashr i32 %725, %727
  store i32 %728, ptr %41, align 4, !tbaa !9
  %729 = load ptr, ptr %8, align 8, !tbaa !5
  %730 = getelementptr inbounds %struct.w2c_hermes, ptr %729, i32 0, i32 6
  %731 = load i32, ptr %40, align 4, !tbaa !9
  %732 = zext i32 %731 to i64
  %733 = add i64 %732, 28
  %734 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %730, i64 noundef %733, i32 noundef %734)
  %735 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %735, ptr %40, align 4, !tbaa !9
  %736 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %736, ptr %41, align 4, !tbaa !9
  %737 = load ptr, ptr %8, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.w2c_hermes, ptr %737, i32 0, i32 6
  %739 = load i32, ptr %41, align 4, !tbaa !9
  %740 = zext i32 %739 to i64
  %741 = add i64 %740, 70
  %742 = call i32 @i32_load16_u(ptr noundef %738, i64 noundef %741)
  store i32 %742, ptr %41, align 4, !tbaa !9
  %743 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %743, ptr %17, align 4, !tbaa !9
  %744 = load ptr, ptr %8, align 8, !tbaa !5
  %745 = getelementptr inbounds %struct.w2c_hermes, ptr %744, i32 0, i32 6
  %746 = load i32, ptr %40, align 4, !tbaa !9
  %747 = zext i32 %746 to i64
  %748 = add i64 %747, 38
  %749 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %745, i64 noundef %748, i32 noundef %749)
  %750 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %750, ptr %40, align 4, !tbaa !9
  %751 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %751, ptr %41, align 4, !tbaa !9
  %752 = load ptr, ptr %8, align 8, !tbaa !5
  %753 = getelementptr inbounds %struct.w2c_hermes, ptr %752, i32 0, i32 6
  %754 = load i32, ptr %41, align 4, !tbaa !9
  %755 = zext i32 %754 to i64
  %756 = add i64 %755, 68
  %757 = call i32 @i32_load16_u(ptr noundef %753, i64 noundef %756)
  store i32 %757, ptr %41, align 4, !tbaa !9
  %758 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %758, ptr %16, align 4, !tbaa !9
  %759 = load ptr, ptr %8, align 8, !tbaa !5
  %760 = getelementptr inbounds %struct.w2c_hermes, ptr %759, i32 0, i32 6
  %761 = load i32, ptr %40, align 4, !tbaa !9
  %762 = zext i32 %761 to i64
  %763 = add i64 %762, 36
  %764 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %760, i64 noundef %763, i32 noundef %764)
  %765 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %765, ptr %40, align 4, !tbaa !9
  %766 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %766, ptr %41, align 4, !tbaa !9
  %767 = load ptr, ptr %8, align 8, !tbaa !5
  %768 = getelementptr inbounds %struct.w2c_hermes, ptr %767, i32 0, i32 6
  %769 = load i32, ptr %40, align 4, !tbaa !9
  %770 = zext i32 %769 to i64
  %771 = add i64 %770, 22
  %772 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %768, i64 noundef %771, i32 noundef %772)
  %773 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %773, ptr %40, align 4, !tbaa !9
  %774 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %774, ptr %41, align 4, !tbaa !9
  %775 = load ptr, ptr %8, align 8, !tbaa !5
  %776 = getelementptr inbounds %struct.w2c_hermes, ptr %775, i32 0, i32 6
  %777 = load i32, ptr %40, align 4, !tbaa !9
  %778 = zext i32 %777 to i64
  %779 = add i64 %778, 20
  %780 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %776, i64 noundef %779, i32 noundef %780)
  %781 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %781, ptr %40, align 4, !tbaa !9
  %782 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %782, ptr %41, align 4, !tbaa !9
  %783 = load ptr, ptr %8, align 8, !tbaa !5
  %784 = getelementptr inbounds %struct.w2c_hermes, ptr %783, i32 0, i32 6
  %785 = load i32, ptr %41, align 4, !tbaa !9
  %786 = zext i32 %785 to i64
  %787 = add i64 %786, 24
  %788 = call i64 @i64_load(ptr noundef %784, i64 noundef %787)
  store i64 %788, ptr %49, align 8, !tbaa !11
  %789 = load ptr, ptr %8, align 8, !tbaa !5
  %790 = getelementptr inbounds %struct.w2c_hermes, ptr %789, i32 0, i32 6
  %791 = load i32, ptr %40, align 4, !tbaa !9
  %792 = zext i32 %791 to i64
  %793 = add i64 %792, 8
  %794 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %790, i64 noundef %793, i64 noundef %794)
  %795 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %795, ptr %40, align 4, !tbaa !9
  store i32 696, ptr %41, align 4, !tbaa !9
  %796 = load i32, ptr %41, align 4, !tbaa !9
  %797 = load i32, ptr %40, align 4, !tbaa !9
  %798 = add i32 %797, %796
  store i32 %798, ptr %40, align 4, !tbaa !9
  %799 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %799, ptr %41, align 4, !tbaa !9
  %800 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %800, ptr %42, align 4, !tbaa !9
  store i32 22, ptr %43, align 4, !tbaa !9
  %801 = load i32, ptr %43, align 4, !tbaa !9
  %802 = load i32, ptr %42, align 4, !tbaa !9
  %803 = add i32 %802, %801
  store i32 %803, ptr %42, align 4, !tbaa !9
  %804 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %804, ptr %43, align 4, !tbaa !9
  store i32 20, ptr %44, align 4, !tbaa !9
  %805 = load i32, ptr %44, align 4, !tbaa !9
  %806 = load i32, ptr %43, align 4, !tbaa !9
  %807 = add i32 %806, %805
  store i32 %807, ptr %43, align 4, !tbaa !9
  %808 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %808, ptr %44, align 4, !tbaa !9
  store i32 8, ptr %45, align 4, !tbaa !9
  %809 = load i32, ptr %45, align 4, !tbaa !9
  %810 = load i32, ptr %44, align 4, !tbaa !9
  %811 = add i32 %810, %809
  store i32 %811, ptr %44, align 4, !tbaa !9
  %812 = load ptr, ptr %8, align 8, !tbaa !5
  %813 = load i32, ptr %40, align 4, !tbaa !9
  %814 = load i32, ptr %41, align 4, !tbaa !9
  %815 = load i32, ptr %42, align 4, !tbaa !9
  %816 = load i32, ptr %43, align 4, !tbaa !9
  %817 = load i32, ptr %44, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AupdatePropertyFlagsWithoutTransitions0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3AOptValue0x3Cllvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x3E0x29(ptr noundef %812, i32 noundef %813, i32 noundef %814, i32 noundef %815, i32 noundef %816, i32 noundef %817)
  %818 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %818, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %819 = load ptr, ptr %8, align 8, !tbaa !5
  %820 = getelementptr inbounds %struct.w2c_hermes, ptr %819, i32 0, i32 6
  %821 = load i32, ptr %40, align 4, !tbaa !9
  %822 = zext i32 %821 to i64
  %823 = add i64 %822, 5724
  %824 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %820, i64 noundef %823, i32 noundef %824)
  %825 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %825, ptr %40, align 4, !tbaa !9
  %826 = load ptr, ptr %8, align 8, !tbaa !5
  %827 = getelementptr inbounds %struct.w2c_hermes, ptr %826, i32 0, i32 6
  %828 = load i32, ptr %40, align 4, !tbaa !9
  %829 = zext i32 %828 to i64
  %830 = add i64 %829, 72
  %831 = call i32 @i32_load(ptr noundef %827, i64 noundef %830)
  store i32 %831, ptr %40, align 4, !tbaa !9
  %832 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %832, ptr %16, align 4, !tbaa !9
  %833 = load i32, ptr %40, align 4, !tbaa !9
  %834 = icmp ne i32 %833, 0
  br i1 %834, label %835, label %847

835:                                              ; preds = %655
  %836 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %836, ptr %40, align 4, !tbaa !9
  %837 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %837, ptr %41, align 4, !tbaa !9
  %838 = load ptr, ptr %8, align 8, !tbaa !5
  %839 = getelementptr inbounds %struct.w2c_hermes, ptr %838, i32 0, i32 6
  %840 = load i32, ptr %40, align 4, !tbaa !9
  %841 = zext i32 %840 to i64
  %842 = add i64 %841, 76
  %843 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %839, i64 noundef %842, i32 noundef %843)
  %844 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %844, ptr %40, align 4, !tbaa !9
  %845 = load ptr, ptr %8, align 8, !tbaa !5
  %846 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %845, i32 noundef %846)
  br label %847

847:                                              ; preds = %835, %655
  %848 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %848, ptr %40, align 4, !tbaa !9
  %849 = load ptr, ptr %8, align 8, !tbaa !5
  %850 = getelementptr inbounds %struct.w2c_hermes, ptr %849, i32 0, i32 6
  %851 = load i32, ptr %40, align 4, !tbaa !9
  %852 = zext i32 %851 to i64
  %853 = add i64 %852, 84
  %854 = call i32 @i32_load(ptr noundef %850, i64 noundef %853)
  store i32 %854, ptr %40, align 4, !tbaa !9
  %855 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %855, ptr %16, align 4, !tbaa !9
  %856 = load i32, ptr %40, align 4, !tbaa !9
  %857 = icmp ne i32 %856, 0
  br i1 %857, label %858, label %870

858:                                              ; preds = %847
  %859 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %859, ptr %40, align 4, !tbaa !9
  %860 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %860, ptr %41, align 4, !tbaa !9
  %861 = load ptr, ptr %8, align 8, !tbaa !5
  %862 = getelementptr inbounds %struct.w2c_hermes, ptr %861, i32 0, i32 6
  %863 = load i32, ptr %40, align 4, !tbaa !9
  %864 = zext i32 %863 to i64
  %865 = add i64 %864, 88
  %866 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %862, i64 noundef %865, i32 noundef %866)
  %867 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %867, ptr %40, align 4, !tbaa !9
  %868 = load ptr, ptr %8, align 8, !tbaa !5
  %869 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %868, i32 noundef %869)
  br label %870

870:                                              ; preds = %858, %847
  %871 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %871, ptr %40, align 4, !tbaa !9
  store i32 96, ptr %41, align 4, !tbaa !9
  %872 = load i32, ptr %41, align 4, !tbaa !9
  %873 = load i32, ptr %40, align 4, !tbaa !9
  %874 = add i32 %873, %872
  store i32 %874, ptr %40, align 4, !tbaa !9
  %875 = load ptr, ptr %8, align 8, !tbaa !5
  %876 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %875, i32 noundef %876)
  %877 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %877, ptr %40, align 4, !tbaa !9
  store i32 272, ptr %41, align 4, !tbaa !9
  %878 = load i32, ptr %41, align 4, !tbaa !9
  %879 = load i32, ptr %40, align 4, !tbaa !9
  %880 = add i32 %879, %878
  store i32 %880, ptr %40, align 4, !tbaa !9
  %881 = load i32, ptr %40, align 4, !tbaa !9
  %882 = load ptr, ptr %8, align 8, !tbaa !5
  %883 = getelementptr inbounds %struct.w2c_hermes, ptr %882, i32 0, i32 3
  store i32 %881, ptr %883, align 8, !tbaa !13
  %884 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %884, ptr %40, align 4, !tbaa !9
  %885 = load ptr, ptr %8, align 8, !tbaa !5
  %886 = getelementptr inbounds %struct.w2c_hermes, ptr %885, i32 0, i32 6
  %887 = load i32, ptr %40, align 4, !tbaa !9
  %888 = zext i32 %887 to i64
  %889 = call i32 @i32_load(ptr noundef %886, i64 noundef %888)
  store i32 %889, ptr %40, align 4, !tbaa !9
  %890 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %890, ptr %16, align 4, !tbaa !9
  %891 = load ptr, ptr %8, align 8, !tbaa !5
  %892 = getelementptr inbounds %struct.w2c_hermes, ptr %891, i32 0, i32 6
  %893 = load i32, ptr %40, align 4, !tbaa !9
  %894 = zext i32 %893 to i64
  %895 = add i64 %894, 4
  %896 = call i32 @i32_load8_u(ptr noundef %892, i64 noundef %895)
  store i32 %896, ptr %40, align 4, !tbaa !9
  %897 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %897, ptr %20, align 4, !tbaa !9
  br label %898

898:                                              ; preds = %870, %113, %102
  %899 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %899, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %900 = load i32, ptr %41, align 4, !tbaa !9
  %901 = load i32, ptr %40, align 4, !tbaa !9
  %902 = and i32 %901, %900
  store i32 %902, ptr %40, align 4, !tbaa !9
  %903 = load i32, ptr %40, align 4, !tbaa !9
  %904 = icmp ne i32 %903, 0
  %905 = xor i1 %904, true
  %906 = zext i1 %905 to i32
  store i32 %906, ptr %40, align 4, !tbaa !9
  %907 = load i32, ptr %40, align 4, !tbaa !9
  %908 = icmp ne i32 %907, 0
  br i1 %908, label %909, label %910

909:                                              ; preds = %898
  br label %970

910:                                              ; preds = %898
  %911 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %911, ptr %40, align 4, !tbaa !9
  %912 = load ptr, ptr %8, align 8, !tbaa !5
  %913 = getelementptr inbounds %struct.w2c_hermes, ptr %912, i32 0, i32 6
  %914 = load i32, ptr %40, align 4, !tbaa !9
  %915 = zext i32 %914 to i64
  %916 = add i64 %915, 5296
  %917 = call i32 @i32_load8_u(ptr noundef %913, i64 noundef %916)
  store i32 %917, ptr %40, align 4, !tbaa !9
  %918 = load i32, ptr %40, align 4, !tbaa !9
  %919 = icmp ne i32 %918, 0
  br i1 %919, label %920, label %921

920:                                              ; preds = %910
  br label %970

921:                                              ; preds = %910
  %922 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %922, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %923 = load ptr, ptr %8, align 8, !tbaa !5
  %924 = getelementptr inbounds %struct.w2c_hermes, ptr %923, i32 0, i32 6
  %925 = load i32, ptr %40, align 4, !tbaa !9
  %926 = zext i32 %925 to i64
  %927 = add i64 %926, 112
  %928 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %924, i64 noundef %927, i32 noundef %928)
  %929 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %929, ptr %40, align 4, !tbaa !9
  store i64 317827579905, ptr %49, align 8, !tbaa !11
  %930 = load ptr, ptr %8, align 8, !tbaa !5
  %931 = getelementptr inbounds %struct.w2c_hermes, ptr %930, i32 0, i32 6
  %932 = load i32, ptr %40, align 4, !tbaa !9
  %933 = zext i32 %932 to i64
  %934 = add i64 %933, 104
  %935 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %931, i64 noundef %934, i64 noundef %935)
  %936 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %936, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %937 = load ptr, ptr %8, align 8, !tbaa !5
  %938 = getelementptr inbounds %struct.w2c_hermes, ptr %937, i32 0, i32 6
  %939 = load i32, ptr %40, align 4, !tbaa !9
  %940 = zext i32 %939 to i64
  %941 = add i64 %940, 88
  %942 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %938, i64 noundef %941, i32 noundef %942)
  %943 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %943, ptr %40, align 4, !tbaa !9
  store i32 58770, ptr %41, align 4, !tbaa !9
  %944 = load ptr, ptr %8, align 8, !tbaa !5
  %945 = getelementptr inbounds %struct.w2c_hermes, ptr %944, i32 0, i32 6
  %946 = load i32, ptr %40, align 4, !tbaa !9
  %947 = zext i32 %946 to i64
  %948 = add i64 %947, 80
  %949 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %945, i64 noundef %948, i32 noundef %949)
  %950 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %950, ptr %40, align 4, !tbaa !9
  %951 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %951, ptr %41, align 4, !tbaa !9
  %952 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %952, ptr %42, align 4, !tbaa !9
  store i32 128, ptr %43, align 4, !tbaa !9
  %953 = load i32, ptr %43, align 4, !tbaa !9
  %954 = load i32, ptr %42, align 4, !tbaa !9
  %955 = add i32 %954, %953
  store i32 %955, ptr %42, align 4, !tbaa !9
  %956 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %956, ptr %43, align 4, !tbaa !9
  store i32 80, ptr %44, align 4, !tbaa !9
  %957 = load i32, ptr %44, align 4, !tbaa !9
  %958 = load i32, ptr %43, align 4, !tbaa !9
  %959 = add i32 %958, %957
  store i32 %959, ptr %43, align 4, !tbaa !9
  %960 = load ptr, ptr %8, align 8, !tbaa !5
  %961 = load i32, ptr %41, align 4, !tbaa !9
  %962 = load i32, ptr %42, align 4, !tbaa !9
  %963 = load i32, ptr %43, align 4, !tbaa !9
  %964 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AraisePlaceholder0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %960, i32 noundef %961, i32 noundef %962, i32 noundef %963)
  store i32 %964, ptr %41, align 4, !tbaa !9
  %965 = load ptr, ptr %8, align 8, !tbaa !5
  %966 = getelementptr inbounds %struct.w2c_hermes, ptr %965, i32 0, i32 6
  %967 = load i32, ptr %40, align 4, !tbaa !9
  %968 = zext i32 %967 to i64
  %969 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %966, i64 noundef %968, i32 noundef %969)
  br label %8332

970:                                              ; preds = %920, %909
  %971 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %971, ptr %40, align 4, !tbaa !9
  %972 = load ptr, ptr %8, align 8, !tbaa !5
  %973 = getelementptr inbounds %struct.w2c_hermes, ptr %972, i32 0, i32 6
  %974 = load i32, ptr %40, align 4, !tbaa !9
  %975 = zext i32 %974 to i64
  %976 = call i32 @i32_load8_u(ptr noundef %973, i64 noundef %975)
  store i32 %976, ptr %40, align 4, !tbaa !9
  %977 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %977, ptr %25, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %978 = load i32, ptr %41, align 4, !tbaa !9
  %979 = load i32, ptr %40, align 4, !tbaa !9
  %980 = and i32 %979, %978
  store i32 %980, ptr %40, align 4, !tbaa !9
  %981 = load i32, ptr %40, align 4, !tbaa !9
  %982 = icmp ne i32 %981, 0
  %983 = xor i1 %982, true
  %984 = zext i1 %983 to i32
  store i32 %984, ptr %40, align 4, !tbaa !9
  %985 = load i32, ptr %40, align 4, !tbaa !9
  %986 = icmp ne i32 %985, 0
  br i1 %986, label %987, label %988

987:                                              ; preds = %970
  br label %2389

988:                                              ; preds = %970
  %989 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %989, ptr %40, align 4, !tbaa !9
  store i32 5772, ptr %41, align 4, !tbaa !9
  %990 = load i32, ptr %41, align 4, !tbaa !9
  %991 = load i32, ptr %40, align 4, !tbaa !9
  %992 = add i32 %991, %990
  store i32 %992, ptr %40, align 4, !tbaa !9
  %993 = load ptr, ptr %8, align 8, !tbaa !5
  %994 = getelementptr inbounds %struct.w2c_hermes, ptr %993, i32 0, i32 6
  %995 = load i32, ptr %40, align 4, !tbaa !9
  %996 = zext i32 %995 to i64
  %997 = call i32 @i32_load(ptr noundef %994, i64 noundef %996)
  store i32 %997, ptr %40, align 4, !tbaa !9
  %998 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %998, ptr %17, align 4, !tbaa !9
  %999 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %999, ptr %41, align 4, !tbaa !9
  store i32 5776, ptr %42, align 4, !tbaa !9
  %1000 = load i32, ptr %42, align 4, !tbaa !9
  %1001 = load i32, ptr %41, align 4, !tbaa !9
  %1002 = add i32 %1001, %1000
  store i32 %1002, ptr %41, align 4, !tbaa !9
  %1003 = load ptr, ptr %8, align 8, !tbaa !5
  %1004 = getelementptr inbounds %struct.w2c_hermes, ptr %1003, i32 0, i32 6
  %1005 = load i32, ptr %41, align 4, !tbaa !9
  %1006 = zext i32 %1005 to i64
  %1007 = call i32 @i32_load(ptr noundef %1004, i64 noundef %1006)
  store i32 %1007, ptr %41, align 4, !tbaa !9
  %1008 = load i32, ptr %40, align 4, !tbaa !9
  %1009 = load i32, ptr %41, align 4, !tbaa !9
  %1010 = icmp ne i32 %1008, %1009
  %1011 = zext i1 %1010 to i32
  store i32 %1011, ptr %40, align 4, !tbaa !9
  %1012 = load i32, ptr %40, align 4, !tbaa !9
  %1013 = icmp ne i32 %1012, 0
  br i1 %1013, label %1014, label %1070

1014:                                             ; preds = %988
  %1015 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1015, ptr %40, align 4, !tbaa !9
  %1016 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1016, ptr %41, align 4, !tbaa !9
  %1017 = load ptr, ptr %8, align 8, !tbaa !5
  %1018 = getelementptr inbounds %struct.w2c_hermes, ptr %1017, i32 0, i32 6
  %1019 = load i32, ptr %40, align 4, !tbaa !9
  %1020 = zext i32 %1019 to i64
  %1021 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1018, i64 noundef %1020, i32 noundef %1021)
  %1022 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1022, ptr %40, align 4, !tbaa !9
  %1023 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1023, ptr %41, align 4, !tbaa !9
  %1024 = load ptr, ptr %8, align 8, !tbaa !5
  %1025 = getelementptr inbounds %struct.w2c_hermes, ptr %1024, i32 0, i32 6
  %1026 = load i32, ptr %41, align 4, !tbaa !9
  %1027 = zext i32 %1026 to i64
  %1028 = add i64 %1027, 4
  %1029 = call i32 @i32_load(ptr noundef %1025, i64 noundef %1028)
  store i32 %1029, ptr %41, align 4, !tbaa !9
  %1030 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1030, ptr %12, align 4, !tbaa !9
  %1031 = load ptr, ptr %8, align 8, !tbaa !5
  %1032 = getelementptr inbounds %struct.w2c_hermes, ptr %1031, i32 0, i32 6
  %1033 = load i32, ptr %40, align 4, !tbaa !9
  %1034 = zext i32 %1033 to i64
  %1035 = add i64 %1034, 4
  %1036 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1032, i64 noundef %1035, i32 noundef %1036)
  %1037 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1037, ptr %40, align 4, !tbaa !9
  %1038 = load i32, ptr %40, align 4, !tbaa !9
  %1039 = icmp ne i32 %1038, 0
  br i1 %1039, label %1040, label %1058

1040:                                             ; preds = %1014
  %1041 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1041, ptr %40, align 4, !tbaa !9
  %1042 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1042, ptr %41, align 4, !tbaa !9
  %1043 = load ptr, ptr %8, align 8, !tbaa !5
  %1044 = getelementptr inbounds %struct.w2c_hermes, ptr %1043, i32 0, i32 6
  %1045 = load i32, ptr %41, align 4, !tbaa !9
  %1046 = zext i32 %1045 to i64
  %1047 = add i64 %1046, 4
  %1048 = call i32 @i32_load(ptr noundef %1044, i64 noundef %1047)
  store i32 %1048, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %1049 = load i32, ptr %42, align 4, !tbaa !9
  %1050 = load i32, ptr %41, align 4, !tbaa !9
  %1051 = add i32 %1050, %1049
  store i32 %1051, ptr %41, align 4, !tbaa !9
  %1052 = load ptr, ptr %8, align 8, !tbaa !5
  %1053 = getelementptr inbounds %struct.w2c_hermes, ptr %1052, i32 0, i32 6
  %1054 = load i32, ptr %40, align 4, !tbaa !9
  %1055 = zext i32 %1054 to i64
  %1056 = add i64 %1055, 4
  %1057 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1053, i64 noundef %1056, i32 noundef %1057)
  br label %1058

1058:                                             ; preds = %1040, %1014
  %1059 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1059, ptr %40, align 4, !tbaa !9
  %1060 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1060, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %1061 = load i32, ptr %42, align 4, !tbaa !9
  %1062 = load i32, ptr %41, align 4, !tbaa !9
  %1063 = add i32 %1062, %1061
  store i32 %1063, ptr %41, align 4, !tbaa !9
  %1064 = load ptr, ptr %8, align 8, !tbaa !5
  %1065 = getelementptr inbounds %struct.w2c_hermes, ptr %1064, i32 0, i32 6
  %1066 = load i32, ptr %40, align 4, !tbaa !9
  %1067 = zext i32 %1066 to i64
  %1068 = add i64 %1067, 5772
  %1069 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1065, i64 noundef %1068, i32 noundef %1069)
  br label %1534

1070:                                             ; preds = %988
  %1071 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1071, ptr %40, align 4, !tbaa !9
  store i32 5768, ptr %41, align 4, !tbaa !9
  %1072 = load i32, ptr %41, align 4, !tbaa !9
  %1073 = load i32, ptr %40, align 4, !tbaa !9
  %1074 = add i32 %1073, %1072
  store i32 %1074, ptr %40, align 4, !tbaa !9
  %1075 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1075, ptr %24, align 4, !tbaa !9
  %1076 = load ptr, ptr %8, align 8, !tbaa !5
  %1077 = getelementptr inbounds %struct.w2c_hermes, ptr %1076, i32 0, i32 6
  %1078 = load i32, ptr %40, align 4, !tbaa !9
  %1079 = zext i32 %1078 to i64
  %1080 = add i64 %1079, 4
  %1081 = call i32 @i32_load(ptr noundef %1077, i64 noundef %1080)
  store i32 %1081, ptr %40, align 4, !tbaa !9
  %1082 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1082, ptr %20, align 4, !tbaa !9
  %1083 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1083, ptr %41, align 4, !tbaa !9
  %1084 = load ptr, ptr %8, align 8, !tbaa !5
  %1085 = getelementptr inbounds %struct.w2c_hermes, ptr %1084, i32 0, i32 6
  %1086 = load i32, ptr %41, align 4, !tbaa !9
  %1087 = zext i32 %1086 to i64
  %1088 = call i32 @i32_load(ptr noundef %1085, i64 noundef %1087)
  store i32 %1088, ptr %41, align 4, !tbaa !9
  %1089 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1089, ptr %16, align 4, !tbaa !9
  %1090 = load i32, ptr %41, align 4, !tbaa !9
  %1091 = load i32, ptr %40, align 4, !tbaa !9
  %1092 = sub i32 %1091, %1090
  store i32 %1092, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %1093 = load i32, ptr %40, align 4, !tbaa !9
  %1094 = load i32, ptr %41, align 4, !tbaa !9
  %1095 = and i32 %1094, 31
  %1096 = ashr i32 %1093, %1095
  store i32 %1096, ptr %40, align 4, !tbaa !9
  %1097 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1097, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %1098 = load i32, ptr %41, align 4, !tbaa !9
  %1099 = load i32, ptr %40, align 4, !tbaa !9
  %1100 = add i32 %1099, %1098
  store i32 %1100, ptr %40, align 4, !tbaa !9
  %1101 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1101, ptr %15, align 4, !tbaa !9
  store i32 536870912, ptr %41, align 4, !tbaa !9
  %1102 = load i32, ptr %40, align 4, !tbaa !9
  %1103 = load i32, ptr %41, align 4, !tbaa !9
  %1104 = icmp ult i32 %1102, %1103
  %1105 = zext i1 %1104 to i32
  store i32 %1105, ptr %40, align 4, !tbaa !9
  %1106 = load i32, ptr %40, align 4, !tbaa !9
  %1107 = icmp ne i32 %1106, 0
  br i1 %1107, label %1108, label %1497

1108:                                             ; preds = %1070
  store i32 536870911, ptr %40, align 4, !tbaa !9
  %1109 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1109, ptr %41, align 4, !tbaa !9
  %1110 = load ptr, ptr %8, align 8, !tbaa !5
  %1111 = getelementptr inbounds %struct.w2c_hermes, ptr %1110, i32 0, i32 6
  %1112 = load i32, ptr %41, align 4, !tbaa !9
  %1113 = zext i32 %1112 to i64
  %1114 = add i64 %1113, 8
  %1115 = call i32 @i32_load(ptr noundef %1111, i64 noundef %1114)
  store i32 %1115, ptr %41, align 4, !tbaa !9
  %1116 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1116, ptr %42, align 4, !tbaa !9
  %1117 = load i32, ptr %42, align 4, !tbaa !9
  %1118 = load i32, ptr %41, align 4, !tbaa !9
  %1119 = sub i32 %1118, %1117
  store i32 %1119, ptr %41, align 4, !tbaa !9
  %1120 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1120, ptr %17, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %1121 = load i32, ptr %41, align 4, !tbaa !9
  %1122 = load i32, ptr %42, align 4, !tbaa !9
  %1123 = and i32 %1122, 31
  %1124 = ashr i32 %1121, %1123
  store i32 %1124, ptr %41, align 4, !tbaa !9
  %1125 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1125, ptr %12, align 4, !tbaa !9
  %1126 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1126, ptr %42, align 4, !tbaa !9
  %1127 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1127, ptr %43, align 4, !tbaa !9
  %1128 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1128, ptr %44, align 4, !tbaa !9
  %1129 = load i32, ptr %43, align 4, !tbaa !9
  %1130 = load i32, ptr %44, align 4, !tbaa !9
  %1131 = icmp ugt i32 %1129, %1130
  %1132 = zext i1 %1131 to i32
  store i32 %1132, ptr %43, align 4, !tbaa !9
  %1133 = load i32, ptr %43, align 4, !tbaa !9
  %1134 = icmp ne i32 %1133, 0
  br i1 %1134, label %1135, label %1137

1135:                                             ; preds = %1108
  %1136 = load i32, ptr %41, align 4, !tbaa !9
  br label %1139

1137:                                             ; preds = %1108
  %1138 = load i32, ptr %42, align 4, !tbaa !9
  br label %1139

1139:                                             ; preds = %1137, %1135
  %1140 = phi i32 [ %1136, %1135 ], [ %1138, %1137 ]
  store i32 %1140, ptr %41, align 4, !tbaa !9
  %1141 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1141, ptr %42, align 4, !tbaa !9
  store i32 2147483640, ptr %43, align 4, !tbaa !9
  %1142 = load i32, ptr %42, align 4, !tbaa !9
  %1143 = load i32, ptr %43, align 4, !tbaa !9
  %1144 = icmp uge i32 %1142, %1143
  %1145 = zext i1 %1144 to i32
  store i32 %1145, ptr %42, align 4, !tbaa !9
  %1146 = load i32, ptr %42, align 4, !tbaa !9
  %1147 = icmp ne i32 %1146, 0
  br i1 %1147, label %1148, label %1150

1148:                                             ; preds = %1139
  %1149 = load i32, ptr %40, align 4, !tbaa !9
  br label %1152

1150:                                             ; preds = %1139
  %1151 = load i32, ptr %41, align 4, !tbaa !9
  br label %1152

1152:                                             ; preds = %1150, %1148
  %1153 = phi i32 [ %1149, %1148 ], [ %1151, %1150 ]
  store i32 %1153, ptr %40, align 4, !tbaa !9
  %1154 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1154, ptr %12, align 4, !tbaa !9
  store i32 536870912, ptr %41, align 4, !tbaa !9
  %1155 = load i32, ptr %40, align 4, !tbaa !9
  %1156 = load i32, ptr %41, align 4, !tbaa !9
  %1157 = icmp uge i32 %1155, %1156
  %1158 = zext i1 %1157 to i32
  store i32 %1158, ptr %40, align 4, !tbaa !9
  %1159 = load i32, ptr %40, align 4, !tbaa !9
  %1160 = icmp ne i32 %1159, 0
  br i1 %1160, label %1161, label %1162

1161:                                             ; preds = %1152
  br label %1499

1162:                                             ; preds = %1152
  %1163 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1163, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %1164 = load i32, ptr %41, align 4, !tbaa !9
  %1165 = and i32 %1164, 31
  %1166 = load i32, ptr %40, align 4, !tbaa !9
  %1167 = shl i32 %1166, %1165
  store i32 %1167, ptr %40, align 4, !tbaa !9
  %1168 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1168, ptr %17, align 4, !tbaa !9
  %1169 = load ptr, ptr %8, align 8, !tbaa !5
  %1170 = load i32, ptr %40, align 4, !tbaa !9
  %1171 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1169, i32 noundef %1170)
  store i32 %1171, ptr %40, align 4, !tbaa !9
  %1172 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1172, ptr %12, align 4, !tbaa !9
  %1173 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1173, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %1174 = load i32, ptr %42, align 4, !tbaa !9
  %1175 = and i32 %1174, 31
  %1176 = load i32, ptr %41, align 4, !tbaa !9
  %1177 = shl i32 %1176, %1175
  store i32 %1177, ptr %41, align 4, !tbaa !9
  %1178 = load i32, ptr %41, align 4, !tbaa !9
  %1179 = load i32, ptr %40, align 4, !tbaa !9
  %1180 = add i32 %1179, %1178
  store i32 %1180, ptr %40, align 4, !tbaa !9
  %1181 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1181, ptr %15, align 4, !tbaa !9
  %1182 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1182, ptr %41, align 4, !tbaa !9
  %1183 = load ptr, ptr %8, align 8, !tbaa !5
  %1184 = getelementptr inbounds %struct.w2c_hermes, ptr %1183, i32 0, i32 6
  %1185 = load i32, ptr %41, align 4, !tbaa !9
  %1186 = zext i32 %1185 to i64
  %1187 = call i32 @i32_load(ptr noundef %1184, i64 noundef %1186)
  store i32 %1187, ptr %41, align 4, !tbaa !9
  %1188 = load ptr, ptr %8, align 8, !tbaa !5
  %1189 = getelementptr inbounds %struct.w2c_hermes, ptr %1188, i32 0, i32 6
  %1190 = load i32, ptr %40, align 4, !tbaa !9
  %1191 = zext i32 %1190 to i64
  %1192 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1189, i64 noundef %1191, i32 noundef %1192)
  %1193 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1193, ptr %40, align 4, !tbaa !9
  %1194 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1194, ptr %41, align 4, !tbaa !9
  %1195 = load ptr, ptr %8, align 8, !tbaa !5
  %1196 = getelementptr inbounds %struct.w2c_hermes, ptr %1195, i32 0, i32 6
  %1197 = load i32, ptr %41, align 4, !tbaa !9
  %1198 = zext i32 %1197 to i64
  %1199 = add i64 %1198, 4
  %1200 = call i32 @i32_load(ptr noundef %1196, i64 noundef %1199)
  store i32 %1200, ptr %41, align 4, !tbaa !9
  %1201 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1201, ptr %22, align 4, !tbaa !9
  %1202 = load ptr, ptr %8, align 8, !tbaa !5
  %1203 = getelementptr inbounds %struct.w2c_hermes, ptr %1202, i32 0, i32 6
  %1204 = load i32, ptr %40, align 4, !tbaa !9
  %1205 = zext i32 %1204 to i64
  %1206 = add i64 %1205, 4
  %1207 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1203, i64 noundef %1206, i32 noundef %1207)
  %1208 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1208, ptr %40, align 4, !tbaa !9
  %1209 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1209, ptr %41, align 4, !tbaa !9
  %1210 = load i32, ptr %41, align 4, !tbaa !9
  %1211 = load i32, ptr %40, align 4, !tbaa !9
  %1212 = add i32 %1211, %1210
  store i32 %1212, ptr %40, align 4, !tbaa !9
  %1213 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1213, ptr %17, align 4, !tbaa !9
  %1214 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1214, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %1215 = load i32, ptr %41, align 4, !tbaa !9
  %1216 = load i32, ptr %40, align 4, !tbaa !9
  %1217 = add i32 %1216, %1215
  store i32 %1217, ptr %40, align 4, !tbaa !9
  %1218 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1218, ptr %12, align 4, !tbaa !9
  %1219 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1219, ptr %40, align 4, !tbaa !9
  %1220 = load i32, ptr %40, align 4, !tbaa !9
  %1221 = icmp ne i32 %1220, 0
  br i1 %1221, label %1222, label %1255

1222:                                             ; preds = %1162
  %1223 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1223, ptr %40, align 4, !tbaa !9
  %1224 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1224, ptr %41, align 4, !tbaa !9
  %1225 = load ptr, ptr %8, align 8, !tbaa !5
  %1226 = getelementptr inbounds %struct.w2c_hermes, ptr %1225, i32 0, i32 6
  %1227 = load i32, ptr %41, align 4, !tbaa !9
  %1228 = zext i32 %1227 to i64
  %1229 = add i64 %1228, 4
  %1230 = call i32 @i32_load(ptr noundef %1226, i64 noundef %1229)
  store i32 %1230, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %1231 = load i32, ptr %42, align 4, !tbaa !9
  %1232 = load i32, ptr %41, align 4, !tbaa !9
  %1233 = add i32 %1232, %1231
  store i32 %1233, ptr %41, align 4, !tbaa !9
  %1234 = load ptr, ptr %8, align 8, !tbaa !5
  %1235 = getelementptr inbounds %struct.w2c_hermes, ptr %1234, i32 0, i32 6
  %1236 = load i32, ptr %40, align 4, !tbaa !9
  %1237 = zext i32 %1236 to i64
  %1238 = add i64 %1237, 4
  %1239 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1235, i64 noundef %1238, i32 noundef %1239)
  %1240 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1240, ptr %40, align 4, !tbaa !9
  %1241 = load ptr, ptr %8, align 8, !tbaa !5
  %1242 = getelementptr inbounds %struct.w2c_hermes, ptr %1241, i32 0, i32 6
  %1243 = load i32, ptr %40, align 4, !tbaa !9
  %1244 = zext i32 %1243 to i64
  %1245 = add i64 %1244, 4
  %1246 = call i32 @i32_load(ptr noundef %1242, i64 noundef %1245)
  store i32 %1246, ptr %40, align 4, !tbaa !9
  %1247 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1247, ptr %20, align 4, !tbaa !9
  %1248 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1248, ptr %40, align 4, !tbaa !9
  %1249 = load ptr, ptr %8, align 8, !tbaa !5
  %1250 = getelementptr inbounds %struct.w2c_hermes, ptr %1249, i32 0, i32 6
  %1251 = load i32, ptr %40, align 4, !tbaa !9
  %1252 = zext i32 %1251 to i64
  %1253 = call i32 @i32_load(ptr noundef %1250, i64 noundef %1252)
  store i32 %1253, ptr %40, align 4, !tbaa !9
  %1254 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1254, ptr %16, align 4, !tbaa !9
  br label %1255

1255:                                             ; preds = %1222, %1162
  %1256 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1256, ptr %40, align 4, !tbaa !9
  %1257 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1257, ptr %41, align 4, !tbaa !9
  %1258 = load i32, ptr %40, align 4, !tbaa !9
  %1259 = load i32, ptr %41, align 4, !tbaa !9
  %1260 = icmp eq i32 %1258, %1259
  %1261 = zext i1 %1260 to i32
  store i32 %1261, ptr %40, align 4, !tbaa !9
  %1262 = load i32, ptr %40, align 4, !tbaa !9
  %1263 = icmp ne i32 %1262, 0
  br i1 %1263, label %1264, label %1265

1264:                                             ; preds = %1255
  br label %1501

1265:                                             ; preds = %1255
  br label %1266

1266:                                             ; preds = %1315, %1265
  %1267 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1267, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %1268 = load i32, ptr %41, align 4, !tbaa !9
  %1269 = load i32, ptr %40, align 4, !tbaa !9
  %1270 = sub i32 %1269, %1268
  store i32 %1270, ptr %40, align 4, !tbaa !9
  %1271 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1271, ptr %15, align 4, !tbaa !9
  %1272 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1272, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %1273 = load i32, ptr %42, align 4, !tbaa !9
  %1274 = load i32, ptr %41, align 4, !tbaa !9
  %1275 = sub i32 %1274, %1273
  store i32 %1275, ptr %41, align 4, !tbaa !9
  %1276 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1276, ptr %20, align 4, !tbaa !9
  %1277 = load ptr, ptr %8, align 8, !tbaa !5
  %1278 = getelementptr inbounds %struct.w2c_hermes, ptr %1277, i32 0, i32 6
  %1279 = load i32, ptr %41, align 4, !tbaa !9
  %1280 = zext i32 %1279 to i64
  %1281 = call i32 @i32_load(ptr noundef %1278, i64 noundef %1280)
  store i32 %1281, ptr %41, align 4, !tbaa !9
  %1282 = load ptr, ptr %8, align 8, !tbaa !5
  %1283 = getelementptr inbounds %struct.w2c_hermes, ptr %1282, i32 0, i32 6
  %1284 = load i32, ptr %40, align 4, !tbaa !9
  %1285 = zext i32 %1284 to i64
  %1286 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1283, i64 noundef %1285, i32 noundef %1286)
  %1287 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1287, ptr %40, align 4, !tbaa !9
  %1288 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1288, ptr %41, align 4, !tbaa !9
  %1289 = load ptr, ptr %8, align 8, !tbaa !5
  %1290 = getelementptr inbounds %struct.w2c_hermes, ptr %1289, i32 0, i32 6
  %1291 = load i32, ptr %41, align 4, !tbaa !9
  %1292 = zext i32 %1291 to i64
  %1293 = add i64 %1292, 4
  %1294 = call i32 @i32_load(ptr noundef %1290, i64 noundef %1293)
  store i32 %1294, ptr %41, align 4, !tbaa !9
  %1295 = load ptr, ptr %8, align 8, !tbaa !5
  %1296 = getelementptr inbounds %struct.w2c_hermes, ptr %1295, i32 0, i32 6
  %1297 = load i32, ptr %40, align 4, !tbaa !9
  %1298 = zext i32 %1297 to i64
  %1299 = add i64 %1298, 4
  %1300 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1296, i64 noundef %1299, i32 noundef %1300)
  %1301 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1301, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %1302 = load ptr, ptr %8, align 8, !tbaa !5
  %1303 = getelementptr inbounds %struct.w2c_hermes, ptr %1302, i32 0, i32 6
  %1304 = load i32, ptr %40, align 4, !tbaa !9
  %1305 = zext i32 %1304 to i64
  %1306 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1303, i64 noundef %1305, i64 noundef %1306)
  %1307 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1307, ptr %40, align 4, !tbaa !9
  %1308 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1308, ptr %41, align 4, !tbaa !9
  %1309 = load i32, ptr %40, align 4, !tbaa !9
  %1310 = load i32, ptr %41, align 4, !tbaa !9
  %1311 = icmp ne i32 %1309, %1310
  %1312 = zext i1 %1311 to i32
  store i32 %1312, ptr %40, align 4, !tbaa !9
  %1313 = load i32, ptr %40, align 4, !tbaa !9
  %1314 = icmp ne i32 %1313, 0
  br i1 %1314, label %1315, label %1316

1315:                                             ; preds = %1266
  br label %1266

1316:                                             ; preds = %1266
  %1317 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1317, ptr %40, align 4, !tbaa !9
  %1318 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1318, ptr %41, align 4, !tbaa !9
  %1319 = load ptr, ptr %8, align 8, !tbaa !5
  %1320 = getelementptr inbounds %struct.w2c_hermes, ptr %1319, i32 0, i32 6
  %1321 = load i32, ptr %40, align 4, !tbaa !9
  %1322 = zext i32 %1321 to i64
  %1323 = add i64 %1322, 8
  %1324 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1320, i64 noundef %1323, i32 noundef %1324)
  %1325 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1325, ptr %40, align 4, !tbaa !9
  %1326 = load ptr, ptr %8, align 8, !tbaa !5
  %1327 = getelementptr inbounds %struct.w2c_hermes, ptr %1326, i32 0, i32 6
  %1328 = load i32, ptr %40, align 4, !tbaa !9
  %1329 = zext i32 %1328 to i64
  %1330 = add i64 %1329, 4
  %1331 = call i32 @i32_load(ptr noundef %1327, i64 noundef %1330)
  store i32 %1331, ptr %40, align 4, !tbaa !9
  %1332 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1332, ptr %20, align 4, !tbaa !9
  %1333 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1333, ptr %40, align 4, !tbaa !9
  %1334 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1334, ptr %41, align 4, !tbaa !9
  %1335 = load ptr, ptr %8, align 8, !tbaa !5
  %1336 = getelementptr inbounds %struct.w2c_hermes, ptr %1335, i32 0, i32 6
  %1337 = load i32, ptr %40, align 4, !tbaa !9
  %1338 = zext i32 %1337 to i64
  %1339 = add i64 %1338, 4
  %1340 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1336, i64 noundef %1339, i32 noundef %1340)
  %1341 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1341, ptr %40, align 4, !tbaa !9
  %1342 = load ptr, ptr %8, align 8, !tbaa !5
  %1343 = getelementptr inbounds %struct.w2c_hermes, ptr %1342, i32 0, i32 6
  %1344 = load i32, ptr %40, align 4, !tbaa !9
  %1345 = zext i32 %1344 to i64
  %1346 = call i32 @i32_load(ptr noundef %1343, i64 noundef %1345)
  store i32 %1346, ptr %40, align 4, !tbaa !9
  %1347 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1347, ptr %16, align 4, !tbaa !9
  %1348 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1348, ptr %40, align 4, !tbaa !9
  %1349 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1349, ptr %41, align 4, !tbaa !9
  %1350 = load ptr, ptr %8, align 8, !tbaa !5
  %1351 = getelementptr inbounds %struct.w2c_hermes, ptr %1350, i32 0, i32 6
  %1352 = load i32, ptr %40, align 4, !tbaa !9
  %1353 = zext i32 %1352 to i64
  %1354 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1351, i64 noundef %1353, i32 noundef %1354)
  %1355 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1355, ptr %40, align 4, !tbaa !9
  %1356 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1356, ptr %41, align 4, !tbaa !9
  %1357 = load i32, ptr %40, align 4, !tbaa !9
  %1358 = load i32, ptr %41, align 4, !tbaa !9
  %1359 = icmp eq i32 %1357, %1358
  %1360 = zext i1 %1359 to i32
  store i32 %1360, ptr %40, align 4, !tbaa !9
  %1361 = load i32, ptr %40, align 4, !tbaa !9
  %1362 = icmp ne i32 %1361, 0
  br i1 %1362, label %1363, label %1364

1363:                                             ; preds = %1316
  br label %1525

1364:                                             ; preds = %1316
  br label %1365

1365:                                             ; preds = %1495, %1364
  %1366 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1366, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %1367 = load i32, ptr %41, align 4, !tbaa !9
  %1368 = load i32, ptr %40, align 4, !tbaa !9
  %1369 = sub i32 %1368, %1367
  store i32 %1369, ptr %40, align 4, !tbaa !9
  %1370 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1370, ptr %20, align 4, !tbaa !9
  %1371 = load ptr, ptr %8, align 8, !tbaa !5
  %1372 = getelementptr inbounds %struct.w2c_hermes, ptr %1371, i32 0, i32 6
  %1373 = load i32, ptr %40, align 4, !tbaa !9
  %1374 = zext i32 %1373 to i64
  %1375 = add i64 %1374, 4
  %1376 = call i32 @i32_load(ptr noundef %1372, i64 noundef %1375)
  store i32 %1376, ptr %40, align 4, !tbaa !9
  %1377 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1377, ptr %17, align 4, !tbaa !9
  %1378 = load i32, ptr %40, align 4, !tbaa !9
  %1379 = icmp ne i32 %1378, 0
  %1380 = xor i1 %1379, true
  %1381 = zext i1 %1380 to i32
  store i32 %1381, ptr %40, align 4, !tbaa !9
  %1382 = load i32, ptr %40, align 4, !tbaa !9
  %1383 = icmp ne i32 %1382, 0
  br i1 %1383, label %1384, label %1385

1384:                                             ; preds = %1365
  br label %1486

1385:                                             ; preds = %1365
  %1386 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1386, ptr %40, align 4, !tbaa !9
  %1387 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1387, ptr %41, align 4, !tbaa !9
  %1388 = load ptr, ptr %8, align 8, !tbaa !5
  %1389 = getelementptr inbounds %struct.w2c_hermes, ptr %1388, i32 0, i32 6
  %1390 = load i32, ptr %41, align 4, !tbaa !9
  %1391 = zext i32 %1390 to i64
  %1392 = add i64 %1391, 4
  %1393 = call i32 @i32_load(ptr noundef %1389, i64 noundef %1392)
  store i32 %1393, ptr %41, align 4, !tbaa !9
  %1394 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1394, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %1395 = load i32, ptr %42, align 4, !tbaa !9
  %1396 = load i32, ptr %41, align 4, !tbaa !9
  %1397 = sub i32 %1396, %1395
  store i32 %1397, ptr %41, align 4, !tbaa !9
  %1398 = load ptr, ptr %8, align 8, !tbaa !5
  %1399 = getelementptr inbounds %struct.w2c_hermes, ptr %1398, i32 0, i32 6
  %1400 = load i32, ptr %40, align 4, !tbaa !9
  %1401 = zext i32 %1400 to i64
  %1402 = add i64 %1401, 4
  %1403 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1399, i64 noundef %1402, i32 noundef %1403)
  %1404 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1404, ptr %40, align 4, !tbaa !9
  %1405 = load i32, ptr %40, align 4, !tbaa !9
  %1406 = icmp ne i32 %1405, 0
  br i1 %1406, label %1407, label %1408

1407:                                             ; preds = %1385
  br label %1486

1408:                                             ; preds = %1385
  %1409 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1409, ptr %40, align 4, !tbaa !9
  %1410 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1410, ptr %41, align 4, !tbaa !9
  %1411 = load ptr, ptr %8, align 8, !tbaa !5
  %1412 = getelementptr inbounds %struct.w2c_hermes, ptr %1411, i32 0, i32 6
  %1413 = load i32, ptr %41, align 4, !tbaa !9
  %1414 = zext i32 %1413 to i64
  %1415 = call i32 @i32_load(ptr noundef %1412, i64 noundef %1414)
  store i32 %1415, ptr %41, align 4, !tbaa !9
  %1416 = load ptr, ptr %8, align 8, !tbaa !5
  %1417 = getelementptr inbounds %struct.w2c_hermes, ptr %1416, i32 0, i32 6
  %1418 = load i32, ptr %41, align 4, !tbaa !9
  %1419 = zext i32 %1418 to i64
  %1420 = add i64 %1419, 8
  %1421 = call i32 @i32_load(ptr noundef %1417, i64 noundef %1420)
  store i32 %1421, ptr %41, align 4, !tbaa !9
  %1422 = load i32, ptr %41, align 4, !tbaa !9
  %1423 = load ptr, ptr %8, align 8, !tbaa !5
  %1424 = getelementptr inbounds %struct.w2c_hermes, ptr %1423, i32 0, i32 7
  %1425 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1424, i32 0, i32 2
  %1426 = load i32, ptr %1425, align 4, !tbaa !18
  %1427 = icmp ult i32 %1422, %1426
  br i1 %1427, label %1428, label %1451

1428:                                             ; preds = %1408
  %1429 = load ptr, ptr %8, align 8, !tbaa !5
  %1430 = getelementptr inbounds %struct.w2c_hermes, ptr %1429, i32 0, i32 7
  %1431 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1430, i32 0, i32 0
  %1432 = load ptr, ptr %1431, align 8, !tbaa !19
  %1433 = load i32, ptr %41, align 4, !tbaa !9
  %1434 = zext i32 %1433 to i64
  %1435 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1432, i64 %1434
  %1436 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1435, i32 0, i32 1
  %1437 = load ptr, ptr %1436, align 8, !tbaa !20
  %1438 = icmp ne ptr %1437, null
  br i1 %1438, label %1439, label %1451

1439:                                             ; preds = %1428
  %1440 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %1441 = load ptr, ptr %8, align 8, !tbaa !5
  %1442 = getelementptr inbounds %struct.w2c_hermes, ptr %1441, i32 0, i32 7
  %1443 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1442, i32 0, i32 0
  %1444 = load ptr, ptr %1443, align 8, !tbaa !19
  %1445 = load i32, ptr %41, align 4, !tbaa !9
  %1446 = zext i32 %1445 to i64
  %1447 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1444, i64 %1446
  %1448 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1447, i32 0, i32 0
  %1449 = load ptr, ptr %1448, align 8, !tbaa !22
  %1450 = call zeroext i1 @func_types_eq(ptr noundef %1440, ptr noundef %1449)
  br label %1451

1451:                                             ; preds = %1439, %1428, %1408
  %1452 = phi i1 [ false, %1428 ], [ false, %1408 ], [ %1450, %1439 ]
  %1453 = xor i1 %1452, true
  %1454 = xor i1 %1453, true
  %1455 = zext i1 %1454 to i32
  %1456 = sext i32 %1455 to i64
  %1457 = call i64 @llvm.expect.i64(i64 %1456, i64 1)
  %1458 = icmp ne i64 %1457, 0
  br i1 %1458, label %1461, label %1459

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

1460:                                             ; No predecessors!
  br label %1461

1461:                                             ; preds = %1460, %1451
  %1462 = phi i1 [ true, %1451 ], [ false, %1460 ]
  %1463 = zext i1 %1462 to i32
  %1464 = load ptr, ptr %8, align 8, !tbaa !5
  %1465 = getelementptr inbounds %struct.w2c_hermes, ptr %1464, i32 0, i32 7
  %1466 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1465, i32 0, i32 0
  %1467 = load ptr, ptr %1466, align 8, !tbaa !19
  %1468 = load i32, ptr %41, align 4, !tbaa !9
  %1469 = zext i32 %1468 to i64
  %1470 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1467, i64 %1469
  %1471 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1470, i32 0, i32 1
  %1472 = load ptr, ptr %1471, align 8, !tbaa !20
  %1473 = load ptr, ptr %8, align 8, !tbaa !5
  %1474 = getelementptr inbounds %struct.w2c_hermes, ptr %1473, i32 0, i32 7
  %1475 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1474, i32 0, i32 0
  %1476 = load ptr, ptr %1475, align 8, !tbaa !19
  %1477 = load i32, ptr %41, align 4, !tbaa !9
  %1478 = zext i32 %1477 to i64
  %1479 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1476, i64 %1478
  %1480 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1479, i32 0, i32 2
  %1481 = load ptr, ptr %1480, align 8, !tbaa !23
  %1482 = load i32, ptr %40, align 4, !tbaa !9
  call void %1472(ptr noundef %1481, i32 noundef %1482)
  %1483 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1483, ptr %40, align 4, !tbaa !9
  %1484 = load ptr, ptr %8, align 8, !tbaa !5
  %1485 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %1484, i32 noundef %1485)
  br label %1486

1486:                                             ; preds = %1461, %1407, %1384
  %1487 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1487, ptr %40, align 4, !tbaa !9
  %1488 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1488, ptr %41, align 4, !tbaa !9
  %1489 = load i32, ptr %40, align 4, !tbaa !9
  %1490 = load i32, ptr %41, align 4, !tbaa !9
  %1491 = icmp ne i32 %1489, %1490
  %1492 = zext i1 %1491 to i32
  store i32 %1492, ptr %40, align 4, !tbaa !9
  %1493 = load i32, ptr %40, align 4, !tbaa !9
  %1494 = icmp ne i32 %1493, 0
  br i1 %1494, label %1495, label %1496

1495:                                             ; preds = %1486
  br label %1365

1496:                                             ; preds = %1486
  br label %1525

1497:                                             ; preds = %1070
  %1498 = load ptr, ptr %8, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %1498)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1499:                                             ; preds = %1161
  %1500 = load ptr, ptr %8, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %1500)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1501:                                             ; preds = %1264
  %1502 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1502, ptr %40, align 4, !tbaa !9
  %1503 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1503, ptr %41, align 4, !tbaa !9
  %1504 = load ptr, ptr %8, align 8, !tbaa !5
  %1505 = getelementptr inbounds %struct.w2c_hermes, ptr %1504, i32 0, i32 6
  %1506 = load i32, ptr %40, align 4, !tbaa !9
  %1507 = zext i32 %1506 to i64
  %1508 = add i64 %1507, 8
  %1509 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1505, i64 noundef %1508, i32 noundef %1509)
  %1510 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1510, ptr %40, align 4, !tbaa !9
  %1511 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1511, ptr %41, align 4, !tbaa !9
  %1512 = load ptr, ptr %8, align 8, !tbaa !5
  %1513 = getelementptr inbounds %struct.w2c_hermes, ptr %1512, i32 0, i32 6
  %1514 = load i32, ptr %40, align 4, !tbaa !9
  %1515 = zext i32 %1514 to i64
  %1516 = add i64 %1515, 4
  %1517 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1513, i64 noundef %1516, i32 noundef %1517)
  %1518 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %1518, ptr %40, align 4, !tbaa !9
  %1519 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1519, ptr %41, align 4, !tbaa !9
  %1520 = load ptr, ptr %8, align 8, !tbaa !5
  %1521 = getelementptr inbounds %struct.w2c_hermes, ptr %1520, i32 0, i32 6
  %1522 = load i32, ptr %40, align 4, !tbaa !9
  %1523 = zext i32 %1522 to i64
  %1524 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1521, i64 noundef %1523, i32 noundef %1524)
  br label %1525

1525:                                             ; preds = %1501, %1496, %1363
  %1526 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1526, ptr %40, align 4, !tbaa !9
  %1527 = load i32, ptr %40, align 4, !tbaa !9
  %1528 = icmp ne i32 %1527, 0
  br i1 %1528, label %1529, label %1533

1529:                                             ; preds = %1525
  %1530 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1530, ptr %40, align 4, !tbaa !9
  %1531 = load ptr, ptr %8, align 8, !tbaa !5
  %1532 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1531, i32 noundef %1532)
  br label %1533

1533:                                             ; preds = %1529, %1525
  br label %1534

1534:                                             ; preds = %1533, %1058
  %1535 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1535, ptr %40, align 4, !tbaa !9
  %1536 = load ptr, ptr %8, align 8, !tbaa !5
  %1537 = getelementptr inbounds %struct.w2c_hermes, ptr %1536, i32 0, i32 6
  %1538 = load i32, ptr %40, align 4, !tbaa !9
  %1539 = zext i32 %1538 to i64
  %1540 = add i64 %1539, 5303
  %1541 = call i32 @i32_load8_u(ptr noundef %1537, i64 noundef %1540)
  store i32 %1541, ptr %40, align 4, !tbaa !9
  %1542 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1542, ptr %16, align 4, !tbaa !9
  %1543 = load i32, ptr %40, align 4, !tbaa !9
  %1544 = icmp ne i32 %1543, 0
  br i1 %1544, label %1545, label %1628

1545:                                             ; preds = %1534
  %1546 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1546, ptr %40, align 4, !tbaa !9
  %1547 = load ptr, ptr %8, align 8, !tbaa !5
  %1548 = getelementptr inbounds %struct.w2c_hermes, ptr %1547, i32 0, i32 6
  %1549 = load i32, ptr %40, align 4, !tbaa !9
  %1550 = zext i32 %1549 to i64
  %1551 = call i32 @i32_load(ptr noundef %1548, i64 noundef %1550)
  store i32 %1551, ptr %40, align 4, !tbaa !9
  %1552 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1552, ptr %12, align 4, !tbaa !9
  %1553 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1553, ptr %41, align 4, !tbaa !9
  %1554 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1554, ptr %42, align 4, !tbaa !9
  %1555 = load ptr, ptr %8, align 8, !tbaa !5
  %1556 = getelementptr inbounds %struct.w2c_hermes, ptr %1555, i32 0, i32 6
  %1557 = load i32, ptr %42, align 4, !tbaa !9
  %1558 = zext i32 %1557 to i64
  %1559 = call i32 @i32_load(ptr noundef %1556, i64 noundef %1558)
  store i32 %1559, ptr %42, align 4, !tbaa !9
  %1560 = load ptr, ptr %8, align 8, !tbaa !5
  %1561 = getelementptr inbounds %struct.w2c_hermes, ptr %1560, i32 0, i32 6
  %1562 = load i32, ptr %42, align 4, !tbaa !9
  %1563 = zext i32 %1562 to i64
  %1564 = add i64 %1563, 48
  %1565 = call i32 @i32_load(ptr noundef %1561, i64 noundef %1564)
  store i32 %1565, ptr %42, align 4, !tbaa !9
  %1566 = load i32, ptr %42, align 4, !tbaa !9
  %1567 = load ptr, ptr %8, align 8, !tbaa !5
  %1568 = getelementptr inbounds %struct.w2c_hermes, ptr %1567, i32 0, i32 7
  %1569 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1568, i32 0, i32 2
  %1570 = load i32, ptr %1569, align 4, !tbaa !18
  %1571 = icmp ult i32 %1566, %1570
  br i1 %1571, label %1572, label %1595

1572:                                             ; preds = %1545
  %1573 = load ptr, ptr %8, align 8, !tbaa !5
  %1574 = getelementptr inbounds %struct.w2c_hermes, ptr %1573, i32 0, i32 7
  %1575 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1574, i32 0, i32 0
  %1576 = load ptr, ptr %1575, align 8, !tbaa !19
  %1577 = load i32, ptr %42, align 4, !tbaa !9
  %1578 = zext i32 %1577 to i64
  %1579 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1576, i64 %1578
  %1580 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1579, i32 0, i32 1
  %1581 = load ptr, ptr %1580, align 8, !tbaa !20
  %1582 = icmp ne ptr %1581, null
  br i1 %1582, label %1583, label %1595

1583:                                             ; preds = %1572
  %1584 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %1585 = load ptr, ptr %8, align 8, !tbaa !5
  %1586 = getelementptr inbounds %struct.w2c_hermes, ptr %1585, i32 0, i32 7
  %1587 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1586, i32 0, i32 0
  %1588 = load ptr, ptr %1587, align 8, !tbaa !19
  %1589 = load i32, ptr %42, align 4, !tbaa !9
  %1590 = zext i32 %1589 to i64
  %1591 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1588, i64 %1590
  %1592 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1591, i32 0, i32 0
  %1593 = load ptr, ptr %1592, align 8, !tbaa !22
  %1594 = call zeroext i1 @func_types_eq(ptr noundef %1584, ptr noundef %1593)
  br label %1595

1595:                                             ; preds = %1583, %1572, %1545
  %1596 = phi i1 [ false, %1572 ], [ false, %1545 ], [ %1594, %1583 ]
  %1597 = xor i1 %1596, true
  %1598 = xor i1 %1597, true
  %1599 = zext i1 %1598 to i32
  %1600 = sext i32 %1599 to i64
  %1601 = call i64 @llvm.expect.i64(i64 %1600, i64 1)
  %1602 = icmp ne i64 %1601, 0
  br i1 %1602, label %1605, label %1603

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

1604:                                             ; No predecessors!
  br label %1605

1605:                                             ; preds = %1604, %1595
  %1606 = phi i1 [ true, %1595 ], [ false, %1604 ]
  %1607 = zext i1 %1606 to i32
  %1608 = load ptr, ptr %8, align 8, !tbaa !5
  %1609 = getelementptr inbounds %struct.w2c_hermes, ptr %1608, i32 0, i32 7
  %1610 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1609, i32 0, i32 0
  %1611 = load ptr, ptr %1610, align 8, !tbaa !19
  %1612 = load i32, ptr %42, align 4, !tbaa !9
  %1613 = zext i32 %1612 to i64
  %1614 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1611, i64 %1613
  %1615 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1614, i32 0, i32 1
  %1616 = load ptr, ptr %1615, align 8, !tbaa !20
  %1617 = load ptr, ptr %8, align 8, !tbaa !5
  %1618 = getelementptr inbounds %struct.w2c_hermes, ptr %1617, i32 0, i32 7
  %1619 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1618, i32 0, i32 0
  %1620 = load ptr, ptr %1619, align 8, !tbaa !19
  %1621 = load i32, ptr %42, align 4, !tbaa !9
  %1622 = zext i32 %1621 to i64
  %1623 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1620, i64 %1622
  %1624 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1623, i32 0, i32 2
  %1625 = load ptr, ptr %1624, align 8, !tbaa !23
  %1626 = load i32, ptr %40, align 4, !tbaa !9
  %1627 = load i32, ptr %41, align 4, !tbaa !9
  call void %1616(ptr noundef %1625, i32 noundef %1626, i32 noundef %1627)
  br label %1628

1628:                                             ; preds = %1605, %1534
  %1629 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1629, ptr %40, align 4, !tbaa !9
  %1630 = load ptr, ptr %8, align 8, !tbaa !5
  %1631 = getelementptr inbounds %struct.w2c_hermes, ptr %1630, i32 0, i32 6
  %1632 = load i32, ptr %40, align 4, !tbaa !9
  %1633 = zext i32 %1632 to i64
  %1634 = add i64 %1633, 5308
  %1635 = call i32 @i32_load(ptr noundef %1631, i64 noundef %1634)
  store i32 %1635, ptr %40, align 4, !tbaa !9
  %1636 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1636, ptr %12, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %1637 = load i32, ptr %41, align 4, !tbaa !9
  %1638 = load i32, ptr %40, align 4, !tbaa !9
  %1639 = and i32 %1638, %1637
  store i32 %1639, ptr %40, align 4, !tbaa !9
  %1640 = load i32, ptr %40, align 4, !tbaa !9
  %1641 = icmp ne i32 %1640, 0
  br i1 %1641, label %1642, label %1724

1642:                                             ; preds = %1628
  %1643 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1643, ptr %40, align 4, !tbaa !9
  %1644 = load ptr, ptr %8, align 8, !tbaa !5
  %1645 = getelementptr inbounds %struct.w2c_hermes, ptr %1644, i32 0, i32 6
  %1646 = load i32, ptr %40, align 4, !tbaa !9
  %1647 = zext i32 %1646 to i64
  %1648 = call i32 @i32_load(ptr noundef %1645, i64 noundef %1647)
  store i32 %1648, ptr %40, align 4, !tbaa !9
  %1649 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1649, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %1650 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1650, ptr %42, align 4, !tbaa !9
  %1651 = load ptr, ptr %8, align 8, !tbaa !5
  %1652 = getelementptr inbounds %struct.w2c_hermes, ptr %1651, i32 0, i32 6
  %1653 = load i32, ptr %42, align 4, !tbaa !9
  %1654 = zext i32 %1653 to i64
  %1655 = call i32 @i32_load(ptr noundef %1652, i64 noundef %1654)
  store i32 %1655, ptr %42, align 4, !tbaa !9
  %1656 = load ptr, ptr %8, align 8, !tbaa !5
  %1657 = getelementptr inbounds %struct.w2c_hermes, ptr %1656, i32 0, i32 6
  %1658 = load i32, ptr %42, align 4, !tbaa !9
  %1659 = zext i32 %1658 to i64
  %1660 = add i64 %1659, 52
  %1661 = call i32 @i32_load(ptr noundef %1657, i64 noundef %1660)
  store i32 %1661, ptr %42, align 4, !tbaa !9
  %1662 = load i32, ptr %42, align 4, !tbaa !9
  %1663 = load ptr, ptr %8, align 8, !tbaa !5
  %1664 = getelementptr inbounds %struct.w2c_hermes, ptr %1663, i32 0, i32 7
  %1665 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1664, i32 0, i32 2
  %1666 = load i32, ptr %1665, align 4, !tbaa !18
  %1667 = icmp ult i32 %1662, %1666
  br i1 %1667, label %1668, label %1691

1668:                                             ; preds = %1642
  %1669 = load ptr, ptr %8, align 8, !tbaa !5
  %1670 = getelementptr inbounds %struct.w2c_hermes, ptr %1669, i32 0, i32 7
  %1671 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1670, i32 0, i32 0
  %1672 = load ptr, ptr %1671, align 8, !tbaa !19
  %1673 = load i32, ptr %42, align 4, !tbaa !9
  %1674 = zext i32 %1673 to i64
  %1675 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1672, i64 %1674
  %1676 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1675, i32 0, i32 1
  %1677 = load ptr, ptr %1676, align 8, !tbaa !20
  %1678 = icmp ne ptr %1677, null
  br i1 %1678, label %1679, label %1691

1679:                                             ; preds = %1668
  %1680 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %1681 = load ptr, ptr %8, align 8, !tbaa !5
  %1682 = getelementptr inbounds %struct.w2c_hermes, ptr %1681, i32 0, i32 7
  %1683 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1682, i32 0, i32 0
  %1684 = load ptr, ptr %1683, align 8, !tbaa !19
  %1685 = load i32, ptr %42, align 4, !tbaa !9
  %1686 = zext i32 %1685 to i64
  %1687 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1684, i64 %1686
  %1688 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1687, i32 0, i32 0
  %1689 = load ptr, ptr %1688, align 8, !tbaa !22
  %1690 = call zeroext i1 @func_types_eq(ptr noundef %1680, ptr noundef %1689)
  br label %1691

1691:                                             ; preds = %1679, %1668, %1642
  %1692 = phi i1 [ false, %1668 ], [ false, %1642 ], [ %1690, %1679 ]
  %1693 = xor i1 %1692, true
  %1694 = xor i1 %1693, true
  %1695 = zext i1 %1694 to i32
  %1696 = sext i32 %1695 to i64
  %1697 = call i64 @llvm.expect.i64(i64 %1696, i64 1)
  %1698 = icmp ne i64 %1697, 0
  br i1 %1698, label %1701, label %1699

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

1700:                                             ; No predecessors!
  br label %1701

1701:                                             ; preds = %1700, %1691
  %1702 = phi i1 [ true, %1691 ], [ false, %1700 ]
  %1703 = zext i1 %1702 to i32
  %1704 = load ptr, ptr %8, align 8, !tbaa !5
  %1705 = getelementptr inbounds %struct.w2c_hermes, ptr %1704, i32 0, i32 7
  %1706 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1705, i32 0, i32 0
  %1707 = load ptr, ptr %1706, align 8, !tbaa !19
  %1708 = load i32, ptr %42, align 4, !tbaa !9
  %1709 = zext i32 %1708 to i64
  %1710 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1707, i64 %1709
  %1711 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1710, i32 0, i32 1
  %1712 = load ptr, ptr %1711, align 8, !tbaa !20
  %1713 = load ptr, ptr %8, align 8, !tbaa !5
  %1714 = getelementptr inbounds %struct.w2c_hermes, ptr %1713, i32 0, i32 7
  %1715 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1714, i32 0, i32 0
  %1716 = load ptr, ptr %1715, align 8, !tbaa !19
  %1717 = load i32, ptr %42, align 4, !tbaa !9
  %1718 = zext i32 %1717 to i64
  %1719 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1716, i64 %1718
  %1720 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1719, i32 0, i32 2
  %1721 = load ptr, ptr %1720, align 8, !tbaa !23
  %1722 = load i32, ptr %40, align 4, !tbaa !9
  %1723 = load i32, ptr %41, align 4, !tbaa !9
  call void %1712(ptr noundef %1721, i32 noundef %1722, i32 noundef %1723)
  br label %1818

1724:                                             ; preds = %1628
  %1725 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1725, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %1726 = load i32, ptr %41, align 4, !tbaa !9
  %1727 = load i32, ptr %40, align 4, !tbaa !9
  %1728 = and i32 %1727, %1726
  store i32 %1728, ptr %40, align 4, !tbaa !9
  %1729 = load i32, ptr %40, align 4, !tbaa !9
  %1730 = icmp ne i32 %1729, 0
  %1731 = xor i1 %1730, true
  %1732 = zext i1 %1731 to i32
  store i32 %1732, ptr %40, align 4, !tbaa !9
  %1733 = load i32, ptr %40, align 4, !tbaa !9
  %1734 = icmp ne i32 %1733, 0
  br i1 %1734, label %1735, label %1736

1735:                                             ; preds = %1724
  br label %1818

1736:                                             ; preds = %1724
  %1737 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1737, ptr %40, align 4, !tbaa !9
  %1738 = load ptr, ptr %8, align 8, !tbaa !5
  %1739 = getelementptr inbounds %struct.w2c_hermes, ptr %1738, i32 0, i32 6
  %1740 = load i32, ptr %40, align 4, !tbaa !9
  %1741 = zext i32 %1740 to i64
  %1742 = call i32 @i32_load(ptr noundef %1739, i64 noundef %1741)
  store i32 %1742, ptr %40, align 4, !tbaa !9
  %1743 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1743, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %1744 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1744, ptr %42, align 4, !tbaa !9
  %1745 = load ptr, ptr %8, align 8, !tbaa !5
  %1746 = getelementptr inbounds %struct.w2c_hermes, ptr %1745, i32 0, i32 6
  %1747 = load i32, ptr %42, align 4, !tbaa !9
  %1748 = zext i32 %1747 to i64
  %1749 = call i32 @i32_load(ptr noundef %1746, i64 noundef %1748)
  store i32 %1749, ptr %42, align 4, !tbaa !9
  %1750 = load ptr, ptr %8, align 8, !tbaa !5
  %1751 = getelementptr inbounds %struct.w2c_hermes, ptr %1750, i32 0, i32 6
  %1752 = load i32, ptr %42, align 4, !tbaa !9
  %1753 = zext i32 %1752 to i64
  %1754 = add i64 %1753, 52
  %1755 = call i32 @i32_load(ptr noundef %1751, i64 noundef %1754)
  store i32 %1755, ptr %42, align 4, !tbaa !9
  %1756 = load i32, ptr %42, align 4, !tbaa !9
  %1757 = load ptr, ptr %8, align 8, !tbaa !5
  %1758 = getelementptr inbounds %struct.w2c_hermes, ptr %1757, i32 0, i32 7
  %1759 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1758, i32 0, i32 2
  %1760 = load i32, ptr %1759, align 4, !tbaa !18
  %1761 = icmp ult i32 %1756, %1760
  br i1 %1761, label %1762, label %1785

1762:                                             ; preds = %1736
  %1763 = load ptr, ptr %8, align 8, !tbaa !5
  %1764 = getelementptr inbounds %struct.w2c_hermes, ptr %1763, i32 0, i32 7
  %1765 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1764, i32 0, i32 0
  %1766 = load ptr, ptr %1765, align 8, !tbaa !19
  %1767 = load i32, ptr %42, align 4, !tbaa !9
  %1768 = zext i32 %1767 to i64
  %1769 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1766, i64 %1768
  %1770 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1769, i32 0, i32 1
  %1771 = load ptr, ptr %1770, align 8, !tbaa !20
  %1772 = icmp ne ptr %1771, null
  br i1 %1772, label %1773, label %1785

1773:                                             ; preds = %1762
  %1774 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %1775 = load ptr, ptr %8, align 8, !tbaa !5
  %1776 = getelementptr inbounds %struct.w2c_hermes, ptr %1775, i32 0, i32 7
  %1777 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1776, i32 0, i32 0
  %1778 = load ptr, ptr %1777, align 8, !tbaa !19
  %1779 = load i32, ptr %42, align 4, !tbaa !9
  %1780 = zext i32 %1779 to i64
  %1781 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1778, i64 %1780
  %1782 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1781, i32 0, i32 0
  %1783 = load ptr, ptr %1782, align 8, !tbaa !22
  %1784 = call zeroext i1 @func_types_eq(ptr noundef %1774, ptr noundef %1783)
  br label %1785

1785:                                             ; preds = %1773, %1762, %1736
  %1786 = phi i1 [ false, %1762 ], [ false, %1736 ], [ %1784, %1773 ]
  %1787 = xor i1 %1786, true
  %1788 = xor i1 %1787, true
  %1789 = zext i1 %1788 to i32
  %1790 = sext i32 %1789 to i64
  %1791 = call i64 @llvm.expect.i64(i64 %1790, i64 1)
  %1792 = icmp ne i64 %1791, 0
  br i1 %1792, label %1795, label %1793

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

1794:                                             ; No predecessors!
  br label %1795

1795:                                             ; preds = %1794, %1785
  %1796 = phi i1 [ true, %1785 ], [ false, %1794 ]
  %1797 = zext i1 %1796 to i32
  %1798 = load ptr, ptr %8, align 8, !tbaa !5
  %1799 = getelementptr inbounds %struct.w2c_hermes, ptr %1798, i32 0, i32 7
  %1800 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1799, i32 0, i32 0
  %1801 = load ptr, ptr %1800, align 8, !tbaa !19
  %1802 = load i32, ptr %42, align 4, !tbaa !9
  %1803 = zext i32 %1802 to i64
  %1804 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1801, i64 %1803
  %1805 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1804, i32 0, i32 1
  %1806 = load ptr, ptr %1805, align 8, !tbaa !20
  %1807 = load ptr, ptr %8, align 8, !tbaa !5
  %1808 = getelementptr inbounds %struct.w2c_hermes, ptr %1807, i32 0, i32 7
  %1809 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1808, i32 0, i32 0
  %1810 = load ptr, ptr %1809, align 8, !tbaa !19
  %1811 = load i32, ptr %42, align 4, !tbaa !9
  %1812 = zext i32 %1811 to i64
  %1813 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1810, i64 %1812
  %1814 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1813, i32 0, i32 2
  %1815 = load ptr, ptr %1814, align 8, !tbaa !23
  %1816 = load i32, ptr %40, align 4, !tbaa !9
  %1817 = load i32, ptr %41, align 4, !tbaa !9
  call void %1806(ptr noundef %1815, i32 noundef %1816, i32 noundef %1817)
  br label %1818

1818:                                             ; preds = %1795, %1735, %1701
  %1819 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1819, ptr %40, align 4, !tbaa !9
  %1820 = load ptr, ptr %8, align 8, !tbaa !5
  %1821 = getelementptr inbounds %struct.w2c_hermes, ptr %1820, i32 0, i32 6
  %1822 = load i32, ptr %40, align 4, !tbaa !9
  %1823 = zext i32 %1822 to i64
  %1824 = add i64 %1823, 5308
  %1825 = call i32 @i32_load8_u(ptr noundef %1821, i64 noundef %1824)
  store i32 %1825, ptr %40, align 4, !tbaa !9
  store i32 128, ptr %41, align 4, !tbaa !9
  %1826 = load i32, ptr %41, align 4, !tbaa !9
  %1827 = load i32, ptr %40, align 4, !tbaa !9
  %1828 = and i32 %1827, %1826
  store i32 %1828, ptr %40, align 4, !tbaa !9
  %1829 = load i32, ptr %40, align 4, !tbaa !9
  %1830 = icmp ne i32 %1829, 0
  %1831 = xor i1 %1830, true
  %1832 = zext i1 %1831 to i32
  store i32 %1832, ptr %40, align 4, !tbaa !9
  %1833 = load i32, ptr %40, align 4, !tbaa !9
  %1834 = icmp ne i32 %1833, 0
  br i1 %1834, label %1835, label %1836

1835:                                             ; preds = %1818
  br label %2104

1836:                                             ; preds = %1818
  %1837 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1837, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %1838 = load i32, ptr %41, align 4, !tbaa !9
  %1839 = load i32, ptr %40, align 4, !tbaa !9
  %1840 = add i32 %1839, %1838
  store i32 %1840, ptr %40, align 4, !tbaa !9
  %1841 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1841, ptr %41, align 4, !tbaa !9
  %1842 = load ptr, ptr %8, align 8, !tbaa !5
  %1843 = getelementptr inbounds %struct.w2c_hermes, ptr %1842, i32 0, i32 6
  %1844 = load i32, ptr %41, align 4, !tbaa !9
  %1845 = zext i32 %1844 to i64
  %1846 = call i32 @i32_load(ptr noundef %1843, i64 noundef %1845)
  store i32 %1846, ptr %41, align 4, !tbaa !9
  %1847 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %1847, ptr %12, align 4, !tbaa !9
  %1848 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1848, ptr %42, align 4, !tbaa !9
  %1849 = load ptr, ptr %8, align 8, !tbaa !5
  %1850 = getelementptr inbounds %struct.w2c_hermes, ptr %1849, i32 0, i32 6
  %1851 = load i32, ptr %42, align 4, !tbaa !9
  %1852 = zext i32 %1851 to i64
  %1853 = call i32 @i32_load(ptr noundef %1850, i64 noundef %1852)
  store i32 %1853, ptr %42, align 4, !tbaa !9
  %1854 = load ptr, ptr %8, align 8, !tbaa !5
  %1855 = getelementptr inbounds %struct.w2c_hermes, ptr %1854, i32 0, i32 6
  %1856 = load i32, ptr %42, align 4, !tbaa !9
  %1857 = zext i32 %1856 to i64
  %1858 = add i64 %1857, 76
  %1859 = call i32 @i32_load(ptr noundef %1855, i64 noundef %1858)
  store i32 %1859, ptr %42, align 4, !tbaa !9
  %1860 = load i32, ptr %42, align 4, !tbaa !9
  %1861 = load ptr, ptr %8, align 8, !tbaa !5
  %1862 = getelementptr inbounds %struct.w2c_hermes, ptr %1861, i32 0, i32 7
  %1863 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1862, i32 0, i32 2
  %1864 = load i32, ptr %1863, align 4, !tbaa !18
  %1865 = icmp ult i32 %1860, %1864
  br i1 %1865, label %1866, label %1889

1866:                                             ; preds = %1836
  %1867 = load ptr, ptr %8, align 8, !tbaa !5
  %1868 = getelementptr inbounds %struct.w2c_hermes, ptr %1867, i32 0, i32 7
  %1869 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1868, i32 0, i32 0
  %1870 = load ptr, ptr %1869, align 8, !tbaa !19
  %1871 = load i32, ptr %42, align 4, !tbaa !9
  %1872 = zext i32 %1871 to i64
  %1873 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1870, i64 %1872
  %1874 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1873, i32 0, i32 1
  %1875 = load ptr, ptr %1874, align 8, !tbaa !20
  %1876 = icmp ne ptr %1875, null
  br i1 %1876, label %1877, label %1889

1877:                                             ; preds = %1866
  %1878 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %1879 = load ptr, ptr %8, align 8, !tbaa !5
  %1880 = getelementptr inbounds %struct.w2c_hermes, ptr %1879, i32 0, i32 7
  %1881 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1880, i32 0, i32 0
  %1882 = load ptr, ptr %1881, align 8, !tbaa !19
  %1883 = load i32, ptr %42, align 4, !tbaa !9
  %1884 = zext i32 %1883 to i64
  %1885 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1882, i64 %1884
  %1886 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1885, i32 0, i32 0
  %1887 = load ptr, ptr %1886, align 8, !tbaa !22
  %1888 = call zeroext i1 @func_types_eq(ptr noundef %1878, ptr noundef %1887)
  br label %1889

1889:                                             ; preds = %1877, %1866, %1836
  %1890 = phi i1 [ false, %1866 ], [ false, %1836 ], [ %1888, %1877 ]
  %1891 = xor i1 %1890, true
  %1892 = xor i1 %1891, true
  %1893 = zext i1 %1892 to i32
  %1894 = sext i32 %1893 to i64
  %1895 = call i64 @llvm.expect.i64(i64 %1894, i64 1)
  %1896 = icmp ne i64 %1895, 0
  br i1 %1896, label %1899, label %1897

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

1898:                                             ; No predecessors!
  br label %1899

1899:                                             ; preds = %1898, %1889
  %1900 = phi i1 [ true, %1889 ], [ false, %1898 ]
  %1901 = zext i1 %1900 to i32
  %1902 = load ptr, ptr %8, align 8, !tbaa !5
  %1903 = getelementptr inbounds %struct.w2c_hermes, ptr %1902, i32 0, i32 7
  %1904 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1903, i32 0, i32 0
  %1905 = load ptr, ptr %1904, align 8, !tbaa !19
  %1906 = load i32, ptr %42, align 4, !tbaa !9
  %1907 = zext i32 %1906 to i64
  %1908 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1905, i64 %1907
  %1909 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1908, i32 0, i32 1
  %1910 = load ptr, ptr %1909, align 8, !tbaa !20
  %1911 = load ptr, ptr %8, align 8, !tbaa !5
  %1912 = getelementptr inbounds %struct.w2c_hermes, ptr %1911, i32 0, i32 7
  %1913 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %1912, i32 0, i32 0
  %1914 = load ptr, ptr %1913, align 8, !tbaa !19
  %1915 = load i32, ptr %42, align 4, !tbaa !9
  %1916 = zext i32 %1915 to i64
  %1917 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1914, i64 %1916
  %1918 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1917, i32 0, i32 2
  %1919 = load ptr, ptr %1918, align 8, !tbaa !23
  %1920 = load i32, ptr %40, align 4, !tbaa !9
  %1921 = load i32, ptr %41, align 4, !tbaa !9
  call void %1910(ptr noundef %1919, i32 noundef %1920, i32 noundef %1921)
  %1922 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1922, ptr %40, align 4, !tbaa !9
  %1923 = load ptr, ptr %8, align 8, !tbaa !5
  %1924 = getelementptr inbounds %struct.w2c_hermes, ptr %1923, i32 0, i32 6
  %1925 = load i32, ptr %40, align 4, !tbaa !9
  %1926 = zext i32 %1925 to i64
  %1927 = add i64 %1926, 84
  %1928 = call i32 @i32_load(ptr noundef %1924, i64 noundef %1927)
  store i32 %1928, ptr %40, align 4, !tbaa !9
  %1929 = load i32, ptr %40, align 4, !tbaa !9
  %1930 = icmp ne i32 %1929, 0
  %1931 = xor i1 %1930, true
  %1932 = zext i1 %1931 to i32
  store i32 %1932, ptr %40, align 4, !tbaa !9
  %1933 = load i32, ptr %40, align 4, !tbaa !9
  %1934 = icmp ne i32 %1933, 0
  br i1 %1934, label %1935, label %1936

1935:                                             ; preds = %1899
  br label %2104

1936:                                             ; preds = %1899
  %1937 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1937, ptr %40, align 4, !tbaa !9
  %1938 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1938, ptr %41, align 4, !tbaa !9
  %1939 = load ptr, ptr %8, align 8, !tbaa !5
  %1940 = getelementptr inbounds %struct.w2c_hermes, ptr %1939, i32 0, i32 6
  %1941 = load i32, ptr %41, align 4, !tbaa !9
  %1942 = zext i32 %1941 to i64
  %1943 = add i64 %1942, 80
  %1944 = call i64 @i64_load(ptr noundef %1940, i64 noundef %1943)
  store i64 %1944, ptr %49, align 8, !tbaa !11
  %1945 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %1945, ptr %37, align 8, !tbaa !11
  %1946 = load ptr, ptr %8, align 8, !tbaa !5
  %1947 = getelementptr inbounds %struct.w2c_hermes, ptr %1946, i32 0, i32 6
  %1948 = load i32, ptr %40, align 4, !tbaa !9
  %1949 = zext i32 %1948 to i64
  %1950 = add i64 %1949, 48
  %1951 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1947, i64 noundef %1950, i64 noundef %1951)
  %1952 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1952, ptr %40, align 4, !tbaa !9
  %1953 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %1953, ptr %49, align 8, !tbaa !11
  %1954 = load ptr, ptr %8, align 8, !tbaa !5
  %1955 = getelementptr inbounds %struct.w2c_hermes, ptr %1954, i32 0, i32 6
  %1956 = load i32, ptr %40, align 4, !tbaa !9
  %1957 = zext i32 %1956 to i64
  %1958 = add i64 %1957, 24
  %1959 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1955, i64 noundef %1958, i64 noundef %1959)
  %1960 = load ptr, ptr %8, align 8, !tbaa !5
  %1961 = getelementptr inbounds %struct.w2c_hermes, ptr %1960, i32 0, i32 3
  %1962 = load i32, ptr %1961, align 8, !tbaa !13
  store i32 %1962, ptr %40, align 4, !tbaa !9
  store i32 48, ptr %41, align 4, !tbaa !9
  %1963 = load i32, ptr %41, align 4, !tbaa !9
  %1964 = load i32, ptr %40, align 4, !tbaa !9
  %1965 = sub i32 %1964, %1963
  store i32 %1965, ptr %40, align 4, !tbaa !9
  %1966 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1966, ptr %22, align 4, !tbaa !9
  %1967 = load i32, ptr %40, align 4, !tbaa !9
  %1968 = load ptr, ptr %8, align 8, !tbaa !5
  %1969 = getelementptr inbounds %struct.w2c_hermes, ptr %1968, i32 0, i32 3
  store i32 %1967, ptr %1969, align 8, !tbaa !13
  %1970 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1970, ptr %40, align 4, !tbaa !9
  %1971 = load ptr, ptr %8, align 8, !tbaa !5
  %1972 = getelementptr inbounds %struct.w2c_hermes, ptr %1971, i32 0, i32 6
  %1973 = load i32, ptr %40, align 4, !tbaa !9
  %1974 = zext i32 %1973 to i64
  %1975 = add i64 %1974, 24
  %1976 = call i32 @i32_load(ptr noundef %1972, i64 noundef %1975)
  store i32 %1976, ptr %40, align 4, !tbaa !9
  %1977 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1977, ptr %17, align 4, !tbaa !9
  %1978 = load ptr, ptr %8, align 8, !tbaa !5
  %1979 = getelementptr inbounds %struct.w2c_hermes, ptr %1978, i32 0, i32 6
  %1980 = load i32, ptr %40, align 4, !tbaa !9
  %1981 = zext i32 %1980 to i64
  %1982 = add i64 %1981, 32
  %1983 = call i32 @i32_load(ptr noundef %1979, i64 noundef %1982)
  store i32 %1983, ptr %40, align 4, !tbaa !9
  %1984 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1984, ptr %12, align 4, !tbaa !9
  %1985 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1985, ptr %40, align 4, !tbaa !9
  %1986 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1986, ptr %41, align 4, !tbaa !9
  %1987 = load ptr, ptr %8, align 8, !tbaa !5
  %1988 = getelementptr inbounds %struct.w2c_hermes, ptr %1987, i32 0, i32 6
  %1989 = load i32, ptr %40, align 4, !tbaa !9
  %1990 = zext i32 %1989 to i64
  %1991 = add i64 %1990, 20
  %1992 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1988, i64 noundef %1991, i32 noundef %1992)
  %1993 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1993, ptr %40, align 4, !tbaa !9
  %1994 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1994, ptr %41, align 4, !tbaa !9
  %1995 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1995, ptr %42, align 4, !tbaa !9
  %1996 = load i32, ptr %42, align 4, !tbaa !9
  %1997 = load i32, ptr %41, align 4, !tbaa !9
  %1998 = add i32 %1997, %1996
  store i32 %1998, ptr %41, align 4, !tbaa !9
  store i32 20, ptr %42, align 4, !tbaa !9
  %1999 = load i32, ptr %42, align 4, !tbaa !9
  %2000 = load i32, ptr %41, align 4, !tbaa !9
  %2001 = sub i32 %2000, %1999
  store i32 %2001, ptr %41, align 4, !tbaa !9
  %2002 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2002, ptr %16, align 4, !tbaa !9
  %2003 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2003, ptr %42, align 4, !tbaa !9
  %2004 = load i32, ptr %42, align 4, !tbaa !9
  %2005 = load i32, ptr %41, align 4, !tbaa !9
  %2006 = sub i32 %2005, %2004
  store i32 %2006, ptr %41, align 4, !tbaa !9
  %2007 = load ptr, ptr %8, align 8, !tbaa !5
  %2008 = getelementptr inbounds %struct.w2c_hermes, ptr %2007, i32 0, i32 6
  %2009 = load i32, ptr %40, align 4, !tbaa !9
  %2010 = zext i32 %2009 to i64
  %2011 = add i64 %2010, 24
  %2012 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2008, i64 noundef %2011, i32 noundef %2012)
  %2013 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2013, ptr %40, align 4, !tbaa !9
  %2014 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2014, ptr %41, align 4, !tbaa !9
  %2015 = load ptr, ptr %8, align 8, !tbaa !5
  %2016 = getelementptr inbounds %struct.w2c_hermes, ptr %2015, i32 0, i32 6
  %2017 = load i32, ptr %41, align 4, !tbaa !9
  %2018 = zext i32 %2017 to i64
  %2019 = add i64 %2018, 20
  %2020 = call i64 @i64_load(ptr noundef %2016, i64 noundef %2019)
  store i64 %2020, ptr %49, align 8, !tbaa !11
  %2021 = load ptr, ptr %8, align 8, !tbaa !5
  %2022 = getelementptr inbounds %struct.w2c_hermes, ptr %2021, i32 0, i32 6
  %2023 = load i32, ptr %40, align 4, !tbaa !9
  %2024 = zext i32 %2023 to i64
  %2025 = add i64 %2024, 8
  %2026 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2022, i64 noundef %2025, i64 noundef %2026)
  %2027 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2027, ptr %40, align 4, !tbaa !9
  store i32 28, ptr %41, align 4, !tbaa !9
  %2028 = load i32, ptr %41, align 4, !tbaa !9
  %2029 = load i32, ptr %40, align 4, !tbaa !9
  %2030 = add i32 %2029, %2028
  store i32 %2030, ptr %40, align 4, !tbaa !9
  %2031 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2031, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %2032 = load i32, ptr %42, align 4, !tbaa !9
  %2033 = load i32, ptr %41, align 4, !tbaa !9
  %2034 = add i32 %2033, %2032
  store i32 %2034, ptr %41, align 4, !tbaa !9
  %2035 = load ptr, ptr %8, align 8, !tbaa !5
  %2036 = load i32, ptr %40, align 4, !tbaa !9
  %2037 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASHA10x3A0x3Ahash0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef %2035, i32 noundef %2036, i32 noundef %2037)
  store i32 0, ptr %40, align 4, !tbaa !9
  %2038 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2038, ptr %20, align 4, !tbaa !9
  br label %2039

2039:                                             ; preds = %2084, %1936
  %2040 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2040, ptr %40, align 4, !tbaa !9
  store i32 28, ptr %41, align 4, !tbaa !9
  %2041 = load i32, ptr %41, align 4, !tbaa !9
  %2042 = load i32, ptr %40, align 4, !tbaa !9
  %2043 = add i32 %2042, %2041
  store i32 %2043, ptr %40, align 4, !tbaa !9
  %2044 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2044, ptr %41, align 4, !tbaa !9
  %2045 = load i32, ptr %41, align 4, !tbaa !9
  %2046 = load i32, ptr %40, align 4, !tbaa !9
  %2047 = add i32 %2046, %2045
  store i32 %2047, ptr %40, align 4, !tbaa !9
  %2048 = load ptr, ptr %8, align 8, !tbaa !5
  %2049 = getelementptr inbounds %struct.w2c_hermes, ptr %2048, i32 0, i32 6
  %2050 = load i32, ptr %40, align 4, !tbaa !9
  %2051 = zext i32 %2050 to i64
  %2052 = call i32 @i32_load8_u(ptr noundef %2049, i64 noundef %2051)
  store i32 %2052, ptr %40, align 4, !tbaa !9
  %2053 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2053, ptr %17, align 4, !tbaa !9
  %2054 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2054, ptr %41, align 4, !tbaa !9
  %2055 = load ptr, ptr %8, align 8, !tbaa !5
  %2056 = getelementptr inbounds %struct.w2c_hermes, ptr %2055, i32 0, i32 6
  %2057 = load i32, ptr %41, align 4, !tbaa !9
  %2058 = zext i32 %2057 to i64
  %2059 = call i32 @i32_load8_u(ptr noundef %2056, i64 noundef %2058)
  store i32 %2059, ptr %41, align 4, !tbaa !9
  %2060 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2060, ptr %12, align 4, !tbaa !9
  %2061 = load i32, ptr %40, align 4, !tbaa !9
  %2062 = load i32, ptr %41, align 4, !tbaa !9
  %2063 = icmp eq i32 %2061, %2062
  %2064 = zext i1 %2063 to i32
  store i32 %2064, ptr %40, align 4, !tbaa !9
  %2065 = load i32, ptr %40, align 4, !tbaa !9
  %2066 = icmp ne i32 %2065, 0
  br i1 %2066, label %2067, label %2086

2067:                                             ; preds = %2039
  %2068 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2068, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %2069 = load i32, ptr %41, align 4, !tbaa !9
  %2070 = load i32, ptr %40, align 4, !tbaa !9
  %2071 = add i32 %2070, %2069
  store i32 %2071, ptr %40, align 4, !tbaa !9
  %2072 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2072, ptr %16, align 4, !tbaa !9
  %2073 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2073, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %2074 = load i32, ptr %41, align 4, !tbaa !9
  %2075 = load i32, ptr %40, align 4, !tbaa !9
  %2076 = add i32 %2075, %2074
  store i32 %2076, ptr %40, align 4, !tbaa !9
  %2077 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2077, ptr %20, align 4, !tbaa !9
  store i32 20, ptr %41, align 4, !tbaa !9
  %2078 = load i32, ptr %40, align 4, !tbaa !9
  %2079 = load i32, ptr %41, align 4, !tbaa !9
  %2080 = icmp ne i32 %2078, %2079
  %2081 = zext i1 %2080 to i32
  store i32 %2081, ptr %40, align 4, !tbaa !9
  %2082 = load i32, ptr %40, align 4, !tbaa !9
  %2083 = icmp ne i32 %2082, 0
  br i1 %2083, label %2084, label %2085

2084:                                             ; preds = %2067
  br label %2039

2085:                                             ; preds = %2067
  br label %2086

2086:                                             ; preds = %2085, %2039
  %2087 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2087, ptr %40, align 4, !tbaa !9
  store i32 48, ptr %41, align 4, !tbaa !9
  %2088 = load i32, ptr %41, align 4, !tbaa !9
  %2089 = load i32, ptr %40, align 4, !tbaa !9
  %2090 = add i32 %2089, %2088
  store i32 %2090, ptr %40, align 4, !tbaa !9
  %2091 = load i32, ptr %40, align 4, !tbaa !9
  %2092 = load ptr, ptr %8, align 8, !tbaa !5
  %2093 = getelementptr inbounds %struct.w2c_hermes, ptr %2092, i32 0, i32 3
  store i32 %2091, ptr %2093, align 8, !tbaa !13
  %2094 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2094, ptr %40, align 4, !tbaa !9
  %2095 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2095, ptr %41, align 4, !tbaa !9
  %2096 = load i32, ptr %40, align 4, !tbaa !9
  %2097 = load i32, ptr %41, align 4, !tbaa !9
  %2098 = icmp ne i32 %2096, %2097
  %2099 = zext i1 %2098 to i32
  store i32 %2099, ptr %40, align 4, !tbaa !9
  %2100 = load i32, ptr %40, align 4, !tbaa !9
  %2101 = icmp ne i32 %2100, 0
  br i1 %2101, label %2102, label %2103

2102:                                             ; preds = %2086
  br label %8286

2103:                                             ; preds = %2086
  br label %2104

2104:                                             ; preds = %2103, %1935, %1835
  %2105 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2105, ptr %40, align 4, !tbaa !9
  %2106 = load ptr, ptr %8, align 8, !tbaa !5
  %2107 = getelementptr inbounds %struct.w2c_hermes, ptr %2106, i32 0, i32 6
  %2108 = load i32, ptr %40, align 4, !tbaa !9
  %2109 = zext i32 %2108 to i64
  %2110 = add i64 %2109, 5304
  %2111 = call i32 @i32_load8_u(ptr noundef %2107, i64 noundef %2110)
  store i32 %2111, ptr %40, align 4, !tbaa !9
  %2112 = load i32, ptr %40, align 4, !tbaa !9
  %2113 = icmp ne i32 %2112, 0
  %2114 = xor i1 %2113, true
  %2115 = zext i1 %2114 to i32
  store i32 %2115, ptr %40, align 4, !tbaa !9
  %2116 = load i32, ptr %40, align 4, !tbaa !9
  %2117 = icmp ne i32 %2116, 0
  br i1 %2117, label %2118, label %2119

2118:                                             ; preds = %2104
  br label %2389

2119:                                             ; preds = %2104
  %2120 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2120, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %2121 = load i32, ptr %41, align 4, !tbaa !9
  %2122 = load i32, ptr %40, align 4, !tbaa !9
  %2123 = add i32 %2122, %2121
  store i32 %2123, ptr %40, align 4, !tbaa !9
  %2124 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2124, ptr %41, align 4, !tbaa !9
  %2125 = load ptr, ptr %8, align 8, !tbaa !5
  %2126 = getelementptr inbounds %struct.w2c_hermes, ptr %2125, i32 0, i32 6
  %2127 = load i32, ptr %41, align 4, !tbaa !9
  %2128 = zext i32 %2127 to i64
  %2129 = call i32 @i32_load(ptr noundef %2126, i64 noundef %2128)
  store i32 %2129, ptr %41, align 4, !tbaa !9
  %2130 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2130, ptr %12, align 4, !tbaa !9
  %2131 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2131, ptr %42, align 4, !tbaa !9
  %2132 = load ptr, ptr %8, align 8, !tbaa !5
  %2133 = getelementptr inbounds %struct.w2c_hermes, ptr %2132, i32 0, i32 6
  %2134 = load i32, ptr %42, align 4, !tbaa !9
  %2135 = zext i32 %2134 to i64
  %2136 = call i32 @i32_load(ptr noundef %2133, i64 noundef %2135)
  store i32 %2136, ptr %42, align 4, !tbaa !9
  %2137 = load ptr, ptr %8, align 8, !tbaa !5
  %2138 = getelementptr inbounds %struct.w2c_hermes, ptr %2137, i32 0, i32 6
  %2139 = load i32, ptr %42, align 4, !tbaa !9
  %2140 = zext i32 %2139 to i64
  %2141 = add i64 %2140, 76
  %2142 = call i32 @i32_load(ptr noundef %2138, i64 noundef %2141)
  store i32 %2142, ptr %42, align 4, !tbaa !9
  %2143 = load i32, ptr %42, align 4, !tbaa !9
  %2144 = load ptr, ptr %8, align 8, !tbaa !5
  %2145 = getelementptr inbounds %struct.w2c_hermes, ptr %2144, i32 0, i32 7
  %2146 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2145, i32 0, i32 2
  %2147 = load i32, ptr %2146, align 4, !tbaa !18
  %2148 = icmp ult i32 %2143, %2147
  br i1 %2148, label %2149, label %2172

2149:                                             ; preds = %2119
  %2150 = load ptr, ptr %8, align 8, !tbaa !5
  %2151 = getelementptr inbounds %struct.w2c_hermes, ptr %2150, i32 0, i32 7
  %2152 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2151, i32 0, i32 0
  %2153 = load ptr, ptr %2152, align 8, !tbaa !19
  %2154 = load i32, ptr %42, align 4, !tbaa !9
  %2155 = zext i32 %2154 to i64
  %2156 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2153, i64 %2155
  %2157 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2156, i32 0, i32 1
  %2158 = load ptr, ptr %2157, align 8, !tbaa !20
  %2159 = icmp ne ptr %2158, null
  br i1 %2159, label %2160, label %2172

2160:                                             ; preds = %2149
  %2161 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %2162 = load ptr, ptr %8, align 8, !tbaa !5
  %2163 = getelementptr inbounds %struct.w2c_hermes, ptr %2162, i32 0, i32 7
  %2164 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2163, i32 0, i32 0
  %2165 = load ptr, ptr %2164, align 8, !tbaa !19
  %2166 = load i32, ptr %42, align 4, !tbaa !9
  %2167 = zext i32 %2166 to i64
  %2168 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2165, i64 %2167
  %2169 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2168, i32 0, i32 0
  %2170 = load ptr, ptr %2169, align 8, !tbaa !22
  %2171 = call zeroext i1 @func_types_eq(ptr noundef %2161, ptr noundef %2170)
  br label %2172

2172:                                             ; preds = %2160, %2149, %2119
  %2173 = phi i1 [ false, %2149 ], [ false, %2119 ], [ %2171, %2160 ]
  %2174 = xor i1 %2173, true
  %2175 = xor i1 %2174, true
  %2176 = zext i1 %2175 to i32
  %2177 = sext i32 %2176 to i64
  %2178 = call i64 @llvm.expect.i64(i64 %2177, i64 1)
  %2179 = icmp ne i64 %2178, 0
  br i1 %2179, label %2182, label %2180

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

2181:                                             ; No predecessors!
  br label %2182

2182:                                             ; preds = %2181, %2172
  %2183 = phi i1 [ true, %2172 ], [ false, %2181 ]
  %2184 = zext i1 %2183 to i32
  %2185 = load ptr, ptr %8, align 8, !tbaa !5
  %2186 = getelementptr inbounds %struct.w2c_hermes, ptr %2185, i32 0, i32 7
  %2187 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2186, i32 0, i32 0
  %2188 = load ptr, ptr %2187, align 8, !tbaa !19
  %2189 = load i32, ptr %42, align 4, !tbaa !9
  %2190 = zext i32 %2189 to i64
  %2191 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2188, i64 %2190
  %2192 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2191, i32 0, i32 1
  %2193 = load ptr, ptr %2192, align 8, !tbaa !20
  %2194 = load ptr, ptr %8, align 8, !tbaa !5
  %2195 = getelementptr inbounds %struct.w2c_hermes, ptr %2194, i32 0, i32 7
  %2196 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2195, i32 0, i32 0
  %2197 = load ptr, ptr %2196, align 8, !tbaa !19
  %2198 = load i32, ptr %42, align 4, !tbaa !9
  %2199 = zext i32 %2198 to i64
  %2200 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2197, i64 %2199
  %2201 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2200, i32 0, i32 2
  %2202 = load ptr, ptr %2201, align 8, !tbaa !23
  %2203 = load i32, ptr %40, align 4, !tbaa !9
  %2204 = load i32, ptr %41, align 4, !tbaa !9
  call void %2193(ptr noundef %2202, i32 noundef %2203, i32 noundef %2204)
  %2205 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2205, ptr %40, align 4, !tbaa !9
  %2206 = load ptr, ptr %8, align 8, !tbaa !5
  %2207 = getelementptr inbounds %struct.w2c_hermes, ptr %2206, i32 0, i32 6
  %2208 = load i32, ptr %40, align 4, !tbaa !9
  %2209 = zext i32 %2208 to i64
  %2210 = add i64 %2209, 84
  %2211 = call i32 @i32_load(ptr noundef %2207, i64 noundef %2210)
  store i32 %2211, ptr %40, align 4, !tbaa !9
  store i32 65537, ptr %41, align 4, !tbaa !9
  %2212 = load i32, ptr %40, align 4, !tbaa !9
  %2213 = load i32, ptr %41, align 4, !tbaa !9
  %2214 = icmp ult i32 %2212, %2213
  %2215 = zext i1 %2214 to i32
  store i32 %2215, ptr %40, align 4, !tbaa !9
  %2216 = load i32, ptr %40, align 4, !tbaa !9
  %2217 = icmp ne i32 %2216, 0
  br i1 %2217, label %2218, label %2219

2218:                                             ; preds = %2182
  br label %2389

2219:                                             ; preds = %2182
  %2220 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2220, ptr %40, align 4, !tbaa !9
  %2221 = load ptr, ptr %8, align 8, !tbaa !5
  %2222 = getelementptr inbounds %struct.w2c_hermes, ptr %2221, i32 0, i32 6
  %2223 = load i32, ptr %40, align 4, !tbaa !9
  %2224 = zext i32 %2223 to i64
  %2225 = call i32 @i32_load(ptr noundef %2222, i64 noundef %2224)
  store i32 %2225, ptr %40, align 4, !tbaa !9
  %2226 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2226, ptr %12, align 4, !tbaa !9
  %2227 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2227, ptr %41, align 4, !tbaa !9
  %2228 = load ptr, ptr %8, align 8, !tbaa !5
  %2229 = getelementptr inbounds %struct.w2c_hermes, ptr %2228, i32 0, i32 6
  %2230 = load i32, ptr %41, align 4, !tbaa !9
  %2231 = zext i32 %2230 to i64
  %2232 = call i32 @i32_load(ptr noundef %2229, i64 noundef %2231)
  store i32 %2232, ptr %41, align 4, !tbaa !9
  %2233 = load ptr, ptr %8, align 8, !tbaa !5
  %2234 = getelementptr inbounds %struct.w2c_hermes, ptr %2233, i32 0, i32 6
  %2235 = load i32, ptr %41, align 4, !tbaa !9
  %2236 = zext i32 %2235 to i64
  %2237 = add i64 %2236, 68
  %2238 = call i32 @i32_load(ptr noundef %2234, i64 noundef %2237)
  store i32 %2238, ptr %41, align 4, !tbaa !9
  %2239 = load i32, ptr %41, align 4, !tbaa !9
  %2240 = load ptr, ptr %8, align 8, !tbaa !5
  %2241 = getelementptr inbounds %struct.w2c_hermes, ptr %2240, i32 0, i32 7
  %2242 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2241, i32 0, i32 2
  %2243 = load i32, ptr %2242, align 4, !tbaa !18
  %2244 = icmp ult i32 %2239, %2243
  br i1 %2244, label %2245, label %2268

2245:                                             ; preds = %2219
  %2246 = load ptr, ptr %8, align 8, !tbaa !5
  %2247 = getelementptr inbounds %struct.w2c_hermes, ptr %2246, i32 0, i32 7
  %2248 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2247, i32 0, i32 0
  %2249 = load ptr, ptr %2248, align 8, !tbaa !19
  %2250 = load i32, ptr %41, align 4, !tbaa !9
  %2251 = zext i32 %2250 to i64
  %2252 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2249, i64 %2251
  %2253 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2252, i32 0, i32 1
  %2254 = load ptr, ptr %2253, align 8, !tbaa !20
  %2255 = icmp ne ptr %2254, null
  br i1 %2255, label %2256, label %2268

2256:                                             ; preds = %2245
  %2257 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %2258 = load ptr, ptr %8, align 8, !tbaa !5
  %2259 = getelementptr inbounds %struct.w2c_hermes, ptr %2258, i32 0, i32 7
  %2260 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2259, i32 0, i32 0
  %2261 = load ptr, ptr %2260, align 8, !tbaa !19
  %2262 = load i32, ptr %41, align 4, !tbaa !9
  %2263 = zext i32 %2262 to i64
  %2264 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2261, i64 %2263
  %2265 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2264, i32 0, i32 0
  %2266 = load ptr, ptr %2265, align 8, !tbaa !22
  %2267 = call zeroext i1 @func_types_eq(ptr noundef %2257, ptr noundef %2266)
  br label %2268

2268:                                             ; preds = %2256, %2245, %2219
  %2269 = phi i1 [ false, %2245 ], [ false, %2219 ], [ %2267, %2256 ]
  %2270 = xor i1 %2269, true
  %2271 = xor i1 %2270, true
  %2272 = zext i1 %2271 to i32
  %2273 = sext i32 %2272 to i64
  %2274 = call i64 @llvm.expect.i64(i64 %2273, i64 1)
  %2275 = icmp ne i64 %2274, 0
  br i1 %2275, label %2278, label %2276

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

2277:                                             ; No predecessors!
  br label %2278

2278:                                             ; preds = %2277, %2268
  %2279 = phi i1 [ true, %2268 ], [ false, %2277 ]
  %2280 = zext i1 %2279 to i32
  %2281 = load ptr, ptr %8, align 8, !tbaa !5
  %2282 = getelementptr inbounds %struct.w2c_hermes, ptr %2281, i32 0, i32 7
  %2283 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2282, i32 0, i32 0
  %2284 = load ptr, ptr %2283, align 8, !tbaa !19
  %2285 = load i32, ptr %41, align 4, !tbaa !9
  %2286 = zext i32 %2285 to i64
  %2287 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2284, i64 %2286
  %2288 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2287, i32 0, i32 1
  %2289 = load ptr, ptr %2288, align 8, !tbaa !20
  %2290 = load ptr, ptr %8, align 8, !tbaa !5
  %2291 = getelementptr inbounds %struct.w2c_hermes, ptr %2290, i32 0, i32 7
  %2292 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2291, i32 0, i32 0
  %2293 = load ptr, ptr %2292, align 8, !tbaa !19
  %2294 = load i32, ptr %41, align 4, !tbaa !9
  %2295 = zext i32 %2294 to i64
  %2296 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2293, i64 %2295
  %2297 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2296, i32 0, i32 2
  %2298 = load ptr, ptr %2297, align 8, !tbaa !23
  %2299 = load i32, ptr %40, align 4, !tbaa !9
  call void %2289(ptr noundef %2298, i32 noundef %2299)
  %2300 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2300, ptr %40, align 4, !tbaa !9
  %2301 = load ptr, ptr %8, align 8, !tbaa !5
  %2302 = getelementptr inbounds %struct.w2c_hermes, ptr %2301, i32 0, i32 6
  %2303 = load i32, ptr %40, align 4, !tbaa !9
  %2304 = zext i32 %2303 to i64
  %2305 = call i32 @i32_load(ptr noundef %2302, i64 noundef %2304)
  store i32 %2305, ptr %40, align 4, !tbaa !9
  %2306 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2306, ptr %12, align 4, !tbaa !9
  %2307 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2307, ptr %41, align 4, !tbaa !9
  %2308 = load ptr, ptr %8, align 8, !tbaa !5
  %2309 = getelementptr inbounds %struct.w2c_hermes, ptr %2308, i32 0, i32 6
  %2310 = load i32, ptr %41, align 4, !tbaa !9
  %2311 = zext i32 %2310 to i64
  %2312 = call i32 @i32_load(ptr noundef %2309, i64 noundef %2311)
  store i32 %2312, ptr %41, align 4, !tbaa !9
  %2313 = load ptr, ptr %8, align 8, !tbaa !5
  %2314 = getelementptr inbounds %struct.w2c_hermes, ptr %2313, i32 0, i32 6
  %2315 = load i32, ptr %41, align 4, !tbaa !9
  %2316 = zext i32 %2315 to i64
  %2317 = add i64 %2316, 72
  %2318 = call i32 @i32_load(ptr noundef %2314, i64 noundef %2317)
  store i32 %2318, ptr %41, align 4, !tbaa !9
  %2319 = load i32, ptr %41, align 4, !tbaa !9
  %2320 = load ptr, ptr %8, align 8, !tbaa !5
  %2321 = getelementptr inbounds %struct.w2c_hermes, ptr %2320, i32 0, i32 7
  %2322 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2321, i32 0, i32 2
  %2323 = load i32, ptr %2322, align 4, !tbaa !18
  %2324 = icmp ult i32 %2319, %2323
  br i1 %2324, label %2325, label %2348

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

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

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

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

2357:                                             ; No predecessors!
  br label %2358

2358:                                             ; preds = %2357, %2348
  %2359 = phi i1 [ true, %2348 ], [ false, %2357 ]
  %2360 = zext i1 %2359 to i32
  %2361 = load ptr, ptr %8, align 8, !tbaa !5
  %2362 = getelementptr inbounds %struct.w2c_hermes, ptr %2361, i32 0, i32 7
  %2363 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2362, i32 0, i32 0
  %2364 = load ptr, ptr %2363, align 8, !tbaa !19
  %2365 = load i32, ptr %41, align 4, !tbaa !9
  %2366 = zext i32 %2365 to i64
  %2367 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2364, i64 %2366
  %2368 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2367, i32 0, i32 1
  %2369 = load ptr, ptr %2368, align 8, !tbaa !20
  %2370 = load ptr, ptr %8, align 8, !tbaa !5
  %2371 = getelementptr inbounds %struct.w2c_hermes, ptr %2370, i32 0, i32 7
  %2372 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2371, i32 0, i32 0
  %2373 = load ptr, ptr %2372, align 8, !tbaa !19
  %2374 = load i32, ptr %41, align 4, !tbaa !9
  %2375 = zext i32 %2374 to i64
  %2376 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2373, i64 %2375
  %2377 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2376, i32 0, i32 2
  %2378 = load ptr, ptr %2377, align 8, !tbaa !23
  %2379 = load i32, ptr %40, align 4, !tbaa !9
  %2380 = call i32 %2369(ptr noundef %2378, i32 noundef %2379)
  store i32 %2380, ptr %40, align 4, !tbaa !9
  %2381 = load i32, ptr %40, align 4, !tbaa !9
  %2382 = icmp ne i32 %2381, 0
  br i1 %2382, label %2383, label %2384

2383:                                             ; preds = %2358
  br label %2389

2384:                                             ; preds = %2358
  store i32 35077, ptr %40, align 4, !tbaa !9
  store i32 58042, ptr %41, align 4, !tbaa !9
  store i32 0, ptr %42, align 4, !tbaa !9
  %2385 = load ptr, ptr %8, align 8, !tbaa !5
  %2386 = load i32, ptr %40, align 4, !tbaa !9
  %2387 = load i32, ptr %41, align 4, !tbaa !9
  %2388 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef %2385, i32 noundef %2386, i32 noundef %2387, i32 noundef %2388)
  br label %2389

2389:                                             ; preds = %2384, %2383, %2218, %2118, %987
  %2390 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2390, ptr %40, align 4, !tbaa !9
  %2391 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2391, ptr %41, align 4, !tbaa !9
  %2392 = load ptr, ptr %8, align 8, !tbaa !5
  %2393 = getelementptr inbounds %struct.w2c_hermes, ptr %2392, i32 0, i32 6
  %2394 = load i32, ptr %40, align 4, !tbaa !9
  %2395 = zext i32 %2394 to i64
  %2396 = add i64 %2395, 80
  %2397 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2393, i64 noundef %2396, i32 noundef %2397)
  %2398 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2398, ptr %40, align 4, !tbaa !9
  %2399 = load ptr, ptr %8, align 8, !tbaa !5
  %2400 = getelementptr inbounds %struct.w2c_hermes, ptr %2399, i32 0, i32 6
  %2401 = load i32, ptr %40, align 4, !tbaa !9
  %2402 = zext i32 %2401 to i64
  %2403 = add i64 %2402, 4
  %2404 = call i32 @i32_load(ptr noundef %2400, i64 noundef %2403)
  store i32 %2404, ptr %40, align 4, !tbaa !9
  %2405 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2405, ptr %17, align 4, !tbaa !9
  %2406 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2406, ptr %40, align 4, !tbaa !9
  store i32 228, ptr %41, align 4, !tbaa !9
  %2407 = load i32, ptr %41, align 4, !tbaa !9
  %2408 = load i32, ptr %40, align 4, !tbaa !9
  %2409 = add i32 %2408, %2407
  store i32 %2409, ptr %40, align 4, !tbaa !9
  %2410 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2410, ptr %16, align 4, !tbaa !9
  %2411 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2411, ptr %41, align 4, !tbaa !9
  store i32 88, ptr %42, align 4, !tbaa !9
  %2412 = load i32, ptr %42, align 4, !tbaa !9
  %2413 = load i32, ptr %41, align 4, !tbaa !9
  %2414 = add i32 %2413, %2412
  store i32 %2414, ptr %41, align 4, !tbaa !9
  %2415 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2415, ptr %12, align 4, !tbaa !9
  %2416 = load ptr, ptr %8, align 8, !tbaa !5
  %2417 = getelementptr inbounds %struct.w2c_hermes, ptr %2416, i32 0, i32 6
  %2418 = load i32, ptr %40, align 4, !tbaa !9
  %2419 = zext i32 %2418 to i64
  %2420 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2417, i64 noundef %2419, i32 noundef %2420)
  %2421 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2421, ptr %40, align 4, !tbaa !9
  store i64 17179869185, ptr %49, align 8, !tbaa !11
  %2422 = load ptr, ptr %8, align 8, !tbaa !5
  %2423 = getelementptr inbounds %struct.w2c_hermes, ptr %2422, i32 0, i32 6
  %2424 = load i32, ptr %40, align 4, !tbaa !9
  %2425 = zext i32 %2424 to i64
  %2426 = add i64 %2425, 220
  %2427 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2423, i64 noundef %2426, i64 noundef %2427)
  %2428 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2428, ptr %40, align 4, !tbaa !9
  %2429 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2429, ptr %41, align 4, !tbaa !9
  %2430 = load ptr, ptr %8, align 8, !tbaa !5
  %2431 = getelementptr inbounds %struct.w2c_hermes, ptr %2430, i32 0, i32 6
  %2432 = load i32, ptr %40, align 4, !tbaa !9
  %2433 = zext i32 %2432 to i64
  %2434 = add i64 %2433, 216
  %2435 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2431, i64 noundef %2434, i32 noundef %2435)
  %2436 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2436, ptr %40, align 4, !tbaa !9
  %2437 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2437, ptr %41, align 4, !tbaa !9
  %2438 = load ptr, ptr %8, align 8, !tbaa !5
  %2439 = getelementptr inbounds %struct.w2c_hermes, ptr %2438, i32 0, i32 6
  %2440 = load i32, ptr %40, align 4, !tbaa !9
  %2441 = zext i32 %2440 to i64
  %2442 = add i64 %2441, 84
  %2443 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2439, i64 noundef %2442, i32 noundef %2443)
  %2444 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2444, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %2445 = load ptr, ptr %8, align 8, !tbaa !5
  %2446 = getelementptr inbounds %struct.w2c_hermes, ptr %2445, i32 0, i32 6
  %2447 = load i32, ptr %40, align 4, !tbaa !9
  %2448 = zext i32 %2447 to i64
  %2449 = add i64 %2448, 252
  %2450 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2446, i64 noundef %2449, i32 noundef %2450)
  %2451 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2451, ptr %40, align 4, !tbaa !9
  %2452 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2452, ptr %41, align 4, !tbaa !9
  store i32 216, ptr %42, align 4, !tbaa !9
  %2453 = load i32, ptr %42, align 4, !tbaa !9
  %2454 = load i32, ptr %41, align 4, !tbaa !9
  %2455 = add i32 %2454, %2453
  store i32 %2455, ptr %41, align 4, !tbaa !9
  %2456 = load ptr, ptr %8, align 8, !tbaa !5
  %2457 = getelementptr inbounds %struct.w2c_hermes, ptr %2456, i32 0, i32 6
  %2458 = load i32, ptr %40, align 4, !tbaa !9
  %2459 = zext i32 %2458 to i64
  %2460 = add i64 %2459, 248
  %2461 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2457, i64 noundef %2460, i32 noundef %2461)
  %2462 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2462, ptr %40, align 4, !tbaa !9
  %2463 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2463, ptr %41, align 4, !tbaa !9
  %2464 = load ptr, ptr %8, align 8, !tbaa !5
  %2465 = getelementptr inbounds %struct.w2c_hermes, ptr %2464, i32 0, i32 6
  %2466 = load i32, ptr %40, align 4, !tbaa !9
  %2467 = zext i32 %2466 to i64
  %2468 = add i64 %2467, 244
  %2469 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2465, i64 noundef %2468, i32 noundef %2469)
  %2470 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2470, ptr %40, align 4, !tbaa !9
  %2471 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2471, ptr %41, align 4, !tbaa !9
  store i32 80, ptr %42, align 4, !tbaa !9
  %2472 = load i32, ptr %42, align 4, !tbaa !9
  %2473 = load i32, ptr %41, align 4, !tbaa !9
  %2474 = add i32 %2473, %2472
  store i32 %2474, ptr %41, align 4, !tbaa !9
  %2475 = load ptr, ptr %8, align 8, !tbaa !5
  %2476 = getelementptr inbounds %struct.w2c_hermes, ptr %2475, i32 0, i32 6
  %2477 = load i32, ptr %40, align 4, !tbaa !9
  %2478 = zext i32 %2477 to i64
  %2479 = add i64 %2478, 4
  %2480 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2476, i64 noundef %2479, i32 noundef %2480)
  %2481 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2481, ptr %40, align 4, !tbaa !9
  %2482 = load ptr, ptr %8, align 8, !tbaa !5
  %2483 = load i32, ptr %40, align 4, !tbaa !9
  %2484 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %2482, i32 noundef %2483)
  store i32 %2484, ptr %40, align 4, !tbaa !9
  %2485 = load i32, ptr %40, align 4, !tbaa !9
  %2486 = zext i32 %2485 to i64
  store i64 %2486, ptr %48, align 8, !tbaa !11
  store i64 -281474976710656, ptr %49, align 8, !tbaa !11
  %2487 = load i64, ptr %49, align 8, !tbaa !11
  %2488 = load i64, ptr %48, align 8, !tbaa !11
  %2489 = or i64 %2488, %2487
  store i64 %2489, ptr %48, align 8, !tbaa !11
  %2490 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %2490, ptr %37, align 8, !tbaa !11
  %2491 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2491, ptr %40, align 4, !tbaa !9
  %2492 = load ptr, ptr %8, align 8, !tbaa !5
  %2493 = getelementptr inbounds %struct.w2c_hermes, ptr %2492, i32 0, i32 6
  %2494 = load i32, ptr %40, align 4, !tbaa !9
  %2495 = zext i32 %2494 to i64
  %2496 = add i64 %2495, 4
  %2497 = call i32 @i32_load(ptr noundef %2493, i64 noundef %2496)
  store i32 %2497, ptr %40, align 4, !tbaa !9
  %2498 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2498, ptr %12, align 4, !tbaa !9
  %2499 = load ptr, ptr %8, align 8, !tbaa !5
  %2500 = getelementptr inbounds %struct.w2c_hermes, ptr %2499, i32 0, i32 6
  %2501 = load i32, ptr %40, align 4, !tbaa !9
  %2502 = zext i32 %2501 to i64
  %2503 = add i64 %2502, 164
  %2504 = call i32 @i32_load(ptr noundef %2500, i64 noundef %2503)
  store i32 %2504, ptr %40, align 4, !tbaa !9
  %2505 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2505, ptr %16, align 4, !tbaa !9
  %2506 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2506, ptr %41, align 4, !tbaa !9
  %2507 = load ptr, ptr %8, align 8, !tbaa !5
  %2508 = getelementptr inbounds %struct.w2c_hermes, ptr %2507, i32 0, i32 6
  %2509 = load i32, ptr %41, align 4, !tbaa !9
  %2510 = zext i32 %2509 to i64
  %2511 = add i64 %2510, 168
  %2512 = call i32 @i32_load(ptr noundef %2508, i64 noundef %2511)
  store i32 %2512, ptr %41, align 4, !tbaa !9
  %2513 = load i32, ptr %40, align 4, !tbaa !9
  %2514 = load i32, ptr %41, align 4, !tbaa !9
  %2515 = icmp ult i32 %2513, %2514
  %2516 = zext i1 %2515 to i32
  store i32 %2516, ptr %40, align 4, !tbaa !9
  %2517 = load i32, ptr %40, align 4, !tbaa !9
  %2518 = icmp ne i32 %2517, 0
  br i1 %2518, label %2519, label %2538

2519:                                             ; preds = %2389
  %2520 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2520, ptr %40, align 4, !tbaa !9
  %2521 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2521, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %2522 = load i32, ptr %42, align 4, !tbaa !9
  %2523 = load i32, ptr %41, align 4, !tbaa !9
  %2524 = add i32 %2523, %2522
  store i32 %2524, ptr %41, align 4, !tbaa !9
  %2525 = load ptr, ptr %8, align 8, !tbaa !5
  %2526 = getelementptr inbounds %struct.w2c_hermes, ptr %2525, i32 0, i32 6
  %2527 = load i32, ptr %40, align 4, !tbaa !9
  %2528 = zext i32 %2527 to i64
  %2529 = add i64 %2528, 164
  %2530 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2526, i64 noundef %2529, i32 noundef %2530)
  %2531 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2531, ptr %40, align 4, !tbaa !9
  %2532 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %2532, ptr %49, align 8, !tbaa !11
  %2533 = load ptr, ptr %8, align 8, !tbaa !5
  %2534 = getelementptr inbounds %struct.w2c_hermes, ptr %2533, i32 0, i32 6
  %2535 = load i32, ptr %40, align 4, !tbaa !9
  %2536 = zext i32 %2535 to i64
  %2537 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2534, i64 noundef %2536, i64 noundef %2537)
  br label %2546

2538:                                             ; preds = %2389
  %2539 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2539, ptr %40, align 4, !tbaa !9
  %2540 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %2540, ptr %49, align 8, !tbaa !11
  %2541 = load ptr, ptr %8, align 8, !tbaa !5
  %2542 = load i32, ptr %40, align 4, !tbaa !9
  %2543 = load i64, ptr %49, align 8, !tbaa !11
  %2544 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2541, i32 noundef %2542, i64 noundef %2543)
  store i32 %2544, ptr %40, align 4, !tbaa !9
  %2545 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2545, ptr %16, align 4, !tbaa !9
  br label %2546

2546:                                             ; preds = %2538, %2519
  %2547 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2547, ptr %40, align 4, !tbaa !9
  %2548 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2548, ptr %41, align 4, !tbaa !9
  %2549 = load ptr, ptr %8, align 8, !tbaa !5
  %2550 = getelementptr inbounds %struct.w2c_hermes, ptr %2549, i32 0, i32 6
  %2551 = load i32, ptr %41, align 4, !tbaa !9
  %2552 = zext i32 %2551 to i64
  %2553 = add i64 %2552, 5752
  %2554 = call i32 @i32_load(ptr noundef %2550, i64 noundef %2553)
  store i32 %2554, ptr %41, align 4, !tbaa !9
  %2555 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2555, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %2556 = load i32, ptr %42, align 4, !tbaa !9
  %2557 = load i32, ptr %41, align 4, !tbaa !9
  %2558 = add i32 %2557, %2556
  store i32 %2558, ptr %41, align 4, !tbaa !9
  %2559 = load ptr, ptr %8, align 8, !tbaa !5
  %2560 = getelementptr inbounds %struct.w2c_hermes, ptr %2559, i32 0, i32 6
  %2561 = load i32, ptr %40, align 4, !tbaa !9
  %2562 = zext i32 %2561 to i64
  %2563 = add i64 %2562, 5752
  %2564 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2560, i64 noundef %2563, i32 noundef %2564)
  %2565 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2565, ptr %40, align 4, !tbaa !9
  %2566 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2566, ptr %41, align 4, !tbaa !9
  %2567 = load ptr, ptr %8, align 8, !tbaa !5
  %2568 = getelementptr inbounds %struct.w2c_hermes, ptr %2567, i32 0, i32 6
  %2569 = load i32, ptr %40, align 4, !tbaa !9
  %2570 = zext i32 %2569 to i64
  %2571 = add i64 %2570, 47
  %2572 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2568, i64 noundef %2571, i32 noundef %2572)
  %2573 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2573, ptr %40, align 4, !tbaa !9
  %2574 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2574, ptr %41, align 4, !tbaa !9
  %2575 = load ptr, ptr %8, align 8, !tbaa !5
  %2576 = getelementptr inbounds %struct.w2c_hermes, ptr %2575, i32 0, i32 6
  %2577 = load i32, ptr %41, align 4, !tbaa !9
  %2578 = zext i32 %2577 to i64
  %2579 = call i64 @i64_load(ptr noundef %2576, i64 noundef %2578)
  store i64 %2579, ptr %49, align 8, !tbaa !11
  %2580 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %2580, ptr %37, align 8, !tbaa !11
  %2581 = load ptr, ptr %8, align 8, !tbaa !5
  %2582 = getelementptr inbounds %struct.w2c_hermes, ptr %2581, i32 0, i32 6
  %2583 = load i32, ptr %40, align 4, !tbaa !9
  %2584 = zext i32 %2583 to i64
  %2585 = add i64 %2584, 32
  %2586 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2582, i64 noundef %2585, i64 noundef %2586)
  %2587 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2587, ptr %40, align 4, !tbaa !9
  %2588 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %2588, ptr %41, align 4, !tbaa !9
  %2589 = load ptr, ptr %8, align 8, !tbaa !5
  %2590 = getelementptr inbounds %struct.w2c_hermes, ptr %2589, i32 0, i32 6
  %2591 = load i32, ptr %40, align 4, !tbaa !9
  %2592 = zext i32 %2591 to i64
  %2593 = add i64 %2592, 15
  %2594 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2590, i64 noundef %2593, i32 noundef %2594)
  %2595 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2595, ptr %40, align 4, !tbaa !9
  %2596 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %2596, ptr %49, align 8, !tbaa !11
  %2597 = load ptr, ptr %8, align 8, !tbaa !5
  %2598 = getelementptr inbounds %struct.w2c_hermes, ptr %2597, i32 0, i32 6
  %2599 = load i32, ptr %40, align 4, !tbaa !9
  %2600 = zext i32 %2599 to i64
  %2601 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2598, i64 noundef %2600, i64 noundef %2601)
  %2602 = load ptr, ptr %8, align 8, !tbaa !5
  %2603 = getelementptr inbounds %struct.w2c_hermes, ptr %2602, i32 0, i32 3
  %2604 = load i32, ptr %2603, align 8, !tbaa !13
  store i32 %2604, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %2605 = load i32, ptr %41, align 4, !tbaa !9
  %2606 = load i32, ptr %40, align 4, !tbaa !9
  %2607 = sub i32 %2606, %2605
  store i32 %2607, ptr %40, align 4, !tbaa !9
  %2608 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2608, ptr %33, align 4, !tbaa !9
  %2609 = load i32, ptr %40, align 4, !tbaa !9
  %2610 = load ptr, ptr %8, align 8, !tbaa !5
  %2611 = getelementptr inbounds %struct.w2c_hermes, ptr %2610, i32 0, i32 3
  store i32 %2609, ptr %2611, align 8, !tbaa !13
  store i32 104, ptr %40, align 4, !tbaa !9
  %2612 = load ptr, ptr %8, align 8, !tbaa !5
  %2613 = load i32, ptr %40, align 4, !tbaa !9
  %2614 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2612, i32 noundef %2613)
  store i32 %2614, ptr %40, align 4, !tbaa !9
  %2615 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2615, ptr %19, align 4, !tbaa !9
  %2616 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2616, ptr %40, align 4, !tbaa !9
  %2617 = load ptr, ptr %8, align 8, !tbaa !5
  %2618 = getelementptr inbounds %struct.w2c_hermes, ptr %2617, i32 0, i32 6
  %2619 = load i32, ptr %40, align 4, !tbaa !9
  %2620 = zext i32 %2619 to i64
  %2621 = call i64 @i64_load(ptr noundef %2618, i64 noundef %2620)
  store i64 %2621, ptr %48, align 8, !tbaa !11
  %2622 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %2622, ptr %38, align 8, !tbaa !11
  %2623 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2623, ptr %40, align 4, !tbaa !9
  %2624 = load ptr, ptr %8, align 8, !tbaa !5
  %2625 = getelementptr inbounds %struct.w2c_hermes, ptr %2624, i32 0, i32 6
  %2626 = load i32, ptr %40, align 4, !tbaa !9
  %2627 = zext i32 %2626 to i64
  %2628 = add i64 %2627, 15
  %2629 = call i32 @i32_load8_u(ptr noundef %2625, i64 noundef %2628)
  store i32 %2629, ptr %40, align 4, !tbaa !9
  %2630 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2630, ptr %22, align 4, !tbaa !9
  %2631 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2631, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %2632 = load ptr, ptr %8, align 8, !tbaa !5
  %2633 = getelementptr inbounds %struct.w2c_hermes, ptr %2632, i32 0, i32 6
  %2634 = load i32, ptr %40, align 4, !tbaa !9
  %2635 = zext i32 %2634 to i64
  %2636 = add i64 %2635, 20
  %2637 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2633, i64 noundef %2636, i32 noundef %2637)
  %2638 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2638, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2639 = load ptr, ptr %8, align 8, !tbaa !5
  %2640 = getelementptr inbounds %struct.w2c_hermes, ptr %2639, i32 0, i32 6
  %2641 = load i32, ptr %40, align 4, !tbaa !9
  %2642 = zext i32 %2641 to i64
  %2643 = add i64 %2642, 12
  %2644 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2640, i64 noundef %2643, i64 noundef %2644)
  %2645 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2645, ptr %40, align 4, !tbaa !9
  %2646 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2646, ptr %41, align 4, !tbaa !9
  %2647 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2647, ptr %17, align 4, !tbaa !9
  %2648 = load ptr, ptr %8, align 8, !tbaa !5
  %2649 = getelementptr inbounds %struct.w2c_hermes, ptr %2648, i32 0, i32 6
  %2650 = load i32, ptr %40, align 4, !tbaa !9
  %2651 = zext i32 %2650 to i64
  %2652 = add i64 %2651, 8
  %2653 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2649, i64 noundef %2652, i32 noundef %2653)
  %2654 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2654, ptr %40, align 4, !tbaa !9
  %2655 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2655, ptr %13, align 4, !tbaa !9
  %2656 = load ptr, ptr %8, align 8, !tbaa !5
  %2657 = getelementptr inbounds %struct.w2c_hermes, ptr %2656, i32 0, i32 6
  %2658 = load i32, ptr %40, align 4, !tbaa !9
  %2659 = zext i32 %2658 to i64
  %2660 = call i64 @i64_load(ptr noundef %2657, i64 noundef %2659)
  store i64 %2660, ptr %48, align 8, !tbaa !11
  %2661 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %2661, ptr %37, align 8, !tbaa !11
  %2662 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2662, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2663 = load ptr, ptr %8, align 8, !tbaa !5
  %2664 = getelementptr inbounds %struct.w2c_hermes, ptr %2663, i32 0, i32 6
  %2665 = load i32, ptr %40, align 4, !tbaa !9
  %2666 = zext i32 %2665 to i64
  %2667 = add i64 %2666, 28
  %2668 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2664, i64 noundef %2667, i64 noundef %2668)
  %2669 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2669, ptr %40, align 4, !tbaa !9
  %2670 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %2670, ptr %49, align 8, !tbaa !11
  %2671 = load ptr, ptr %8, align 8, !tbaa !5
  %2672 = getelementptr inbounds %struct.w2c_hermes, ptr %2671, i32 0, i32 6
  %2673 = load i32, ptr %40, align 4, !tbaa !9
  %2674 = zext i32 %2673 to i64
  %2675 = add i64 %2674, 24
  %2676 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store32(ptr noundef %2672, i64 noundef %2675, i64 noundef %2676)
  %2677 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2677, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2678 = load ptr, ptr %8, align 8, !tbaa !5
  %2679 = getelementptr inbounds %struct.w2c_hermes, ptr %2678, i32 0, i32 6
  %2680 = load i32, ptr %40, align 4, !tbaa !9
  %2681 = zext i32 %2680 to i64
  %2682 = add i64 %2681, 36
  %2683 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2679, i64 noundef %2682, i64 noundef %2683)
  %2684 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2684, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %2685 = load ptr, ptr %8, align 8, !tbaa !5
  %2686 = getelementptr inbounds %struct.w2c_hermes, ptr %2685, i32 0, i32 6
  %2687 = load i32, ptr %40, align 4, !tbaa !9
  %2688 = zext i32 %2687 to i64
  %2689 = add i64 %2688, 44
  %2690 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2686, i64 noundef %2689, i32 noundef %2690)
  %2691 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2691, ptr %40, align 4, !tbaa !9
  %2692 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2692, ptr %41, align 4, !tbaa !9
  %2693 = load ptr, ptr %8, align 8, !tbaa !5
  %2694 = getelementptr inbounds %struct.w2c_hermes, ptr %2693, i32 0, i32 6
  %2695 = load i32, ptr %40, align 4, !tbaa !9
  %2696 = zext i32 %2695 to i64
  %2697 = add i64 %2696, 48
  %2698 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2694, i64 noundef %2697, i32 noundef %2698)
  %2699 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2699, ptr %40, align 4, !tbaa !9
  store i32 52, ptr %41, align 4, !tbaa !9
  %2700 = load i32, ptr %41, align 4, !tbaa !9
  %2701 = load i32, ptr %40, align 4, !tbaa !9
  %2702 = add i32 %2701, %2700
  store i32 %2702, ptr %40, align 4, !tbaa !9
  %2703 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2703, ptr %21, align 4, !tbaa !9
  %2704 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %2704, ptr %48, align 8, !tbaa !11
  %2705 = load i64, ptr %48, align 8, !tbaa !11
  %2706 = trunc i64 %2705 to i32
  store i32 %2706, ptr %40, align 4, !tbaa !9
  %2707 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2707, ptr %16, align 4, !tbaa !9
  %2708 = load i32, ptr %40, align 4, !tbaa !9
  %2709 = icmp ne i32 %2708, 0
  %2710 = xor i1 %2709, true
  %2711 = zext i1 %2710 to i32
  store i32 %2711, ptr %40, align 4, !tbaa !9
  %2712 = load i32, ptr %40, align 4, !tbaa !9
  %2713 = icmp ne i32 %2712, 0
  br i1 %2713, label %2714, label %2729

2714:                                             ; preds = %2546
  %2715 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2715, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2716 = load ptr, ptr %8, align 8, !tbaa !5
  %2717 = getelementptr inbounds %struct.w2c_hermes, ptr %2716, i32 0, i32 6
  %2718 = load i32, ptr %40, align 4, !tbaa !9
  %2719 = zext i32 %2718 to i64
  %2720 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2717, i64 noundef %2719, i64 noundef %2720)
  %2721 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2721, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %2722 = load ptr, ptr %8, align 8, !tbaa !5
  %2723 = getelementptr inbounds %struct.w2c_hermes, ptr %2722, i32 0, i32 6
  %2724 = load i32, ptr %40, align 4, !tbaa !9
  %2725 = zext i32 %2724 to i64
  %2726 = add i64 %2725, 8
  %2727 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2723, i64 noundef %2726, i32 noundef %2727)
  %2728 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2728, ptr %40, align 4, !tbaa !9
  br label %2847

2729:                                             ; preds = %2546
  %2730 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %2730, ptr %48, align 8, !tbaa !11
  store i64 32, ptr %49, align 8, !tbaa !11
  %2731 = load i64, ptr %49, align 8, !tbaa !11
  %2732 = and i64 %2731, 63
  %2733 = load i64, ptr %48, align 8, !tbaa !11
  %2734 = lshr i64 %2733, %2732
  store i64 %2734, ptr %48, align 8, !tbaa !11
  %2735 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %2735, ptr %37, align 8, !tbaa !11
  %2736 = load i64, ptr %48, align 8, !tbaa !11
  %2737 = trunc i64 %2736 to i32
  store i32 %2737, ptr %40, align 4, !tbaa !9
  %2738 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2738, ptr %22, align 4, !tbaa !9
  store i32 2147483632, ptr %41, align 4, !tbaa !9
  %2739 = load i32, ptr %40, align 4, !tbaa !9
  %2740 = load i32, ptr %41, align 4, !tbaa !9
  %2741 = icmp uge i32 %2739, %2740
  %2742 = zext i1 %2741 to i32
  store i32 %2742, ptr %40, align 4, !tbaa !9
  %2743 = load i32, ptr %40, align 4, !tbaa !9
  %2744 = icmp ne i32 %2743, 0
  br i1 %2744, label %2745, label %2746

2745:                                             ; preds = %2729
  br label %7504

2746:                                             ; preds = %2729
  %2747 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2747, ptr %40, align 4, !tbaa !9
  store i32 11, ptr %41, align 4, !tbaa !9
  %2748 = load i32, ptr %40, align 4, !tbaa !9
  %2749 = load i32, ptr %41, align 4, !tbaa !9
  %2750 = icmp uge i32 %2748, %2749
  %2751 = zext i1 %2750 to i32
  store i32 %2751, ptr %40, align 4, !tbaa !9
  %2752 = load i32, ptr %40, align 4, !tbaa !9
  %2753 = icmp ne i32 %2752, 0
  br i1 %2753, label %2754, label %2800

2754:                                             ; preds = %2746
  %2755 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2755, ptr %40, align 4, !tbaa !9
  store i32 15, ptr %41, align 4, !tbaa !9
  %2756 = load i32, ptr %41, align 4, !tbaa !9
  %2757 = load i32, ptr %40, align 4, !tbaa !9
  %2758 = or i32 %2757, %2756
  store i32 %2758, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %2759 = load i32, ptr %41, align 4, !tbaa !9
  %2760 = load i32, ptr %40, align 4, !tbaa !9
  %2761 = add i32 %2760, %2759
  store i32 %2761, ptr %40, align 4, !tbaa !9
  %2762 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2762, ptr %10, align 4, !tbaa !9
  %2763 = load ptr, ptr %8, align 8, !tbaa !5
  %2764 = load i32, ptr %40, align 4, !tbaa !9
  %2765 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2763, i32 noundef %2764)
  store i32 %2765, ptr %40, align 4, !tbaa !9
  %2766 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2766, ptr %21, align 4, !tbaa !9
  %2767 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2767, ptr %40, align 4, !tbaa !9
  %2768 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2768, ptr %41, align 4, !tbaa !9
  store i32 -2147483648, ptr %42, align 4, !tbaa !9
  %2769 = load i32, ptr %42, align 4, !tbaa !9
  %2770 = load i32, ptr %41, align 4, !tbaa !9
  %2771 = or i32 %2770, %2769
  store i32 %2771, ptr %41, align 4, !tbaa !9
  %2772 = load ptr, ptr %8, align 8, !tbaa !5
  %2773 = getelementptr inbounds %struct.w2c_hermes, ptr %2772, i32 0, i32 6
  %2774 = load i32, ptr %40, align 4, !tbaa !9
  %2775 = zext i32 %2774 to i64
  %2776 = add i64 %2775, 60
  %2777 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2773, i64 noundef %2776, i32 noundef %2777)
  %2778 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2778, ptr %40, align 4, !tbaa !9
  %2779 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2779, ptr %41, align 4, !tbaa !9
  %2780 = load ptr, ptr %8, align 8, !tbaa !5
  %2781 = getelementptr inbounds %struct.w2c_hermes, ptr %2780, i32 0, i32 6
  %2782 = load i32, ptr %40, align 4, !tbaa !9
  %2783 = zext i32 %2782 to i64
  %2784 = add i64 %2783, 52
  %2785 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2781, i64 noundef %2784, i32 noundef %2785)
  %2786 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2786, ptr %40, align 4, !tbaa !9
  %2787 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2787, ptr %41, align 4, !tbaa !9
  %2788 = load ptr, ptr %8, align 8, !tbaa !5
  %2789 = getelementptr inbounds %struct.w2c_hermes, ptr %2788, i32 0, i32 6
  %2790 = load i32, ptr %40, align 4, !tbaa !9
  %2791 = zext i32 %2790 to i64
  %2792 = add i64 %2791, 56
  %2793 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2789, i64 noundef %2792, i32 noundef %2793)
  %2794 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2794, ptr %40, align 4, !tbaa !9
  %2795 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2795, ptr %41, align 4, !tbaa !9
  %2796 = load i32, ptr %41, align 4, !tbaa !9
  %2797 = load i32, ptr %40, align 4, !tbaa !9
  %2798 = add i32 %2797, %2796
  store i32 %2798, ptr %40, align 4, !tbaa !9
  %2799 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2799, ptr %10, align 4, !tbaa !9
  br label %2824

2800:                                             ; preds = %2746
  %2801 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2801, ptr %40, align 4, !tbaa !9
  %2802 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %2802, ptr %49, align 8, !tbaa !11
  %2803 = load ptr, ptr %8, align 8, !tbaa !5
  %2804 = getelementptr inbounds %struct.w2c_hermes, ptr %2803, i32 0, i32 6
  %2805 = load i32, ptr %40, align 4, !tbaa !9
  %2806 = zext i32 %2805 to i64
  %2807 = add i64 %2806, 63
  %2808 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store8(ptr noundef %2804, i64 noundef %2807, i64 noundef %2808)
  %2809 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2809, ptr %40, align 4, !tbaa !9
  %2810 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2810, ptr %41, align 4, !tbaa !9
  %2811 = load i32, ptr %41, align 4, !tbaa !9
  %2812 = load i32, ptr %40, align 4, !tbaa !9
  %2813 = add i32 %2812, %2811
  store i32 %2813, ptr %40, align 4, !tbaa !9
  %2814 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2814, ptr %10, align 4, !tbaa !9
  %2815 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2815, ptr %40, align 4, !tbaa !9
  %2816 = load i32, ptr %40, align 4, !tbaa !9
  %2817 = icmp ne i32 %2816, 0
  %2818 = xor i1 %2817, true
  %2819 = zext i1 %2818 to i32
  store i32 %2819, ptr %40, align 4, !tbaa !9
  %2820 = load i32, ptr %40, align 4, !tbaa !9
  %2821 = icmp ne i32 %2820, 0
  br i1 %2821, label %2822, label %2823

2822:                                             ; preds = %2800
  br label %2833

2823:                                             ; preds = %2800
  br label %2824

2824:                                             ; preds = %2823, %2754
  %2825 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2825, ptr %40, align 4, !tbaa !9
  %2826 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2826, ptr %41, align 4, !tbaa !9
  %2827 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2827, ptr %42, align 4, !tbaa !9
  %2828 = load ptr, ptr %8, align 8, !tbaa !5
  %2829 = load i32, ptr %40, align 4, !tbaa !9
  %2830 = load i32, ptr %41, align 4, !tbaa !9
  %2831 = load i32, ptr %42, align 4, !tbaa !9
  %2832 = call i32 @w2c_hermes_memmove(ptr noundef %2828, i32 noundef %2829, i32 noundef %2830, i32 noundef %2831)
  store i32 %2832, ptr %40, align 4, !tbaa !9
  br label %2833

2833:                                             ; preds = %2824, %2822
  %2834 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2834, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %2835 = load ptr, ptr %8, align 8, !tbaa !5
  %2836 = getelementptr inbounds %struct.w2c_hermes, ptr %2835, i32 0, i32 6
  %2837 = load i32, ptr %40, align 4, !tbaa !9
  %2838 = zext i32 %2837 to i64
  %2839 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2836, i64 noundef %2838, i32 noundef %2839)
  %2840 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2840, ptr %40, align 4, !tbaa !9
  %2841 = load ptr, ptr %8, align 8, !tbaa !5
  %2842 = getelementptr inbounds %struct.w2c_hermes, ptr %2841, i32 0, i32 6
  %2843 = load i32, ptr %40, align 4, !tbaa !9
  %2844 = zext i32 %2843 to i64
  %2845 = add i64 %2844, 8
  %2846 = call i32 @i32_load(ptr noundef %2842, i64 noundef %2845)
  store i32 %2846, ptr %40, align 4, !tbaa !9
  br label %2847

2847:                                             ; preds = %2833, %2714
  %2848 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2848, ptr %16, align 4, !tbaa !9
  %2849 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2849, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2850 = load ptr, ptr %8, align 8, !tbaa !5
  %2851 = getelementptr inbounds %struct.w2c_hermes, ptr %2850, i32 0, i32 6
  %2852 = load i32, ptr %40, align 4, !tbaa !9
  %2853 = zext i32 %2852 to i64
  %2854 = add i64 %2853, 68
  %2855 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2851, i64 noundef %2854, i64 noundef %2855)
  %2856 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2856, ptr %40, align 4, !tbaa !9
  %2857 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2857, ptr %41, align 4, !tbaa !9
  %2858 = load ptr, ptr %8, align 8, !tbaa !5
  %2859 = getelementptr inbounds %struct.w2c_hermes, ptr %2858, i32 0, i32 6
  %2860 = load i32, ptr %40, align 4, !tbaa !9
  %2861 = zext i32 %2860 to i64
  %2862 = add i64 %2861, 64
  %2863 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2859, i64 noundef %2862, i32 noundef %2863)
  %2864 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2864, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2865 = load ptr, ptr %8, align 8, !tbaa !5
  %2866 = getelementptr inbounds %struct.w2c_hermes, ptr %2865, i32 0, i32 6
  %2867 = load i32, ptr %40, align 4, !tbaa !9
  %2868 = zext i32 %2867 to i64
  %2869 = add i64 %2868, 76
  %2870 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2866, i64 noundef %2869, i64 noundef %2870)
  %2871 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2871, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2872 = load ptr, ptr %8, align 8, !tbaa !5
  %2873 = getelementptr inbounds %struct.w2c_hermes, ptr %2872, i32 0, i32 6
  %2874 = load i32, ptr %40, align 4, !tbaa !9
  %2875 = zext i32 %2874 to i64
  %2876 = add i64 %2875, 84
  %2877 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2873, i64 noundef %2876, i64 noundef %2877)
  %2878 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2878, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %2879 = load ptr, ptr %8, align 8, !tbaa !5
  %2880 = getelementptr inbounds %struct.w2c_hermes, ptr %2879, i32 0, i32 6
  %2881 = load i32, ptr %40, align 4, !tbaa !9
  %2882 = zext i32 %2881 to i64
  %2883 = add i64 %2882, 92
  %2884 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2880, i64 noundef %2883, i64 noundef %2884)
  %2885 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2885, ptr %40, align 4, !tbaa !9
  %2886 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2886, ptr %41, align 4, !tbaa !9
  %2887 = load ptr, ptr %8, align 8, !tbaa !5
  %2888 = getelementptr inbounds %struct.w2c_hermes, ptr %2887, i32 0, i32 6
  %2889 = load i32, ptr %41, align 4, !tbaa !9
  %2890 = zext i32 %2889 to i64
  %2891 = add i64 %2890, 5560
  %2892 = call i32 @i32_load(ptr noundef %2888, i64 noundef %2891)
  store i32 %2892, ptr %41, align 4, !tbaa !9
  %2893 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %2893, ptr %10, align 4, !tbaa !9
  %2894 = load ptr, ptr %8, align 8, !tbaa !5
  %2895 = getelementptr inbounds %struct.w2c_hermes, ptr %2894, i32 0, i32 6
  %2896 = load i32, ptr %40, align 4, !tbaa !9
  %2897 = zext i32 %2896 to i64
  %2898 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2895, i64 noundef %2897, i32 noundef %2898)
  %2899 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2899, ptr %40, align 4, !tbaa !9
  %2900 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2900, ptr %41, align 4, !tbaa !9
  store i32 5560, ptr %42, align 4, !tbaa !9
  %2901 = load i32, ptr %42, align 4, !tbaa !9
  %2902 = load i32, ptr %41, align 4, !tbaa !9
  %2903 = add i32 %2902, %2901
  store i32 %2903, ptr %41, align 4, !tbaa !9
  %2904 = load ptr, ptr %8, align 8, !tbaa !5
  %2905 = getelementptr inbounds %struct.w2c_hermes, ptr %2904, i32 0, i32 6
  %2906 = load i32, ptr %40, align 4, !tbaa !9
  %2907 = zext i32 %2906 to i64
  %2908 = add i64 %2907, 4
  %2909 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2905, i64 noundef %2908, i32 noundef %2909)
  %2910 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2910, ptr %40, align 4, !tbaa !9
  %2911 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2911, ptr %41, align 4, !tbaa !9
  %2912 = load ptr, ptr %8, align 8, !tbaa !5
  %2913 = getelementptr inbounds %struct.w2c_hermes, ptr %2912, i32 0, i32 6
  %2914 = load i32, ptr %40, align 4, !tbaa !9
  %2915 = zext i32 %2914 to i64
  %2916 = add i64 %2915, 4
  %2917 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2913, i64 noundef %2916, i32 noundef %2917)
  %2918 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2918, ptr %40, align 4, !tbaa !9
  %2919 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2919, ptr %41, align 4, !tbaa !9
  %2920 = load ptr, ptr %8, align 8, !tbaa !5
  %2921 = getelementptr inbounds %struct.w2c_hermes, ptr %2920, i32 0, i32 6
  %2922 = load i32, ptr %40, align 4, !tbaa !9
  %2923 = zext i32 %2922 to i64
  %2924 = add i64 %2923, 5560
  %2925 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2921, i64 noundef %2924, i32 noundef %2925)
  %2926 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2926, ptr %40, align 4, !tbaa !9
  %2927 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2927, ptr %41, align 4, !tbaa !9
  %2928 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2928, ptr %42, align 4, !tbaa !9
  %2929 = load ptr, ptr %8, align 8, !tbaa !5
  %2930 = load i32, ptr %40, align 4, !tbaa !9
  %2931 = load i32, ptr %41, align 4, !tbaa !9
  %2932 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3AaddRuntimeModule0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x29(ptr noundef %2929, i32 noundef %2930, i32 noundef %2931, i32 noundef %2932)
  %2933 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2933, ptr %40, align 4, !tbaa !9
  %2934 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2934, ptr %41, align 4, !tbaa !9
  %2935 = load ptr, ptr %8, align 8, !tbaa !5
  %2936 = getelementptr inbounds %struct.w2c_hermes, ptr %2935, i32 0, i32 6
  %2937 = load i32, ptr %40, align 4, !tbaa !9
  %2938 = zext i32 %2937 to i64
  %2939 = add i64 %2938, 100
  %2940 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2936, i64 noundef %2939, i32 noundef %2940)
  %2941 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2941, ptr %40, align 4, !tbaa !9
  %2942 = load ptr, ptr %8, align 8, !tbaa !5
  %2943 = getelementptr inbounds %struct.w2c_hermes, ptr %2942, i32 0, i32 6
  %2944 = load i32, ptr %40, align 4, !tbaa !9
  %2945 = zext i32 %2944 to i64
  %2946 = add i64 %2945, 5592
  %2947 = call i32 @i32_load(ptr noundef %2943, i64 noundef %2946)
  store i32 %2947, ptr %40, align 4, !tbaa !9
  %2948 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2948, ptr %10, align 4, !tbaa !9
  %2949 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2949, ptr %41, align 4, !tbaa !9
  store i32 104, ptr %42, align 4, !tbaa !9
  %2950 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2950, ptr %43, align 4, !tbaa !9
  %2951 = load ptr, ptr %8, align 8, !tbaa !5
  %2952 = getelementptr inbounds %struct.w2c_hermes, ptr %2951, i32 0, i32 6
  %2953 = load i32, ptr %43, align 4, !tbaa !9
  %2954 = zext i32 %2953 to i64
  %2955 = call i32 @i32_load(ptr noundef %2952, i64 noundef %2954)
  store i32 %2955, ptr %43, align 4, !tbaa !9
  %2956 = load ptr, ptr %8, align 8, !tbaa !5
  %2957 = getelementptr inbounds %struct.w2c_hermes, ptr %2956, i32 0, i32 6
  %2958 = load i32, ptr %43, align 4, !tbaa !9
  %2959 = zext i32 %2958 to i64
  %2960 = call i32 @i32_load(ptr noundef %2957, i64 noundef %2959)
  store i32 %2960, ptr %43, align 4, !tbaa !9
  %2961 = load i32, ptr %43, align 4, !tbaa !9
  %2962 = load ptr, ptr %8, align 8, !tbaa !5
  %2963 = getelementptr inbounds %struct.w2c_hermes, ptr %2962, i32 0, i32 7
  %2964 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2963, i32 0, i32 2
  %2965 = load i32, ptr %2964, align 4, !tbaa !18
  %2966 = icmp ult i32 %2961, %2965
  br i1 %2966, label %2967, label %2990

2967:                                             ; preds = %2847
  %2968 = load ptr, ptr %8, align 8, !tbaa !5
  %2969 = getelementptr inbounds %struct.w2c_hermes, ptr %2968, i32 0, i32 7
  %2970 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2969, i32 0, i32 0
  %2971 = load ptr, ptr %2970, align 8, !tbaa !19
  %2972 = load i32, ptr %43, align 4, !tbaa !9
  %2973 = zext i32 %2972 to i64
  %2974 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2971, i64 %2973
  %2975 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2974, i32 0, i32 1
  %2976 = load ptr, ptr %2975, align 8, !tbaa !20
  %2977 = icmp ne ptr %2976, null
  br i1 %2977, label %2978, label %2990

2978:                                             ; preds = %2967
  %2979 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !5
  %2980 = load ptr, ptr %8, align 8, !tbaa !5
  %2981 = getelementptr inbounds %struct.w2c_hermes, ptr %2980, i32 0, i32 7
  %2982 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %2981, i32 0, i32 0
  %2983 = load ptr, ptr %2982, align 8, !tbaa !19
  %2984 = load i32, ptr %43, align 4, !tbaa !9
  %2985 = zext i32 %2984 to i64
  %2986 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2983, i64 %2985
  %2987 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %2986, i32 0, i32 0
  %2988 = load ptr, ptr %2987, align 8, !tbaa !22
  %2989 = call zeroext i1 @func_types_eq(ptr noundef %2979, ptr noundef %2988)
  br label %2990

2990:                                             ; preds = %2978, %2967, %2847
  %2991 = phi i1 [ false, %2967 ], [ false, %2847 ], [ %2989, %2978 ]
  %2992 = xor i1 %2991, true
  %2993 = xor i1 %2992, true
  %2994 = zext i1 %2993 to i32
  %2995 = sext i32 %2994 to i64
  %2996 = call i64 @llvm.expect.i64(i64 %2995, i64 1)
  %2997 = icmp ne i64 %2996, 0
  br i1 %2997, label %3000, label %2998

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

2999:                                             ; No predecessors!
  br label %3000

3000:                                             ; preds = %2999, %2990
  %3001 = phi i1 [ true, %2990 ], [ false, %2999 ]
  %3002 = zext i1 %3001 to i32
  %3003 = load ptr, ptr %8, align 8, !tbaa !5
  %3004 = getelementptr inbounds %struct.w2c_hermes, ptr %3003, i32 0, i32 7
  %3005 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3004, i32 0, i32 0
  %3006 = load ptr, ptr %3005, align 8, !tbaa !19
  %3007 = load i32, ptr %43, align 4, !tbaa !9
  %3008 = zext i32 %3007 to i64
  %3009 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3006, i64 %3008
  %3010 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3009, i32 0, i32 1
  %3011 = load ptr, ptr %3010, align 8, !tbaa !20
  %3012 = load ptr, ptr %8, align 8, !tbaa !5
  %3013 = getelementptr inbounds %struct.w2c_hermes, ptr %3012, i32 0, i32 7
  %3014 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3013, i32 0, i32 0
  %3015 = load ptr, ptr %3014, align 8, !tbaa !19
  %3016 = load i32, ptr %43, align 4, !tbaa !9
  %3017 = zext i32 %3016 to i64
  %3018 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3015, i64 %3017
  %3019 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3018, i32 0, i32 2
  %3020 = load ptr, ptr %3019, align 8, !tbaa !23
  %3021 = load i32, ptr %40, align 4, !tbaa !9
  %3022 = load i32, ptr %41, align 4, !tbaa !9
  %3023 = load i32, ptr %42, align 4, !tbaa !9
  call void %3011(ptr noundef %3020, i32 noundef %3021, i32 noundef %3022, i32 noundef %3023)
  %3024 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3024, ptr %40, align 4, !tbaa !9
  %3025 = load ptr, ptr %8, align 8, !tbaa !5
  %3026 = getelementptr inbounds %struct.w2c_hermes, ptr %3025, i32 0, i32 6
  %3027 = load i32, ptr %40, align 4, !tbaa !9
  %3028 = zext i32 %3027 to i64
  %3029 = call i32 @i32_load(ptr noundef %3026, i64 noundef %3028)
  store i32 %3029, ptr %40, align 4, !tbaa !9
  %3030 = load i32, ptr %40, align 4, !tbaa !9
  %3031 = icmp ne i32 %3030, 0
  %3032 = xor i1 %3031, true
  %3033 = zext i1 %3032 to i32
  store i32 %3033, ptr %40, align 4, !tbaa !9
  %3034 = load i32, ptr %40, align 4, !tbaa !9
  %3035 = icmp ne i32 %3034, 0
  br i1 %3035, label %3036, label %3037

3036:                                             ; preds = %3000
  br label %7495

3037:                                             ; preds = %3000
  %3038 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3038, ptr %40, align 4, !tbaa !9
  %3039 = load ptr, ptr %8, align 8, !tbaa !5
  %3040 = getelementptr inbounds %struct.w2c_hermes, ptr %3039, i32 0, i32 6
  %3041 = load i32, ptr %40, align 4, !tbaa !9
  %3042 = zext i32 %3041 to i64
  %3043 = call i64 @i64_load(ptr noundef %3040, i64 noundef %3042)
  store i64 %3043, ptr %48, align 8, !tbaa !11
  %3044 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %3044, ptr %37, align 8, !tbaa !11
  %3045 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3045, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %3046 = load ptr, ptr %8, align 8, !tbaa !5
  %3047 = getelementptr inbounds %struct.w2c_hermes, ptr %3046, i32 0, i32 6
  %3048 = load i32, ptr %40, align 4, !tbaa !9
  %3049 = zext i32 %3048 to i64
  %3050 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3047, i64 noundef %3049, i64 noundef %3050)
  %3051 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3051, ptr %40, align 4, !tbaa !9
  %3052 = load ptr, ptr %8, align 8, !tbaa !5
  %3053 = getelementptr inbounds %struct.w2c_hermes, ptr %3052, i32 0, i32 6
  %3054 = load i32, ptr %40, align 4, !tbaa !9
  %3055 = zext i32 %3054 to i64
  %3056 = add i64 %3055, 44
  %3057 = call i32 @i32_load(ptr noundef %3053, i64 noundef %3056)
  store i32 %3057, ptr %40, align 4, !tbaa !9
  %3058 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3058, ptr %11, align 4, !tbaa !9
  %3059 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3059, ptr %40, align 4, !tbaa !9
  %3060 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %3060, ptr %49, align 8, !tbaa !11
  %3061 = load ptr, ptr %8, align 8, !tbaa !5
  %3062 = getelementptr inbounds %struct.w2c_hermes, ptr %3061, i32 0, i32 6
  %3063 = load i32, ptr %40, align 4, !tbaa !9
  %3064 = zext i32 %3063 to i64
  %3065 = add i64 %3064, 40
  %3066 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3062, i64 noundef %3065, i64 noundef %3066)
  %3067 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3067, ptr %40, align 4, !tbaa !9
  %3068 = load i32, ptr %40, align 4, !tbaa !9
  %3069 = icmp ne i32 %3068, 0
  %3070 = xor i1 %3069, true
  %3071 = zext i1 %3070 to i32
  store i32 %3071, ptr %40, align 4, !tbaa !9
  %3072 = load i32, ptr %40, align 4, !tbaa !9
  %3073 = icmp ne i32 %3072, 0
  br i1 %3073, label %3074, label %3075

3074:                                             ; preds = %3037
  br label %3176

3075:                                             ; preds = %3037
  %3076 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3076, ptr %40, align 4, !tbaa !9
  %3077 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3077, ptr %41, align 4, !tbaa !9
  %3078 = load ptr, ptr %8, align 8, !tbaa !5
  %3079 = getelementptr inbounds %struct.w2c_hermes, ptr %3078, i32 0, i32 6
  %3080 = load i32, ptr %41, align 4, !tbaa !9
  %3081 = zext i32 %3080 to i64
  %3082 = add i64 %3081, 4
  %3083 = call i32 @i32_load(ptr noundef %3079, i64 noundef %3082)
  store i32 %3083, ptr %41, align 4, !tbaa !9
  %3084 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3084, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %3085 = load i32, ptr %42, align 4, !tbaa !9
  %3086 = load i32, ptr %41, align 4, !tbaa !9
  %3087 = sub i32 %3086, %3085
  store i32 %3087, ptr %41, align 4, !tbaa !9
  %3088 = load ptr, ptr %8, align 8, !tbaa !5
  %3089 = getelementptr inbounds %struct.w2c_hermes, ptr %3088, i32 0, i32 6
  %3090 = load i32, ptr %40, align 4, !tbaa !9
  %3091 = zext i32 %3090 to i64
  %3092 = add i64 %3091, 4
  %3093 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3089, i64 noundef %3092, i32 noundef %3093)
  %3094 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3094, ptr %40, align 4, !tbaa !9
  %3095 = load i32, ptr %40, align 4, !tbaa !9
  %3096 = icmp ne i32 %3095, 0
  br i1 %3096, label %3097, label %3098

3097:                                             ; preds = %3075
  br label %3176

3098:                                             ; preds = %3075
  %3099 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3099, ptr %40, align 4, !tbaa !9
  %3100 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3100, ptr %41, align 4, !tbaa !9
  %3101 = load ptr, ptr %8, align 8, !tbaa !5
  %3102 = getelementptr inbounds %struct.w2c_hermes, ptr %3101, i32 0, i32 6
  %3103 = load i32, ptr %41, align 4, !tbaa !9
  %3104 = zext i32 %3103 to i64
  %3105 = call i32 @i32_load(ptr noundef %3102, i64 noundef %3104)
  store i32 %3105, ptr %41, align 4, !tbaa !9
  %3106 = load ptr, ptr %8, align 8, !tbaa !5
  %3107 = getelementptr inbounds %struct.w2c_hermes, ptr %3106, i32 0, i32 6
  %3108 = load i32, ptr %41, align 4, !tbaa !9
  %3109 = zext i32 %3108 to i64
  %3110 = add i64 %3109, 8
  %3111 = call i32 @i32_load(ptr noundef %3107, i64 noundef %3110)
  store i32 %3111, ptr %41, align 4, !tbaa !9
  %3112 = load i32, ptr %41, align 4, !tbaa !9
  %3113 = load ptr, ptr %8, align 8, !tbaa !5
  %3114 = getelementptr inbounds %struct.w2c_hermes, ptr %3113, i32 0, i32 7
  %3115 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3114, i32 0, i32 2
  %3116 = load i32, ptr %3115, align 4, !tbaa !18
  %3117 = icmp ult i32 %3112, %3116
  br i1 %3117, label %3118, label %3141

3118:                                             ; preds = %3098
  %3119 = load ptr, ptr %8, align 8, !tbaa !5
  %3120 = getelementptr inbounds %struct.w2c_hermes, ptr %3119, i32 0, i32 7
  %3121 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3120, i32 0, i32 0
  %3122 = load ptr, ptr %3121, align 8, !tbaa !19
  %3123 = load i32, ptr %41, align 4, !tbaa !9
  %3124 = zext i32 %3123 to i64
  %3125 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3122, i64 %3124
  %3126 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3125, i32 0, i32 1
  %3127 = load ptr, ptr %3126, align 8, !tbaa !20
  %3128 = icmp ne ptr %3127, null
  br i1 %3128, label %3129, label %3141

3129:                                             ; preds = %3118
  %3130 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !5
  %3131 = load ptr, ptr %8, align 8, !tbaa !5
  %3132 = getelementptr inbounds %struct.w2c_hermes, ptr %3131, i32 0, i32 7
  %3133 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3132, i32 0, i32 0
  %3134 = load ptr, ptr %3133, align 8, !tbaa !19
  %3135 = load i32, ptr %41, align 4, !tbaa !9
  %3136 = zext i32 %3135 to i64
  %3137 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3134, i64 %3136
  %3138 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3137, i32 0, i32 0
  %3139 = load ptr, ptr %3138, align 8, !tbaa !22
  %3140 = call zeroext i1 @func_types_eq(ptr noundef %3130, ptr noundef %3139)
  br label %3141

3141:                                             ; preds = %3129, %3118, %3098
  %3142 = phi i1 [ false, %3118 ], [ false, %3098 ], [ %3140, %3129 ]
  %3143 = xor i1 %3142, true
  %3144 = xor i1 %3143, true
  %3145 = zext i1 %3144 to i32
  %3146 = sext i32 %3145 to i64
  %3147 = call i64 @llvm.expect.i64(i64 %3146, i64 1)
  %3148 = icmp ne i64 %3147, 0
  br i1 %3148, label %3151, label %3149

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

3150:                                             ; No predecessors!
  br label %3151

3151:                                             ; preds = %3150, %3141
  %3152 = phi i1 [ true, %3141 ], [ false, %3150 ]
  %3153 = zext i1 %3152 to i32
  %3154 = load ptr, ptr %8, align 8, !tbaa !5
  %3155 = getelementptr inbounds %struct.w2c_hermes, ptr %3154, i32 0, i32 7
  %3156 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3155, i32 0, i32 0
  %3157 = load ptr, ptr %3156, align 8, !tbaa !19
  %3158 = load i32, ptr %41, align 4, !tbaa !9
  %3159 = zext i32 %3158 to i64
  %3160 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3157, i64 %3159
  %3161 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3160, i32 0, i32 1
  %3162 = load ptr, ptr %3161, align 8, !tbaa !20
  %3163 = load ptr, ptr %8, align 8, !tbaa !5
  %3164 = getelementptr inbounds %struct.w2c_hermes, ptr %3163, i32 0, i32 7
  %3165 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %3164, i32 0, i32 0
  %3166 = load ptr, ptr %3165, align 8, !tbaa !19
  %3167 = load i32, ptr %41, align 4, !tbaa !9
  %3168 = zext i32 %3167 to i64
  %3169 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3166, i64 %3168
  %3170 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %3169, i32 0, i32 2
  %3171 = load ptr, ptr %3170, align 8, !tbaa !23
  %3172 = load i32, ptr %40, align 4, !tbaa !9
  call void %3162(ptr noundef %3171, i32 noundef %3172)
  %3173 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3173, ptr %40, align 4, !tbaa !9
  %3174 = load ptr, ptr %8, align 8, !tbaa !5
  %3175 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef %3174, i32 noundef %3175)
  br label %3176

3176:                                             ; preds = %3151, %3097, %3074
  %3177 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3177, ptr %40, align 4, !tbaa !9
  %3178 = load ptr, ptr %8, align 8, !tbaa !5
  %3179 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AimportStringIDMapMayAllocate0x280x29(ptr noundef %3178, i32 noundef %3179)
  %3180 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3180, ptr %40, align 4, !tbaa !9
  %3181 = load ptr, ptr %8, align 8, !tbaa !5
  %3182 = getelementptr inbounds %struct.w2c_hermes, ptr %3181, i32 0, i32 6
  %3183 = load i32, ptr %40, align 4, !tbaa !9
  %3184 = zext i32 %3183 to i64
  %3185 = add i64 %3184, 40
  %3186 = call i32 @i32_load(ptr noundef %3182, i64 noundef %3185)
  store i32 %3186, ptr %40, align 4, !tbaa !9
  %3187 = load ptr, ptr %8, align 8, !tbaa !5
  %3188 = getelementptr inbounds %struct.w2c_hermes, ptr %3187, i32 0, i32 6
  %3189 = load i32, ptr %40, align 4, !tbaa !9
  %3190 = zext i32 %3189 to i64
  %3191 = add i64 %3190, 8
  %3192 = call i32 @i32_load(ptr noundef %3188, i64 noundef %3191)
  store i32 %3192, ptr %40, align 4, !tbaa !9
  %3193 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3193, ptr %12, align 4, !tbaa !9
  %3194 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3194, ptr %41, align 4, !tbaa !9
  %3195 = load ptr, ptr %8, align 8, !tbaa !5
  %3196 = getelementptr inbounds %struct.w2c_hermes, ptr %3195, i32 0, i32 6
  %3197 = load i32, ptr %41, align 4, !tbaa !9
  %3198 = zext i32 %3197 to i64
  %3199 = add i64 %3198, 32
  %3200 = call i32 @i32_load(ptr noundef %3196, i64 noundef %3199)
  store i32 %3200, ptr %41, align 4, !tbaa !9
  %3201 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3201, ptr %42, align 4, !tbaa !9
  %3202 = load ptr, ptr %8, align 8, !tbaa !5
  %3203 = getelementptr inbounds %struct.w2c_hermes, ptr %3202, i32 0, i32 6
  %3204 = load i32, ptr %42, align 4, !tbaa !9
  %3205 = zext i32 %3204 to i64
  %3206 = add i64 %3205, 28
  %3207 = call i32 @i32_load(ptr noundef %3203, i64 noundef %3206)
  store i32 %3207, ptr %42, align 4, !tbaa !9
  %3208 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3208, ptr %10, align 4, !tbaa !9
  %3209 = load i32, ptr %42, align 4, !tbaa !9
  %3210 = load i32, ptr %41, align 4, !tbaa !9
  %3211 = sub i32 %3210, %3209
  store i32 %3211, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %3212 = load i32, ptr %41, align 4, !tbaa !9
  %3213 = load i32, ptr %42, align 4, !tbaa !9
  %3214 = and i32 %3213, 31
  %3215 = ashr i32 %3212, %3214
  store i32 %3215, ptr %41, align 4, !tbaa !9
  %3216 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3216, ptr %11, align 4, !tbaa !9
  %3217 = load i32, ptr %40, align 4, !tbaa !9
  %3218 = load i32, ptr %41, align 4, !tbaa !9
  %3219 = icmp ugt i32 %3217, %3218
  %3220 = zext i1 %3219 to i32
  store i32 %3220, ptr %40, align 4, !tbaa !9
  %3221 = load i32, ptr %40, align 4, !tbaa !9
  %3222 = icmp ne i32 %3221, 0
  br i1 %3222, label %3223, label %3236

3223:                                             ; preds = %3176
  %3224 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3224, ptr %40, align 4, !tbaa !9
  store i32 28, ptr %41, align 4, !tbaa !9
  %3225 = load i32, ptr %41, align 4, !tbaa !9
  %3226 = load i32, ptr %40, align 4, !tbaa !9
  %3227 = add i32 %3226, %3225
  store i32 %3227, ptr %40, align 4, !tbaa !9
  %3228 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3228, ptr %41, align 4, !tbaa !9
  %3229 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3229, ptr %42, align 4, !tbaa !9
  %3230 = load i32, ptr %42, align 4, !tbaa !9
  %3231 = load i32, ptr %41, align 4, !tbaa !9
  %3232 = sub i32 %3231, %3230
  store i32 %3232, ptr %41, align 4, !tbaa !9
  %3233 = load ptr, ptr %8, align 8, !tbaa !5
  %3234 = load i32, ptr %40, align 4, !tbaa !9
  %3235 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x3E0x3A0x3A_0x5Fappend0x28unsigned0x20long0x29(ptr noundef %3233, i32 noundef %3234, i32 noundef %3235)
  br label %3263

3236:                                             ; preds = %3176
  %3237 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3237, ptr %40, align 4, !tbaa !9
  %3238 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3238, ptr %41, align 4, !tbaa !9
  %3239 = load i32, ptr %40, align 4, !tbaa !9
  %3240 = load i32, ptr %41, align 4, !tbaa !9
  %3241 = icmp ule i32 %3239, %3240
  %3242 = zext i1 %3241 to i32
  store i32 %3242, ptr %40, align 4, !tbaa !9
  %3243 = load i32, ptr %40, align 4, !tbaa !9
  %3244 = icmp ne i32 %3243, 0
  br i1 %3244, label %3245, label %3246

3245:                                             ; preds = %3236
  br label %3263

3246:                                             ; preds = %3236
  %3247 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3247, ptr %40, align 4, !tbaa !9
  %3248 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3248, ptr %41, align 4, !tbaa !9
  %3249 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3249, ptr %42, align 4, !tbaa !9
  store i32 2, ptr %43, align 4, !tbaa !9
  %3250 = load i32, ptr %43, align 4, !tbaa !9
  %3251 = and i32 %3250, 31
  %3252 = load i32, ptr %42, align 4, !tbaa !9
  %3253 = shl i32 %3252, %3251
  store i32 %3253, ptr %42, align 4, !tbaa !9
  %3254 = load i32, ptr %42, align 4, !tbaa !9
  %3255 = load i32, ptr %41, align 4, !tbaa !9
  %3256 = add i32 %3255, %3254
  store i32 %3256, ptr %41, align 4, !tbaa !9
  %3257 = load ptr, ptr %8, align 8, !tbaa !5
  %3258 = getelementptr inbounds %struct.w2c_hermes, ptr %3257, i32 0, i32 6
  %3259 = load i32, ptr %40, align 4, !tbaa !9
  %3260 = zext i32 %3259 to i64
  %3261 = add i64 %3260, 32
  %3262 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3258, i64 noundef %3261, i32 noundef %3262)
  br label %3263

3263:                                             ; preds = %3246, %3245, %3223
  %3264 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3264, ptr %40, align 4, !tbaa !9
  %3265 = load ptr, ptr %8, align 8, !tbaa !5
  %3266 = getelementptr inbounds %struct.w2c_hermes, ptr %3265, i32 0, i32 6
  %3267 = load i32, ptr %40, align 4, !tbaa !9
  %3268 = zext i32 %3267 to i64
  %3269 = add i64 %3268, 8
  %3270 = call i32 @i32_load(ptr noundef %3266, i64 noundef %3269)
  store i32 %3270, ptr %40, align 4, !tbaa !9
  %3271 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3271, ptr %11, align 4, !tbaa !9
  %3272 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3272, ptr %40, align 4, !tbaa !9
  %3273 = load ptr, ptr %8, align 8, !tbaa !5
  %3274 = getelementptr inbounds %struct.w2c_hermes, ptr %3273, i32 0, i32 6
  %3275 = load i32, ptr %40, align 4, !tbaa !9
  %3276 = zext i32 %3275 to i64
  %3277 = add i64 %3276, 24
  %3278 = call i32 @i32_load(ptr noundef %3274, i64 noundef %3277)
  store i32 %3278, ptr %40, align 4, !tbaa !9
  %3279 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3279, ptr %10, align 4, !tbaa !9
  %3280 = load i32, ptr %40, align 4, !tbaa !9
  %3281 = icmp ne i32 %3280, 0
  br i1 %3281, label %3282, label %3291

3282:                                             ; preds = %3263
  %3283 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3283, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %3284 = load i32, ptr %41, align 4, !tbaa !9
  %3285 = load i32, ptr %40, align 4, !tbaa !9
  %3286 = add i32 %3285, %3284
  store i32 %3286, ptr %40, align 4, !tbaa !9
  %3287 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3287, ptr %41, align 4, !tbaa !9
  %3288 = load ptr, ptr %8, align 8, !tbaa !5
  %3289 = load i32, ptr %40, align 4, !tbaa !9
  %3290 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AweakRefReadBarrier0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x2A0x29(ptr noundef %3288, i32 noundef %3289, i32 noundef %3290)
  br label %3291

3291:                                             ; preds = %3282, %3263
  %3292 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3292, ptr %40, align 4, !tbaa !9
  %3293 = load i32, ptr %40, align 4, !tbaa !9
  %3294 = zext i32 %3293 to i64
  store i64 %3294, ptr %48, align 8, !tbaa !11
  store i64 -281474976710656, ptr %49, align 8, !tbaa !11
  %3295 = load i64, ptr %49, align 8, !tbaa !11
  %3296 = load i64, ptr %48, align 8, !tbaa !11
  %3297 = or i64 %3296, %3295
  store i64 %3297, ptr %48, align 8, !tbaa !11
  %3298 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %3298, ptr %37, align 8, !tbaa !11
  %3299 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3299, ptr %40, align 4, !tbaa !9
  %3300 = load ptr, ptr %8, align 8, !tbaa !5
  %3301 = getelementptr inbounds %struct.w2c_hermes, ptr %3300, i32 0, i32 6
  %3302 = load i32, ptr %40, align 4, !tbaa !9
  %3303 = zext i32 %3302 to i64
  %3304 = add i64 %3303, 4
  %3305 = call i32 @i32_load(ptr noundef %3301, i64 noundef %3304)
  store i32 %3305, ptr %40, align 4, !tbaa !9
  %3306 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3306, ptr %10, align 4, !tbaa !9
  %3307 = load ptr, ptr %8, align 8, !tbaa !5
  %3308 = getelementptr inbounds %struct.w2c_hermes, ptr %3307, i32 0, i32 6
  %3309 = load i32, ptr %40, align 4, !tbaa !9
  %3310 = zext i32 %3309 to i64
  %3311 = add i64 %3310, 164
  %3312 = call i32 @i32_load(ptr noundef %3308, i64 noundef %3311)
  store i32 %3312, ptr %40, align 4, !tbaa !9
  %3313 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3313, ptr %11, align 4, !tbaa !9
  %3314 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3314, ptr %41, align 4, !tbaa !9
  %3315 = load ptr, ptr %8, align 8, !tbaa !5
  %3316 = getelementptr inbounds %struct.w2c_hermes, ptr %3315, i32 0, i32 6
  %3317 = load i32, ptr %41, align 4, !tbaa !9
  %3318 = zext i32 %3317 to i64
  %3319 = add i64 %3318, 168
  %3320 = call i32 @i32_load(ptr noundef %3316, i64 noundef %3319)
  store i32 %3320, ptr %41, align 4, !tbaa !9
  %3321 = load i32, ptr %40, align 4, !tbaa !9
  %3322 = load i32, ptr %41, align 4, !tbaa !9
  %3323 = icmp ult i32 %3321, %3322
  %3324 = zext i1 %3323 to i32
  store i32 %3324, ptr %40, align 4, !tbaa !9
  %3325 = load i32, ptr %40, align 4, !tbaa !9
  %3326 = icmp ne i32 %3325, 0
  br i1 %3326, label %3327, label %3346

3327:                                             ; preds = %3291
  %3328 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3328, ptr %40, align 4, !tbaa !9
  %3329 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3329, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %3330 = load i32, ptr %42, align 4, !tbaa !9
  %3331 = load i32, ptr %41, align 4, !tbaa !9
  %3332 = add i32 %3331, %3330
  store i32 %3332, ptr %41, align 4, !tbaa !9
  %3333 = load ptr, ptr %8, align 8, !tbaa !5
  %3334 = getelementptr inbounds %struct.w2c_hermes, ptr %3333, i32 0, i32 6
  %3335 = load i32, ptr %40, align 4, !tbaa !9
  %3336 = zext i32 %3335 to i64
  %3337 = add i64 %3336, 164
  %3338 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3334, i64 noundef %3337, i32 noundef %3338)
  %3339 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3339, ptr %40, align 4, !tbaa !9
  %3340 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %3340, ptr %49, align 8, !tbaa !11
  %3341 = load ptr, ptr %8, align 8, !tbaa !5
  %3342 = getelementptr inbounds %struct.w2c_hermes, ptr %3341, i32 0, i32 6
  %3343 = load i32, ptr %40, align 4, !tbaa !9
  %3344 = zext i32 %3343 to i64
  %3345 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3342, i64 noundef %3344, i64 noundef %3345)
  br label %3354

3346:                                             ; preds = %3291
  %3347 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3347, ptr %40, align 4, !tbaa !9
  %3348 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %3348, ptr %49, align 8, !tbaa !11
  %3349 = load ptr, ptr %8, align 8, !tbaa !5
  %3350 = load i32, ptr %40, align 4, !tbaa !9
  %3351 = load i64, ptr %49, align 8, !tbaa !11
  %3352 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %3349, i32 noundef %3350, i64 noundef %3351)
  store i32 %3352, ptr %40, align 4, !tbaa !9
  %3353 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3353, ptr %11, align 4, !tbaa !9
  br label %3354

3354:                                             ; preds = %3346, %3327
  %3355 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3355, ptr %40, align 4, !tbaa !9
  %3356 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3356, ptr %22, align 4, !tbaa !9
  %3357 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3357, ptr %40, align 4, !tbaa !9
  %3358 = load ptr, ptr %8, align 8, !tbaa !5
  %3359 = getelementptr inbounds %struct.w2c_hermes, ptr %3358, i32 0, i32 6
  %3360 = load i32, ptr %40, align 4, !tbaa !9
  %3361 = zext i32 %3360 to i64
  %3362 = add i64 %3361, 8
  %3363 = call i32 @i32_load(ptr noundef %3359, i64 noundef %3362)
  store i32 %3363, ptr %40, align 4, !tbaa !9
  %3364 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3364, ptr %26, align 4, !tbaa !9
  %3365 = load ptr, ptr %8, align 8, !tbaa !5
  %3366 = getelementptr inbounds %struct.w2c_hermes, ptr %3365, i32 0, i32 3
  %3367 = load i32, ptr %3366, align 8, !tbaa !13
  store i32 %3367, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %3368 = load i32, ptr %41, align 4, !tbaa !9
  %3369 = load i32, ptr %40, align 4, !tbaa !9
  %3370 = sub i32 %3369, %3368
  store i32 %3370, ptr %40, align 4, !tbaa !9
  %3371 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3371, ptr %23, align 4, !tbaa !9
  %3372 = load i32, ptr %40, align 4, !tbaa !9
  %3373 = load ptr, ptr %8, align 8, !tbaa !5
  %3374 = getelementptr inbounds %struct.w2c_hermes, ptr %3373, i32 0, i32 3
  store i32 %3372, ptr %3374, align 8, !tbaa !13
  %3375 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3375, ptr %40, align 4, !tbaa !9
  %3376 = load ptr, ptr %8, align 8, !tbaa !5
  %3377 = getelementptr inbounds %struct.w2c_hermes, ptr %3376, i32 0, i32 6
  %3378 = load i32, ptr %40, align 4, !tbaa !9
  %3379 = zext i32 %3378 to i64
  %3380 = add i64 %3379, 40
  %3381 = call i32 @i32_load(ptr noundef %3377, i64 noundef %3380)
  store i32 %3381, ptr %40, align 4, !tbaa !9
  %3382 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3382, ptr %10, align 4, !tbaa !9
  %3383 = load ptr, ptr %8, align 8, !tbaa !5
  %3384 = getelementptr inbounds %struct.w2c_hermes, ptr %3383, i32 0, i32 6
  %3385 = load i32, ptr %40, align 4, !tbaa !9
  %3386 = zext i32 %3385 to i64
  %3387 = add i64 %3386, 104
  %3388 = call i64 @i64_load(ptr noundef %3384, i64 noundef %3387)
  store i64 %3388, ptr %48, align 8, !tbaa !11
  store i64 4294967295, ptr %49, align 8, !tbaa !11
  %3389 = load i64, ptr %48, align 8, !tbaa !11
  %3390 = load i64, ptr %49, align 8, !tbaa !11
  %3391 = icmp ule i64 %3389, %3390
  %3392 = zext i1 %3391 to i32
  store i32 %3392, ptr %40, align 4, !tbaa !9
  %3393 = load i32, ptr %40, align 4, !tbaa !9
  %3394 = icmp ne i32 %3393, 0
  br i1 %3394, label %3395, label %3411

3395:                                             ; preds = %3354
  store i32 1, ptr %40, align 4, !tbaa !9
  %3396 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3396, ptr %41, align 4, !tbaa !9
  %3397 = load ptr, ptr %8, align 8, !tbaa !5
  %3398 = getelementptr inbounds %struct.w2c_hermes, ptr %3397, i32 0, i32 6
  %3399 = load i32, ptr %41, align 4, !tbaa !9
  %3400 = zext i32 %3399 to i64
  %3401 = add i64 %3400, 112
  %3402 = call i64 @i64_load(ptr noundef %3398, i64 noundef %3401)
  store i64 %3402, ptr %49, align 8, !tbaa !11
  store i64 4294967296, ptr %50, align 8, !tbaa !11
  %3403 = load i64, ptr %49, align 8, !tbaa !11
  %3404 = load i64, ptr %50, align 8, !tbaa !11
  %3405 = icmp ult i64 %3403, %3404
  %3406 = zext i1 %3405 to i32
  store i32 %3406, ptr %41, align 4, !tbaa !9
  %3407 = load i32, ptr %41, align 4, !tbaa !9
  %3408 = icmp ne i32 %3407, 0
  br i1 %3408, label %3409, label %3410

3409:                                             ; preds = %3395
  br label %7277

3410:                                             ; preds = %3395
  br label %3411

3411:                                             ; preds = %3410, %3354
  %3412 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3412, ptr %40, align 4, !tbaa !9
  %3413 = load ptr, ptr %8, align 8, !tbaa !5
  %3414 = getelementptr inbounds %struct.w2c_hermes, ptr %3413, i32 0, i32 6
  %3415 = load i32, ptr %40, align 4, !tbaa !9
  %3416 = zext i32 %3415 to i64
  %3417 = add i64 %3416, 4
  %3418 = call i32 @i32_load(ptr noundef %3414, i64 noundef %3417)
  store i32 %3418, ptr %40, align 4, !tbaa !9
  %3419 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3419, ptr %10, align 4, !tbaa !9
  %3420 = load ptr, ptr %8, align 8, !tbaa !5
  %3421 = getelementptr inbounds %struct.w2c_hermes, ptr %3420, i32 0, i32 6
  %3422 = load i32, ptr %40, align 4, !tbaa !9
  %3423 = zext i32 %3422 to i64
  %3424 = add i64 %3423, 164
  %3425 = call i32 @i32_load(ptr noundef %3421, i64 noundef %3424)
  store i32 %3425, ptr %40, align 4, !tbaa !9
  %3426 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3426, ptr %11, align 4, !tbaa !9
  %3427 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3427, ptr %41, align 4, !tbaa !9
  %3428 = load ptr, ptr %8, align 8, !tbaa !5
  %3429 = getelementptr inbounds %struct.w2c_hermes, ptr %3428, i32 0, i32 6
  %3430 = load i32, ptr %41, align 4, !tbaa !9
  %3431 = zext i32 %3430 to i64
  %3432 = add i64 %3431, 168
  %3433 = call i32 @i32_load(ptr noundef %3429, i64 noundef %3432)
  store i32 %3433, ptr %41, align 4, !tbaa !9
  %3434 = load i32, ptr %40, align 4, !tbaa !9
  %3435 = load i32, ptr %41, align 4, !tbaa !9
  %3436 = icmp ult i32 %3434, %3435
  %3437 = zext i1 %3436 to i32
  store i32 %3437, ptr %40, align 4, !tbaa !9
  %3438 = load i32, ptr %40, align 4, !tbaa !9
  %3439 = icmp ne i32 %3438, 0
  br i1 %3439, label %3440, label %3458

3440:                                             ; preds = %3411
  %3441 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3441, ptr %40, align 4, !tbaa !9
  %3442 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3442, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %3443 = load i32, ptr %42, align 4, !tbaa !9
  %3444 = load i32, ptr %41, align 4, !tbaa !9
  %3445 = add i32 %3444, %3443
  store i32 %3445, ptr %41, align 4, !tbaa !9
  %3446 = load ptr, ptr %8, align 8, !tbaa !5
  %3447 = getelementptr inbounds %struct.w2c_hermes, ptr %3446, i32 0, i32 6
  %3448 = load i32, ptr %40, align 4, !tbaa !9
  %3449 = zext i32 %3448 to i64
  %3450 = add i64 %3449, 164
  %3451 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3447, i64 noundef %3450, i32 noundef %3451)
  %3452 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3452, ptr %40, align 4, !tbaa !9
  store i64 -281474976710656, ptr %49, align 8, !tbaa !11
  %3453 = load ptr, ptr %8, align 8, !tbaa !5
  %3454 = getelementptr inbounds %struct.w2c_hermes, ptr %3453, i32 0, i32 6
  %3455 = load i32, ptr %40, align 4, !tbaa !9
  %3456 = zext i32 %3455 to i64
  %3457 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3454, i64 noundef %3456, i64 noundef %3457)
  br label %3465

3458:                                             ; preds = %3411
  %3459 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3459, ptr %40, align 4, !tbaa !9
  store i64 -281474976710656, ptr %49, align 8, !tbaa !11
  %3460 = load ptr, ptr %8, align 8, !tbaa !5
  %3461 = load i32, ptr %40, align 4, !tbaa !9
  %3462 = load i64, ptr %49, align 8, !tbaa !11
  %3463 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %3460, i32 noundef %3461, i64 noundef %3462)
  store i32 %3463, ptr %40, align 4, !tbaa !9
  %3464 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3464, ptr %11, align 4, !tbaa !9
  br label %3465

3465:                                             ; preds = %3458, %3440
  %3466 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3466, ptr %40, align 4, !tbaa !9
  %3467 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3467, ptr %41, align 4, !tbaa !9
  %3468 = load ptr, ptr %8, align 8, !tbaa !5
  %3469 = getelementptr inbounds %struct.w2c_hermes, ptr %3468, i32 0, i32 6
  %3470 = load i32, ptr %40, align 4, !tbaa !9
  %3471 = zext i32 %3470 to i64
  %3472 = add i64 %3471, 68
  %3473 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3469, i64 noundef %3472, i32 noundef %3473)
  %3474 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3474, ptr %40, align 4, !tbaa !9
  %3475 = load ptr, ptr %8, align 8, !tbaa !5
  %3476 = getelementptr inbounds %struct.w2c_hermes, ptr %3475, i32 0, i32 6
  %3477 = load i32, ptr %40, align 4, !tbaa !9
  %3478 = zext i32 %3477 to i64
  %3479 = call i32 @i32_load(ptr noundef %3476, i64 noundef %3478)
  store i32 %3479, ptr %40, align 4, !tbaa !9
  %3480 = load ptr, ptr %8, align 8, !tbaa !5
  %3481 = getelementptr inbounds %struct.w2c_hermes, ptr %3480, i32 0, i32 6
  %3482 = load i32, ptr %40, align 4, !tbaa !9
  %3483 = zext i32 %3482 to i64
  %3484 = add i64 %3483, 4
  %3485 = call i32 @i32_load(ptr noundef %3481, i64 noundef %3484)
  store i32 %3485, ptr %40, align 4, !tbaa !9
  %3486 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3486, ptr %10, align 4, !tbaa !9
  %3487 = load i32, ptr %40, align 4, !tbaa !9
  %3488 = icmp ne i32 %3487, 0
  %3489 = xor i1 %3488, true
  %3490 = zext i1 %3489 to i32
  store i32 %3490, ptr %40, align 4, !tbaa !9
  %3491 = load i32, ptr %40, align 4, !tbaa !9
  %3492 = icmp ne i32 %3491, 0
  br i1 %3492, label %3493, label %4144

3493:                                             ; preds = %3465
  %3494 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3494, ptr %40, align 4, !tbaa !9
  %3495 = load ptr, ptr %8, align 8, !tbaa !5
  %3496 = getelementptr inbounds %struct.w2c_hermes, ptr %3495, i32 0, i32 6
  %3497 = load i32, ptr %40, align 4, !tbaa !9
  %3498 = zext i32 %3497 to i64
  %3499 = add i64 %3498, 40
  %3500 = call i32 @i32_load(ptr noundef %3496, i64 noundef %3499)
  store i32 %3500, ptr %40, align 4, !tbaa !9
  %3501 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3501, ptr %10, align 4, !tbaa !9
  %3502 = load ptr, ptr %8, align 8, !tbaa !5
  %3503 = getelementptr inbounds %struct.w2c_hermes, ptr %3502, i32 0, i32 6
  %3504 = load i32, ptr %40, align 4, !tbaa !9
  %3505 = zext i32 %3504 to i64
  %3506 = add i64 %3505, 116
  %3507 = call i32 @i32_load(ptr noundef %3503, i64 noundef %3506)
  store i32 %3507, ptr %40, align 4, !tbaa !9
  %3508 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3508, ptr %41, align 4, !tbaa !9
  %3509 = load ptr, ptr %8, align 8, !tbaa !5
  %3510 = getelementptr inbounds %struct.w2c_hermes, ptr %3509, i32 0, i32 6
  %3511 = load i32, ptr %41, align 4, !tbaa !9
  %3512 = zext i32 %3511 to i64
  %3513 = add i64 %3512, 108
  %3514 = call i32 @i32_load(ptr noundef %3510, i64 noundef %3513)
  store i32 %3514, ptr %41, align 4, !tbaa !9
  %3515 = load i32, ptr %41, align 4, !tbaa !9
  %3516 = load i32, ptr %40, align 4, !tbaa !9
  %3517 = add i32 %3516, %3515
  store i32 %3517, ptr %40, align 4, !tbaa !9
  %3518 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3518, ptr %24, align 4, !tbaa !9
  store i32 1431655766, ptr %41, align 4, !tbaa !9
  %3519 = load i32, ptr %40, align 4, !tbaa !9
  %3520 = load i32, ptr %41, align 4, !tbaa !9
  %3521 = icmp uge i32 %3519, %3520
  %3522 = zext i1 %3521 to i32
  store i32 %3522, ptr %40, align 4, !tbaa !9
  %3523 = load i32, ptr %40, align 4, !tbaa !9
  %3524 = icmp ne i32 %3523, 0
  br i1 %3524, label %3525, label %3563

3525:                                             ; preds = %3493
  %3526 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3526, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %3527 = load ptr, ptr %8, align 8, !tbaa !5
  %3528 = getelementptr inbounds %struct.w2c_hermes, ptr %3527, i32 0, i32 6
  %3529 = load i32, ptr %40, align 4, !tbaa !9
  %3530 = zext i32 %3529 to i64
  %3531 = add i64 %3530, 56
  %3532 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3528, i64 noundef %3531, i32 noundef %3532)
  %3533 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3533, ptr %40, align 4, !tbaa !9
  store i64 146028888065, ptr %49, align 8, !tbaa !11
  %3534 = load ptr, ptr %8, align 8, !tbaa !5
  %3535 = getelementptr inbounds %struct.w2c_hermes, ptr %3534, i32 0, i32 6
  %3536 = load i32, ptr %40, align 4, !tbaa !9
  %3537 = zext i32 %3536 to i64
  %3538 = add i64 %3537, 48
  %3539 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3535, i64 noundef %3538, i64 noundef %3539)
  %3540 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3540, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %3541 = load ptr, ptr %8, align 8, !tbaa !5
  %3542 = getelementptr inbounds %struct.w2c_hermes, ptr %3541, i32 0, i32 6
  %3543 = load i32, ptr %40, align 4, !tbaa !9
  %3544 = zext i32 %3543 to i64
  %3545 = add i64 %3544, 32
  %3546 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3542, i64 noundef %3545, i32 noundef %3546)
  %3547 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3547, ptr %40, align 4, !tbaa !9
  store i32 22615, ptr %41, align 4, !tbaa !9
  %3548 = load ptr, ptr %8, align 8, !tbaa !5
  %3549 = getelementptr inbounds %struct.w2c_hermes, ptr %3548, i32 0, i32 6
  %3550 = load i32, ptr %40, align 4, !tbaa !9
  %3551 = zext i32 %3550 to i64
  %3552 = add i64 %3551, 24
  %3553 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3549, i64 noundef %3552, i32 noundef %3553)
  %3554 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3554, ptr %40, align 4, !tbaa !9
  %3555 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3555, ptr %41, align 4, !tbaa !9
  store i32 24, ptr %42, align 4, !tbaa !9
  %3556 = load i32, ptr %42, align 4, !tbaa !9
  %3557 = load i32, ptr %41, align 4, !tbaa !9
  %3558 = add i32 %3557, %3556
  store i32 %3558, ptr %41, align 4, !tbaa !9
  %3559 = load ptr, ptr %8, align 8, !tbaa !5
  %3560 = load i32, ptr %40, align 4, !tbaa !9
  %3561 = load i32, ptr %41, align 4, !tbaa !9
  %3562 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %3559, i32 noundef %3560, i32 noundef %3561)
  store i32 %3562, ptr %40, align 4, !tbaa !9
  br label %7277

3563:                                             ; preds = %3493
  %3564 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3564, ptr %40, align 4, !tbaa !9
  store i32 171178, ptr %41, align 4, !tbaa !9
  %3565 = load i32, ptr %40, align 4, !tbaa !9
  %3566 = load i32, ptr %41, align 4, !tbaa !9
  %3567 = icmp ule i32 %3565, %3566
  %3568 = zext i1 %3567 to i32
  store i32 %3568, ptr %40, align 4, !tbaa !9
  %3569 = load i32, ptr %40, align 4, !tbaa !9
  %3570 = icmp ne i32 %3569, 0
  br i1 %3570, label %3571, label %3664

3571:                                             ; preds = %3563
  %3572 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3572, ptr %40, align 4, !tbaa !9
  store i32 24, ptr %41, align 4, !tbaa !9
  %3573 = load i32, ptr %41, align 4, !tbaa !9
  %3574 = load i32, ptr %40, align 4, !tbaa !9
  %3575 = mul i32 %3574, %3573
  store i32 %3575, ptr %40, align 4, !tbaa !9
  store i32 15, ptr %41, align 4, !tbaa !9
  %3576 = load i32, ptr %41, align 4, !tbaa !9
  %3577 = load i32, ptr %40, align 4, !tbaa !9
  %3578 = add i32 %3577, %3576
  store i32 %3578, ptr %40, align 4, !tbaa !9
  %3579 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3579, ptr %11, align 4, !tbaa !9
  store i32 -8, ptr %41, align 4, !tbaa !9
  %3580 = load i32, ptr %41, align 4, !tbaa !9
  %3581 = load i32, ptr %40, align 4, !tbaa !9
  %3582 = and i32 %3581, %3580
  store i32 %3582, ptr %40, align 4, !tbaa !9
  %3583 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3583, ptr %12, align 4, !tbaa !9
  %3584 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3584, ptr %41, align 4, !tbaa !9
  store i32 1368, ptr %42, align 4, !tbaa !9
  %3585 = load i32, ptr %42, align 4, !tbaa !9
  %3586 = load i32, ptr %41, align 4, !tbaa !9
  %3587 = add i32 %3586, %3585
  store i32 %3587, ptr %41, align 4, !tbaa !9
  %3588 = load ptr, ptr %8, align 8, !tbaa !5
  %3589 = getelementptr inbounds %struct.w2c_hermes, ptr %3588, i32 0, i32 6
  %3590 = load i32, ptr %41, align 4, !tbaa !9
  %3591 = zext i32 %3590 to i64
  %3592 = call i32 @i32_load(ptr noundef %3589, i64 noundef %3591)
  store i32 %3592, ptr %41, align 4, !tbaa !9
  %3593 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3593, ptr %42, align 4, !tbaa !9
  store i32 1364, ptr %43, align 4, !tbaa !9
  %3594 = load i32, ptr %43, align 4, !tbaa !9
  %3595 = load i32, ptr %42, align 4, !tbaa !9
  %3596 = add i32 %3595, %3594
  store i32 %3596, ptr %42, align 4, !tbaa !9
  %3597 = load ptr, ptr %8, align 8, !tbaa !5
  %3598 = getelementptr inbounds %struct.w2c_hermes, ptr %3597, i32 0, i32 6
  %3599 = load i32, ptr %42, align 4, !tbaa !9
  %3600 = zext i32 %3599 to i64
  %3601 = call i32 @i32_load(ptr noundef %3598, i64 noundef %3600)
  store i32 %3601, ptr %42, align 4, !tbaa !9
  %3602 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3602, ptr %10, align 4, !tbaa !9
  %3603 = load i32, ptr %42, align 4, !tbaa !9
  %3604 = load i32, ptr %41, align 4, !tbaa !9
  %3605 = sub i32 %3604, %3603
  store i32 %3605, ptr %41, align 4, !tbaa !9
  %3606 = load i32, ptr %40, align 4, !tbaa !9
  %3607 = load i32, ptr %41, align 4, !tbaa !9
  %3608 = icmp ugt i32 %3606, %3607
  %3609 = zext i1 %3608 to i32
  store i32 %3609, ptr %40, align 4, !tbaa !9
  %3610 = load i32, ptr %40, align 4, !tbaa !9
  %3611 = icmp ne i32 %3610, 0
  br i1 %3611, label %3612, label %3623

3612:                                             ; preds = %3571
  %3613 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3613, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %3614 = load i32, ptr %41, align 4, !tbaa !9
  %3615 = load i32, ptr %40, align 4, !tbaa !9
  %3616 = add i32 %3615, %3614
  store i32 %3616, ptr %40, align 4, !tbaa !9
  %3617 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3617, ptr %41, align 4, !tbaa !9
  %3618 = load ptr, ptr %8, align 8, !tbaa !5
  %3619 = load i32, ptr %40, align 4, !tbaa !9
  %3620 = load i32, ptr %41, align 4, !tbaa !9
  %3621 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %3618, i32 noundef %3619, i32 noundef %3620)
  store i32 %3621, ptr %40, align 4, !tbaa !9
  %3622 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3622, ptr %10, align 4, !tbaa !9
  br label %3636

3623:                                             ; preds = %3571
  %3624 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3624, ptr %40, align 4, !tbaa !9
  %3625 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3625, ptr %41, align 4, !tbaa !9
  %3626 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3626, ptr %42, align 4, !tbaa !9
  %3627 = load i32, ptr %42, align 4, !tbaa !9
  %3628 = load i32, ptr %41, align 4, !tbaa !9
  %3629 = add i32 %3628, %3627
  store i32 %3629, ptr %41, align 4, !tbaa !9
  %3630 = load ptr, ptr %8, align 8, !tbaa !5
  %3631 = getelementptr inbounds %struct.w2c_hermes, ptr %3630, i32 0, i32 6
  %3632 = load i32, ptr %40, align 4, !tbaa !9
  %3633 = zext i32 %3632 to i64
  %3634 = add i64 %3633, 1364
  %3635 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3631, i64 noundef %3634, i32 noundef %3635)
  br label %3636

3636:                                             ; preds = %3623, %3612
  %3637 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3637, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %3638 = load ptr, ptr %8, align 8, !tbaa !5
  %3639 = getelementptr inbounds %struct.w2c_hermes, ptr %3638, i32 0, i32 6
  %3640 = load i32, ptr %40, align 4, !tbaa !9
  %3641 = zext i32 %3640 to i64
  %3642 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3639, i64 noundef %3641, i64 noundef %3642)
  %3643 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3643, ptr %40, align 4, !tbaa !9
  %3644 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3644, ptr %41, align 4, !tbaa !9
  store i32 16777208, ptr %42, align 4, !tbaa !9
  %3645 = load i32, ptr %42, align 4, !tbaa !9
  %3646 = load i32, ptr %41, align 4, !tbaa !9
  %3647 = and i32 %3646, %3645
  store i32 %3647, ptr %41, align 4, !tbaa !9
  store i32 234881024, ptr %42, align 4, !tbaa !9
  %3648 = load i32, ptr %42, align 4, !tbaa !9
  %3649 = load i32, ptr %41, align 4, !tbaa !9
  %3650 = or i32 %3649, %3648
  store i32 %3650, ptr %41, align 4, !tbaa !9
  %3651 = load ptr, ptr %8, align 8, !tbaa !5
  %3652 = getelementptr inbounds %struct.w2c_hermes, ptr %3651, i32 0, i32 6
  %3653 = load i32, ptr %40, align 4, !tbaa !9
  %3654 = zext i32 %3653 to i64
  %3655 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3652, i64 noundef %3654, i32 noundef %3655)
  %3656 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %3656, ptr %40, align 4, !tbaa !9
  %3657 = load ptr, ptr %8, align 8, !tbaa !5
  %3658 = getelementptr inbounds %struct.w2c_hermes, ptr %3657, i32 0, i32 6
  %3659 = load i32, ptr %40, align 4, !tbaa !9
  %3660 = zext i32 %3659 to i64
  %3661 = add i64 %3660, 68
  %3662 = call i32 @i32_load(ptr noundef %3658, i64 noundef %3661)
  store i32 %3662, ptr %40, align 4, !tbaa !9
  %3663 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3663, ptr %11, align 4, !tbaa !9
  br label %3683

3664:                                             ; preds = %3563
  store i32 0, ptr %40, align 4, !tbaa !9
  %3665 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3665, ptr %10, align 4, !tbaa !9
  %3666 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3666, ptr %41, align 4, !tbaa !9
  %3667 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3667, ptr %42, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %3668 = load i32, ptr %43, align 4, !tbaa !9
  %3669 = load i32, ptr %42, align 4, !tbaa !9
  %3670 = mul i32 %3669, %3668
  store i32 %3670, ptr %42, align 4, !tbaa !9
  %3671 = load ptr, ptr %8, align 8, !tbaa !5
  %3672 = load i32, ptr %41, align 4, !tbaa !9
  %3673 = load i32, ptr %42, align 4, !tbaa !9
  %3674 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %3671, i32 noundef %3672, i32 noundef %3673)
  store i32 %3674, ptr %41, align 4, !tbaa !9
  %3675 = load i32, ptr %41, align 4, !tbaa !9
  %3676 = icmp ne i32 %3675, 0
  %3677 = xor i1 %3676, true
  %3678 = zext i1 %3677 to i32
  store i32 %3678, ptr %41, align 4, !tbaa !9
  %3679 = load i32, ptr %41, align 4, !tbaa !9
  %3680 = icmp ne i32 %3679, 0
  br i1 %3680, label %3681, label %3682

3681:                                             ; preds = %3664
  br label %7277

3682:                                             ; preds = %3664
  br label %3683

3683:                                             ; preds = %3682, %3636
  %3684 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3684, ptr %40, align 4, !tbaa !9
  %3685 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3685, ptr %41, align 4, !tbaa !9
  %3686 = load i32, ptr %41, align 4, !tbaa !9
  %3687 = zext i32 %3686 to i64
  store i64 %3687, ptr %49, align 8, !tbaa !11
  store i64 -281474976710656, ptr %50, align 8, !tbaa !11
  %3688 = load i64, ptr %50, align 8, !tbaa !11
  %3689 = load i64, ptr %49, align 8, !tbaa !11
  %3690 = or i64 %3689, %3688
  store i64 %3690, ptr %49, align 8, !tbaa !11
  %3691 = load ptr, ptr %8, align 8, !tbaa !5
  %3692 = getelementptr inbounds %struct.w2c_hermes, ptr %3691, i32 0, i32 6
  %3693 = load i32, ptr %40, align 4, !tbaa !9
  %3694 = zext i32 %3693 to i64
  %3695 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3692, i64 noundef %3694, i64 noundef %3695)
  %3696 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3696, ptr %40, align 4, !tbaa !9
  %3697 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3697, ptr %41, align 4, !tbaa !9
  %3698 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3698, ptr %42, align 4, !tbaa !9
  %3699 = load ptr, ptr %8, align 8, !tbaa !5
  %3700 = getelementptr inbounds %struct.w2c_hermes, ptr %3699, i32 0, i32 6
  %3701 = load i32, ptr %42, align 4, !tbaa !9
  %3702 = zext i32 %3701 to i64
  %3703 = call i32 @i32_load(ptr noundef %3700, i64 noundef %3702)
  store i32 %3703, ptr %42, align 4, !tbaa !9
  %3704 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3704, ptr %25, align 4, !tbaa !9
  %3705 = load ptr, ptr %8, align 8, !tbaa !5
  %3706 = getelementptr inbounds %struct.w2c_hermes, ptr %3705, i32 0, i32 6
  %3707 = load i32, ptr %42, align 4, !tbaa !9
  %3708 = zext i32 %3707 to i64
  %3709 = add i64 %3708, 16
  %3710 = call i32 @i32_load(ptr noundef %3706, i64 noundef %3709)
  store i32 %3710, ptr %42, align 4, !tbaa !9
  %3711 = load i32, ptr %41, align 4, !tbaa !9
  %3712 = load i32, ptr %42, align 4, !tbaa !9
  %3713 = icmp ugt i32 %3711, %3712
  %3714 = zext i1 %3713 to i32
  store i32 %3714, ptr %41, align 4, !tbaa !9
  %3715 = load i32, ptr %41, align 4, !tbaa !9
  %3716 = icmp ne i32 %3715, 0
  br i1 %3716, label %3717, label %3831

3717:                                             ; preds = %3683
  %3718 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3718, ptr %41, align 4, !tbaa !9
  store i32 1073741824, ptr %42, align 4, !tbaa !9
  %3719 = load i32, ptr %41, align 4, !tbaa !9
  %3720 = load i32, ptr %42, align 4, !tbaa !9
  %3721 = icmp uge i32 %3719, %3720
  %3722 = zext i1 %3721 to i32
  store i32 %3722, ptr %41, align 4, !tbaa !9
  %3723 = load i32, ptr %41, align 4, !tbaa !9
  %3724 = icmp ne i32 %3723, 0
  br i1 %3724, label %3725, label %3726

3725:                                             ; preds = %3717
  br label %4560

3726:                                             ; preds = %3717
  %3727 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3727, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %3728 = load i32, ptr %42, align 4, !tbaa !9
  %3729 = and i32 %3728, 31
  %3730 = load i32, ptr %41, align 4, !tbaa !9
  %3731 = shl i32 %3730, %3729
  store i32 %3731, ptr %41, align 4, !tbaa !9
  %3732 = load ptr, ptr %8, align 8, !tbaa !5
  %3733 = load i32, ptr %41, align 4, !tbaa !9
  %3734 = call i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef %3732, i32 noundef %3733)
  store i32 %3734, ptr %41, align 4, !tbaa !9
  %3735 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3735, ptr %12, align 4, !tbaa !9
  %3736 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3736, ptr %41, align 4, !tbaa !9
  %3737 = load ptr, ptr %8, align 8, !tbaa !5
  %3738 = getelementptr inbounds %struct.w2c_hermes, ptr %3737, i32 0, i32 6
  %3739 = load i32, ptr %41, align 4, !tbaa !9
  %3740 = zext i32 %3739 to i64
  %3741 = add i64 %3740, 8
  %3742 = call i32 @i32_load(ptr noundef %3738, i64 noundef %3741)
  store i32 %3742, ptr %41, align 4, !tbaa !9
  %3743 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3743, ptr %16, align 4, !tbaa !9
  %3744 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3744, ptr %41, align 4, !tbaa !9
  %3745 = load ptr, ptr %8, align 8, !tbaa !5
  %3746 = getelementptr inbounds %struct.w2c_hermes, ptr %3745, i32 0, i32 6
  %3747 = load i32, ptr %41, align 4, !tbaa !9
  %3748 = zext i32 %3747 to i64
  %3749 = add i64 %3748, 12
  %3750 = call i32 @i32_load(ptr noundef %3746, i64 noundef %3749)
  store i32 %3750, ptr %41, align 4, !tbaa !9
  %3751 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3751, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %42, align 4, !tbaa !9
  %3752 = load i32, ptr %41, align 4, !tbaa !9
  %3753 = load i32, ptr %42, align 4, !tbaa !9
  %3754 = icmp sgt i32 %3752, %3753
  %3755 = zext i1 %3754 to i32
  store i32 %3755, ptr %41, align 4, !tbaa !9
  %3756 = load i32, ptr %41, align 4, !tbaa !9
  %3757 = icmp ne i32 %3756, 0
  br i1 %3757, label %3758, label %3805

3758:                                             ; preds = %3726
  %3759 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3759, ptr %41, align 4, !tbaa !9
  %3760 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3760, ptr %42, align 4, !tbaa !9
  store i32 2, ptr %43, align 4, !tbaa !9
  %3761 = load i32, ptr %43, align 4, !tbaa !9
  %3762 = and i32 %3761, 31
  %3763 = load i32, ptr %42, align 4, !tbaa !9
  %3764 = shl i32 %3763, %3762
  store i32 %3764, ptr %42, align 4, !tbaa !9
  %3765 = load i32, ptr %42, align 4, !tbaa !9
  %3766 = load i32, ptr %41, align 4, !tbaa !9
  %3767 = add i32 %3766, %3765
  store i32 %3767, ptr %41, align 4, !tbaa !9
  %3768 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3768, ptr %15, align 4, !tbaa !9
  %3769 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3769, ptr %41, align 4, !tbaa !9
  %3770 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3770, ptr %11, align 4, !tbaa !9
  %3771 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3771, ptr %41, align 4, !tbaa !9
  %3772 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3772, ptr %10, align 4, !tbaa !9
  br label %3773

3773:                                             ; preds = %3803, %3758
  %3774 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3774, ptr %41, align 4, !tbaa !9
  %3775 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3775, ptr %42, align 4, !tbaa !9
  %3776 = load ptr, ptr %8, align 8, !tbaa !5
  %3777 = getelementptr inbounds %struct.w2c_hermes, ptr %3776, i32 0, i32 6
  %3778 = load i32, ptr %42, align 4, !tbaa !9
  %3779 = zext i32 %3778 to i64
  %3780 = call i32 @i32_load(ptr noundef %3777, i64 noundef %3779)
  store i32 %3780, ptr %42, align 4, !tbaa !9
  %3781 = load ptr, ptr %8, align 8, !tbaa !5
  %3782 = getelementptr inbounds %struct.w2c_hermes, ptr %3781, i32 0, i32 6
  %3783 = load i32, ptr %41, align 4, !tbaa !9
  %3784 = zext i32 %3783 to i64
  %3785 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3782, i64 noundef %3784, i32 noundef %3785)
  %3786 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3786, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %3787 = load i32, ptr %42, align 4, !tbaa !9
  %3788 = load i32, ptr %41, align 4, !tbaa !9
  %3789 = add i32 %3788, %3787
  store i32 %3789, ptr %41, align 4, !tbaa !9
  %3790 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3790, ptr %11, align 4, !tbaa !9
  %3791 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3791, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %3792 = load i32, ptr %42, align 4, !tbaa !9
  %3793 = load i32, ptr %41, align 4, !tbaa !9
  %3794 = add i32 %3793, %3792
  store i32 %3794, ptr %41, align 4, !tbaa !9
  %3795 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3795, ptr %10, align 4, !tbaa !9
  %3796 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3796, ptr %42, align 4, !tbaa !9
  %3797 = load i32, ptr %41, align 4, !tbaa !9
  %3798 = load i32, ptr %42, align 4, !tbaa !9
  %3799 = icmp ult i32 %3797, %3798
  %3800 = zext i1 %3799 to i32
  store i32 %3800, ptr %41, align 4, !tbaa !9
  %3801 = load i32, ptr %41, align 4, !tbaa !9
  %3802 = icmp ne i32 %3801, 0
  br i1 %3802, label %3803, label %3804

3803:                                             ; preds = %3773
  br label %3773

3804:                                             ; preds = %3773
  br label %3805

3805:                                             ; preds = %3804, %3726
  %3806 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3806, ptr %41, align 4, !tbaa !9
  %3807 = load ptr, ptr %8, align 8, !tbaa !5
  %3808 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %3807, i32 noundef %3808)
  %3809 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3809, ptr %41, align 4, !tbaa !9
  %3810 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3810, ptr %42, align 4, !tbaa !9
  %3811 = load ptr, ptr %8, align 8, !tbaa !5
  %3812 = getelementptr inbounds %struct.w2c_hermes, ptr %3811, i32 0, i32 6
  %3813 = load i32, ptr %41, align 4, !tbaa !9
  %3814 = zext i32 %3813 to i64
  %3815 = add i64 %3814, 16
  %3816 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3812, i64 noundef %3815, i32 noundef %3816)
  %3817 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3817, ptr %41, align 4, !tbaa !9
  %3818 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3818, ptr %42, align 4, !tbaa !9
  %3819 = load ptr, ptr %8, align 8, !tbaa !5
  %3820 = getelementptr inbounds %struct.w2c_hermes, ptr %3819, i32 0, i32 6
  %3821 = load i32, ptr %41, align 4, !tbaa !9
  %3822 = zext i32 %3821 to i64
  %3823 = add i64 %3822, 8
  %3824 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3820, i64 noundef %3823, i32 noundef %3824)
  %3825 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3825, ptr %41, align 4, !tbaa !9
  %3826 = load ptr, ptr %8, align 8, !tbaa !5
  %3827 = getelementptr inbounds %struct.w2c_hermes, ptr %3826, i32 0, i32 6
  %3828 = load i32, ptr %41, align 4, !tbaa !9
  %3829 = zext i32 %3828 to i64
  %3830 = call i32 @i32_load(ptr noundef %3827, i64 noundef %3829)
  store i32 %3830, ptr %41, align 4, !tbaa !9
  br label %3833

3831:                                             ; preds = %3683
  %3832 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3832, ptr %41, align 4, !tbaa !9
  br label %3833

3833:                                             ; preds = %3831, %3805
  %3834 = load ptr, ptr %8, align 8, !tbaa !5
  %3835 = getelementptr inbounds %struct.w2c_hermes, ptr %3834, i32 0, i32 6
  %3836 = load i32, ptr %41, align 4, !tbaa !9
  %3837 = zext i32 %3836 to i64
  %3838 = add i64 %3837, 12
  %3839 = call i32 @i32_load(ptr noundef %3835, i64 noundef %3838)
  store i32 %3839, ptr %41, align 4, !tbaa !9
  %3840 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3840, ptr %21, align 4, !tbaa !9
  %3841 = load i32, ptr %40, align 4, !tbaa !9
  %3842 = load i32, ptr %41, align 4, !tbaa !9
  %3843 = icmp ugt i32 %3841, %3842
  %3844 = zext i1 %3843 to i32
  store i32 %3844, ptr %40, align 4, !tbaa !9
  %3845 = load i32, ptr %40, align 4, !tbaa !9
  %3846 = icmp ne i32 %3845, 0
  br i1 %3846, label %3847, label %3944

3847:                                             ; preds = %3833
  %3848 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3848, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %3849 = load i32, ptr %41, align 4, !tbaa !9
  %3850 = load i32, ptr %40, align 4, !tbaa !9
  %3851 = add i32 %3850, %3849
  store i32 %3851, ptr %40, align 4, !tbaa !9
  %3852 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3852, ptr %11, align 4, !tbaa !9
  br label %3853

3853:                                             ; preds = %3942, %3847
  %3854 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3854, ptr %40, align 4, !tbaa !9
  %3855 = load ptr, ptr %8, align 8, !tbaa !5
  %3856 = getelementptr inbounds %struct.w2c_hermes, ptr %3855, i32 0, i32 6
  %3857 = load i32, ptr %40, align 4, !tbaa !9
  %3858 = zext i32 %3857 to i64
  %3859 = call i32 @i32_load(ptr noundef %3856, i64 noundef %3858)
  store i32 %3859, ptr %40, align 4, !tbaa !9
  %3860 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3860, ptr %12, align 4, !tbaa !9
  %3861 = load ptr, ptr %8, align 8, !tbaa !5
  %3862 = getelementptr inbounds %struct.w2c_hermes, ptr %3861, i32 0, i32 6
  %3863 = load i32, ptr %40, align 4, !tbaa !9
  %3864 = zext i32 %3863 to i64
  %3865 = add i64 %3864, 12
  %3866 = call i32 @i32_load(ptr noundef %3862, i64 noundef %3865)
  store i32 %3866, ptr %40, align 4, !tbaa !9
  %3867 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3867, ptr %10, align 4, !tbaa !9
  %3868 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3868, ptr %41, align 4, !tbaa !9
  %3869 = load ptr, ptr %8, align 8, !tbaa !5
  %3870 = getelementptr inbounds %struct.w2c_hermes, ptr %3869, i32 0, i32 6
  %3871 = load i32, ptr %41, align 4, !tbaa !9
  %3872 = zext i32 %3871 to i64
  %3873 = add i64 %3872, 16
  %3874 = call i32 @i32_load(ptr noundef %3870, i64 noundef %3873)
  store i32 %3874, ptr %41, align 4, !tbaa !9
  %3875 = load i32, ptr %40, align 4, !tbaa !9
  %3876 = load i32, ptr %41, align 4, !tbaa !9
  %3877 = icmp eq i32 %3875, %3876
  %3878 = zext i1 %3877 to i32
  store i32 %3878, ptr %40, align 4, !tbaa !9
  %3879 = load i32, ptr %40, align 4, !tbaa !9
  %3880 = icmp ne i32 %3879, 0
  br i1 %3880, label %3881, label %3898

3881:                                             ; preds = %3853
  %3882 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3882, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %3883 = load i32, ptr %41, align 4, !tbaa !9
  %3884 = load i32, ptr %40, align 4, !tbaa !9
  %3885 = add i32 %3884, %3883
  store i32 %3885, ptr %40, align 4, !tbaa !9
  %3886 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3886, ptr %41, align 4, !tbaa !9
  %3887 = load ptr, ptr %8, align 8, !tbaa !5
  %3888 = load i32, ptr %40, align 4, !tbaa !9
  %3889 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef %3887, i32 noundef %3888, i32 noundef %3889)
  %3890 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3890, ptr %40, align 4, !tbaa !9
  %3891 = load ptr, ptr %8, align 8, !tbaa !5
  %3892 = getelementptr inbounds %struct.w2c_hermes, ptr %3891, i32 0, i32 6
  %3893 = load i32, ptr %40, align 4, !tbaa !9
  %3894 = zext i32 %3893 to i64
  %3895 = add i64 %3894, 12
  %3896 = call i32 @i32_load(ptr noundef %3892, i64 noundef %3895)
  store i32 %3896, ptr %40, align 4, !tbaa !9
  %3897 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3897, ptr %10, align 4, !tbaa !9
  br label %3898

3898:                                             ; preds = %3881, %3853
  %3899 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3899, ptr %40, align 4, !tbaa !9
  %3900 = load ptr, ptr %8, align 8, !tbaa !5
  %3901 = getelementptr inbounds %struct.w2c_hermes, ptr %3900, i32 0, i32 6
  %3902 = load i32, ptr %40, align 4, !tbaa !9
  %3903 = zext i32 %3902 to i64
  %3904 = add i64 %3903, 8
  %3905 = call i32 @i32_load(ptr noundef %3901, i64 noundef %3904)
  store i32 %3905, ptr %40, align 4, !tbaa !9
  %3906 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3906, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %3907 = load i32, ptr %42, align 4, !tbaa !9
  %3908 = and i32 %3907, 31
  %3909 = load i32, ptr %41, align 4, !tbaa !9
  %3910 = shl i32 %3909, %3908
  store i32 %3910, ptr %41, align 4, !tbaa !9
  %3911 = load i32, ptr %41, align 4, !tbaa !9
  %3912 = load i32, ptr %40, align 4, !tbaa !9
  %3913 = add i32 %3912, %3911
  store i32 %3913, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %3914 = load ptr, ptr %8, align 8, !tbaa !5
  %3915 = getelementptr inbounds %struct.w2c_hermes, ptr %3914, i32 0, i32 6
  %3916 = load i32, ptr %40, align 4, !tbaa !9
  %3917 = zext i32 %3916 to i64
  %3918 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3915, i64 noundef %3917, i32 noundef %3918)
  %3919 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3919, ptr %40, align 4, !tbaa !9
  %3920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3920, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %3921 = load i32, ptr %42, align 4, !tbaa !9
  %3922 = load i32, ptr %41, align 4, !tbaa !9
  %3923 = add i32 %3922, %3921
  store i32 %3923, ptr %41, align 4, !tbaa !9
  %3924 = load ptr, ptr %8, align 8, !tbaa !5
  %3925 = getelementptr inbounds %struct.w2c_hermes, ptr %3924, i32 0, i32 6
  %3926 = load i32, ptr %40, align 4, !tbaa !9
  %3927 = zext i32 %3926 to i64
  %3928 = add i64 %3927, 12
  %3929 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3925, i64 noundef %3928, i32 noundef %3929)
  %3930 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3930, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %3931 = load i32, ptr %41, align 4, !tbaa !9
  %3932 = load i32, ptr %40, align 4, !tbaa !9
  %3933 = add i32 %3932, %3931
  store i32 %3933, ptr %40, align 4, !tbaa !9
  %3934 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3934, ptr %21, align 4, !tbaa !9
  %3935 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3935, ptr %41, align 4, !tbaa !9
  %3936 = load i32, ptr %40, align 4, !tbaa !9
  %3937 = load i32, ptr %41, align 4, !tbaa !9
  %3938 = icmp ne i32 %3936, %3937
  %3939 = zext i1 %3938 to i32
  store i32 %3939, ptr %40, align 4, !tbaa !9
  %3940 = load i32, ptr %40, align 4, !tbaa !9
  %3941 = icmp ne i32 %3940, 0
  br i1 %3941, label %3942, label %3943

3942:                                             ; preds = %3898
  br label %3853

3943:                                             ; preds = %3898
  br label %3944

3944:                                             ; preds = %3943, %3833
  %3945 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3945, ptr %40, align 4, !tbaa !9
  %3946 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3946, ptr %41, align 4, !tbaa !9
  store i32 192, ptr %42, align 4, !tbaa !9
  %3947 = load i32, ptr %42, align 4, !tbaa !9
  %3948 = load i32, ptr %41, align 4, !tbaa !9
  %3949 = add i32 %3948, %3947
  store i32 %3949, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  store i32 1038, ptr %43, align 4, !tbaa !9
  store i32 14, ptr %44, align 4, !tbaa !9
  store i32 0, ptr %45, align 4, !tbaa !9
  store i32 0, ptr %46, align 4, !tbaa !9
  %3950 = load ptr, ptr %8, align 8, !tbaa !5
  %3951 = load i32, ptr %40, align 4, !tbaa !9
  %3952 = load i32, ptr %41, align 4, !tbaa !9
  %3953 = load i32, ptr %42, align 4, !tbaa !9
  %3954 = load i32, ptr %43, align 4, !tbaa !9
  %3955 = load i32, ptr %44, align 4, !tbaa !9
  %3956 = load i32, ptr %45, align 4, !tbaa !9
  %3957 = load i32, ptr %46, align 4, !tbaa !9
  %3958 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ANativeFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ACallResult0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x200x28hermes0x3A0x3Avm0x3A0x3Adetail0x3A0x3ACallResultSpecialize0x2920x3E0x200x280x2A0x290x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x290x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %3950, i32 noundef %3951, i32 noundef %3952, i32 noundef %3953, i32 noundef %3954, i32 noundef %3955, i32 noundef %3956, i32 noundef %3957)
  store i32 %3958, ptr %40, align 4, !tbaa !9
  %3959 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3959, ptr %12, align 4, !tbaa !9
  %3960 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3960, ptr %40, align 4, !tbaa !9
  store i32 5468, ptr %41, align 4, !tbaa !9
  %3961 = load i32, ptr %41, align 4, !tbaa !9
  %3962 = load i32, ptr %40, align 4, !tbaa !9
  %3963 = add i32 %3962, %3961
  store i32 %3963, ptr %40, align 4, !tbaa !9
  %3964 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3964, ptr %41, align 4, !tbaa !9
  store i32 14, ptr %42, align 4, !tbaa !9
  %3965 = load ptr, ptr %8, align 8, !tbaa !5
  %3966 = load i32, ptr %40, align 4, !tbaa !9
  %3967 = load i32, ptr %41, align 4, !tbaa !9
  %3968 = load i32, ptr %42, align 4, !tbaa !9
  %3969 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef %3965, i32 noundef %3966, i32 noundef %3967, i32 noundef %3968)
  store i32 %3969, ptr %40, align 4, !tbaa !9
  %3970 = load i32, ptr %40, align 4, !tbaa !9
  %3971 = zext i32 %3970 to i64
  store i64 %3971, ptr %48, align 8, !tbaa !11
  store i64 -844424930131968, ptr %49, align 8, !tbaa !11
  %3972 = load i64, ptr %49, align 8, !tbaa !11
  %3973 = load i64, ptr %48, align 8, !tbaa !11
  %3974 = or i64 %3973, %3972
  store i64 %3974, ptr %48, align 8, !tbaa !11
  %3975 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %3975, ptr %37, align 8, !tbaa !11
  %3976 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3976, ptr %40, align 4, !tbaa !9
  %3977 = load ptr, ptr %8, align 8, !tbaa !5
  %3978 = getelementptr inbounds %struct.w2c_hermes, ptr %3977, i32 0, i32 6
  %3979 = load i32, ptr %40, align 4, !tbaa !9
  %3980 = zext i32 %3979 to i64
  %3981 = add i64 %3980, 4
  %3982 = call i32 @i32_load(ptr noundef %3978, i64 noundef %3981)
  store i32 %3982, ptr %40, align 4, !tbaa !9
  %3983 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3983, ptr %10, align 4, !tbaa !9
  %3984 = load ptr, ptr %8, align 8, !tbaa !5
  %3985 = getelementptr inbounds %struct.w2c_hermes, ptr %3984, i32 0, i32 6
  %3986 = load i32, ptr %40, align 4, !tbaa !9
  %3987 = zext i32 %3986 to i64
  %3988 = add i64 %3987, 164
  %3989 = call i32 @i32_load(ptr noundef %3985, i64 noundef %3988)
  store i32 %3989, ptr %40, align 4, !tbaa !9
  %3990 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3990, ptr %11, align 4, !tbaa !9
  %3991 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3991, ptr %41, align 4, !tbaa !9
  %3992 = load ptr, ptr %8, align 8, !tbaa !5
  %3993 = getelementptr inbounds %struct.w2c_hermes, ptr %3992, i32 0, i32 6
  %3994 = load i32, ptr %41, align 4, !tbaa !9
  %3995 = zext i32 %3994 to i64
  %3996 = add i64 %3995, 168
  %3997 = call i32 @i32_load(ptr noundef %3993, i64 noundef %3996)
  store i32 %3997, ptr %41, align 4, !tbaa !9
  %3998 = load i32, ptr %40, align 4, !tbaa !9
  %3999 = load i32, ptr %41, align 4, !tbaa !9
  %4000 = icmp ult i32 %3998, %3999
  %4001 = zext i1 %4000 to i32
  store i32 %4001, ptr %40, align 4, !tbaa !9
  %4002 = load i32, ptr %40, align 4, !tbaa !9
  %4003 = icmp ne i32 %4002, 0
  br i1 %4003, label %4004, label %4023

4004:                                             ; preds = %3944
  %4005 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4005, ptr %40, align 4, !tbaa !9
  %4006 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4006, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %4007 = load i32, ptr %42, align 4, !tbaa !9
  %4008 = load i32, ptr %41, align 4, !tbaa !9
  %4009 = add i32 %4008, %4007
  store i32 %4009, ptr %41, align 4, !tbaa !9
  %4010 = load ptr, ptr %8, align 8, !tbaa !5
  %4011 = getelementptr inbounds %struct.w2c_hermes, ptr %4010, i32 0, i32 6
  %4012 = load i32, ptr %40, align 4, !tbaa !9
  %4013 = zext i32 %4012 to i64
  %4014 = add i64 %4013, 164
  %4015 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4011, i64 noundef %4014, i32 noundef %4015)
  %4016 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4016, ptr %40, align 4, !tbaa !9
  %4017 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4017, ptr %49, align 8, !tbaa !11
  %4018 = load ptr, ptr %8, align 8, !tbaa !5
  %4019 = getelementptr inbounds %struct.w2c_hermes, ptr %4018, i32 0, i32 6
  %4020 = load i32, ptr %40, align 4, !tbaa !9
  %4021 = zext i32 %4020 to i64
  %4022 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4019, i64 noundef %4021, i64 noundef %4022)
  br label %4031

4023:                                             ; preds = %3944
  %4024 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4024, ptr %40, align 4, !tbaa !9
  %4025 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4025, ptr %49, align 8, !tbaa !11
  %4026 = load ptr, ptr %8, align 8, !tbaa !5
  %4027 = load i32, ptr %40, align 4, !tbaa !9
  %4028 = load i64, ptr %49, align 8, !tbaa !11
  %4029 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %4026, i32 noundef %4027, i64 noundef %4028)
  store i32 %4029, ptr %40, align 4, !tbaa !9
  %4030 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4030, ptr %11, align 4, !tbaa !9
  br label %4031

4031:                                             ; preds = %4023, %4004
  %4032 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4032, ptr %40, align 4, !tbaa !9
  %4033 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4033, ptr %41, align 4, !tbaa !9
  %4034 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4034, ptr %42, align 4, !tbaa !9
  %4035 = load ptr, ptr %8, align 8, !tbaa !5
  %4036 = load i32, ptr %40, align 4, !tbaa !9
  %4037 = load i32, ptr %41, align 4, !tbaa !9
  %4038 = load i32, ptr %42, align 4, !tbaa !9
  %4039 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef %4035, i32 noundef %4036, i32 noundef %4037, i32 noundef %4038)
  store i32 %4039, ptr %40, align 4, !tbaa !9
  %4040 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4040, ptr %10, align 4, !tbaa !9
  %4041 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4041, ptr %40, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %4042 = load ptr, ptr %8, align 8, !tbaa !5
  %4043 = getelementptr inbounds %struct.w2c_hermes, ptr %4042, i32 0, i32 6
  %4044 = load i32, ptr %40, align 4, !tbaa !9
  %4045 = zext i32 %4044 to i64
  %4046 = add i64 %4045, 20
  %4047 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4043, i64 noundef %4046, i32 noundef %4047)
  %4048 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4048, ptr %40, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %4049 = load ptr, ptr %8, align 8, !tbaa !5
  %4050 = getelementptr inbounds %struct.w2c_hermes, ptr %4049, i32 0, i32 6
  %4051 = load i32, ptr %40, align 4, !tbaa !9
  %4052 = zext i32 %4051 to i64
  %4053 = add i64 %4052, 22
  %4054 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4050, i64 noundef %4053, i32 noundef %4054)
  store i32 0, ptr %40, align 4, !tbaa !9
  %4055 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4055, ptr %41, align 4, !tbaa !9
  %4056 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4056, ptr %42, align 4, !tbaa !9
  store i32 472, ptr %43, align 4, !tbaa !9
  %4057 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4057, ptr %44, align 4, !tbaa !9
  store i32 20, ptr %45, align 4, !tbaa !9
  %4058 = load i32, ptr %45, align 4, !tbaa !9
  %4059 = load i32, ptr %44, align 4, !tbaa !9
  %4060 = add i32 %4059, %4058
  store i32 %4060, ptr %44, align 4, !tbaa !9
  %4061 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4061, ptr %45, align 4, !tbaa !9
  %4062 = load ptr, ptr %8, align 8, !tbaa !5
  %4063 = load i32, ptr %41, align 4, !tbaa !9
  %4064 = load i32, ptr %42, align 4, !tbaa !9
  %4065 = load i32, ptr %43, align 4, !tbaa !9
  %4066 = load i32, ptr %44, align 4, !tbaa !9
  %4067 = load i32, ptr %45, align 4, !tbaa !9
  %4068 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineNewOwnProperty0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %4062, i32 noundef %4063, i32 noundef %4064, i32 noundef %4065, i32 noundef %4066, i32 noundef %4067)
  store i32 %4068, ptr %41, align 4, !tbaa !9
  %4069 = load i32, ptr %41, align 4, !tbaa !9
  %4070 = icmp ne i32 %4069, 0
  %4071 = xor i1 %4070, true
  %4072 = zext i1 %4071 to i32
  store i32 %4072, ptr %41, align 4, !tbaa !9
  %4073 = load i32, ptr %41, align 4, !tbaa !9
  %4074 = icmp ne i32 %4073, 0
  br i1 %4074, label %4075, label %4076

4075:                                             ; preds = %4031
  br label %7277

4076:                                             ; preds = %4031
  %4077 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4077, ptr %40, align 4, !tbaa !9
  %4078 = load ptr, ptr %8, align 8, !tbaa !5
  %4079 = getelementptr inbounds %struct.w2c_hermes, ptr %4078, i32 0, i32 6
  %4080 = load i32, ptr %40, align 4, !tbaa !9
  %4081 = zext i32 %4080 to i64
  %4082 = call i32 @i32_load(ptr noundef %4079, i64 noundef %4081)
  store i32 %4082, ptr %40, align 4, !tbaa !9
  %4083 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4083, ptr %11, align 4, !tbaa !9
  %4084 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4084, ptr %40, align 4, !tbaa !9
  store i32 1356, ptr %41, align 4, !tbaa !9
  %4085 = load i32, ptr %41, align 4, !tbaa !9
  %4086 = load i32, ptr %40, align 4, !tbaa !9
  %4087 = add i32 %4086, %4085
  store i32 %4087, ptr %40, align 4, !tbaa !9
  %4088 = load ptr, ptr %8, align 8, !tbaa !5
  %4089 = getelementptr inbounds %struct.w2c_hermes, ptr %4088, i32 0, i32 6
  %4090 = load i32, ptr %40, align 4, !tbaa !9
  %4091 = zext i32 %4090 to i64
  %4092 = call i32 @i32_load(ptr noundef %4089, i64 noundef %4091)
  store i32 %4092, ptr %40, align 4, !tbaa !9
  %4093 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4093, ptr %41, align 4, !tbaa !9
  %4094 = load ptr, ptr %8, align 8, !tbaa !5
  %4095 = getelementptr inbounds %struct.w2c_hermes, ptr %4094, i32 0, i32 6
  %4096 = load i32, ptr %41, align 4, !tbaa !9
  %4097 = zext i32 %4096 to i64
  %4098 = call i32 @i32_load(ptr noundef %4095, i64 noundef %4097)
  store i32 %4098, ptr %41, align 4, !tbaa !9
  store i32 48, ptr %42, align 4, !tbaa !9
  %4099 = load i32, ptr %42, align 4, !tbaa !9
  %4100 = load i32, ptr %41, align 4, !tbaa !9
  %4101 = add i32 %4100, %4099
  store i32 %4101, ptr %41, align 4, !tbaa !9
  %4102 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4102, ptr %10, align 4, !tbaa !9
  store i32 -4194304, ptr %42, align 4, !tbaa !9
  %4103 = load i32, ptr %42, align 4, !tbaa !9
  %4104 = load i32, ptr %41, align 4, !tbaa !9
  %4105 = and i32 %4104, %4103
  store i32 %4105, ptr %41, align 4, !tbaa !9
  %4106 = load i32, ptr %40, align 4, !tbaa !9
  %4107 = load i32, ptr %41, align 4, !tbaa !9
  %4108 = icmp ne i32 %4106, %4107
  %4109 = zext i1 %4108 to i32
  store i32 %4109, ptr %40, align 4, !tbaa !9
  %4110 = load i32, ptr %40, align 4, !tbaa !9
  %4111 = icmp ne i32 %4110, 0
  br i1 %4111, label %4112, label %4123

4112:                                             ; preds = %4076
  %4113 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4113, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %4114 = load i32, ptr %41, align 4, !tbaa !9
  %4115 = load i32, ptr %40, align 4, !tbaa !9
  %4116 = add i32 %4115, %4114
  store i32 %4116, ptr %40, align 4, !tbaa !9
  %4117 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4117, ptr %41, align 4, !tbaa !9
  %4118 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4118, ptr %42, align 4, !tbaa !9
  %4119 = load ptr, ptr %8, align 8, !tbaa !5
  %4120 = load i32, ptr %40, align 4, !tbaa !9
  %4121 = load i32, ptr %41, align 4, !tbaa !9
  %4122 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %4119, i32 noundef %4120, i32 noundef %4121, i32 noundef %4122)
  br label %4123

4123:                                             ; preds = %4112, %4076
  %4124 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4124, ptr %40, align 4, !tbaa !9
  %4125 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4125, ptr %41, align 4, !tbaa !9
  %4126 = load ptr, ptr %8, align 8, !tbaa !5
  %4127 = getelementptr inbounds %struct.w2c_hermes, ptr %4126, i32 0, i32 6
  %4128 = load i32, ptr %40, align 4, !tbaa !9
  %4129 = zext i32 %4128 to i64
  %4130 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4127, i64 noundef %4129, i32 noundef %4130)
  %4131 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4131, ptr %40, align 4, !tbaa !9
  %4132 = load ptr, ptr %8, align 8, !tbaa !5
  %4133 = getelementptr inbounds %struct.w2c_hermes, ptr %4132, i32 0, i32 6
  %4134 = load i32, ptr %40, align 4, !tbaa !9
  %4135 = zext i32 %4134 to i64
  %4136 = add i64 %4135, 68
  %4137 = call i32 @i32_load(ptr noundef %4133, i64 noundef %4136)
  store i32 %4137, ptr %40, align 4, !tbaa !9
  %4138 = load ptr, ptr %8, align 8, !tbaa !5
  %4139 = getelementptr inbounds %struct.w2c_hermes, ptr %4138, i32 0, i32 6
  %4140 = load i32, ptr %40, align 4, !tbaa !9
  %4141 = zext i32 %4140 to i64
  %4142 = call i64 @i64_load(ptr noundef %4139, i64 noundef %4141)
  store i64 %4142, ptr %48, align 8, !tbaa !11
  %4143 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4143, ptr %39, align 8, !tbaa !11
  br label %4158

4144:                                             ; preds = %3465
  %4145 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4145, ptr %40, align 4, !tbaa !9
  %4146 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4146, ptr %41, align 4, !tbaa !9
  %4147 = load i32, ptr %41, align 4, !tbaa !9
  %4148 = zext i32 %4147 to i64
  store i64 %4148, ptr %49, align 8, !tbaa !11
  store i64 -281474976710656, ptr %50, align 8, !tbaa !11
  %4149 = load i64, ptr %50, align 8, !tbaa !11
  %4150 = load i64, ptr %49, align 8, !tbaa !11
  %4151 = or i64 %4150, %4149
  store i64 %4151, ptr %49, align 8, !tbaa !11
  %4152 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4152, ptr %39, align 8, !tbaa !11
  %4153 = load ptr, ptr %8, align 8, !tbaa !5
  %4154 = getelementptr inbounds %struct.w2c_hermes, ptr %4153, i32 0, i32 6
  %4155 = load i32, ptr %40, align 4, !tbaa !9
  %4156 = zext i32 %4155 to i64
  %4157 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4154, i64 noundef %4156, i64 noundef %4157)
  br label %4158

4158:                                             ; preds = %4144, %4123
  %4159 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4159, ptr %48, align 8, !tbaa !11
  %4160 = load i64, ptr %48, align 8, !tbaa !11
  %4161 = trunc i64 %4160 to i32
  store i32 %4161, ptr %40, align 4, !tbaa !9
  %4162 = load ptr, ptr %8, align 8, !tbaa !5
  %4163 = getelementptr inbounds %struct.w2c_hermes, ptr %4162, i32 0, i32 6
  %4164 = load i32, ptr %40, align 4, !tbaa !9
  %4165 = zext i32 %4164 to i64
  %4166 = add i64 %4165, 4
  %4167 = call i32 @i32_load(ptr noundef %4163, i64 noundef %4166)
  store i32 %4167, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %4168 = load i32, ptr %41, align 4, !tbaa !9
  %4169 = icmp eq i32 %4168, 0
  %4170 = xor i1 %4169, true
  %4171 = xor i1 %4170, true
  %4172 = zext i1 %4171 to i32
  %4173 = sext i32 %4172 to i64
  %4174 = call i64 @llvm.expect.i64(i64 %4173, i64 0)
  %4175 = icmp ne i64 %4174, 0
  br i1 %4175, label %4176, label %4178

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

4177:                                             ; No predecessors!
  br label %4182

4178:                                             ; preds = %4158
  %4179 = load i32, ptr %40, align 4, !tbaa !9
  %4180 = load i32, ptr %41, align 4, !tbaa !9
  %4181 = udiv i32 %4179, %4180
  br label %4182

4182:                                             ; preds = %4178, %4177
  %4183 = phi i32 [ 0, %4177 ], [ %4181, %4178 ]
  store i32 %4183, ptr %40, align 4, !tbaa !9
  %4184 = load i32, ptr %40, align 4, !tbaa !9
  %4185 = zext i32 %4184 to i64
  store i64 %4185, ptr %48, align 8, !tbaa !11
  %4186 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4186, ptr %39, align 8, !tbaa !11
  %4187 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4187, ptr %40, align 4, !tbaa !9
  %4188 = load ptr, ptr %8, align 8, !tbaa !5
  %4189 = getelementptr inbounds %struct.w2c_hermes, ptr %4188, i32 0, i32 6
  %4190 = load i32, ptr %40, align 4, !tbaa !9
  %4191 = zext i32 %4190 to i64
  %4192 = add i64 %4191, 40
  %4193 = call i32 @i32_load(ptr noundef %4189, i64 noundef %4192)
  store i32 %4193, ptr %40, align 4, !tbaa !9
  %4194 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4194, ptr %11, align 4, !tbaa !9
  %4195 = load ptr, ptr %8, align 8, !tbaa !5
  %4196 = getelementptr inbounds %struct.w2c_hermes, ptr %4195, i32 0, i32 6
  %4197 = load i32, ptr %40, align 4, !tbaa !9
  %4198 = zext i32 %4197 to i64
  %4199 = add i64 %4198, 108
  %4200 = call i32 @i32_load(ptr noundef %4196, i64 noundef %4199)
  store i32 %4200, ptr %40, align 4, !tbaa !9
  %4201 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4201, ptr %10, align 4, !tbaa !9
  %4202 = load i32, ptr %40, align 4, !tbaa !9
  %4203 = icmp ne i32 %4202, 0
  %4204 = xor i1 %4203, true
  %4205 = zext i1 %4204 to i32
  store i32 %4205, ptr %40, align 4, !tbaa !9
  %4206 = load i32, ptr %40, align 4, !tbaa !9
  %4207 = icmp ne i32 %4206, 0
  br i1 %4207, label %4208, label %4209

4208:                                             ; preds = %4182
  br label %4572

4209:                                             ; preds = %4182
  %4210 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4210, ptr %40, align 4, !tbaa !9
  %4211 = load ptr, ptr %8, align 8, !tbaa !5
  %4212 = getelementptr inbounds %struct.w2c_hermes, ptr %4211, i32 0, i32 6
  %4213 = load i32, ptr %40, align 4, !tbaa !9
  %4214 = zext i32 %4213 to i64
  %4215 = add i64 %4214, 104
  %4216 = call i32 @i32_load(ptr noundef %4212, i64 noundef %4215)
  store i32 %4216, ptr %40, align 4, !tbaa !9
  %4217 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4217, ptr %11, align 4, !tbaa !9
  %4218 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4218, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %4219 = load i32, ptr %42, align 4, !tbaa !9
  %4220 = and i32 %4219, 31
  %4221 = load i32, ptr %41, align 4, !tbaa !9
  %4222 = shl i32 %4221, %4220
  store i32 %4222, ptr %41, align 4, !tbaa !9
  %4223 = load i32, ptr %41, align 4, !tbaa !9
  %4224 = load i32, ptr %40, align 4, !tbaa !9
  %4225 = add i32 %4224, %4223
  store i32 %4225, ptr %40, align 4, !tbaa !9
  %4226 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4226, ptr %15, align 4, !tbaa !9
  br label %4227

4227:                                             ; preds = %4558, %4209
  %4228 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4228, ptr %40, align 4, !tbaa !9
  %4229 = load ptr, ptr %8, align 8, !tbaa !5
  %4230 = getelementptr inbounds %struct.w2c_hermes, ptr %4229, i32 0, i32 6
  %4231 = load i32, ptr %40, align 4, !tbaa !9
  %4232 = zext i32 %4231 to i64
  %4233 = add i64 %4232, 12
  %4234 = call i32 @i32_load(ptr noundef %4230, i64 noundef %4233)
  store i32 %4234, ptr %40, align 4, !tbaa !9
  %4235 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4235, ptr %41, align 4, !tbaa !9
  %4236 = load ptr, ptr %8, align 8, !tbaa !5
  %4237 = getelementptr inbounds %struct.w2c_hermes, ptr %4236, i32 0, i32 6
  %4238 = load i32, ptr %41, align 4, !tbaa !9
  %4239 = zext i32 %4238 to i64
  %4240 = call i32 @i32_load(ptr noundef %4237, i64 noundef %4239)
  store i32 %4240, ptr %41, align 4, !tbaa !9
  %4241 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4241, ptr %16, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %4242 = load i32, ptr %42, align 4, !tbaa !9
  %4243 = and i32 %4242, 31
  %4244 = load i32, ptr %41, align 4, !tbaa !9
  %4245 = shl i32 %4244, %4243
  store i32 %4245, ptr %41, align 4, !tbaa !9
  %4246 = load i32, ptr %41, align 4, !tbaa !9
  %4247 = load i32, ptr %40, align 4, !tbaa !9
  %4248 = add i32 %4247, %4246
  store i32 %4248, ptr %40, align 4, !tbaa !9
  %4249 = load ptr, ptr %8, align 8, !tbaa !5
  %4250 = getelementptr inbounds %struct.w2c_hermes, ptr %4249, i32 0, i32 6
  %4251 = load i32, ptr %40, align 4, !tbaa !9
  %4252 = zext i32 %4251 to i64
  %4253 = call i32 @i32_load(ptr noundef %4250, i64 noundef %4252)
  store i32 %4253, ptr %40, align 4, !tbaa !9
  %4254 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4254, ptr %10, align 4, !tbaa !9
  store i32 536870910, ptr %41, align 4, !tbaa !9
  %4255 = load i32, ptr %40, align 4, !tbaa !9
  %4256 = load i32, ptr %41, align 4, !tbaa !9
  %4257 = icmp uge i32 %4255, %4256
  %4258 = zext i1 %4257 to i32
  store i32 %4258, ptr %40, align 4, !tbaa !9
  %4259 = load i32, ptr %40, align 4, !tbaa !9
  %4260 = icmp ne i32 %4259, 0
  br i1 %4260, label %4261, label %4393

4261:                                             ; preds = %4227
  %4262 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4262, ptr %40, align 4, !tbaa !9
  store i32 24, ptr %41, align 4, !tbaa !9
  %4263 = load i32, ptr %41, align 4, !tbaa !9
  %4264 = load i32, ptr %40, align 4, !tbaa !9
  %4265 = add i32 %4264, %4263
  store i32 %4265, ptr %40, align 4, !tbaa !9
  %4266 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4266, ptr %12, align 4, !tbaa !9
  %4267 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4267, ptr %41, align 4, !tbaa !9
  %4268 = load ptr, ptr %8, align 8, !tbaa !5
  %4269 = getelementptr inbounds %struct.w2c_hermes, ptr %4268, i32 0, i32 6
  %4270 = load i32, ptr %41, align 4, !tbaa !9
  %4271 = zext i32 %4270 to i64
  %4272 = add i64 %4271, 40
  %4273 = call i32 @i32_load(ptr noundef %4269, i64 noundef %4272)
  store i32 %4273, ptr %41, align 4, !tbaa !9
  %4274 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4274, ptr %10, align 4, !tbaa !9
  %4275 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4275, ptr %42, align 4, !tbaa !9
  %4276 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4276, ptr %43, align 4, !tbaa !9
  %4277 = load ptr, ptr %8, align 8, !tbaa !5
  %4278 = getelementptr inbounds %struct.w2c_hermes, ptr %4277, i32 0, i32 6
  %4279 = load i32, ptr %43, align 4, !tbaa !9
  %4280 = zext i32 %4279 to i64
  %4281 = call i32 @i32_load(ptr noundef %4278, i64 noundef %4280)
  store i32 %4281, ptr %43, align 4, !tbaa !9
  %4282 = load ptr, ptr %8, align 8, !tbaa !5
  %4283 = getelementptr inbounds %struct.w2c_hermes, ptr %4282, i32 0, i32 6
  %4284 = load i32, ptr %43, align 4, !tbaa !9
  %4285 = zext i32 %4284 to i64
  %4286 = add i64 %4285, 4
  %4287 = call i32 @i32_load(ptr noundef %4283, i64 noundef %4286)
  store i32 %4287, ptr %43, align 4, !tbaa !9
  %4288 = load i32, ptr %43, align 4, !tbaa !9
  %4289 = load ptr, ptr %8, align 8, !tbaa !5
  %4290 = getelementptr inbounds %struct.w2c_hermes, ptr %4289, i32 0, i32 7
  %4291 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4290, i32 0, i32 2
  %4292 = load i32, ptr %4291, align 4, !tbaa !18
  %4293 = icmp ult i32 %4288, %4292
  br i1 %4293, label %4294, label %4317

4294:                                             ; preds = %4261
  %4295 = load ptr, ptr %8, align 8, !tbaa !5
  %4296 = getelementptr inbounds %struct.w2c_hermes, ptr %4295, i32 0, i32 7
  %4297 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4296, i32 0, i32 0
  %4298 = load ptr, ptr %4297, align 8, !tbaa !19
  %4299 = load i32, ptr %43, align 4, !tbaa !9
  %4300 = zext i32 %4299 to i64
  %4301 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4298, i64 %4300
  %4302 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4301, i32 0, i32 1
  %4303 = load ptr, ptr %4302, align 8, !tbaa !20
  %4304 = icmp ne ptr %4303, null
  br i1 %4304, label %4305, label %4317

4305:                                             ; preds = %4294
  %4306 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !5
  %4307 = load ptr, ptr %8, align 8, !tbaa !5
  %4308 = getelementptr inbounds %struct.w2c_hermes, ptr %4307, i32 0, i32 7
  %4309 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4308, i32 0, i32 0
  %4310 = load ptr, ptr %4309, align 8, !tbaa !19
  %4311 = load i32, ptr %43, align 4, !tbaa !9
  %4312 = zext i32 %4311 to i64
  %4313 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4310, i64 %4312
  %4314 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4313, i32 0, i32 0
  %4315 = load ptr, ptr %4314, align 8, !tbaa !22
  %4316 = call zeroext i1 @func_types_eq(ptr noundef %4306, ptr noundef %4315)
  br label %4317

4317:                                             ; preds = %4305, %4294, %4261
  %4318 = phi i1 [ false, %4294 ], [ false, %4261 ], [ %4316, %4305 ]
  %4319 = xor i1 %4318, true
  %4320 = xor i1 %4319, true
  %4321 = zext i1 %4320 to i32
  %4322 = sext i32 %4321 to i64
  %4323 = call i64 @llvm.expect.i64(i64 %4322, i64 1)
  %4324 = icmp ne i64 %4323, 0
  br i1 %4324, label %4327, label %4325

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

4326:                                             ; No predecessors!
  br label %4327

4327:                                             ; preds = %4326, %4317
  %4328 = phi i1 [ true, %4317 ], [ false, %4326 ]
  %4329 = zext i1 %4328 to i32
  %4330 = load ptr, ptr %8, align 8, !tbaa !5
  %4331 = getelementptr inbounds %struct.w2c_hermes, ptr %4330, i32 0, i32 7
  %4332 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4331, i32 0, i32 0
  %4333 = load ptr, ptr %4332, align 8, !tbaa !19
  %4334 = load i32, ptr %43, align 4, !tbaa !9
  %4335 = zext i32 %4334 to i64
  %4336 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4333, i64 %4335
  %4337 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4336, i32 0, i32 1
  %4338 = load ptr, ptr %4337, align 8, !tbaa !20
  %4339 = load ptr, ptr %8, align 8, !tbaa !5
  %4340 = getelementptr inbounds %struct.w2c_hermes, ptr %4339, i32 0, i32 7
  %4341 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4340, i32 0, i32 0
  %4342 = load ptr, ptr %4341, align 8, !tbaa !19
  %4343 = load i32, ptr %43, align 4, !tbaa !9
  %4344 = zext i32 %4343 to i64
  %4345 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4342, i64 %4344
  %4346 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4345, i32 0, i32 2
  %4347 = load ptr, ptr %4346, align 8, !tbaa !23
  %4348 = load i32, ptr %40, align 4, !tbaa !9
  %4349 = load i32, ptr %41, align 4, !tbaa !9
  %4350 = load i32, ptr %42, align 4, !tbaa !9
  call void %4338(ptr noundef %4347, i32 noundef %4348, i32 noundef %4349, i32 noundef %4350)
  %4351 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4351, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %4352 = load ptr, ptr %8, align 8, !tbaa !5
  %4353 = getelementptr inbounds %struct.w2c_hermes, ptr %4352, i32 0, i32 6
  %4354 = load i32, ptr %40, align 4, !tbaa !9
  %4355 = zext i32 %4354 to i64
  %4356 = add i64 %4355, 76
  %4357 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %4353, i64 noundef %4356, i32 noundef %4357)
  %4358 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4358, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %4359 = load ptr, ptr %8, align 8, !tbaa !5
  %4360 = getelementptr inbounds %struct.w2c_hermes, ptr %4359, i32 0, i32 6
  %4361 = load i32, ptr %40, align 4, !tbaa !9
  %4362 = zext i32 %4361 to i64
  %4363 = add i64 %4362, 72
  %4364 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4360, i64 noundef %4363, i32 noundef %4364)
  %4365 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4365, ptr %40, align 4, !tbaa !9
  %4366 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4366, ptr %41, align 4, !tbaa !9
  %4367 = load ptr, ptr %8, align 8, !tbaa !5
  %4368 = getelementptr inbounds %struct.w2c_hermes, ptr %4367, i32 0, i32 6
  %4369 = load i32, ptr %41, align 4, !tbaa !9
  %4370 = zext i32 %4369 to i64
  %4371 = add i64 %4370, 72
  %4372 = call i64 @i64_load(ptr noundef %4368, i64 noundef %4371)
  store i64 %4372, ptr %49, align 8, !tbaa !11
  %4373 = load ptr, ptr %8, align 8, !tbaa !5
  %4374 = getelementptr inbounds %struct.w2c_hermes, ptr %4373, i32 0, i32 6
  %4375 = load i32, ptr %40, align 4, !tbaa !9
  %4376 = zext i32 %4375 to i64
  %4377 = add i64 %4376, 8
  %4378 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4374, i64 noundef %4377, i64 noundef %4378)
  %4379 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4379, ptr %40, align 4, !tbaa !9
  %4380 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4380, ptr %41, align 4, !tbaa !9
  %4381 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4381, ptr %42, align 4, !tbaa !9
  %4382 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4382, ptr %43, align 4, !tbaa !9
  store i32 8, ptr %44, align 4, !tbaa !9
  %4383 = load i32, ptr %44, align 4, !tbaa !9
  %4384 = load i32, ptr %43, align 4, !tbaa !9
  %4385 = add i32 %4384, %4383
  store i32 %4385, ptr %43, align 4, !tbaa !9
  %4386 = load ptr, ptr %8, align 8, !tbaa !5
  %4387 = load i32, ptr %40, align 4, !tbaa !9
  %4388 = load i32, ptr %41, align 4, !tbaa !9
  %4389 = load i32, ptr %42, align 4, !tbaa !9
  %4390 = load i32, ptr %43, align 4, !tbaa !9
  %4391 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AcreateSymbolFromStringIDMayAllocate0x28unsigned0x20int0x2C0x20hermes0x3A0x3AStringTableEntry0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x29(ptr noundef %4386, i32 noundef %4387, i32 noundef %4388, i32 noundef %4389, i32 noundef %4390)
  store i32 %4391, ptr %40, align 4, !tbaa !9
  %4392 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4392, ptr %10, align 4, !tbaa !9
  br label %4393

4393:                                             ; preds = %4327, %4227
  %4394 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4394, ptr %40, align 4, !tbaa !9
  %4395 = load ptr, ptr %8, align 8, !tbaa !5
  %4396 = getelementptr inbounds %struct.w2c_hermes, ptr %4395, i32 0, i32 6
  %4397 = load i32, ptr %40, align 4, !tbaa !9
  %4398 = zext i32 %4397 to i64
  %4399 = call i32 @i32_load(ptr noundef %4396, i64 noundef %4398)
  store i32 %4399, ptr %40, align 4, !tbaa !9
  %4400 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4400, ptr %12, align 4, !tbaa !9
  %4401 = load ptr, ptr %8, align 8, !tbaa !5
  %4402 = getelementptr inbounds %struct.w2c_hermes, ptr %4401, i32 0, i32 6
  %4403 = load i32, ptr %40, align 4, !tbaa !9
  %4404 = zext i32 %4403 to i64
  %4405 = add i64 %4404, 20
  %4406 = call i32 @i32_load(ptr noundef %4402, i64 noundef %4405)
  store i32 %4406, ptr %40, align 4, !tbaa !9
  %4407 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4407, ptr %24, align 4, !tbaa !9
  %4408 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4408, ptr %40, align 4, !tbaa !9
  %4409 = load ptr, ptr %8, align 8, !tbaa !5
  %4410 = getelementptr inbounds %struct.w2c_hermes, ptr %4409, i32 0, i32 6
  %4411 = load i32, ptr %40, align 4, !tbaa !9
  %4412 = zext i32 %4411 to i64
  %4413 = add i64 %4412, 32
  %4414 = call i32 @i32_load(ptr noundef %4410, i64 noundef %4413)
  store i32 %4414, ptr %40, align 4, !tbaa !9
  %4415 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4415, ptr %25, align 4, !tbaa !9
  %4416 = load i32, ptr %40, align 4, !tbaa !9
  %4417 = icmp ne i32 %4416, 0
  %4418 = xor i1 %4417, true
  %4419 = zext i1 %4418 to i32
  store i32 %4419, ptr %40, align 4, !tbaa !9
  %4420 = load i32, ptr %40, align 4, !tbaa !9
  %4421 = icmp ne i32 %4420, 0
  br i1 %4421, label %4422, label %4423

4422:                                             ; preds = %4393
  br label %4513

4423:                                             ; preds = %4393
  %4424 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4424, ptr %40, align 4, !tbaa !9
  %4425 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4425, ptr %41, align 4, !tbaa !9
  %4426 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4426, ptr %42, align 4, !tbaa !9
  store i32 1, ptr %43, align 4, !tbaa !9
  %4427 = load i32, ptr %43, align 4, !tbaa !9
  %4428 = load i32, ptr %42, align 4, !tbaa !9
  %4429 = sub i32 %4428, %4427
  store i32 %4429, ptr %42, align 4, !tbaa !9
  %4430 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %4430, ptr %16, align 4, !tbaa !9
  %4431 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4431, ptr %43, align 4, !tbaa !9
  store i32 37, ptr %44, align 4, !tbaa !9
  %4432 = load i32, ptr %44, align 4, !tbaa !9
  %4433 = load i32, ptr %43, align 4, !tbaa !9
  %4434 = mul i32 %4433, %4432
  store i32 %4434, ptr %43, align 4, !tbaa !9
  %4435 = load i32, ptr %43, align 4, !tbaa !9
  %4436 = load i32, ptr %42, align 4, !tbaa !9
  %4437 = and i32 %4436, %4435
  store i32 %4437, ptr %42, align 4, !tbaa !9
  %4438 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %4438, ptr %29, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %4439 = load i32, ptr %43, align 4, !tbaa !9
  %4440 = and i32 %4439, 31
  %4441 = load i32, ptr %42, align 4, !tbaa !9
  %4442 = shl i32 %4441, %4440
  store i32 %4442, ptr %42, align 4, !tbaa !9
  %4443 = load i32, ptr %42, align 4, !tbaa !9
  %4444 = load i32, ptr %41, align 4, !tbaa !9
  %4445 = add i32 %4444, %4443
  store i32 %4445, ptr %41, align 4, !tbaa !9
  %4446 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4446, ptr %30, align 4, !tbaa !9
  %4447 = load ptr, ptr %8, align 8, !tbaa !5
  %4448 = getelementptr inbounds %struct.w2c_hermes, ptr %4447, i32 0, i32 6
  %4449 = load i32, ptr %41, align 4, !tbaa !9
  %4450 = zext i32 %4449 to i64
  %4451 = call i32 @i32_load(ptr noundef %4448, i64 noundef %4450)
  store i32 %4451, ptr %41, align 4, !tbaa !9
  %4452 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4452, ptr %20, align 4, !tbaa !9
  %4453 = load i32, ptr %40, align 4, !tbaa !9
  %4454 = load i32, ptr %41, align 4, !tbaa !9
  %4455 = icmp eq i32 %4453, %4454
  %4456 = zext i1 %4455 to i32
  store i32 %4456, ptr %40, align 4, !tbaa !9
  %4457 = load i32, ptr %40, align 4, !tbaa !9
  %4458 = icmp ne i32 %4457, 0
  br i1 %4458, label %4459, label %4460

4459:                                             ; preds = %4423
  br label %4524

4460:                                             ; preds = %4423
  store i32 1, ptr %40, align 4, !tbaa !9
  %4461 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4461, ptr %27, align 4, !tbaa !9
  br label %4462

4462:                                             ; preds = %4511, %4460
  %4463 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4463, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %4464 = load i32, ptr %40, align 4, !tbaa !9
  %4465 = load i32, ptr %41, align 4, !tbaa !9
  %4466 = icmp eq i32 %4464, %4465
  %4467 = zext i1 %4466 to i32
  store i32 %4467, ptr %40, align 4, !tbaa !9
  %4468 = load i32, ptr %40, align 4, !tbaa !9
  %4469 = icmp ne i32 %4468, 0
  br i1 %4469, label %4470, label %4471

4470:                                             ; preds = %4462
  br label %4513

4471:                                             ; preds = %4462
  %4472 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %4472, ptr %40, align 4, !tbaa !9
  %4473 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %4473, ptr %41, align 4, !tbaa !9
  %4474 = load i32, ptr %41, align 4, !tbaa !9
  %4475 = load i32, ptr %40, align 4, !tbaa !9
  %4476 = add i32 %4475, %4474
  store i32 %4476, ptr %40, align 4, !tbaa !9
  %4477 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4477, ptr %12, align 4, !tbaa !9
  %4478 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %4478, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %4479 = load i32, ptr %41, align 4, !tbaa !9
  %4480 = load i32, ptr %40, align 4, !tbaa !9
  %4481 = add i32 %4480, %4479
  store i32 %4481, ptr %40, align 4, !tbaa !9
  %4482 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4482, ptr %27, align 4, !tbaa !9
  %4483 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4483, ptr %40, align 4, !tbaa !9
  %4484 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4484, ptr %41, align 4, !tbaa !9
  %4485 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4485, ptr %42, align 4, !tbaa !9
  %4486 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4486, ptr %43, align 4, !tbaa !9
  %4487 = load i32, ptr %43, align 4, !tbaa !9
  %4488 = load i32, ptr %42, align 4, !tbaa !9
  %4489 = and i32 %4488, %4487
  store i32 %4489, ptr %42, align 4, !tbaa !9
  %4490 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %4490, ptr %29, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %4491 = load i32, ptr %43, align 4, !tbaa !9
  %4492 = and i32 %4491, 31
  %4493 = load i32, ptr %42, align 4, !tbaa !9
  %4494 = shl i32 %4493, %4492
  store i32 %4494, ptr %42, align 4, !tbaa !9
  %4495 = load i32, ptr %42, align 4, !tbaa !9
  %4496 = load i32, ptr %41, align 4, !tbaa !9
  %4497 = add i32 %4496, %4495
  store i32 %4497, ptr %41, align 4, !tbaa !9
  %4498 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4498, ptr %30, align 4, !tbaa !9
  %4499 = load ptr, ptr %8, align 8, !tbaa !5
  %4500 = getelementptr inbounds %struct.w2c_hermes, ptr %4499, i32 0, i32 6
  %4501 = load i32, ptr %41, align 4, !tbaa !9
  %4502 = zext i32 %4501 to i64
  %4503 = call i32 @i32_load(ptr noundef %4500, i64 noundef %4502)
  store i32 %4503, ptr %41, align 4, !tbaa !9
  %4504 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4504, ptr %20, align 4, !tbaa !9
  %4505 = load i32, ptr %40, align 4, !tbaa !9
  %4506 = load i32, ptr %41, align 4, !tbaa !9
  %4507 = icmp ne i32 %4505, %4506
  %4508 = zext i1 %4507 to i32
  store i32 %4508, ptr %40, align 4, !tbaa !9
  %4509 = load i32, ptr %40, align 4, !tbaa !9
  %4510 = icmp ne i32 %4509, 0
  br i1 %4510, label %4511, label %4512

4511:                                             ; preds = %4471
  br label %4462

4512:                                             ; preds = %4471
  br label %4524

4513:                                             ; preds = %4470, %4422
  %4514 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4514, ptr %40, align 4, !tbaa !9
  %4515 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4515, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %4516 = load i32, ptr %42, align 4, !tbaa !9
  %4517 = and i32 %4516, 31
  %4518 = load i32, ptr %41, align 4, !tbaa !9
  %4519 = shl i32 %4518, %4517
  store i32 %4519, ptr %41, align 4, !tbaa !9
  %4520 = load i32, ptr %41, align 4, !tbaa !9
  %4521 = load i32, ptr %40, align 4, !tbaa !9
  %4522 = add i32 %4521, %4520
  store i32 %4522, ptr %40, align 4, !tbaa !9
  %4523 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4523, ptr %30, align 4, !tbaa !9
  br label %4524

4524:                                             ; preds = %4513, %4512, %4459
  %4525 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4525, ptr %48, align 8, !tbaa !11
  %4526 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %4526, ptr %41, align 4, !tbaa !9
  %4527 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4527, ptr %42, align 4, !tbaa !9
  %4528 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4528, ptr %43, align 4, !tbaa !9
  store i32 3, ptr %44, align 4, !tbaa !9
  %4529 = load i32, ptr %44, align 4, !tbaa !9
  %4530 = and i32 %4529, 31
  %4531 = load i32, ptr %43, align 4, !tbaa !9
  %4532 = shl i32 %4531, %4530
  store i32 %4532, ptr %43, align 4, !tbaa !9
  %4533 = load i32, ptr %43, align 4, !tbaa !9
  %4534 = load i32, ptr %42, align 4, !tbaa !9
  %4535 = add i32 %4534, %4533
  store i32 %4535, ptr %42, align 4, !tbaa !9
  %4536 = load i32, ptr %41, align 4, !tbaa !9
  %4537 = load i32, ptr %42, align 4, !tbaa !9
  %4538 = icmp eq i32 %4536, %4537
  %4539 = zext i1 %4538 to i32
  store i32 %4539, ptr %41, align 4, !tbaa !9
  %4540 = load i32, ptr %41, align 4, !tbaa !9
  %4541 = zext i32 %4540 to i64
  store i64 %4541, ptr %49, align 8, !tbaa !11
  %4542 = load i64, ptr %49, align 8, !tbaa !11
  %4543 = load i64, ptr %48, align 8, !tbaa !11
  %4544 = add i64 %4543, %4542
  store i64 %4544, ptr %48, align 8, !tbaa !11
  %4545 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4545, ptr %39, align 8, !tbaa !11
  %4546 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4546, ptr %40, align 4, !tbaa !9
  %4547 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4547, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %4548 = load i32, ptr %42, align 4, !tbaa !9
  %4549 = load i32, ptr %41, align 4, !tbaa !9
  %4550 = add i32 %4549, %4548
  store i32 %4550, ptr %41, align 4, !tbaa !9
  %4551 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4551, ptr %11, align 4, !tbaa !9
  %4552 = load i32, ptr %40, align 4, !tbaa !9
  %4553 = load i32, ptr %41, align 4, !tbaa !9
  %4554 = icmp ne i32 %4552, %4553
  %4555 = zext i1 %4554 to i32
  store i32 %4555, ptr %40, align 4, !tbaa !9
  %4556 = load i32, ptr %40, align 4, !tbaa !9
  %4557 = icmp ne i32 %4556, 0
  br i1 %4557, label %4558, label %4559

4558:                                             ; preds = %4524
  br label %4227

4559:                                             ; preds = %4524
  br label %4563

4560:                                             ; preds = %3725
  store i32 47421, ptr %40, align 4, !tbaa !9
  %4561 = load ptr, ptr %8, align 8, !tbaa !5
  %4562 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %4561, i32 noundef %4562)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

4563:                                             ; preds = %4559
  %4564 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4564, ptr %40, align 4, !tbaa !9
  %4565 = load ptr, ptr %8, align 8, !tbaa !5
  %4566 = getelementptr inbounds %struct.w2c_hermes, ptr %4565, i32 0, i32 6
  %4567 = load i32, ptr %40, align 4, !tbaa !9
  %4568 = zext i32 %4567 to i64
  %4569 = add i64 %4568, 40
  %4570 = call i32 @i32_load(ptr noundef %4566, i64 noundef %4569)
  store i32 %4570, ptr %40, align 4, !tbaa !9
  %4571 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4571, ptr %11, align 4, !tbaa !9
  br label %4572

4572:                                             ; preds = %4563, %4208
  %4573 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4573, ptr %40, align 4, !tbaa !9
  %4574 = load ptr, ptr %8, align 8, !tbaa !5
  %4575 = getelementptr inbounds %struct.w2c_hermes, ptr %4574, i32 0, i32 6
  %4576 = load i32, ptr %40, align 4, !tbaa !9
  %4577 = zext i32 %4576 to i64
  %4578 = add i64 %4577, 116
  %4579 = call i32 @i32_load(ptr noundef %4575, i64 noundef %4578)
  store i32 %4579, ptr %40, align 4, !tbaa !9
  %4580 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4580, ptr %25, align 4, !tbaa !9
  %4581 = load i32, ptr %40, align 4, !tbaa !9
  %4582 = icmp ne i32 %4581, 0
  %4583 = xor i1 %4582, true
  %4584 = zext i1 %4583 to i32
  store i32 %4584, ptr %40, align 4, !tbaa !9
  %4585 = load i32, ptr %40, align 4, !tbaa !9
  %4586 = icmp ne i32 %4585, 0
  br i1 %4586, label %4587, label %4588

4587:                                             ; preds = %4572
  br label %4885

4588:                                             ; preds = %4572
  %4589 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4589, ptr %40, align 4, !tbaa !9
  %4590 = load ptr, ptr %8, align 8, !tbaa !5
  %4591 = getelementptr inbounds %struct.w2c_hermes, ptr %4590, i32 0, i32 6
  %4592 = load i32, ptr %40, align 4, !tbaa !9
  %4593 = zext i32 %4592 to i64
  %4594 = add i64 %4593, 112
  %4595 = call i32 @i32_load(ptr noundef %4591, i64 noundef %4594)
  store i32 %4595, ptr %40, align 4, !tbaa !9
  %4596 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4596, ptr %12, align 4, !tbaa !9
  %4597 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4597, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %4598 = load i32, ptr %41, align 4, !tbaa !9
  %4599 = load i32, ptr %40, align 4, !tbaa !9
  %4600 = sub i32 %4599, %4598
  store i32 %4600, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %4601 = load i32, ptr %41, align 4, !tbaa !9
  %4602 = load i32, ptr %40, align 4, !tbaa !9
  %4603 = and i32 %4602, %4601
  store i32 %4603, ptr %40, align 4, !tbaa !9
  %4604 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4604, ptr %15, align 4, !tbaa !9
  %4605 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4605, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %4606 = load i32, ptr %41, align 4, !tbaa !9
  %4607 = load i32, ptr %40, align 4, !tbaa !9
  %4608 = and i32 %4607, %4606
  store i32 %4608, ptr %40, align 4, !tbaa !9
  %4609 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4609, ptr %16, align 4, !tbaa !9
  %4610 = load i32, ptr %40, align 4, !tbaa !9
  %4611 = icmp ne i32 %4610, 0
  %4612 = xor i1 %4611, true
  %4613 = zext i1 %4612 to i32
  store i32 %4613, ptr %40, align 4, !tbaa !9
  %4614 = load i32, ptr %40, align 4, !tbaa !9
  %4615 = icmp ne i32 %4614, 0
  br i1 %4615, label %4616, label %4619

4616:                                             ; preds = %4588
  %4617 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4617, ptr %40, align 4, !tbaa !9
  %4618 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4618, ptr %11, align 4, !tbaa !9
  br label %4666

4619:                                             ; preds = %4588
  store i32 0, ptr %40, align 4, !tbaa !9
  %4620 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4620, ptr %10, align 4, !tbaa !9
  %4621 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4621, ptr %40, align 4, !tbaa !9
  %4622 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4622, ptr %11, align 4, !tbaa !9
  br label %4623

4623:                                             ; preds = %4664, %4619
  %4624 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4624, ptr %48, align 8, !tbaa !11
  %4625 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4625, ptr %41, align 4, !tbaa !9
  %4626 = load ptr, ptr %8, align 8, !tbaa !5
  %4627 = getelementptr inbounds %struct.w2c_hermes, ptr %4626, i32 0, i32 6
  %4628 = load i32, ptr %41, align 4, !tbaa !9
  %4629 = zext i32 %4628 to i64
  %4630 = call i64 @i64_load32_u(ptr noundef %4627, i64 noundef %4629)
  store i64 %4630, ptr %49, align 8, !tbaa !11
  %4631 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4631, ptr %37, align 8, !tbaa !11
  %4632 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4632, ptr %50, align 8, !tbaa !11
  %4633 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4633, ptr %51, align 8, !tbaa !11
  %4634 = load i64, ptr %50, align 8, !tbaa !11
  %4635 = load i64, ptr %51, align 8, !tbaa !11
  %4636 = icmp ult i64 %4634, %4635
  %4637 = zext i1 %4636 to i32
  store i32 %4637, ptr %42, align 4, !tbaa !9
  %4638 = load i32, ptr %42, align 4, !tbaa !9
  %4639 = icmp ne i32 %4638, 0
  br i1 %4639, label %4640, label %4642

4640:                                             ; preds = %4623
  %4641 = load i64, ptr %48, align 8, !tbaa !11
  br label %4644

4642:                                             ; preds = %4623
  %4643 = load i64, ptr %49, align 8, !tbaa !11
  br label %4644

4644:                                             ; preds = %4642, %4640
  %4645 = phi i64 [ %4641, %4640 ], [ %4643, %4642 ]
  store i64 %4645, ptr %48, align 8, !tbaa !11
  %4646 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4646, ptr %39, align 8, !tbaa !11
  %4647 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4647, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %4648 = load i32, ptr %41, align 4, !tbaa !9
  %4649 = load i32, ptr %40, align 4, !tbaa !9
  %4650 = add i32 %4649, %4648
  store i32 %4650, ptr %40, align 4, !tbaa !9
  %4651 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4651, ptr %11, align 4, !tbaa !9
  %4652 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4652, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %4653 = load i32, ptr %41, align 4, !tbaa !9
  %4654 = load i32, ptr %40, align 4, !tbaa !9
  %4655 = add i32 %4654, %4653
  store i32 %4655, ptr %40, align 4, !tbaa !9
  %4656 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4656, ptr %10, align 4, !tbaa !9
  %4657 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4657, ptr %41, align 4, !tbaa !9
  %4658 = load i32, ptr %40, align 4, !tbaa !9
  %4659 = load i32, ptr %41, align 4, !tbaa !9
  %4660 = icmp ne i32 %4658, %4659
  %4661 = zext i1 %4660 to i32
  store i32 %4661, ptr %40, align 4, !tbaa !9
  %4662 = load i32, ptr %40, align 4, !tbaa !9
  %4663 = icmp ne i32 %4662, 0
  br i1 %4663, label %4664, label %4665

4664:                                             ; preds = %4644
  br label %4623

4665:                                             ; preds = %4644
  br label %4666

4666:                                             ; preds = %4665, %4616
  %4667 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4667, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %4668 = load i32, ptr %40, align 4, !tbaa !9
  %4669 = load i32, ptr %41, align 4, !tbaa !9
  %4670 = icmp ult i32 %4668, %4669
  %4671 = zext i1 %4670 to i32
  store i32 %4671, ptr %40, align 4, !tbaa !9
  %4672 = load i32, ptr %40, align 4, !tbaa !9
  %4673 = icmp ne i32 %4672, 0
  br i1 %4673, label %4674, label %4675

4674:                                             ; preds = %4666
  br label %4885

4675:                                             ; preds = %4666
  %4676 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4676, ptr %40, align 4, !tbaa !9
  %4677 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4677, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %4678 = load i32, ptr %42, align 4, !tbaa !9
  %4679 = and i32 %4678, 31
  %4680 = load i32, ptr %41, align 4, !tbaa !9
  %4681 = shl i32 %4680, %4679
  store i32 %4681, ptr %41, align 4, !tbaa !9
  %4682 = load i32, ptr %41, align 4, !tbaa !9
  %4683 = load i32, ptr %40, align 4, !tbaa !9
  %4684 = add i32 %4683, %4682
  store i32 %4684, ptr %40, align 4, !tbaa !9
  %4685 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4685, ptr %10, align 4, !tbaa !9
  br label %4686

4686:                                             ; preds = %4883, %4675
  %4687 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4687, ptr %48, align 8, !tbaa !11
  %4688 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4688, ptr %41, align 4, !tbaa !9
  %4689 = load ptr, ptr %8, align 8, !tbaa !5
  %4690 = getelementptr inbounds %struct.w2c_hermes, ptr %4689, i32 0, i32 6
  %4691 = load i32, ptr %41, align 4, !tbaa !9
  %4692 = zext i32 %4691 to i64
  %4693 = call i64 @i64_load32_u(ptr noundef %4690, i64 noundef %4692)
  store i64 %4693, ptr %49, align 8, !tbaa !11
  %4694 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4694, ptr %37, align 8, !tbaa !11
  %4695 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4695, ptr %50, align 8, !tbaa !11
  %4696 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4696, ptr %51, align 8, !tbaa !11
  %4697 = load i64, ptr %50, align 8, !tbaa !11
  %4698 = load i64, ptr %51, align 8, !tbaa !11
  %4699 = icmp ult i64 %4697, %4698
  %4700 = zext i1 %4699 to i32
  store i32 %4700, ptr %42, align 4, !tbaa !9
  %4701 = load i32, ptr %42, align 4, !tbaa !9
  %4702 = icmp ne i32 %4701, 0
  br i1 %4702, label %4703, label %4705

4703:                                             ; preds = %4686
  %4704 = load i64, ptr %48, align 8, !tbaa !11
  br label %4707

4705:                                             ; preds = %4686
  %4706 = load i64, ptr %49, align 8, !tbaa !11
  br label %4707

4707:                                             ; preds = %4705, %4703
  %4708 = phi i64 [ %4704, %4703 ], [ %4706, %4705 ]
  store i64 %4708, ptr %48, align 8, !tbaa !11
  %4709 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4709, ptr %38, align 8, !tbaa !11
  %4710 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4710, ptr %41, align 4, !tbaa !9
  %4711 = load ptr, ptr %8, align 8, !tbaa !5
  %4712 = getelementptr inbounds %struct.w2c_hermes, ptr %4711, i32 0, i32 6
  %4713 = load i32, ptr %41, align 4, !tbaa !9
  %4714 = zext i32 %4713 to i64
  %4715 = add i64 %4714, 8
  %4716 = call i64 @i64_load32_u(ptr noundef %4712, i64 noundef %4715)
  store i64 %4716, ptr %49, align 8, !tbaa !11
  %4717 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4717, ptr %37, align 8, !tbaa !11
  %4718 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4718, ptr %50, align 8, !tbaa !11
  %4719 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4719, ptr %51, align 8, !tbaa !11
  %4720 = load i64, ptr %50, align 8, !tbaa !11
  %4721 = load i64, ptr %51, align 8, !tbaa !11
  %4722 = icmp ult i64 %4720, %4721
  %4723 = zext i1 %4722 to i32
  store i32 %4723, ptr %42, align 4, !tbaa !9
  %4724 = load i32, ptr %42, align 4, !tbaa !9
  %4725 = icmp ne i32 %4724, 0
  br i1 %4725, label %4726, label %4728

4726:                                             ; preds = %4707
  %4727 = load i64, ptr %48, align 8, !tbaa !11
  br label %4730

4728:                                             ; preds = %4707
  %4729 = load i64, ptr %49, align 8, !tbaa !11
  br label %4730

4730:                                             ; preds = %4728, %4726
  %4731 = phi i64 [ %4727, %4726 ], [ %4729, %4728 ]
  store i64 %4731, ptr %48, align 8, !tbaa !11
  %4732 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4732, ptr %38, align 8, !tbaa !11
  %4733 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4733, ptr %41, align 4, !tbaa !9
  %4734 = load ptr, ptr %8, align 8, !tbaa !5
  %4735 = getelementptr inbounds %struct.w2c_hermes, ptr %4734, i32 0, i32 6
  %4736 = load i32, ptr %41, align 4, !tbaa !9
  %4737 = zext i32 %4736 to i64
  %4738 = add i64 %4737, 16
  %4739 = call i64 @i64_load32_u(ptr noundef %4735, i64 noundef %4738)
  store i64 %4739, ptr %49, align 8, !tbaa !11
  %4740 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4740, ptr %37, align 8, !tbaa !11
  %4741 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4741, ptr %50, align 8, !tbaa !11
  %4742 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4742, ptr %51, align 8, !tbaa !11
  %4743 = load i64, ptr %50, align 8, !tbaa !11
  %4744 = load i64, ptr %51, align 8, !tbaa !11
  %4745 = icmp ult i64 %4743, %4744
  %4746 = zext i1 %4745 to i32
  store i32 %4746, ptr %42, align 4, !tbaa !9
  %4747 = load i32, ptr %42, align 4, !tbaa !9
  %4748 = icmp ne i32 %4747, 0
  br i1 %4748, label %4749, label %4751

4749:                                             ; preds = %4730
  %4750 = load i64, ptr %48, align 8, !tbaa !11
  br label %4753

4751:                                             ; preds = %4730
  %4752 = load i64, ptr %49, align 8, !tbaa !11
  br label %4753

4753:                                             ; preds = %4751, %4749
  %4754 = phi i64 [ %4750, %4749 ], [ %4752, %4751 ]
  store i64 %4754, ptr %48, align 8, !tbaa !11
  %4755 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4755, ptr %38, align 8, !tbaa !11
  %4756 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4756, ptr %41, align 4, !tbaa !9
  %4757 = load ptr, ptr %8, align 8, !tbaa !5
  %4758 = getelementptr inbounds %struct.w2c_hermes, ptr %4757, i32 0, i32 6
  %4759 = load i32, ptr %41, align 4, !tbaa !9
  %4760 = zext i32 %4759 to i64
  %4761 = add i64 %4760, 24
  %4762 = call i64 @i64_load32_u(ptr noundef %4758, i64 noundef %4761)
  store i64 %4762, ptr %49, align 8, !tbaa !11
  %4763 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4763, ptr %37, align 8, !tbaa !11
  %4764 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4764, ptr %50, align 8, !tbaa !11
  %4765 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4765, ptr %51, align 8, !tbaa !11
  %4766 = load i64, ptr %50, align 8, !tbaa !11
  %4767 = load i64, ptr %51, align 8, !tbaa !11
  %4768 = icmp ult i64 %4766, %4767
  %4769 = zext i1 %4768 to i32
  store i32 %4769, ptr %42, align 4, !tbaa !9
  %4770 = load i32, ptr %42, align 4, !tbaa !9
  %4771 = icmp ne i32 %4770, 0
  br i1 %4771, label %4772, label %4774

4772:                                             ; preds = %4753
  %4773 = load i64, ptr %48, align 8, !tbaa !11
  br label %4776

4774:                                             ; preds = %4753
  %4775 = load i64, ptr %49, align 8, !tbaa !11
  br label %4776

4776:                                             ; preds = %4774, %4772
  %4777 = phi i64 [ %4773, %4772 ], [ %4775, %4774 ]
  store i64 %4777, ptr %48, align 8, !tbaa !11
  %4778 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4778, ptr %38, align 8, !tbaa !11
  %4779 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4779, ptr %41, align 4, !tbaa !9
  %4780 = load ptr, ptr %8, align 8, !tbaa !5
  %4781 = getelementptr inbounds %struct.w2c_hermes, ptr %4780, i32 0, i32 6
  %4782 = load i32, ptr %41, align 4, !tbaa !9
  %4783 = zext i32 %4782 to i64
  %4784 = add i64 %4783, 32
  %4785 = call i64 @i64_load32_u(ptr noundef %4781, i64 noundef %4784)
  store i64 %4785, ptr %49, align 8, !tbaa !11
  %4786 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4786, ptr %37, align 8, !tbaa !11
  %4787 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4787, ptr %50, align 8, !tbaa !11
  %4788 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4788, ptr %51, align 8, !tbaa !11
  %4789 = load i64, ptr %50, align 8, !tbaa !11
  %4790 = load i64, ptr %51, align 8, !tbaa !11
  %4791 = icmp ult i64 %4789, %4790
  %4792 = zext i1 %4791 to i32
  store i32 %4792, ptr %42, align 4, !tbaa !9
  %4793 = load i32, ptr %42, align 4, !tbaa !9
  %4794 = icmp ne i32 %4793, 0
  br i1 %4794, label %4795, label %4797

4795:                                             ; preds = %4776
  %4796 = load i64, ptr %48, align 8, !tbaa !11
  br label %4799

4797:                                             ; preds = %4776
  %4798 = load i64, ptr %49, align 8, !tbaa !11
  br label %4799

4799:                                             ; preds = %4797, %4795
  %4800 = phi i64 [ %4796, %4795 ], [ %4798, %4797 ]
  store i64 %4800, ptr %48, align 8, !tbaa !11
  %4801 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4801, ptr %38, align 8, !tbaa !11
  %4802 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4802, ptr %41, align 4, !tbaa !9
  %4803 = load ptr, ptr %8, align 8, !tbaa !5
  %4804 = getelementptr inbounds %struct.w2c_hermes, ptr %4803, i32 0, i32 6
  %4805 = load i32, ptr %41, align 4, !tbaa !9
  %4806 = zext i32 %4805 to i64
  %4807 = add i64 %4806, 40
  %4808 = call i64 @i64_load32_u(ptr noundef %4804, i64 noundef %4807)
  store i64 %4808, ptr %49, align 8, !tbaa !11
  %4809 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4809, ptr %37, align 8, !tbaa !11
  %4810 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4810, ptr %50, align 8, !tbaa !11
  %4811 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4811, ptr %51, align 8, !tbaa !11
  %4812 = load i64, ptr %50, align 8, !tbaa !11
  %4813 = load i64, ptr %51, align 8, !tbaa !11
  %4814 = icmp ult i64 %4812, %4813
  %4815 = zext i1 %4814 to i32
  store i32 %4815, ptr %42, align 4, !tbaa !9
  %4816 = load i32, ptr %42, align 4, !tbaa !9
  %4817 = icmp ne i32 %4816, 0
  br i1 %4817, label %4818, label %4820

4818:                                             ; preds = %4799
  %4819 = load i64, ptr %48, align 8, !tbaa !11
  br label %4822

4820:                                             ; preds = %4799
  %4821 = load i64, ptr %49, align 8, !tbaa !11
  br label %4822

4822:                                             ; preds = %4820, %4818
  %4823 = phi i64 [ %4819, %4818 ], [ %4821, %4820 ]
  store i64 %4823, ptr %48, align 8, !tbaa !11
  %4824 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4824, ptr %38, align 8, !tbaa !11
  %4825 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4825, ptr %41, align 4, !tbaa !9
  %4826 = load ptr, ptr %8, align 8, !tbaa !5
  %4827 = getelementptr inbounds %struct.w2c_hermes, ptr %4826, i32 0, i32 6
  %4828 = load i32, ptr %41, align 4, !tbaa !9
  %4829 = zext i32 %4828 to i64
  %4830 = add i64 %4829, 48
  %4831 = call i64 @i64_load32_u(ptr noundef %4827, i64 noundef %4830)
  store i64 %4831, ptr %49, align 8, !tbaa !11
  %4832 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4832, ptr %37, align 8, !tbaa !11
  %4833 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4833, ptr %50, align 8, !tbaa !11
  %4834 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4834, ptr %51, align 8, !tbaa !11
  %4835 = load i64, ptr %50, align 8, !tbaa !11
  %4836 = load i64, ptr %51, align 8, !tbaa !11
  %4837 = icmp ult i64 %4835, %4836
  %4838 = zext i1 %4837 to i32
  store i32 %4838, ptr %42, align 4, !tbaa !9
  %4839 = load i32, ptr %42, align 4, !tbaa !9
  %4840 = icmp ne i32 %4839, 0
  br i1 %4840, label %4841, label %4843

4841:                                             ; preds = %4822
  %4842 = load i64, ptr %48, align 8, !tbaa !11
  br label %4845

4843:                                             ; preds = %4822
  %4844 = load i64, ptr %49, align 8, !tbaa !11
  br label %4845

4845:                                             ; preds = %4843, %4841
  %4846 = phi i64 [ %4842, %4841 ], [ %4844, %4843 ]
  store i64 %4846, ptr %48, align 8, !tbaa !11
  %4847 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4847, ptr %38, align 8, !tbaa !11
  %4848 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4848, ptr %41, align 4, !tbaa !9
  %4849 = load ptr, ptr %8, align 8, !tbaa !5
  %4850 = getelementptr inbounds %struct.w2c_hermes, ptr %4849, i32 0, i32 6
  %4851 = load i32, ptr %41, align 4, !tbaa !9
  %4852 = zext i32 %4851 to i64
  %4853 = add i64 %4852, 56
  %4854 = call i64 @i64_load32_u(ptr noundef %4850, i64 noundef %4853)
  store i64 %4854, ptr %49, align 8, !tbaa !11
  %4855 = load i64, ptr %49, align 8, !tbaa !11
  store i64 %4855, ptr %37, align 8, !tbaa !11
  %4856 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4856, ptr %50, align 8, !tbaa !11
  %4857 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4857, ptr %51, align 8, !tbaa !11
  %4858 = load i64, ptr %50, align 8, !tbaa !11
  %4859 = load i64, ptr %51, align 8, !tbaa !11
  %4860 = icmp ult i64 %4858, %4859
  %4861 = zext i1 %4860 to i32
  store i32 %4861, ptr %42, align 4, !tbaa !9
  %4862 = load i32, ptr %42, align 4, !tbaa !9
  %4863 = icmp ne i32 %4862, 0
  br i1 %4863, label %4864, label %4866

4864:                                             ; preds = %4845
  %4865 = load i64, ptr %48, align 8, !tbaa !11
  br label %4868

4866:                                             ; preds = %4845
  %4867 = load i64, ptr %49, align 8, !tbaa !11
  br label %4868

4868:                                             ; preds = %4866, %4864
  %4869 = phi i64 [ %4865, %4864 ], [ %4867, %4866 ]
  store i64 %4869, ptr %48, align 8, !tbaa !11
  %4870 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4870, ptr %39, align 8, !tbaa !11
  %4871 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4871, ptr %40, align 4, !tbaa !9
  store i32 -64, ptr %41, align 4, !tbaa !9
  %4872 = load i32, ptr %41, align 4, !tbaa !9
  %4873 = load i32, ptr %40, align 4, !tbaa !9
  %4874 = sub i32 %4873, %4872
  store i32 %4874, ptr %40, align 4, !tbaa !9
  %4875 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %4875, ptr %11, align 4, !tbaa !9
  %4876 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4876, ptr %41, align 4, !tbaa !9
  %4877 = load i32, ptr %40, align 4, !tbaa !9
  %4878 = load i32, ptr %41, align 4, !tbaa !9
  %4879 = icmp ne i32 %4877, %4878
  %4880 = zext i1 %4879 to i32
  store i32 %4880, ptr %40, align 4, !tbaa !9
  %4881 = load i32, ptr %40, align 4, !tbaa !9
  %4882 = icmp ne i32 %4881, 0
  br i1 %4882, label %4883, label %4884

4883:                                             ; preds = %4868
  br label %4686

4884:                                             ; preds = %4868
  br label %4885

4885:                                             ; preds = %4884, %4674, %4587
  %4886 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4886, ptr %48, align 8, !tbaa !11
  store i64 1, ptr %49, align 8, !tbaa !11
  %4887 = load i64, ptr %49, align 8, !tbaa !11
  %4888 = load i64, ptr %48, align 8, !tbaa !11
  %4889 = add i64 %4888, %4887
  store i64 %4889, ptr %48, align 8, !tbaa !11
  %4890 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4890, ptr %37, align 8, !tbaa !11
  store i64 3, ptr %49, align 8, !tbaa !11
  %4891 = load i64, ptr %49, align 8, !tbaa !11
  %4892 = load i64, ptr %48, align 8, !tbaa !11
  %4893 = mul i64 %4892, %4891
  store i64 %4893, ptr %48, align 8, !tbaa !11
  %4894 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %4894, ptr %38, align 8, !tbaa !11
  store i64 4294967295, ptr %49, align 8, !tbaa !11
  %4895 = load i64, ptr %48, align 8, !tbaa !11
  %4896 = load i64, ptr %49, align 8, !tbaa !11
  %4897 = icmp ugt i64 %4895, %4896
  %4898 = zext i1 %4897 to i32
  store i32 %4898, ptr %40, align 4, !tbaa !9
  %4899 = load i32, ptr %40, align 4, !tbaa !9
  %4900 = icmp ne i32 %4899, 0
  br i1 %4900, label %4901, label %4939

4901:                                             ; preds = %4885
  %4902 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4902, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %4903 = load ptr, ptr %8, align 8, !tbaa !5
  %4904 = getelementptr inbounds %struct.w2c_hermes, ptr %4903, i32 0, i32 6
  %4905 = load i32, ptr %40, align 4, !tbaa !9
  %4906 = zext i32 %4905 to i64
  %4907 = add i64 %4906, 56
  %4908 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4904, i64 noundef %4907, i32 noundef %4908)
  %4909 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4909, ptr %40, align 4, !tbaa !9
  store i64 146028888065, ptr %49, align 8, !tbaa !11
  %4910 = load ptr, ptr %8, align 8, !tbaa !5
  %4911 = getelementptr inbounds %struct.w2c_hermes, ptr %4910, i32 0, i32 6
  %4912 = load i32, ptr %40, align 4, !tbaa !9
  %4913 = zext i32 %4912 to i64
  %4914 = add i64 %4913, 48
  %4915 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4911, i64 noundef %4914, i64 noundef %4915)
  %4916 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4916, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %4917 = load ptr, ptr %8, align 8, !tbaa !5
  %4918 = getelementptr inbounds %struct.w2c_hermes, ptr %4917, i32 0, i32 6
  %4919 = load i32, ptr %40, align 4, !tbaa !9
  %4920 = zext i32 %4919 to i64
  %4921 = add i64 %4920, 32
  %4922 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4918, i64 noundef %4921, i32 noundef %4922)
  %4923 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4923, ptr %40, align 4, !tbaa !9
  store i32 22615, ptr %41, align 4, !tbaa !9
  %4924 = load ptr, ptr %8, align 8, !tbaa !5
  %4925 = getelementptr inbounds %struct.w2c_hermes, ptr %4924, i32 0, i32 6
  %4926 = load i32, ptr %40, align 4, !tbaa !9
  %4927 = zext i32 %4926 to i64
  %4928 = add i64 %4927, 24
  %4929 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4925, i64 noundef %4928, i32 noundef %4929)
  %4930 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4930, ptr %40, align 4, !tbaa !9
  %4931 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4931, ptr %41, align 4, !tbaa !9
  store i32 24, ptr %42, align 4, !tbaa !9
  %4932 = load i32, ptr %42, align 4, !tbaa !9
  %4933 = load i32, ptr %41, align 4, !tbaa !9
  %4934 = add i32 %4933, %4932
  store i32 %4934, ptr %41, align 4, !tbaa !9
  %4935 = load ptr, ptr %8, align 8, !tbaa !5
  %4936 = load i32, ptr %40, align 4, !tbaa !9
  %4937 = load i32, ptr %41, align 4, !tbaa !9
  %4938 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %4935, i32 noundef %4936, i32 noundef %4937)
  store i32 %4938, ptr %40, align 4, !tbaa !9
  br label %7277

4939:                                             ; preds = %4885
  %4940 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4940, ptr %48, align 8, !tbaa !11
  %4941 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4941, ptr %41, align 4, !tbaa !9
  %4942 = load ptr, ptr %8, align 8, !tbaa !5
  %4943 = getelementptr inbounds %struct.w2c_hermes, ptr %4942, i32 0, i32 6
  %4944 = load i32, ptr %41, align 4, !tbaa !9
  %4945 = zext i32 %4944 to i64
  %4946 = add i64 %4945, 68
  %4947 = call i32 @i32_load(ptr noundef %4943, i64 noundef %4946)
  store i32 %4947, ptr %41, align 4, !tbaa !9
  %4948 = load ptr, ptr %8, align 8, !tbaa !5
  %4949 = getelementptr inbounds %struct.w2c_hermes, ptr %4948, i32 0, i32 6
  %4950 = load i32, ptr %41, align 4, !tbaa !9
  %4951 = zext i32 %4950 to i64
  %4952 = call i32 @i32_load(ptr noundef %4949, i64 noundef %4951)
  store i32 %4952, ptr %41, align 4, !tbaa !9
  %4953 = load ptr, ptr %8, align 8, !tbaa !5
  %4954 = getelementptr inbounds %struct.w2c_hermes, ptr %4953, i32 0, i32 6
  %4955 = load i32, ptr %41, align 4, !tbaa !9
  %4956 = zext i32 %4955 to i64
  %4957 = add i64 %4956, 4
  %4958 = call i64 @i64_load32_u(ptr noundef %4954, i64 noundef %4957)
  store i64 %4958, ptr %49, align 8, !tbaa !11
  %4959 = load i64, ptr %48, align 8, !tbaa !11
  %4960 = load i64, ptr %49, align 8, !tbaa !11
  %4961 = icmp ule i64 %4959, %4960
  %4962 = zext i1 %4961 to i32
  store i32 %4962, ptr %40, align 4, !tbaa !9
  %4963 = load i32, ptr %40, align 4, !tbaa !9
  %4964 = icmp ne i32 %4963, 0
  br i1 %4964, label %4965, label %4966

4965:                                             ; preds = %4939
  br label %5244

4966:                                             ; preds = %4939
  store i32 0, ptr %40, align 4, !tbaa !9
  %4967 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4967, ptr %41, align 4, !tbaa !9
  store i32 68, ptr %42, align 4, !tbaa !9
  %4968 = load i32, ptr %42, align 4, !tbaa !9
  %4969 = load i32, ptr %41, align 4, !tbaa !9
  %4970 = add i32 %4969, %4968
  store i32 %4970, ptr %41, align 4, !tbaa !9
  %4971 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4971, ptr %42, align 4, !tbaa !9
  %4972 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %4972, ptr %51, align 8, !tbaa !11
  %4973 = load i64, ptr %51, align 8, !tbaa !11
  %4974 = trunc i64 %4973 to i32
  store i32 %4974, ptr %43, align 4, !tbaa !9
  %4975 = load ptr, ptr %8, align 8, !tbaa !5
  %4976 = load i32, ptr %41, align 4, !tbaa !9
  %4977 = load i32, ptr %42, align 4, !tbaa !9
  %4978 = load i32, ptr %43, align 4, !tbaa !9
  %4979 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3Ashift0x28hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %4975, i32 noundef %4976, i32 noundef %4977, i32 noundef %4978)
  store i32 %4979, ptr %41, align 4, !tbaa !9
  %4980 = load i32, ptr %41, align 4, !tbaa !9
  %4981 = icmp ne i32 %4980, 0
  %4982 = xor i1 %4981, true
  %4983 = zext i1 %4982 to i32
  store i32 %4983, ptr %41, align 4, !tbaa !9
  %4984 = load i32, ptr %41, align 4, !tbaa !9
  %4985 = icmp ne i32 %4984, 0
  br i1 %4985, label %4986, label %4987

4986:                                             ; preds = %4966
  br label %7277

4987:                                             ; preds = %4966
  %4988 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %4988, ptr %48, align 8, !tbaa !11
  %4989 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %4989, ptr %49, align 8, !tbaa !11
  %4990 = load i64, ptr %49, align 8, !tbaa !11
  %4991 = trunc i64 %4990 to i32
  store i32 %4991, ptr %41, align 4, !tbaa !9
  %4992 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %4992, ptr %25, align 4, !tbaa !9
  %4993 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4993, ptr %42, align 4, !tbaa !9
  %4994 = load ptr, ptr %8, align 8, !tbaa !5
  %4995 = getelementptr inbounds %struct.w2c_hermes, ptr %4994, i32 0, i32 6
  %4996 = load i32, ptr %42, align 4, !tbaa !9
  %4997 = zext i32 %4996 to i64
  %4998 = call i32 @i32_load(ptr noundef %4995, i64 noundef %4997)
  store i32 %4998, ptr %42, align 4, !tbaa !9
  %4999 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %4999, ptr %24, align 4, !tbaa !9
  %5000 = load ptr, ptr %8, align 8, !tbaa !5
  %5001 = getelementptr inbounds %struct.w2c_hermes, ptr %5000, i32 0, i32 6
  %5002 = load i32, ptr %42, align 4, !tbaa !9
  %5003 = zext i32 %5002 to i64
  %5004 = add i64 %5003, 16
  %5005 = call i32 @i32_load(ptr noundef %5001, i64 noundef %5004)
  store i32 %5005, ptr %42, align 4, !tbaa !9
  %5006 = load i32, ptr %41, align 4, !tbaa !9
  %5007 = load i32, ptr %42, align 4, !tbaa !9
  %5008 = icmp ugt i32 %5006, %5007
  %5009 = zext i1 %5008 to i32
  store i32 %5009, ptr %41, align 4, !tbaa !9
  %5010 = load i32, ptr %41, align 4, !tbaa !9
  %5011 = icmp ne i32 %5010, 0
  br i1 %5011, label %5012, label %5126

5012:                                             ; preds = %4987
  %5013 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %5013, ptr %41, align 4, !tbaa !9
  store i32 1073741824, ptr %42, align 4, !tbaa !9
  %5014 = load i32, ptr %41, align 4, !tbaa !9
  %5015 = load i32, ptr %42, align 4, !tbaa !9
  %5016 = icmp uge i32 %5014, %5015
  %5017 = zext i1 %5016 to i32
  store i32 %5017, ptr %41, align 4, !tbaa !9
  %5018 = load i32, ptr %41, align 4, !tbaa !9
  %5019 = icmp ne i32 %5018, 0
  br i1 %5019, label %5020, label %5021

5020:                                             ; preds = %5012
  br label %6873

5021:                                             ; preds = %5012
  %5022 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %5022, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %5023 = load i32, ptr %42, align 4, !tbaa !9
  %5024 = and i32 %5023, 31
  %5025 = load i32, ptr %41, align 4, !tbaa !9
  %5026 = shl i32 %5025, %5024
  store i32 %5026, ptr %41, align 4, !tbaa !9
  %5027 = load ptr, ptr %8, align 8, !tbaa !5
  %5028 = load i32, ptr %41, align 4, !tbaa !9
  %5029 = call i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef %5027, i32 noundef %5028)
  store i32 %5029, ptr %41, align 4, !tbaa !9
  %5030 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5030, ptr %12, align 4, !tbaa !9
  %5031 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5031, ptr %41, align 4, !tbaa !9
  %5032 = load ptr, ptr %8, align 8, !tbaa !5
  %5033 = getelementptr inbounds %struct.w2c_hermes, ptr %5032, i32 0, i32 6
  %5034 = load i32, ptr %41, align 4, !tbaa !9
  %5035 = zext i32 %5034 to i64
  %5036 = add i64 %5035, 8
  %5037 = call i32 @i32_load(ptr noundef %5033, i64 noundef %5036)
  store i32 %5037, ptr %41, align 4, !tbaa !9
  %5038 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5038, ptr %16, align 4, !tbaa !9
  %5039 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5039, ptr %41, align 4, !tbaa !9
  %5040 = load ptr, ptr %8, align 8, !tbaa !5
  %5041 = getelementptr inbounds %struct.w2c_hermes, ptr %5040, i32 0, i32 6
  %5042 = load i32, ptr %41, align 4, !tbaa !9
  %5043 = zext i32 %5042 to i64
  %5044 = add i64 %5043, 12
  %5045 = call i32 @i32_load(ptr noundef %5041, i64 noundef %5044)
  store i32 %5045, ptr %41, align 4, !tbaa !9
  %5046 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5046, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %42, align 4, !tbaa !9
  %5047 = load i32, ptr %41, align 4, !tbaa !9
  %5048 = load i32, ptr %42, align 4, !tbaa !9
  %5049 = icmp sgt i32 %5047, %5048
  %5050 = zext i1 %5049 to i32
  store i32 %5050, ptr %41, align 4, !tbaa !9
  %5051 = load i32, ptr %41, align 4, !tbaa !9
  %5052 = icmp ne i32 %5051, 0
  br i1 %5052, label %5053, label %5100

5053:                                             ; preds = %5021
  %5054 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5054, ptr %41, align 4, !tbaa !9
  %5055 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5055, ptr %42, align 4, !tbaa !9
  store i32 2, ptr %43, align 4, !tbaa !9
  %5056 = load i32, ptr %43, align 4, !tbaa !9
  %5057 = and i32 %5056, 31
  %5058 = load i32, ptr %42, align 4, !tbaa !9
  %5059 = shl i32 %5058, %5057
  store i32 %5059, ptr %42, align 4, !tbaa !9
  %5060 = load i32, ptr %42, align 4, !tbaa !9
  %5061 = load i32, ptr %41, align 4, !tbaa !9
  %5062 = add i32 %5061, %5060
  store i32 %5062, ptr %41, align 4, !tbaa !9
  %5063 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5063, ptr %15, align 4, !tbaa !9
  %5064 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5064, ptr %41, align 4, !tbaa !9
  %5065 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5065, ptr %11, align 4, !tbaa !9
  %5066 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5066, ptr %41, align 4, !tbaa !9
  %5067 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5067, ptr %10, align 4, !tbaa !9
  br label %5068

5068:                                             ; preds = %5098, %5053
  %5069 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5069, ptr %41, align 4, !tbaa !9
  %5070 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5070, ptr %42, align 4, !tbaa !9
  %5071 = load ptr, ptr %8, align 8, !tbaa !5
  %5072 = getelementptr inbounds %struct.w2c_hermes, ptr %5071, i32 0, i32 6
  %5073 = load i32, ptr %42, align 4, !tbaa !9
  %5074 = zext i32 %5073 to i64
  %5075 = call i32 @i32_load(ptr noundef %5072, i64 noundef %5074)
  store i32 %5075, ptr %42, align 4, !tbaa !9
  %5076 = load ptr, ptr %8, align 8, !tbaa !5
  %5077 = getelementptr inbounds %struct.w2c_hermes, ptr %5076, i32 0, i32 6
  %5078 = load i32, ptr %41, align 4, !tbaa !9
  %5079 = zext i32 %5078 to i64
  %5080 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5077, i64 noundef %5079, i32 noundef %5080)
  %5081 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5081, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %5082 = load i32, ptr %42, align 4, !tbaa !9
  %5083 = load i32, ptr %41, align 4, !tbaa !9
  %5084 = add i32 %5083, %5082
  store i32 %5084, ptr %41, align 4, !tbaa !9
  %5085 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5085, ptr %11, align 4, !tbaa !9
  %5086 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5086, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %5087 = load i32, ptr %42, align 4, !tbaa !9
  %5088 = load i32, ptr %41, align 4, !tbaa !9
  %5089 = add i32 %5088, %5087
  store i32 %5089, ptr %41, align 4, !tbaa !9
  %5090 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5090, ptr %10, align 4, !tbaa !9
  %5091 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5091, ptr %42, align 4, !tbaa !9
  %5092 = load i32, ptr %41, align 4, !tbaa !9
  %5093 = load i32, ptr %42, align 4, !tbaa !9
  %5094 = icmp ult i32 %5092, %5093
  %5095 = zext i1 %5094 to i32
  store i32 %5095, ptr %41, align 4, !tbaa !9
  %5096 = load i32, ptr %41, align 4, !tbaa !9
  %5097 = icmp ne i32 %5096, 0
  br i1 %5097, label %5098, label %5099

5098:                                             ; preds = %5068
  br label %5068

5099:                                             ; preds = %5068
  br label %5100

5100:                                             ; preds = %5099, %5021
  %5101 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5101, ptr %41, align 4, !tbaa !9
  %5102 = load ptr, ptr %8, align 8, !tbaa !5
  %5103 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %5102, i32 noundef %5103)
  %5104 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5104, ptr %41, align 4, !tbaa !9
  %5105 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %5105, ptr %42, align 4, !tbaa !9
  %5106 = load ptr, ptr %8, align 8, !tbaa !5
  %5107 = getelementptr inbounds %struct.w2c_hermes, ptr %5106, i32 0, i32 6
  %5108 = load i32, ptr %41, align 4, !tbaa !9
  %5109 = zext i32 %5108 to i64
  %5110 = add i64 %5109, 16
  %5111 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5107, i64 noundef %5110, i32 noundef %5111)
  %5112 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5112, ptr %41, align 4, !tbaa !9
  %5113 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5113, ptr %42, align 4, !tbaa !9
  %5114 = load ptr, ptr %8, align 8, !tbaa !5
  %5115 = getelementptr inbounds %struct.w2c_hermes, ptr %5114, i32 0, i32 6
  %5116 = load i32, ptr %41, align 4, !tbaa !9
  %5117 = zext i32 %5116 to i64
  %5118 = add i64 %5117, 8
  %5119 = load i32, ptr %42, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5115, i64 noundef %5118, i32 noundef %5119)
  %5120 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5120, ptr %41, align 4, !tbaa !9
  %5121 = load ptr, ptr %8, align 8, !tbaa !5
  %5122 = getelementptr inbounds %struct.w2c_hermes, ptr %5121, i32 0, i32 6
  %5123 = load i32, ptr %41, align 4, !tbaa !9
  %5124 = zext i32 %5123 to i64
  %5125 = call i32 @i32_load(ptr noundef %5122, i64 noundef %5124)
  store i32 %5125, ptr %41, align 4, !tbaa !9
  br label %5128

5126:                                             ; preds = %4987
  %5127 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5127, ptr %41, align 4, !tbaa !9
  br label %5128

5128:                                             ; preds = %5126, %5100
  %5129 = load ptr, ptr %8, align 8, !tbaa !5
  %5130 = getelementptr inbounds %struct.w2c_hermes, ptr %5129, i32 0, i32 6
  %5131 = load i32, ptr %41, align 4, !tbaa !9
  %5132 = zext i32 %5131 to i64
  %5133 = add i64 %5132, 12
  %5134 = call i32 @i32_load(ptr noundef %5130, i64 noundef %5133)
  store i32 %5134, ptr %41, align 4, !tbaa !9
  %5135 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5135, ptr %21, align 4, !tbaa !9
  %5136 = load i32, ptr %41, align 4, !tbaa !9
  %5137 = zext i32 %5136 to i64
  store i64 %5137, ptr %49, align 8, !tbaa !11
  %5138 = load i64, ptr %48, align 8, !tbaa !11
  %5139 = load i64, ptr %49, align 8, !tbaa !11
  %5140 = icmp ult i64 %5138, %5139
  %5141 = zext i1 %5140 to i32
  store i32 %5141, ptr %40, align 4, !tbaa !9
  %5142 = load i32, ptr %40, align 4, !tbaa !9
  %5143 = icmp ne i32 %5142, 0
  br i1 %5143, label %5144, label %5145

5144:                                             ; preds = %5128
  br label %5244

5145:                                             ; preds = %5128
  %5146 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5146, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %5147 = load i32, ptr %41, align 4, !tbaa !9
  %5148 = load i32, ptr %40, align 4, !tbaa !9
  %5149 = add i32 %5148, %5147
  store i32 %5149, ptr %40, align 4, !tbaa !9
  %5150 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5150, ptr %11, align 4, !tbaa !9
  br label %5151

5151:                                             ; preds = %5242, %5145
  %5152 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5152, ptr %40, align 4, !tbaa !9
  %5153 = load ptr, ptr %8, align 8, !tbaa !5
  %5154 = getelementptr inbounds %struct.w2c_hermes, ptr %5153, i32 0, i32 6
  %5155 = load i32, ptr %40, align 4, !tbaa !9
  %5156 = zext i32 %5155 to i64
  %5157 = call i32 @i32_load(ptr noundef %5154, i64 noundef %5156)
  store i32 %5157, ptr %40, align 4, !tbaa !9
  %5158 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5158, ptr %12, align 4, !tbaa !9
  %5159 = load ptr, ptr %8, align 8, !tbaa !5
  %5160 = getelementptr inbounds %struct.w2c_hermes, ptr %5159, i32 0, i32 6
  %5161 = load i32, ptr %40, align 4, !tbaa !9
  %5162 = zext i32 %5161 to i64
  %5163 = add i64 %5162, 12
  %5164 = call i32 @i32_load(ptr noundef %5160, i64 noundef %5163)
  store i32 %5164, ptr %40, align 4, !tbaa !9
  %5165 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5165, ptr %10, align 4, !tbaa !9
  %5166 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5166, ptr %41, align 4, !tbaa !9
  %5167 = load ptr, ptr %8, align 8, !tbaa !5
  %5168 = getelementptr inbounds %struct.w2c_hermes, ptr %5167, i32 0, i32 6
  %5169 = load i32, ptr %41, align 4, !tbaa !9
  %5170 = zext i32 %5169 to i64
  %5171 = add i64 %5170, 16
  %5172 = call i32 @i32_load(ptr noundef %5168, i64 noundef %5171)
  store i32 %5172, ptr %41, align 4, !tbaa !9
  %5173 = load i32, ptr %40, align 4, !tbaa !9
  %5174 = load i32, ptr %41, align 4, !tbaa !9
  %5175 = icmp eq i32 %5173, %5174
  %5176 = zext i1 %5175 to i32
  store i32 %5176, ptr %40, align 4, !tbaa !9
  %5177 = load i32, ptr %40, align 4, !tbaa !9
  %5178 = icmp ne i32 %5177, 0
  br i1 %5178, label %5179, label %5196

5179:                                             ; preds = %5151
  %5180 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5180, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %5181 = load i32, ptr %41, align 4, !tbaa !9
  %5182 = load i32, ptr %40, align 4, !tbaa !9
  %5183 = add i32 %5182, %5181
  store i32 %5183, ptr %40, align 4, !tbaa !9
  %5184 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5184, ptr %41, align 4, !tbaa !9
  %5185 = load ptr, ptr %8, align 8, !tbaa !5
  %5186 = load i32, ptr %40, align 4, !tbaa !9
  %5187 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef %5185, i32 noundef %5186, i32 noundef %5187)
  %5188 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5188, ptr %40, align 4, !tbaa !9
  %5189 = load ptr, ptr %8, align 8, !tbaa !5
  %5190 = getelementptr inbounds %struct.w2c_hermes, ptr %5189, i32 0, i32 6
  %5191 = load i32, ptr %40, align 4, !tbaa !9
  %5192 = zext i32 %5191 to i64
  %5193 = add i64 %5192, 12
  %5194 = call i32 @i32_load(ptr noundef %5190, i64 noundef %5193)
  store i32 %5194, ptr %40, align 4, !tbaa !9
  %5195 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5195, ptr %10, align 4, !tbaa !9
  br label %5196

5196:                                             ; preds = %5179, %5151
  %5197 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5197, ptr %40, align 4, !tbaa !9
  %5198 = load ptr, ptr %8, align 8, !tbaa !5
  %5199 = getelementptr inbounds %struct.w2c_hermes, ptr %5198, i32 0, i32 6
  %5200 = load i32, ptr %40, align 4, !tbaa !9
  %5201 = zext i32 %5200 to i64
  %5202 = add i64 %5201, 8
  %5203 = call i32 @i32_load(ptr noundef %5199, i64 noundef %5202)
  store i32 %5203, ptr %40, align 4, !tbaa !9
  %5204 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5204, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %5205 = load i32, ptr %42, align 4, !tbaa !9
  %5206 = and i32 %5205, 31
  %5207 = load i32, ptr %41, align 4, !tbaa !9
  %5208 = shl i32 %5207, %5206
  store i32 %5208, ptr %41, align 4, !tbaa !9
  %5209 = load i32, ptr %41, align 4, !tbaa !9
  %5210 = load i32, ptr %40, align 4, !tbaa !9
  %5211 = add i32 %5210, %5209
  store i32 %5211, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %5212 = load ptr, ptr %8, align 8, !tbaa !5
  %5213 = getelementptr inbounds %struct.w2c_hermes, ptr %5212, i32 0, i32 6
  %5214 = load i32, ptr %40, align 4, !tbaa !9
  %5215 = zext i32 %5214 to i64
  %5216 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5213, i64 noundef %5215, i32 noundef %5216)
  %5217 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5217, ptr %40, align 4, !tbaa !9
  %5218 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5218, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %5219 = load i32, ptr %42, align 4, !tbaa !9
  %5220 = load i32, ptr %41, align 4, !tbaa !9
  %5221 = add i32 %5220, %5219
  store i32 %5221, ptr %41, align 4, !tbaa !9
  %5222 = load ptr, ptr %8, align 8, !tbaa !5
  %5223 = getelementptr inbounds %struct.w2c_hermes, ptr %5222, i32 0, i32 6
  %5224 = load i32, ptr %40, align 4, !tbaa !9
  %5225 = zext i32 %5224 to i64
  %5226 = add i64 %5225, 12
  %5227 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5223, i64 noundef %5226, i32 noundef %5227)
  %5228 = load i64, ptr %39, align 8, !tbaa !11
  store i64 %5228, ptr %48, align 8, !tbaa !11
  %5229 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5229, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %5230 = load i32, ptr %42, align 4, !tbaa !9
  %5231 = load i32, ptr %41, align 4, !tbaa !9
  %5232 = add i32 %5231, %5230
  store i32 %5232, ptr %41, align 4, !tbaa !9
  %5233 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5233, ptr %21, align 4, !tbaa !9
  %5234 = load i32, ptr %41, align 4, !tbaa !9
  %5235 = zext i32 %5234 to i64
  store i64 %5235, ptr %49, align 8, !tbaa !11
  %5236 = load i64, ptr %48, align 8, !tbaa !11
  %5237 = load i64, ptr %49, align 8, !tbaa !11
  %5238 = icmp uge i64 %5236, %5237
  %5239 = zext i1 %5238 to i32
  store i32 %5239, ptr %40, align 4, !tbaa !9
  %5240 = load i32, ptr %40, align 4, !tbaa !9
  %5241 = icmp ne i32 %5240, 0
  br i1 %5241, label %5242, label %5243

5242:                                             ; preds = %5196
  br label %5151

5243:                                             ; preds = %5196
  br label %5244

5244:                                             ; preds = %5243, %5144, %4965
  %5245 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5245, ptr %40, align 4, !tbaa !9
  %5246 = load ptr, ptr %8, align 8, !tbaa !5
  %5247 = getelementptr inbounds %struct.w2c_hermes, ptr %5246, i32 0, i32 6
  %5248 = load i32, ptr %40, align 4, !tbaa !9
  %5249 = zext i32 %5248 to i64
  %5250 = call i32 @i32_load(ptr noundef %5247, i64 noundef %5249)
  store i32 %5250, ptr %40, align 4, !tbaa !9
  %5251 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5251, ptr %31, align 4, !tbaa !9
  %5252 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5252, ptr %40, align 4, !tbaa !9
  %5253 = load ptr, ptr %8, align 8, !tbaa !5
  %5254 = getelementptr inbounds %struct.w2c_hermes, ptr %5253, i32 0, i32 6
  %5255 = load i32, ptr %40, align 4, !tbaa !9
  %5256 = zext i32 %5255 to i64
  %5257 = add i64 %5256, 40
  %5258 = call i32 @i32_load(ptr noundef %5254, i64 noundef %5257)
  store i32 %5258, ptr %40, align 4, !tbaa !9
  %5259 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5259, ptr %11, align 4, !tbaa !9
  %5260 = load ptr, ptr %8, align 8, !tbaa !5
  %5261 = getelementptr inbounds %struct.w2c_hermes, ptr %5260, i32 0, i32 6
  %5262 = load i32, ptr %40, align 4, !tbaa !9
  %5263 = zext i32 %5262 to i64
  %5264 = add i64 %5263, 108
  %5265 = call i32 @i32_load(ptr noundef %5261, i64 noundef %5264)
  store i32 %5265, ptr %40, align 4, !tbaa !9
  %5266 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5266, ptr %10, align 4, !tbaa !9
  %5267 = load i32, ptr %40, align 4, !tbaa !9
  %5268 = icmp ne i32 %5267, 0
  %5269 = xor i1 %5268, true
  %5270 = zext i1 %5269 to i32
  store i32 %5270, ptr %40, align 4, !tbaa !9
  %5271 = load i32, ptr %40, align 4, !tbaa !9
  %5272 = icmp ne i32 %5271, 0
  br i1 %5272, label %5273, label %5274

5273:                                             ; preds = %5244
  br label %6885

5274:                                             ; preds = %5244
  %5275 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5275, ptr %40, align 4, !tbaa !9
  %5276 = load ptr, ptr %8, align 8, !tbaa !5
  %5277 = getelementptr inbounds %struct.w2c_hermes, ptr %5276, i32 0, i32 6
  %5278 = load i32, ptr %40, align 4, !tbaa !9
  %5279 = zext i32 %5278 to i64
  %5280 = add i64 %5279, 104
  %5281 = call i32 @i32_load(ptr noundef %5277, i64 noundef %5280)
  store i32 %5281, ptr %40, align 4, !tbaa !9
  %5282 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5282, ptr %11, align 4, !tbaa !9
  %5283 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5283, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %5284 = load i32, ptr %42, align 4, !tbaa !9
  %5285 = and i32 %5284, 31
  %5286 = load i32, ptr %41, align 4, !tbaa !9
  %5287 = shl i32 %5286, %5285
  store i32 %5287, ptr %41, align 4, !tbaa !9
  %5288 = load i32, ptr %41, align 4, !tbaa !9
  %5289 = load i32, ptr %40, align 4, !tbaa !9
  %5290 = add i32 %5289, %5288
  store i32 %5290, ptr %40, align 4, !tbaa !9
  %5291 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5291, ptr %24, align 4, !tbaa !9
  %5292 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5292, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %5293 = load i32, ptr %41, align 4, !tbaa !9
  %5294 = load i32, ptr %40, align 4, !tbaa !9
  %5295 = add i32 %5294, %5293
  store i32 %5295, ptr %40, align 4, !tbaa !9
  %5296 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5296, ptr %34, align 4, !tbaa !9
  br label %5297

5297:                                             ; preds = %6871, %5274
  %5298 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5298, ptr %40, align 4, !tbaa !9
  %5299 = load ptr, ptr %8, align 8, !tbaa !5
  %5300 = getelementptr inbounds %struct.w2c_hermes, ptr %5299, i32 0, i32 6
  %5301 = load i32, ptr %40, align 4, !tbaa !9
  %5302 = zext i32 %5301 to i64
  %5303 = add i64 %5302, 12
  %5304 = call i32 @i32_load(ptr noundef %5300, i64 noundef %5303)
  store i32 %5304, ptr %40, align 4, !tbaa !9
  %5305 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5305, ptr %41, align 4, !tbaa !9
  %5306 = load ptr, ptr %8, align 8, !tbaa !5
  %5307 = getelementptr inbounds %struct.w2c_hermes, ptr %5306, i32 0, i32 6
  %5308 = load i32, ptr %41, align 4, !tbaa !9
  %5309 = zext i32 %5308 to i64
  %5310 = call i32 @i32_load(ptr noundef %5307, i64 noundef %5309)
  store i32 %5310, ptr %41, align 4, !tbaa !9
  %5311 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5311, ptr %16, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %5312 = load i32, ptr %42, align 4, !tbaa !9
  %5313 = and i32 %5312, 31
  %5314 = load i32, ptr %41, align 4, !tbaa !9
  %5315 = shl i32 %5314, %5313
  store i32 %5315, ptr %41, align 4, !tbaa !9
  %5316 = load i32, ptr %41, align 4, !tbaa !9
  %5317 = load i32, ptr %40, align 4, !tbaa !9
  %5318 = add i32 %5317, %5316
  store i32 %5318, ptr %40, align 4, !tbaa !9
  %5319 = load ptr, ptr %8, align 8, !tbaa !5
  %5320 = getelementptr inbounds %struct.w2c_hermes, ptr %5319, i32 0, i32 6
  %5321 = load i32, ptr %40, align 4, !tbaa !9
  %5322 = zext i32 %5321 to i64
  %5323 = call i32 @i32_load(ptr noundef %5320, i64 noundef %5322)
  store i32 %5323, ptr %40, align 4, !tbaa !9
  %5324 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5324, ptr %10, align 4, !tbaa !9
  store i32 536870910, ptr %41, align 4, !tbaa !9
  %5325 = load i32, ptr %40, align 4, !tbaa !9
  %5326 = load i32, ptr %41, align 4, !tbaa !9
  %5327 = icmp uge i32 %5325, %5326
  %5328 = zext i1 %5327 to i32
  store i32 %5328, ptr %40, align 4, !tbaa !9
  %5329 = load i32, ptr %40, align 4, !tbaa !9
  %5330 = icmp ne i32 %5329, 0
  br i1 %5330, label %5331, label %5459

5331:                                             ; preds = %5297
  %5332 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5332, ptr %40, align 4, !tbaa !9
  store i32 24, ptr %41, align 4, !tbaa !9
  %5333 = load i32, ptr %41, align 4, !tbaa !9
  %5334 = load i32, ptr %40, align 4, !tbaa !9
  %5335 = add i32 %5334, %5333
  store i32 %5335, ptr %40, align 4, !tbaa !9
  %5336 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5336, ptr %12, align 4, !tbaa !9
  %5337 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5337, ptr %41, align 4, !tbaa !9
  %5338 = load ptr, ptr %8, align 8, !tbaa !5
  %5339 = getelementptr inbounds %struct.w2c_hermes, ptr %5338, i32 0, i32 6
  %5340 = load i32, ptr %41, align 4, !tbaa !9
  %5341 = zext i32 %5340 to i64
  %5342 = add i64 %5341, 40
  %5343 = call i32 @i32_load(ptr noundef %5339, i64 noundef %5342)
  store i32 %5343, ptr %41, align 4, !tbaa !9
  %5344 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5344, ptr %10, align 4, !tbaa !9
  %5345 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5345, ptr %42, align 4, !tbaa !9
  %5346 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5346, ptr %43, align 4, !tbaa !9
  %5347 = load ptr, ptr %8, align 8, !tbaa !5
  %5348 = getelementptr inbounds %struct.w2c_hermes, ptr %5347, i32 0, i32 6
  %5349 = load i32, ptr %43, align 4, !tbaa !9
  %5350 = zext i32 %5349 to i64
  %5351 = call i32 @i32_load(ptr noundef %5348, i64 noundef %5350)
  store i32 %5351, ptr %43, align 4, !tbaa !9
  %5352 = load ptr, ptr %8, align 8, !tbaa !5
  %5353 = getelementptr inbounds %struct.w2c_hermes, ptr %5352, i32 0, i32 6
  %5354 = load i32, ptr %43, align 4, !tbaa !9
  %5355 = zext i32 %5354 to i64
  %5356 = add i64 %5355, 4
  %5357 = call i32 @i32_load(ptr noundef %5353, i64 noundef %5356)
  store i32 %5357, ptr %43, align 4, !tbaa !9
  %5358 = load i32, ptr %43, align 4, !tbaa !9
  %5359 = load ptr, ptr %8, align 8, !tbaa !5
  %5360 = getelementptr inbounds %struct.w2c_hermes, ptr %5359, i32 0, i32 7
  %5361 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %5360, i32 0, i32 2
  %5362 = load i32, ptr %5361, align 4, !tbaa !18
  %5363 = icmp ult i32 %5358, %5362
  br i1 %5363, label %5364, label %5387

5364:                                             ; preds = %5331
  %5365 = load ptr, ptr %8, align 8, !tbaa !5
  %5366 = getelementptr inbounds %struct.w2c_hermes, ptr %5365, i32 0, i32 7
  %5367 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %5366, i32 0, i32 0
  %5368 = load ptr, ptr %5367, align 8, !tbaa !19
  %5369 = load i32, ptr %43, align 4, !tbaa !9
  %5370 = zext i32 %5369 to i64
  %5371 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5368, i64 %5370
  %5372 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5371, i32 0, i32 1
  %5373 = load ptr, ptr %5372, align 8, !tbaa !20
  %5374 = icmp ne ptr %5373, null
  br i1 %5374, label %5375, label %5387

5375:                                             ; preds = %5364
  %5376 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !5
  %5377 = load ptr, ptr %8, align 8, !tbaa !5
  %5378 = getelementptr inbounds %struct.w2c_hermes, ptr %5377, i32 0, i32 7
  %5379 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %5378, i32 0, i32 0
  %5380 = load ptr, ptr %5379, align 8, !tbaa !19
  %5381 = load i32, ptr %43, align 4, !tbaa !9
  %5382 = zext i32 %5381 to i64
  %5383 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5380, i64 %5382
  %5384 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5383, i32 0, i32 0
  %5385 = load ptr, ptr %5384, align 8, !tbaa !22
  %5386 = call zeroext i1 @func_types_eq(ptr noundef %5376, ptr noundef %5385)
  br label %5387

5387:                                             ; preds = %5375, %5364, %5331
  %5388 = phi i1 [ false, %5364 ], [ false, %5331 ], [ %5386, %5375 ]
  %5389 = xor i1 %5388, true
  %5390 = xor i1 %5389, true
  %5391 = zext i1 %5390 to i32
  %5392 = sext i32 %5391 to i64
  %5393 = call i64 @llvm.expect.i64(i64 %5392, i64 1)
  %5394 = icmp ne i64 %5393, 0
  br i1 %5394, label %5397, label %5395

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

5396:                                             ; No predecessors!
  br label %5397

5397:                                             ; preds = %5396, %5387
  %5398 = phi i1 [ true, %5387 ], [ false, %5396 ]
  %5399 = zext i1 %5398 to i32
  %5400 = load ptr, ptr %8, align 8, !tbaa !5
  %5401 = getelementptr inbounds %struct.w2c_hermes, ptr %5400, i32 0, i32 7
  %5402 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %5401, i32 0, i32 0
  %5403 = load ptr, ptr %5402, align 8, !tbaa !19
  %5404 = load i32, ptr %43, align 4, !tbaa !9
  %5405 = zext i32 %5404 to i64
  %5406 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5403, i64 %5405
  %5407 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5406, i32 0, i32 1
  %5408 = load ptr, ptr %5407, align 8, !tbaa !20
  %5409 = load ptr, ptr %8, align 8, !tbaa !5
  %5410 = getelementptr inbounds %struct.w2c_hermes, ptr %5409, i32 0, i32 7
  %5411 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %5410, i32 0, i32 0
  %5412 = load ptr, ptr %5411, align 8, !tbaa !19
  %5413 = load i32, ptr %43, align 4, !tbaa !9
  %5414 = zext i32 %5413 to i64
  %5415 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5412, i64 %5414
  %5416 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %5415, i32 0, i32 2
  %5417 = load ptr, ptr %5416, align 8, !tbaa !23
  %5418 = load i32, ptr %40, align 4, !tbaa !9
  %5419 = load i32, ptr %41, align 4, !tbaa !9
  %5420 = load i32, ptr %42, align 4, !tbaa !9
  call void %5408(ptr noundef %5417, i32 noundef %5418, i32 noundef %5419, i32 noundef %5420)
  %5421 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5421, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %5422 = load ptr, ptr %8, align 8, !tbaa !5
  %5423 = getelementptr inbounds %struct.w2c_hermes, ptr %5422, i32 0, i32 6
  %5424 = load i32, ptr %40, align 4, !tbaa !9
  %5425 = zext i32 %5424 to i64
  %5426 = add i64 %5425, 76
  %5427 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %5423, i64 noundef %5426, i32 noundef %5427)
  %5428 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5428, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %5429 = load ptr, ptr %8, align 8, !tbaa !5
  %5430 = getelementptr inbounds %struct.w2c_hermes, ptr %5429, i32 0, i32 6
  %5431 = load i32, ptr %40, align 4, !tbaa !9
  %5432 = zext i32 %5431 to i64
  %5433 = add i64 %5432, 72
  %5434 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5430, i64 noundef %5433, i32 noundef %5434)
  %5435 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5435, ptr %40, align 4, !tbaa !9
  %5436 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5436, ptr %41, align 4, !tbaa !9
  %5437 = load ptr, ptr %8, align 8, !tbaa !5
  %5438 = getelementptr inbounds %struct.w2c_hermes, ptr %5437, i32 0, i32 6
  %5439 = load i32, ptr %41, align 4, !tbaa !9
  %5440 = zext i32 %5439 to i64
  %5441 = add i64 %5440, 72
  %5442 = call i64 @i64_load(ptr noundef %5438, i64 noundef %5441)
  store i64 %5442, ptr %49, align 8, !tbaa !11
  %5443 = load ptr, ptr %8, align 8, !tbaa !5
  %5444 = getelementptr inbounds %struct.w2c_hermes, ptr %5443, i32 0, i32 6
  %5445 = load i32, ptr %40, align 4, !tbaa !9
  %5446 = zext i32 %5445 to i64
  %5447 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5444, i64 noundef %5446, i64 noundef %5447)
  %5448 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5448, ptr %40, align 4, !tbaa !9
  %5449 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5449, ptr %41, align 4, !tbaa !9
  %5450 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5450, ptr %42, align 4, !tbaa !9
  %5451 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5451, ptr %43, align 4, !tbaa !9
  %5452 = load ptr, ptr %8, align 8, !tbaa !5
  %5453 = load i32, ptr %40, align 4, !tbaa !9
  %5454 = load i32, ptr %41, align 4, !tbaa !9
  %5455 = load i32, ptr %42, align 4, !tbaa !9
  %5456 = load i32, ptr %43, align 4, !tbaa !9
  %5457 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AcreateSymbolFromStringIDMayAllocate0x28unsigned0x20int0x2C0x20hermes0x3A0x3AStringTableEntry0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x29(ptr noundef %5452, i32 noundef %5453, i32 noundef %5454, i32 noundef %5455, i32 noundef %5456)
  store i32 %5457, ptr %40, align 4, !tbaa !9
  %5458 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5458, ptr %10, align 4, !tbaa !9
  br label %5459

5459:                                             ; preds = %5397, %5297
  %5460 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5460, ptr %40, align 4, !tbaa !9
  %5461 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5461, ptr %41, align 4, !tbaa !9
  %5462 = load ptr, ptr %8, align 8, !tbaa !5
  %5463 = getelementptr inbounds %struct.w2c_hermes, ptr %5462, i32 0, i32 6
  %5464 = load i32, ptr %40, align 4, !tbaa !9
  %5465 = zext i32 %5464 to i64
  %5466 = add i64 %5465, 24
  %5467 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5463, i64 noundef %5466, i32 noundef %5467)
  %5468 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5468, ptr %40, align 4, !tbaa !9
  %5469 = load ptr, ptr %8, align 8, !tbaa !5
  %5470 = getelementptr inbounds %struct.w2c_hermes, ptr %5469, i32 0, i32 6
  %5471 = load i32, ptr %40, align 4, !tbaa !9
  %5472 = zext i32 %5471 to i64
  %5473 = call i32 @i32_load(ptr noundef %5470, i64 noundef %5472)
  store i32 %5473, ptr %40, align 4, !tbaa !9
  %5474 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5474, ptr %28, align 4, !tbaa !9
  %5475 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5475, ptr %40, align 4, !tbaa !9
  store i32 -1, ptr %41, align 4, !tbaa !9
  %5476 = load ptr, ptr %8, align 8, !tbaa !5
  %5477 = getelementptr inbounds %struct.w2c_hermes, ptr %5476, i32 0, i32 6
  %5478 = load i32, ptr %40, align 4, !tbaa !9
  %5479 = zext i32 %5478 to i64
  %5480 = add i64 %5479, 72
  %5481 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5477, i64 noundef %5480, i32 noundef %5481)
  %5482 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5482, ptr %40, align 4, !tbaa !9
  %5483 = load ptr, ptr %8, align 8, !tbaa !5
  %5484 = getelementptr inbounds %struct.w2c_hermes, ptr %5483, i32 0, i32 6
  %5485 = load i32, ptr %40, align 4, !tbaa !9
  %5486 = zext i32 %5485 to i64
  %5487 = add i64 %5486, 32
  %5488 = call i32 @i32_load(ptr noundef %5484, i64 noundef %5487)
  store i32 %5488, ptr %40, align 4, !tbaa !9
  %5489 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5489, ptr %12, align 4, !tbaa !9
  %5490 = load i32, ptr %40, align 4, !tbaa !9
  %5491 = icmp ne i32 %5490, 0
  %5492 = xor i1 %5491, true
  %5493 = zext i1 %5492 to i32
  store i32 %5493, ptr %40, align 4, !tbaa !9
  %5494 = load i32, ptr %40, align 4, !tbaa !9
  %5495 = icmp ne i32 %5494, 0
  br i1 %5495, label %5496, label %5498

5496:                                             ; preds = %5459
  store i32 0, ptr %40, align 4, !tbaa !9
  %5497 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5497, ptr %10, align 4, !tbaa !9
  br label %5634

5498:                                             ; preds = %5459
  %5499 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5499, ptr %40, align 4, !tbaa !9
  %5500 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5500, ptr %41, align 4, !tbaa !9
  %5501 = load ptr, ptr %8, align 8, !tbaa !5
  %5502 = getelementptr inbounds %struct.w2c_hermes, ptr %5501, i32 0, i32 6
  %5503 = load i32, ptr %41, align 4, !tbaa !9
  %5504 = zext i32 %5503 to i64
  %5505 = add i64 %5504, 20
  %5506 = call i32 @i32_load(ptr noundef %5502, i64 noundef %5505)
  store i32 %5506, ptr %41, align 4, !tbaa !9
  %5507 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5507, ptr %15, align 4, !tbaa !9
  %5508 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5508, ptr %42, align 4, !tbaa !9
  store i32 1, ptr %43, align 4, !tbaa !9
  %5509 = load i32, ptr %43, align 4, !tbaa !9
  %5510 = load i32, ptr %42, align 4, !tbaa !9
  %5511 = sub i32 %5510, %5509
  store i32 %5511, ptr %42, align 4, !tbaa !9
  %5512 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %5512, ptr %16, align 4, !tbaa !9
  %5513 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5513, ptr %43, align 4, !tbaa !9
  store i32 37, ptr %44, align 4, !tbaa !9
  %5514 = load i32, ptr %44, align 4, !tbaa !9
  %5515 = load i32, ptr %43, align 4, !tbaa !9
  %5516 = mul i32 %5515, %5514
  store i32 %5516, ptr %43, align 4, !tbaa !9
  %5517 = load i32, ptr %43, align 4, !tbaa !9
  %5518 = load i32, ptr %42, align 4, !tbaa !9
  %5519 = and i32 %5518, %5517
  store i32 %5519, ptr %42, align 4, !tbaa !9
  %5520 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %5520, ptr %29, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %5521 = load i32, ptr %43, align 4, !tbaa !9
  %5522 = and i32 %5521, 31
  %5523 = load i32, ptr %42, align 4, !tbaa !9
  %5524 = shl i32 %5523, %5522
  store i32 %5524, ptr %42, align 4, !tbaa !9
  %5525 = load i32, ptr %42, align 4, !tbaa !9
  %5526 = load i32, ptr %41, align 4, !tbaa !9
  %5527 = add i32 %5526, %5525
  store i32 %5527, ptr %41, align 4, !tbaa !9
  %5528 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5528, ptr %20, align 4, !tbaa !9
  %5529 = load ptr, ptr %8, align 8, !tbaa !5
  %5530 = getelementptr inbounds %struct.w2c_hermes, ptr %5529, i32 0, i32 6
  %5531 = load i32, ptr %41, align 4, !tbaa !9
  %5532 = zext i32 %5531 to i64
  %5533 = call i32 @i32_load(ptr noundef %5530, i64 noundef %5532)
  store i32 %5533, ptr %41, align 4, !tbaa !9
  %5534 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5534, ptr %30, align 4, !tbaa !9
  %5535 = load i32, ptr %40, align 4, !tbaa !9
  %5536 = load i32, ptr %41, align 4, !tbaa !9
  %5537 = icmp eq i32 %5535, %5536
  %5538 = zext i1 %5537 to i32
  store i32 %5538, ptr %40, align 4, !tbaa !9
  %5539 = load i32, ptr %40, align 4, !tbaa !9
  %5540 = icmp ne i32 %5539, 0
  br i1 %5540, label %5541, label %5542

5541:                                             ; preds = %5498
  br label %6858

5542:                                             ; preds = %5498
  store i32 1, ptr %40, align 4, !tbaa !9
  %5543 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5543, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %5544 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5544, ptr %21, align 4, !tbaa !9
  br label %5545

5545:                                             ; preds = %5632, %5542
  %5546 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %5546, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5547 = load i32, ptr %40, align 4, !tbaa !9
  %5548 = load i32, ptr %41, align 4, !tbaa !9
  %5549 = icmp eq i32 %5547, %5548
  %5550 = zext i1 %5549 to i32
  store i32 %5550, ptr %40, align 4, !tbaa !9
  %5551 = load i32, ptr %40, align 4, !tbaa !9
  %5552 = icmp ne i32 %5551, 0
  br i1 %5552, label %5553, label %5566

5553:                                             ; preds = %5545
  %5554 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5554, ptr %40, align 4, !tbaa !9
  %5555 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %5555, ptr %41, align 4, !tbaa !9
  %5556 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5556, ptr %42, align 4, !tbaa !9
  %5557 = load i32, ptr %42, align 4, !tbaa !9
  %5558 = icmp ne i32 %5557, 0
  br i1 %5558, label %5559, label %5561

5559:                                             ; preds = %5553
  %5560 = load i32, ptr %40, align 4, !tbaa !9
  br label %5563

5561:                                             ; preds = %5553
  %5562 = load i32, ptr %41, align 4, !tbaa !9
  br label %5563

5563:                                             ; preds = %5561, %5559
  %5564 = phi i32 [ %5560, %5559 ], [ %5562, %5561 ]
  store i32 %5564, ptr %40, align 4, !tbaa !9
  %5565 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5565, ptr %10, align 4, !tbaa !9
  br label %5634

5566:                                             ; preds = %5545
  %5567 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5567, ptr %40, align 4, !tbaa !9
  %5568 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %5568, ptr %41, align 4, !tbaa !9
  %5569 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5569, ptr %42, align 4, !tbaa !9
  %5570 = load i32, ptr %42, align 4, !tbaa !9
  %5571 = icmp ne i32 %5570, 0
  br i1 %5571, label %5572, label %5574

5572:                                             ; preds = %5566
  %5573 = load i32, ptr %40, align 4, !tbaa !9
  br label %5576

5574:                                             ; preds = %5566
  %5575 = load i32, ptr %41, align 4, !tbaa !9
  br label %5576

5576:                                             ; preds = %5574, %5572
  %5577 = phi i32 [ %5573, %5572 ], [ %5575, %5574 ]
  store i32 %5577, ptr %40, align 4, !tbaa !9
  %5578 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5578, ptr %41, align 4, !tbaa !9
  %5579 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %5579, ptr %42, align 4, !tbaa !9
  store i32 536870910, ptr %43, align 4, !tbaa !9
  %5580 = load i32, ptr %42, align 4, !tbaa !9
  %5581 = load i32, ptr %43, align 4, !tbaa !9
  %5582 = icmp eq i32 %5580, %5581
  %5583 = zext i1 %5582 to i32
  store i32 %5583, ptr %42, align 4, !tbaa !9
  %5584 = load i32, ptr %42, align 4, !tbaa !9
  %5585 = icmp ne i32 %5584, 0
  br i1 %5585, label %5586, label %5588

5586:                                             ; preds = %5576
  %5587 = load i32, ptr %40, align 4, !tbaa !9
  br label %5590

5588:                                             ; preds = %5576
  %5589 = load i32, ptr %41, align 4, !tbaa !9
  br label %5590

5590:                                             ; preds = %5588, %5586
  %5591 = phi i32 [ %5587, %5586 ], [ %5589, %5588 ]
  store i32 %5591, ptr %40, align 4, !tbaa !9
  %5592 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5592, ptr %21, align 4, !tbaa !9
  %5593 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5593, ptr %40, align 4, !tbaa !9
  %5594 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %5594, ptr %41, align 4, !tbaa !9
  %5595 = load i32, ptr %41, align 4, !tbaa !9
  %5596 = load i32, ptr %40, align 4, !tbaa !9
  %5597 = add i32 %5596, %5595
  store i32 %5597, ptr %40, align 4, !tbaa !9
  %5598 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5598, ptr %12, align 4, !tbaa !9
  %5599 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5599, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %5600 = load i32, ptr %41, align 4, !tbaa !9
  %5601 = load i32, ptr %40, align 4, !tbaa !9
  %5602 = add i32 %5601, %5600
  store i32 %5602, ptr %40, align 4, !tbaa !9
  %5603 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5603, ptr %27, align 4, !tbaa !9
  %5604 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5604, ptr %40, align 4, !tbaa !9
  %5605 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5605, ptr %41, align 4, !tbaa !9
  %5606 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5606, ptr %42, align 4, !tbaa !9
  %5607 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5607, ptr %43, align 4, !tbaa !9
  %5608 = load i32, ptr %43, align 4, !tbaa !9
  %5609 = load i32, ptr %42, align 4, !tbaa !9
  %5610 = and i32 %5609, %5608
  store i32 %5610, ptr %42, align 4, !tbaa !9
  %5611 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %5611, ptr %29, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %5612 = load i32, ptr %43, align 4, !tbaa !9
  %5613 = and i32 %5612, 31
  %5614 = load i32, ptr %42, align 4, !tbaa !9
  %5615 = shl i32 %5614, %5613
  store i32 %5615, ptr %42, align 4, !tbaa !9
  %5616 = load i32, ptr %42, align 4, !tbaa !9
  %5617 = load i32, ptr %41, align 4, !tbaa !9
  %5618 = add i32 %5617, %5616
  store i32 %5618, ptr %41, align 4, !tbaa !9
  %5619 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5619, ptr %20, align 4, !tbaa !9
  %5620 = load ptr, ptr %8, align 8, !tbaa !5
  %5621 = getelementptr inbounds %struct.w2c_hermes, ptr %5620, i32 0, i32 6
  %5622 = load i32, ptr %41, align 4, !tbaa !9
  %5623 = zext i32 %5622 to i64
  %5624 = call i32 @i32_load(ptr noundef %5621, i64 noundef %5623)
  store i32 %5624, ptr %41, align 4, !tbaa !9
  %5625 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5625, ptr %30, align 4, !tbaa !9
  %5626 = load i32, ptr %40, align 4, !tbaa !9
  %5627 = load i32, ptr %41, align 4, !tbaa !9
  %5628 = icmp ne i32 %5626, %5627
  %5629 = zext i1 %5628 to i32
  store i32 %5629, ptr %40, align 4, !tbaa !9
  %5630 = load i32, ptr %40, align 4, !tbaa !9
  %5631 = icmp ne i32 %5630, 0
  br i1 %5631, label %5632, label %5633

5632:                                             ; preds = %5590
  br label %5545

5633:                                             ; preds = %5590
  br label %6858

5634:                                             ; preds = %5563, %5496
  %5635 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5635, ptr %40, align 4, !tbaa !9
  %5636 = load ptr, ptr %8, align 8, !tbaa !5
  %5637 = getelementptr inbounds %struct.w2c_hermes, ptr %5636, i32 0, i32 6
  %5638 = load i32, ptr %40, align 4, !tbaa !9
  %5639 = zext i32 %5638 to i64
  %5640 = add i64 %5639, 24
  %5641 = call i32 @i32_load(ptr noundef %5637, i64 noundef %5640)
  store i32 %5641, ptr %40, align 4, !tbaa !9
  %5642 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5642, ptr %12, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %5643 = load i32, ptr %41, align 4, !tbaa !9
  %5644 = and i32 %5643, 31
  %5645 = load i32, ptr %40, align 4, !tbaa !9
  %5646 = shl i32 %5645, %5644
  store i32 %5646, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %5647 = load i32, ptr %41, align 4, !tbaa !9
  %5648 = load i32, ptr %40, align 4, !tbaa !9
  %5649 = add i32 %5648, %5647
  store i32 %5649, ptr %40, align 4, !tbaa !9
  %5650 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5650, ptr %41, align 4, !tbaa !9
  %5651 = load ptr, ptr %8, align 8, !tbaa !5
  %5652 = getelementptr inbounds %struct.w2c_hermes, ptr %5651, i32 0, i32 6
  %5653 = load i32, ptr %41, align 4, !tbaa !9
  %5654 = zext i32 %5653 to i64
  %5655 = add i64 %5654, 32
  %5656 = call i32 @i32_load(ptr noundef %5652, i64 noundef %5655)
  store i32 %5656, ptr %41, align 4, !tbaa !9
  %5657 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5657, ptr %21, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %5658 = load i32, ptr %42, align 4, !tbaa !9
  %5659 = load i32, ptr %41, align 4, !tbaa !9
  %5660 = mul i32 %5659, %5658
  store i32 %5660, ptr %41, align 4, !tbaa !9
  %5661 = load i32, ptr %40, align 4, !tbaa !9
  %5662 = load i32, ptr %41, align 4, !tbaa !9
  %5663 = icmp uge i32 %5661, %5662
  %5664 = zext i1 %5663 to i32
  store i32 %5664, ptr %40, align 4, !tbaa !9
  %5665 = load i32, ptr %40, align 4, !tbaa !9
  %5666 = icmp ne i32 %5665, 0
  br i1 %5666, label %5667, label %5674

5667:                                             ; preds = %5634
  %5668 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5668, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %5669 = load i32, ptr %41, align 4, !tbaa !9
  %5670 = and i32 %5669, 31
  %5671 = load i32, ptr %40, align 4, !tbaa !9
  %5672 = shl i32 %5671, %5670
  store i32 %5672, ptr %40, align 4, !tbaa !9
  %5673 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5673, ptr %21, align 4, !tbaa !9
  br label %5706

5674:                                             ; preds = %5634
  %5675 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5675, ptr %40, align 4, !tbaa !9
  %5676 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5676, ptr %41, align 4, !tbaa !9
  store i32 -1, ptr %42, align 4, !tbaa !9
  %5677 = load i32, ptr %42, align 4, !tbaa !9
  %5678 = load i32, ptr %41, align 4, !tbaa !9
  %5679 = xor i32 %5678, %5677
  store i32 %5679, ptr %41, align 4, !tbaa !9
  %5680 = load i32, ptr %41, align 4, !tbaa !9
  %5681 = load i32, ptr %40, align 4, !tbaa !9
  %5682 = add i32 %5681, %5680
  store i32 %5682, ptr %40, align 4, !tbaa !9
  %5683 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5683, ptr %41, align 4, !tbaa !9
  %5684 = load ptr, ptr %8, align 8, !tbaa !5
  %5685 = getelementptr inbounds %struct.w2c_hermes, ptr %5684, i32 0, i32 6
  %5686 = load i32, ptr %41, align 4, !tbaa !9
  %5687 = zext i32 %5686 to i64
  %5688 = add i64 %5687, 28
  %5689 = call i32 @i32_load(ptr noundef %5685, i64 noundef %5688)
  store i32 %5689, ptr %41, align 4, !tbaa !9
  %5690 = load i32, ptr %41, align 4, !tbaa !9
  %5691 = load i32, ptr %40, align 4, !tbaa !9
  %5692 = sub i32 %5691, %5690
  store i32 %5692, ptr %40, align 4, !tbaa !9
  %5693 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5693, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %5694 = load i32, ptr %42, align 4, !tbaa !9
  %5695 = and i32 %5694, 31
  %5696 = load i32, ptr %41, align 4, !tbaa !9
  %5697 = lshr i32 %5696, %5695
  store i32 %5697, ptr %41, align 4, !tbaa !9
  %5698 = load i32, ptr %40, align 4, !tbaa !9
  %5699 = load i32, ptr %41, align 4, !tbaa !9
  %5700 = icmp ugt i32 %5698, %5699
  %5701 = zext i1 %5700 to i32
  store i32 %5701, ptr %40, align 4, !tbaa !9
  %5702 = load i32, ptr %40, align 4, !tbaa !9
  %5703 = icmp ne i32 %5702, 0
  br i1 %5703, label %5704, label %5705

5704:                                             ; preds = %5674
  br label %6521

5705:                                             ; preds = %5674
  br label %5706

5706:                                             ; preds = %5705, %5667
  store i32 0, ptr %40, align 4, !tbaa !9
  %5707 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5707, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %5708 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5708, ptr %30, align 4, !tbaa !9
  %5709 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5709, ptr %40, align 4, !tbaa !9
  %5710 = load ptr, ptr %8, align 8, !tbaa !5
  %5711 = getelementptr inbounds %struct.w2c_hermes, ptr %5710, i32 0, i32 6
  %5712 = load i32, ptr %40, align 4, !tbaa !9
  %5713 = zext i32 %5712 to i64
  %5714 = add i64 %5713, 32
  %5715 = call i32 @i32_load(ptr noundef %5711, i64 noundef %5714)
  store i32 %5715, ptr %40, align 4, !tbaa !9
  %5716 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5716, ptr %25, align 4, !tbaa !9
  %5717 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5717, ptr %40, align 4, !tbaa !9
  store i32 64, ptr %41, align 4, !tbaa !9
  %5718 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5718, ptr %42, align 4, !tbaa !9
  store i32 1, ptr %43, align 4, !tbaa !9
  %5719 = load i32, ptr %43, align 4, !tbaa !9
  %5720 = load i32, ptr %42, align 4, !tbaa !9
  %5721 = sub i32 %5720, %5719
  store i32 %5721, ptr %42, align 4, !tbaa !9
  %5722 = load i32, ptr %42, align 4, !tbaa !9
  %5723 = zext i32 %5722 to i64
  store i64 %5723, ptr %50, align 8, !tbaa !11
  %5724 = load i64, ptr %50, align 8, !tbaa !11
  store i64 %5724, ptr %37, align 8, !tbaa !11
  store i64 1, ptr %51, align 8, !tbaa !11
  %5725 = load i64, ptr %51, align 8, !tbaa !11
  %5726 = and i64 %5725, 63
  %5727 = load i64, ptr %50, align 8, !tbaa !11
  %5728 = lshr i64 %5727, %5726
  store i64 %5728, ptr %50, align 8, !tbaa !11
  %5729 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %5729, ptr %51, align 8, !tbaa !11
  %5730 = load i64, ptr %51, align 8, !tbaa !11
  %5731 = load i64, ptr %50, align 8, !tbaa !11
  %5732 = or i64 %5731, %5730
  store i64 %5732, ptr %50, align 8, !tbaa !11
  %5733 = load i64, ptr %50, align 8, !tbaa !11
  store i64 %5733, ptr %37, align 8, !tbaa !11
  store i64 2, ptr %51, align 8, !tbaa !11
  %5734 = load i64, ptr %51, align 8, !tbaa !11
  %5735 = and i64 %5734, 63
  %5736 = load i64, ptr %50, align 8, !tbaa !11
  %5737 = lshr i64 %5736, %5735
  store i64 %5737, ptr %50, align 8, !tbaa !11
  %5738 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %5738, ptr %51, align 8, !tbaa !11
  %5739 = load i64, ptr %51, align 8, !tbaa !11
  %5740 = load i64, ptr %50, align 8, !tbaa !11
  %5741 = or i64 %5740, %5739
  store i64 %5741, ptr %50, align 8, !tbaa !11
  %5742 = load i64, ptr %50, align 8, !tbaa !11
  store i64 %5742, ptr %37, align 8, !tbaa !11
  store i64 4, ptr %51, align 8, !tbaa !11
  %5743 = load i64, ptr %51, align 8, !tbaa !11
  %5744 = and i64 %5743, 63
  %5745 = load i64, ptr %50, align 8, !tbaa !11
  %5746 = lshr i64 %5745, %5744
  store i64 %5746, ptr %50, align 8, !tbaa !11
  %5747 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %5747, ptr %51, align 8, !tbaa !11
  %5748 = load i64, ptr %51, align 8, !tbaa !11
  %5749 = load i64, ptr %50, align 8, !tbaa !11
  %5750 = or i64 %5749, %5748
  store i64 %5750, ptr %50, align 8, !tbaa !11
  %5751 = load i64, ptr %50, align 8, !tbaa !11
  store i64 %5751, ptr %37, align 8, !tbaa !11
  store i64 8, ptr %51, align 8, !tbaa !11
  %5752 = load i64, ptr %51, align 8, !tbaa !11
  %5753 = and i64 %5752, 63
  %5754 = load i64, ptr %50, align 8, !tbaa !11
  %5755 = lshr i64 %5754, %5753
  store i64 %5755, ptr %50, align 8, !tbaa !11
  %5756 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %5756, ptr %51, align 8, !tbaa !11
  %5757 = load i64, ptr %51, align 8, !tbaa !11
  %5758 = load i64, ptr %50, align 8, !tbaa !11
  %5759 = or i64 %5758, %5757
  store i64 %5759, ptr %50, align 8, !tbaa !11
  %5760 = load i64, ptr %50, align 8, !tbaa !11
  store i64 %5760, ptr %37, align 8, !tbaa !11
  store i64 16, ptr %51, align 8, !tbaa !11
  %5761 = load i64, ptr %51, align 8, !tbaa !11
  %5762 = and i64 %5761, 63
  %5763 = load i64, ptr %50, align 8, !tbaa !11
  %5764 = lshr i64 %5763, %5762
  store i64 %5764, ptr %50, align 8, !tbaa !11
  %5765 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %5765, ptr %51, align 8, !tbaa !11
  %5766 = load i64, ptr %51, align 8, !tbaa !11
  %5767 = load i64, ptr %50, align 8, !tbaa !11
  %5768 = or i64 %5767, %5766
  store i64 %5768, ptr %50, align 8, !tbaa !11
  %5769 = load i64, ptr %50, align 8, !tbaa !11
  %5770 = trunc i64 %5769 to i32
  store i32 %5770, ptr %42, align 4, !tbaa !9
  store i32 1, ptr %43, align 4, !tbaa !9
  %5771 = load i32, ptr %43, align 4, !tbaa !9
  %5772 = load i32, ptr %42, align 4, !tbaa !9
  %5773 = add i32 %5772, %5771
  store i32 %5773, ptr %42, align 4, !tbaa !9
  %5774 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %5774, ptr %10, align 4, !tbaa !9
  %5775 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5775, ptr %43, align 4, !tbaa !9
  store i32 64, ptr %44, align 4, !tbaa !9
  %5776 = load i32, ptr %43, align 4, !tbaa !9
  %5777 = load i32, ptr %44, align 4, !tbaa !9
  %5778 = icmp ule i32 %5776, %5777
  %5779 = zext i1 %5778 to i32
  store i32 %5779, ptr %43, align 4, !tbaa !9
  %5780 = load i32, ptr %43, align 4, !tbaa !9
  %5781 = icmp ne i32 %5780, 0
  br i1 %5781, label %5782, label %5784

5782:                                             ; preds = %5706
  %5783 = load i32, ptr %41, align 4, !tbaa !9
  br label %5786

5784:                                             ; preds = %5706
  %5785 = load i32, ptr %42, align 4, !tbaa !9
  br label %5786

5786:                                             ; preds = %5784, %5782
  %5787 = phi i32 [ %5783, %5782 ], [ %5785, %5784 ]
  store i32 %5787, ptr %41, align 4, !tbaa !9
  %5788 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5788, ptr %10, align 4, !tbaa !9
  %5789 = load ptr, ptr %8, align 8, !tbaa !5
  %5790 = getelementptr inbounds %struct.w2c_hermes, ptr %5789, i32 0, i32 6
  %5791 = load i32, ptr %40, align 4, !tbaa !9
  %5792 = zext i32 %5791 to i64
  %5793 = add i64 %5792, 32
  %5794 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5790, i64 noundef %5793, i32 noundef %5794)
  %5795 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5795, ptr %40, align 4, !tbaa !9
  %5796 = load ptr, ptr %8, align 8, !tbaa !5
  %5797 = getelementptr inbounds %struct.w2c_hermes, ptr %5796, i32 0, i32 6
  %5798 = load i32, ptr %40, align 4, !tbaa !9
  %5799 = zext i32 %5798 to i64
  %5800 = add i64 %5799, 20
  %5801 = call i32 @i32_load(ptr noundef %5797, i64 noundef %5800)
  store i32 %5801, ptr %40, align 4, !tbaa !9
  %5802 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5802, ptr %16, align 4, !tbaa !9
  %5803 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5803, ptr %40, align 4, !tbaa !9
  %5804 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5804, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %5805 = load i32, ptr %42, align 4, !tbaa !9
  %5806 = and i32 %5805, 31
  %5807 = load i32, ptr %41, align 4, !tbaa !9
  %5808 = shl i32 %5807, %5806
  store i32 %5808, ptr %41, align 4, !tbaa !9
  %5809 = load ptr, ptr %8, align 8, !tbaa !5
  %5810 = load i32, ptr %41, align 4, !tbaa !9
  %5811 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %5809, i32 noundef %5810)
  store i32 %5811, ptr %41, align 4, !tbaa !9
  %5812 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %5812, ptr %12, align 4, !tbaa !9
  %5813 = load ptr, ptr %8, align 8, !tbaa !5
  %5814 = getelementptr inbounds %struct.w2c_hermes, ptr %5813, i32 0, i32 6
  %5815 = load i32, ptr %40, align 4, !tbaa !9
  %5816 = zext i32 %5815 to i64
  %5817 = add i64 %5816, 20
  %5818 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5814, i64 noundef %5817, i32 noundef %5818)
  %5819 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5819, ptr %40, align 4, !tbaa !9
  %5820 = load i32, ptr %40, align 4, !tbaa !9
  %5821 = icmp ne i32 %5820, 0
  %5822 = xor i1 %5821, true
  %5823 = zext i1 %5822 to i32
  store i32 %5823, ptr %40, align 4, !tbaa !9
  %5824 = load i32, ptr %40, align 4, !tbaa !9
  %5825 = icmp ne i32 %5824, 0
  br i1 %5825, label %5826, label %5982

5826:                                             ; preds = %5786
  %5827 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5827, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %5828 = load ptr, ptr %8, align 8, !tbaa !5
  %5829 = getelementptr inbounds %struct.w2c_hermes, ptr %5828, i32 0, i32 6
  %5830 = load i32, ptr %40, align 4, !tbaa !9
  %5831 = zext i32 %5830 to i64
  %5832 = add i64 %5831, 24
  %5833 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5829, i64 noundef %5832, i64 noundef %5833)
  %5834 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5834, ptr %40, align 4, !tbaa !9
  %5835 = load ptr, ptr %8, align 8, !tbaa !5
  %5836 = getelementptr inbounds %struct.w2c_hermes, ptr %5835, i32 0, i32 6
  %5837 = load i32, ptr %40, align 4, !tbaa !9
  %5838 = zext i32 %5837 to i64
  %5839 = add i64 %5838, 32
  %5840 = call i32 @i32_load(ptr noundef %5836, i64 noundef %5839)
  store i32 %5840, ptr %40, align 4, !tbaa !9
  %5841 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5841, ptr %15, align 4, !tbaa !9
  %5842 = load i32, ptr %40, align 4, !tbaa !9
  %5843 = icmp ne i32 %5842, 0
  %5844 = xor i1 %5843, true
  %5845 = zext i1 %5844 to i32
  store i32 %5845, ptr %40, align 4, !tbaa !9
  %5846 = load i32, ptr %40, align 4, !tbaa !9
  %5847 = icmp ne i32 %5846, 0
  br i1 %5847, label %5848, label %5849

5848:                                             ; preds = %5826
  br label %6361

5849:                                             ; preds = %5826
  %5850 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5850, ptr %40, align 4, !tbaa !9
  %5851 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5851, ptr %10, align 4, !tbaa !9
  %5852 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5852, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %5853 = load i32, ptr %41, align 4, !tbaa !9
  %5854 = load i32, ptr %40, align 4, !tbaa !9
  %5855 = and i32 %5854, %5853
  store i32 %5855, ptr %40, align 4, !tbaa !9
  %5856 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5856, ptr %16, align 4, !tbaa !9
  %5857 = load i32, ptr %40, align 4, !tbaa !9
  %5858 = icmp ne i32 %5857, 0
  br i1 %5858, label %5859, label %5886

5859:                                             ; preds = %5849
  br label %5860

5860:                                             ; preds = %5884, %5859
  %5861 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5861, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5862 = load ptr, ptr %8, align 8, !tbaa !5
  %5863 = getelementptr inbounds %struct.w2c_hermes, ptr %5862, i32 0, i32 6
  %5864 = load i32, ptr %40, align 4, !tbaa !9
  %5865 = zext i32 %5864 to i64
  %5866 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5863, i64 noundef %5865, i32 noundef %5866)
  %5867 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5867, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %5868 = load i32, ptr %41, align 4, !tbaa !9
  %5869 = load i32, ptr %40, align 4, !tbaa !9
  %5870 = add i32 %5869, %5868
  store i32 %5870, ptr %40, align 4, !tbaa !9
  %5871 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5871, ptr %10, align 4, !tbaa !9
  %5872 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5872, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %5873 = load i32, ptr %41, align 4, !tbaa !9
  %5874 = load i32, ptr %40, align 4, !tbaa !9
  %5875 = add i32 %5874, %5873
  store i32 %5875, ptr %40, align 4, !tbaa !9
  %5876 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5876, ptr %27, align 4, !tbaa !9
  %5877 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5877, ptr %41, align 4, !tbaa !9
  %5878 = load i32, ptr %40, align 4, !tbaa !9
  %5879 = load i32, ptr %41, align 4, !tbaa !9
  %5880 = icmp ne i32 %5878, %5879
  %5881 = zext i1 %5880 to i32
  store i32 %5881, ptr %40, align 4, !tbaa !9
  %5882 = load i32, ptr %40, align 4, !tbaa !9
  %5883 = icmp ne i32 %5882, 0
  br i1 %5883, label %5884, label %5885

5884:                                             ; preds = %5860
  br label %5860

5885:                                             ; preds = %5860
  br label %5886

5886:                                             ; preds = %5885, %5849
  %5887 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5887, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %5888 = load i32, ptr %41, align 4, !tbaa !9
  %5889 = load i32, ptr %40, align 4, !tbaa !9
  %5890 = sub i32 %5889, %5888
  store i32 %5890, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5891 = load i32, ptr %41, align 4, !tbaa !9
  %5892 = load i32, ptr %40, align 4, !tbaa !9
  %5893 = and i32 %5892, %5891
  store i32 %5893, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %5894 = load i32, ptr %40, align 4, !tbaa !9
  %5895 = load i32, ptr %41, align 4, !tbaa !9
  %5896 = icmp ult i32 %5894, %5895
  %5897 = zext i1 %5896 to i32
  store i32 %5897, ptr %40, align 4, !tbaa !9
  %5898 = load i32, ptr %40, align 4, !tbaa !9
  %5899 = icmp ne i32 %5898, 0
  br i1 %5899, label %5900, label %5901

5900:                                             ; preds = %5886
  br label %6361

5901:                                             ; preds = %5886
  %5902 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5902, ptr %40, align 4, !tbaa !9
  %5903 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5903, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %5904 = load i32, ptr %42, align 4, !tbaa !9
  %5905 = and i32 %5904, 31
  %5906 = load i32, ptr %41, align 4, !tbaa !9
  %5907 = shl i32 %5906, %5905
  store i32 %5907, ptr %41, align 4, !tbaa !9
  %5908 = load i32, ptr %41, align 4, !tbaa !9
  %5909 = load i32, ptr %40, align 4, !tbaa !9
  %5910 = add i32 %5909, %5908
  store i32 %5910, ptr %40, align 4, !tbaa !9
  %5911 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5911, ptr %12, align 4, !tbaa !9
  br label %5912

5912:                                             ; preds = %5980, %5901
  %5913 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5913, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5914 = load ptr, ptr %8, align 8, !tbaa !5
  %5915 = getelementptr inbounds %struct.w2c_hermes, ptr %5914, i32 0, i32 6
  %5916 = load i32, ptr %40, align 4, !tbaa !9
  %5917 = zext i32 %5916 to i64
  %5918 = add i64 %5917, 56
  %5919 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5915, i64 noundef %5918, i32 noundef %5919)
  %5920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5920, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5921 = load ptr, ptr %8, align 8, !tbaa !5
  %5922 = getelementptr inbounds %struct.w2c_hermes, ptr %5921, i32 0, i32 6
  %5923 = load i32, ptr %40, align 4, !tbaa !9
  %5924 = zext i32 %5923 to i64
  %5925 = add i64 %5924, 48
  %5926 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5922, i64 noundef %5925, i32 noundef %5926)
  %5927 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5927, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5928 = load ptr, ptr %8, align 8, !tbaa !5
  %5929 = getelementptr inbounds %struct.w2c_hermes, ptr %5928, i32 0, i32 6
  %5930 = load i32, ptr %40, align 4, !tbaa !9
  %5931 = zext i32 %5930 to i64
  %5932 = add i64 %5931, 40
  %5933 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5929, i64 noundef %5932, i32 noundef %5933)
  %5934 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5934, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5935 = load ptr, ptr %8, align 8, !tbaa !5
  %5936 = getelementptr inbounds %struct.w2c_hermes, ptr %5935, i32 0, i32 6
  %5937 = load i32, ptr %40, align 4, !tbaa !9
  %5938 = zext i32 %5937 to i64
  %5939 = add i64 %5938, 32
  %5940 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5936, i64 noundef %5939, i32 noundef %5940)
  %5941 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5941, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5942 = load ptr, ptr %8, align 8, !tbaa !5
  %5943 = getelementptr inbounds %struct.w2c_hermes, ptr %5942, i32 0, i32 6
  %5944 = load i32, ptr %40, align 4, !tbaa !9
  %5945 = zext i32 %5944 to i64
  %5946 = add i64 %5945, 24
  %5947 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5943, i64 noundef %5946, i32 noundef %5947)
  %5948 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5948, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5949 = load ptr, ptr %8, align 8, !tbaa !5
  %5950 = getelementptr inbounds %struct.w2c_hermes, ptr %5949, i32 0, i32 6
  %5951 = load i32, ptr %40, align 4, !tbaa !9
  %5952 = zext i32 %5951 to i64
  %5953 = add i64 %5952, 16
  %5954 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5950, i64 noundef %5953, i32 noundef %5954)
  %5955 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5955, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5956 = load ptr, ptr %8, align 8, !tbaa !5
  %5957 = getelementptr inbounds %struct.w2c_hermes, ptr %5956, i32 0, i32 6
  %5958 = load i32, ptr %40, align 4, !tbaa !9
  %5959 = zext i32 %5958 to i64
  %5960 = add i64 %5959, 8
  %5961 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5957, i64 noundef %5960, i32 noundef %5961)
  %5962 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5962, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %5963 = load ptr, ptr %8, align 8, !tbaa !5
  %5964 = getelementptr inbounds %struct.w2c_hermes, ptr %5963, i32 0, i32 6
  %5965 = load i32, ptr %40, align 4, !tbaa !9
  %5966 = zext i32 %5965 to i64
  %5967 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5964, i64 noundef %5966, i32 noundef %5967)
  %5968 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5968, ptr %40, align 4, !tbaa !9
  store i32 -64, ptr %41, align 4, !tbaa !9
  %5969 = load i32, ptr %41, align 4, !tbaa !9
  %5970 = load i32, ptr %40, align 4, !tbaa !9
  %5971 = sub i32 %5970, %5969
  store i32 %5971, ptr %40, align 4, !tbaa !9
  %5972 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5972, ptr %10, align 4, !tbaa !9
  %5973 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5973, ptr %41, align 4, !tbaa !9
  %5974 = load i32, ptr %40, align 4, !tbaa !9
  %5975 = load i32, ptr %41, align 4, !tbaa !9
  %5976 = icmp ne i32 %5974, %5975
  %5977 = zext i1 %5976 to i32
  store i32 %5977, ptr %40, align 4, !tbaa !9
  %5978 = load i32, ptr %40, align 4, !tbaa !9
  %5979 = icmp ne i32 %5978, 0
  br i1 %5979, label %5980, label %5981

5980:                                             ; preds = %5912
  br label %5912

5981:                                             ; preds = %5912
  br label %6361

5982:                                             ; preds = %5786
  %5983 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5983, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %5984 = load ptr, ptr %8, align 8, !tbaa !5
  %5985 = getelementptr inbounds %struct.w2c_hermes, ptr %5984, i32 0, i32 6
  %5986 = load i32, ptr %40, align 4, !tbaa !9
  %5987 = zext i32 %5986 to i64
  %5988 = add i64 %5987, 24
  %5989 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5985, i64 noundef %5988, i64 noundef %5989)
  %5990 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %5990, ptr %40, align 4, !tbaa !9
  %5991 = load ptr, ptr %8, align 8, !tbaa !5
  %5992 = getelementptr inbounds %struct.w2c_hermes, ptr %5991, i32 0, i32 6
  %5993 = load i32, ptr %40, align 4, !tbaa !9
  %5994 = zext i32 %5993 to i64
  %5995 = add i64 %5994, 32
  %5996 = call i32 @i32_load(ptr noundef %5992, i64 noundef %5995)
  store i32 %5996, ptr %40, align 4, !tbaa !9
  %5997 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %5997, ptr %20, align 4, !tbaa !9
  %5998 = load i32, ptr %40, align 4, !tbaa !9
  %5999 = icmp ne i32 %5998, 0
  %6000 = xor i1 %5999, true
  %6001 = zext i1 %6000 to i32
  store i32 %6001, ptr %40, align 4, !tbaa !9
  %6002 = load i32, ptr %40, align 4, !tbaa !9
  %6003 = icmp ne i32 %6002, 0
  br i1 %6003, label %6004, label %6005

6004:                                             ; preds = %5982
  br label %6138

6005:                                             ; preds = %5982
  %6006 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6006, ptr %40, align 4, !tbaa !9
  %6007 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6007, ptr %10, align 4, !tbaa !9
  %6008 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6008, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %6009 = load i32, ptr %41, align 4, !tbaa !9
  %6010 = load i32, ptr %40, align 4, !tbaa !9
  %6011 = and i32 %6010, %6009
  store i32 %6011, ptr %40, align 4, !tbaa !9
  %6012 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6012, ptr %15, align 4, !tbaa !9
  %6013 = load i32, ptr %40, align 4, !tbaa !9
  %6014 = icmp ne i32 %6013, 0
  br i1 %6014, label %6015, label %6042

6015:                                             ; preds = %6005
  br label %6016

6016:                                             ; preds = %6040, %6015
  %6017 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6017, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6018 = load ptr, ptr %8, align 8, !tbaa !5
  %6019 = getelementptr inbounds %struct.w2c_hermes, ptr %6018, i32 0, i32 6
  %6020 = load i32, ptr %40, align 4, !tbaa !9
  %6021 = zext i32 %6020 to i64
  %6022 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6019, i64 noundef %6021, i32 noundef %6022)
  %6023 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6023, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %6024 = load i32, ptr %41, align 4, !tbaa !9
  %6025 = load i32, ptr %40, align 4, !tbaa !9
  %6026 = add i32 %6025, %6024
  store i32 %6026, ptr %40, align 4, !tbaa !9
  %6027 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6027, ptr %10, align 4, !tbaa !9
  %6028 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6028, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6029 = load i32, ptr %41, align 4, !tbaa !9
  %6030 = load i32, ptr %40, align 4, !tbaa !9
  %6031 = add i32 %6030, %6029
  store i32 %6031, ptr %40, align 4, !tbaa !9
  %6032 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6032, ptr %27, align 4, !tbaa !9
  %6033 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6033, ptr %41, align 4, !tbaa !9
  %6034 = load i32, ptr %40, align 4, !tbaa !9
  %6035 = load i32, ptr %41, align 4, !tbaa !9
  %6036 = icmp ne i32 %6034, %6035
  %6037 = zext i1 %6036 to i32
  store i32 %6037, ptr %40, align 4, !tbaa !9
  %6038 = load i32, ptr %40, align 4, !tbaa !9
  %6039 = icmp ne i32 %6038, 0
  br i1 %6039, label %6040, label %6041

6040:                                             ; preds = %6016
  br label %6016

6041:                                             ; preds = %6016
  br label %6042

6042:                                             ; preds = %6041, %6005
  %6043 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6043, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6044 = load i32, ptr %41, align 4, !tbaa !9
  %6045 = load i32, ptr %40, align 4, !tbaa !9
  %6046 = sub i32 %6045, %6044
  store i32 %6046, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6047 = load i32, ptr %41, align 4, !tbaa !9
  %6048 = load i32, ptr %40, align 4, !tbaa !9
  %6049 = and i32 %6048, %6047
  store i32 %6049, ptr %40, align 4, !tbaa !9
  store i32 7, ptr %41, align 4, !tbaa !9
  %6050 = load i32, ptr %40, align 4, !tbaa !9
  %6051 = load i32, ptr %41, align 4, !tbaa !9
  %6052 = icmp ult i32 %6050, %6051
  %6053 = zext i1 %6052 to i32
  store i32 %6053, ptr %40, align 4, !tbaa !9
  %6054 = load i32, ptr %40, align 4, !tbaa !9
  %6055 = icmp ne i32 %6054, 0
  br i1 %6055, label %6056, label %6057

6056:                                             ; preds = %6042
  br label %6138

6057:                                             ; preds = %6042
  %6058 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6058, ptr %40, align 4, !tbaa !9
  %6059 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6059, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6060 = load i32, ptr %42, align 4, !tbaa !9
  %6061 = and i32 %6060, 31
  %6062 = load i32, ptr %41, align 4, !tbaa !9
  %6063 = shl i32 %6062, %6061
  store i32 %6063, ptr %41, align 4, !tbaa !9
  %6064 = load i32, ptr %41, align 4, !tbaa !9
  %6065 = load i32, ptr %40, align 4, !tbaa !9
  %6066 = add i32 %6065, %6064
  store i32 %6066, ptr %40, align 4, !tbaa !9
  %6067 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6067, ptr %15, align 4, !tbaa !9
  br label %6068

6068:                                             ; preds = %6136, %6057
  %6069 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6069, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6070 = load ptr, ptr %8, align 8, !tbaa !5
  %6071 = getelementptr inbounds %struct.w2c_hermes, ptr %6070, i32 0, i32 6
  %6072 = load i32, ptr %40, align 4, !tbaa !9
  %6073 = zext i32 %6072 to i64
  %6074 = add i64 %6073, 56
  %6075 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6071, i64 noundef %6074, i32 noundef %6075)
  %6076 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6076, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6077 = load ptr, ptr %8, align 8, !tbaa !5
  %6078 = getelementptr inbounds %struct.w2c_hermes, ptr %6077, i32 0, i32 6
  %6079 = load i32, ptr %40, align 4, !tbaa !9
  %6080 = zext i32 %6079 to i64
  %6081 = add i64 %6080, 48
  %6082 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6078, i64 noundef %6081, i32 noundef %6082)
  %6083 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6083, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6084 = load ptr, ptr %8, align 8, !tbaa !5
  %6085 = getelementptr inbounds %struct.w2c_hermes, ptr %6084, i32 0, i32 6
  %6086 = load i32, ptr %40, align 4, !tbaa !9
  %6087 = zext i32 %6086 to i64
  %6088 = add i64 %6087, 40
  %6089 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6085, i64 noundef %6088, i32 noundef %6089)
  %6090 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6090, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6091 = load ptr, ptr %8, align 8, !tbaa !5
  %6092 = getelementptr inbounds %struct.w2c_hermes, ptr %6091, i32 0, i32 6
  %6093 = load i32, ptr %40, align 4, !tbaa !9
  %6094 = zext i32 %6093 to i64
  %6095 = add i64 %6094, 32
  %6096 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6092, i64 noundef %6095, i32 noundef %6096)
  %6097 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6097, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6098 = load ptr, ptr %8, align 8, !tbaa !5
  %6099 = getelementptr inbounds %struct.w2c_hermes, ptr %6098, i32 0, i32 6
  %6100 = load i32, ptr %40, align 4, !tbaa !9
  %6101 = zext i32 %6100 to i64
  %6102 = add i64 %6101, 24
  %6103 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6099, i64 noundef %6102, i32 noundef %6103)
  %6104 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6104, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6105 = load ptr, ptr %8, align 8, !tbaa !5
  %6106 = getelementptr inbounds %struct.w2c_hermes, ptr %6105, i32 0, i32 6
  %6107 = load i32, ptr %40, align 4, !tbaa !9
  %6108 = zext i32 %6107 to i64
  %6109 = add i64 %6108, 16
  %6110 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6106, i64 noundef %6109, i32 noundef %6110)
  %6111 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6111, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6112 = load ptr, ptr %8, align 8, !tbaa !5
  %6113 = getelementptr inbounds %struct.w2c_hermes, ptr %6112, i32 0, i32 6
  %6114 = load i32, ptr %40, align 4, !tbaa !9
  %6115 = zext i32 %6114 to i64
  %6116 = add i64 %6115, 8
  %6117 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6113, i64 noundef %6116, i32 noundef %6117)
  %6118 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6118, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6119 = load ptr, ptr %8, align 8, !tbaa !5
  %6120 = getelementptr inbounds %struct.w2c_hermes, ptr %6119, i32 0, i32 6
  %6121 = load i32, ptr %40, align 4, !tbaa !9
  %6122 = zext i32 %6121 to i64
  %6123 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6120, i64 noundef %6122, i32 noundef %6123)
  %6124 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6124, ptr %40, align 4, !tbaa !9
  store i32 -64, ptr %41, align 4, !tbaa !9
  %6125 = load i32, ptr %41, align 4, !tbaa !9
  %6126 = load i32, ptr %40, align 4, !tbaa !9
  %6127 = sub i32 %6126, %6125
  store i32 %6127, ptr %40, align 4, !tbaa !9
  %6128 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6128, ptr %10, align 4, !tbaa !9
  %6129 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6129, ptr %41, align 4, !tbaa !9
  %6130 = load i32, ptr %40, align 4, !tbaa !9
  %6131 = load i32, ptr %41, align 4, !tbaa !9
  %6132 = icmp ne i32 %6130, %6131
  %6133 = zext i1 %6132 to i32
  store i32 %6133, ptr %40, align 4, !tbaa !9
  %6134 = load i32, ptr %40, align 4, !tbaa !9
  %6135 = icmp ne i32 %6134, 0
  br i1 %6135, label %6136, label %6137

6136:                                             ; preds = %6068
  br label %6068

6137:                                             ; preds = %6068
  br label %6138

6138:                                             ; preds = %6137, %6056, %6004
  %6139 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6139, ptr %40, align 4, !tbaa !9
  %6140 = load i32, ptr %40, align 4, !tbaa !9
  %6141 = icmp ne i32 %6140, 0
  br i1 %6141, label %6142, label %6357

6142:                                             ; preds = %6138
  %6143 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6143, ptr %40, align 4, !tbaa !9
  %6144 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6144, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6145 = load i32, ptr %42, align 4, !tbaa !9
  %6146 = and i32 %6145, 31
  %6147 = load i32, ptr %41, align 4, !tbaa !9
  %6148 = shl i32 %6147, %6146
  store i32 %6148, ptr %41, align 4, !tbaa !9
  %6149 = load i32, ptr %41, align 4, !tbaa !9
  %6150 = load i32, ptr %40, align 4, !tbaa !9
  %6151 = add i32 %6150, %6149
  store i32 %6151, ptr %40, align 4, !tbaa !9
  %6152 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6152, ptr %25, align 4, !tbaa !9
  %6153 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6153, ptr %40, align 4, !tbaa !9
  %6154 = load ptr, ptr %8, align 8, !tbaa !5
  %6155 = getelementptr inbounds %struct.w2c_hermes, ptr %6154, i32 0, i32 6
  %6156 = load i32, ptr %40, align 4, !tbaa !9
  %6157 = zext i32 %6156 to i64
  %6158 = add i64 %6157, 32
  %6159 = call i32 @i32_load(ptr noundef %6155, i64 noundef %6158)
  store i32 %6159, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6160 = load i32, ptr %41, align 4, !tbaa !9
  %6161 = load i32, ptr %40, align 4, !tbaa !9
  %6162 = sub i32 %6161, %6160
  store i32 %6162, ptr %40, align 4, !tbaa !9
  %6163 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6163, ptr %20, align 4, !tbaa !9
  %6164 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6164, ptr %40, align 4, !tbaa !9
  %6165 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6165, ptr %10, align 4, !tbaa !9
  br label %6166

6166:                                             ; preds = %6355, %6142
  %6167 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6167, ptr %40, align 4, !tbaa !9
  %6168 = load ptr, ptr %8, align 8, !tbaa !5
  %6169 = getelementptr inbounds %struct.w2c_hermes, ptr %6168, i32 0, i32 6
  %6170 = load i32, ptr %40, align 4, !tbaa !9
  %6171 = zext i32 %6170 to i64
  %6172 = call i32 @i32_load(ptr noundef %6169, i64 noundef %6171)
  store i32 %6172, ptr %40, align 4, !tbaa !9
  %6173 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6173, ptr %32, align 4, !tbaa !9
  store i32 -2, ptr %41, align 4, !tbaa !9
  %6174 = load i32, ptr %41, align 4, !tbaa !9
  %6175 = load i32, ptr %40, align 4, !tbaa !9
  %6176 = and i32 %6175, %6174
  store i32 %6176, ptr %40, align 4, !tbaa !9
  store i32 536870910, ptr %41, align 4, !tbaa !9
  %6177 = load i32, ptr %40, align 4, !tbaa !9
  %6178 = load i32, ptr %41, align 4, !tbaa !9
  %6179 = icmp ne i32 %6177, %6178
  %6180 = zext i1 %6179 to i32
  store i32 %6180, ptr %40, align 4, !tbaa !9
  %6181 = load i32, ptr %40, align 4, !tbaa !9
  %6182 = icmp ne i32 %6181, 0
  br i1 %6182, label %6183, label %6342

6183:                                             ; preds = %6166
  %6184 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6184, ptr %40, align 4, !tbaa !9
  %6185 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6185, ptr %41, align 4, !tbaa !9
  %6186 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6186, ptr %42, align 4, !tbaa !9
  %6187 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6187, ptr %43, align 4, !tbaa !9
  store i32 37, ptr %44, align 4, !tbaa !9
  %6188 = load i32, ptr %44, align 4, !tbaa !9
  %6189 = load i32, ptr %43, align 4, !tbaa !9
  %6190 = mul i32 %6189, %6188
  store i32 %6190, ptr %43, align 4, !tbaa !9
  %6191 = load i32, ptr %43, align 4, !tbaa !9
  %6192 = load i32, ptr %42, align 4, !tbaa !9
  %6193 = and i32 %6192, %6191
  store i32 %6193, ptr %42, align 4, !tbaa !9
  %6194 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6194, ptr %15, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %6195 = load i32, ptr %43, align 4, !tbaa !9
  %6196 = and i32 %6195, 31
  %6197 = load i32, ptr %42, align 4, !tbaa !9
  %6198 = shl i32 %6197, %6196
  store i32 %6198, ptr %42, align 4, !tbaa !9
  %6199 = load i32, ptr %42, align 4, !tbaa !9
  %6200 = load i32, ptr %41, align 4, !tbaa !9
  %6201 = add i32 %6200, %6199
  store i32 %6201, ptr %41, align 4, !tbaa !9
  %6202 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6202, ptr %27, align 4, !tbaa !9
  %6203 = load ptr, ptr %8, align 8, !tbaa !5
  %6204 = getelementptr inbounds %struct.w2c_hermes, ptr %6203, i32 0, i32 6
  %6205 = load i32, ptr %41, align 4, !tbaa !9
  %6206 = zext i32 %6205 to i64
  %6207 = call i32 @i32_load(ptr noundef %6204, i64 noundef %6206)
  store i32 %6207, ptr %41, align 4, !tbaa !9
  %6208 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6208, ptr %35, align 4, !tbaa !9
  %6209 = load i32, ptr %40, align 4, !tbaa !9
  %6210 = load i32, ptr %41, align 4, !tbaa !9
  %6211 = icmp eq i32 %6209, %6210
  %6212 = zext i1 %6211 to i32
  store i32 %6212, ptr %40, align 4, !tbaa !9
  %6213 = load i32, ptr %40, align 4, !tbaa !9
  %6214 = icmp ne i32 %6213, 0
  br i1 %6214, label %6215, label %6216

6215:                                             ; preds = %6183
  br label %6308

6216:                                             ; preds = %6183
  store i32 1, ptr %40, align 4, !tbaa !9
  %6217 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6217, ptr %21, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %6218 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6218, ptr %29, align 4, !tbaa !9
  br label %6219

6219:                                             ; preds = %6306, %6216
  %6220 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %6220, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6221 = load i32, ptr %40, align 4, !tbaa !9
  %6222 = load i32, ptr %41, align 4, !tbaa !9
  %6223 = icmp eq i32 %6221, %6222
  %6224 = zext i1 %6223 to i32
  store i32 %6224, ptr %40, align 4, !tbaa !9
  %6225 = load i32, ptr %40, align 4, !tbaa !9
  %6226 = icmp ne i32 %6225, 0
  br i1 %6226, label %6227, label %6240

6227:                                             ; preds = %6219
  %6228 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6228, ptr %40, align 4, !tbaa !9
  %6229 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6229, ptr %41, align 4, !tbaa !9
  %6230 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6230, ptr %42, align 4, !tbaa !9
  %6231 = load i32, ptr %42, align 4, !tbaa !9
  %6232 = icmp ne i32 %6231, 0
  br i1 %6232, label %6233, label %6235

6233:                                             ; preds = %6227
  %6234 = load i32, ptr %40, align 4, !tbaa !9
  br label %6237

6235:                                             ; preds = %6227
  %6236 = load i32, ptr %41, align 4, !tbaa !9
  br label %6237

6237:                                             ; preds = %6235, %6233
  %6238 = phi i32 [ %6234, %6233 ], [ %6236, %6235 ]
  store i32 %6238, ptr %40, align 4, !tbaa !9
  %6239 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6239, ptr %27, align 4, !tbaa !9
  br label %6308

6240:                                             ; preds = %6219
  %6241 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6241, ptr %40, align 4, !tbaa !9
  %6242 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6242, ptr %41, align 4, !tbaa !9
  %6243 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6243, ptr %42, align 4, !tbaa !9
  %6244 = load i32, ptr %42, align 4, !tbaa !9
  %6245 = icmp ne i32 %6244, 0
  br i1 %6245, label %6246, label %6248

6246:                                             ; preds = %6240
  %6247 = load i32, ptr %40, align 4, !tbaa !9
  br label %6250

6248:                                             ; preds = %6240
  %6249 = load i32, ptr %41, align 4, !tbaa !9
  br label %6250

6250:                                             ; preds = %6248, %6246
  %6251 = phi i32 [ %6247, %6246 ], [ %6249, %6248 ]
  store i32 %6251, ptr %40, align 4, !tbaa !9
  %6252 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6252, ptr %41, align 4, !tbaa !9
  %6253 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %6253, ptr %42, align 4, !tbaa !9
  store i32 536870910, ptr %43, align 4, !tbaa !9
  %6254 = load i32, ptr %42, align 4, !tbaa !9
  %6255 = load i32, ptr %43, align 4, !tbaa !9
  %6256 = icmp eq i32 %6254, %6255
  %6257 = zext i1 %6256 to i32
  store i32 %6257, ptr %42, align 4, !tbaa !9
  %6258 = load i32, ptr %42, align 4, !tbaa !9
  %6259 = icmp ne i32 %6258, 0
  br i1 %6259, label %6260, label %6262

6260:                                             ; preds = %6250
  %6261 = load i32, ptr %40, align 4, !tbaa !9
  br label %6264

6262:                                             ; preds = %6250
  %6263 = load i32, ptr %41, align 4, !tbaa !9
  br label %6264

6264:                                             ; preds = %6262, %6260
  %6265 = phi i32 [ %6261, %6260 ], [ %6263, %6262 ]
  store i32 %6265, ptr %40, align 4, !tbaa !9
  %6266 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6266, ptr %29, align 4, !tbaa !9
  %6267 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6267, ptr %40, align 4, !tbaa !9
  %6268 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6268, ptr %41, align 4, !tbaa !9
  %6269 = load i32, ptr %41, align 4, !tbaa !9
  %6270 = load i32, ptr %40, align 4, !tbaa !9
  %6271 = add i32 %6270, %6269
  store i32 %6271, ptr %40, align 4, !tbaa !9
  %6272 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6272, ptr %15, align 4, !tbaa !9
  %6273 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6273, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6274 = load i32, ptr %41, align 4, !tbaa !9
  %6275 = load i32, ptr %40, align 4, !tbaa !9
  %6276 = add i32 %6275, %6274
  store i32 %6276, ptr %40, align 4, !tbaa !9
  %6277 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6277, ptr %21, align 4, !tbaa !9
  %6278 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6278, ptr %40, align 4, !tbaa !9
  %6279 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6279, ptr %41, align 4, !tbaa !9
  %6280 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6280, ptr %42, align 4, !tbaa !9
  %6281 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6281, ptr %43, align 4, !tbaa !9
  %6282 = load i32, ptr %43, align 4, !tbaa !9
  %6283 = load i32, ptr %42, align 4, !tbaa !9
  %6284 = and i32 %6283, %6282
  store i32 %6284, ptr %42, align 4, !tbaa !9
  %6285 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6285, ptr %15, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %6286 = load i32, ptr %43, align 4, !tbaa !9
  %6287 = and i32 %6286, 31
  %6288 = load i32, ptr %42, align 4, !tbaa !9
  %6289 = shl i32 %6288, %6287
  store i32 %6289, ptr %42, align 4, !tbaa !9
  %6290 = load i32, ptr %42, align 4, !tbaa !9
  %6291 = load i32, ptr %41, align 4, !tbaa !9
  %6292 = add i32 %6291, %6290
  store i32 %6292, ptr %41, align 4, !tbaa !9
  %6293 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6293, ptr %27, align 4, !tbaa !9
  %6294 = load ptr, ptr %8, align 8, !tbaa !5
  %6295 = getelementptr inbounds %struct.w2c_hermes, ptr %6294, i32 0, i32 6
  %6296 = load i32, ptr %41, align 4, !tbaa !9
  %6297 = zext i32 %6296 to i64
  %6298 = call i32 @i32_load(ptr noundef %6295, i64 noundef %6297)
  store i32 %6298, ptr %41, align 4, !tbaa !9
  %6299 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6299, ptr %35, align 4, !tbaa !9
  %6300 = load i32, ptr %40, align 4, !tbaa !9
  %6301 = load i32, ptr %41, align 4, !tbaa !9
  %6302 = icmp ne i32 %6300, %6301
  %6303 = zext i1 %6302 to i32
  store i32 %6303, ptr %40, align 4, !tbaa !9
  %6304 = load i32, ptr %40, align 4, !tbaa !9
  %6305 = icmp ne i32 %6304, 0
  br i1 %6305, label %6306, label %6307

6306:                                             ; preds = %6264
  br label %6219

6307:                                             ; preds = %6264
  br label %6308

6308:                                             ; preds = %6307, %6237, %6215
  %6309 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6309, ptr %40, align 4, !tbaa !9
  %6310 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6310, ptr %41, align 4, !tbaa !9
  %6311 = load ptr, ptr %8, align 8, !tbaa !5
  %6312 = getelementptr inbounds %struct.w2c_hermes, ptr %6311, i32 0, i32 6
  %6313 = load i32, ptr %40, align 4, !tbaa !9
  %6314 = zext i32 %6313 to i64
  %6315 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6312, i64 noundef %6314, i32 noundef %6315)
  %6316 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6316, ptr %40, align 4, !tbaa !9
  %6317 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6317, ptr %41, align 4, !tbaa !9
  %6318 = load ptr, ptr %8, align 8, !tbaa !5
  %6319 = getelementptr inbounds %struct.w2c_hermes, ptr %6318, i32 0, i32 6
  %6320 = load i32, ptr %41, align 4, !tbaa !9
  %6321 = zext i32 %6320 to i64
  %6322 = add i64 %6321, 4
  %6323 = call i32 @i32_load(ptr noundef %6319, i64 noundef %6322)
  store i32 %6323, ptr %41, align 4, !tbaa !9
  %6324 = load ptr, ptr %8, align 8, !tbaa !5
  %6325 = getelementptr inbounds %struct.w2c_hermes, ptr %6324, i32 0, i32 6
  %6326 = load i32, ptr %40, align 4, !tbaa !9
  %6327 = zext i32 %6326 to i64
  %6328 = add i64 %6327, 4
  %6329 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6325, i64 noundef %6328, i32 noundef %6329)
  %6330 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6330, ptr %40, align 4, !tbaa !9
  %6331 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %6331, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %6332 = load i32, ptr %42, align 4, !tbaa !9
  %6333 = load i32, ptr %41, align 4, !tbaa !9
  %6334 = add i32 %6333, %6332
  store i32 %6334, ptr %41, align 4, !tbaa !9
  %6335 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6335, ptr %30, align 4, !tbaa !9
  %6336 = load ptr, ptr %8, align 8, !tbaa !5
  %6337 = getelementptr inbounds %struct.w2c_hermes, ptr %6336, i32 0, i32 6
  %6338 = load i32, ptr %40, align 4, !tbaa !9
  %6339 = zext i32 %6338 to i64
  %6340 = add i64 %6339, 24
  %6341 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6337, i64 noundef %6340, i32 noundef %6341)
  br label %6342

6342:                                             ; preds = %6308, %6166
  %6343 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6343, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %6344 = load i32, ptr %41, align 4, !tbaa !9
  %6345 = load i32, ptr %40, align 4, !tbaa !9
  %6346 = add i32 %6345, %6344
  store i32 %6346, ptr %40, align 4, !tbaa !9
  %6347 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6347, ptr %10, align 4, !tbaa !9
  %6348 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6348, ptr %41, align 4, !tbaa !9
  %6349 = load i32, ptr %40, align 4, !tbaa !9
  %6350 = load i32, ptr %41, align 4, !tbaa !9
  %6351 = icmp ne i32 %6349, %6350
  %6352 = zext i1 %6351 to i32
  store i32 %6352, ptr %40, align 4, !tbaa !9
  %6353 = load i32, ptr %40, align 4, !tbaa !9
  %6354 = icmp ne i32 %6353, 0
  br i1 %6354, label %6355, label %6356

6355:                                             ; preds = %6342
  br label %6166

6356:                                             ; preds = %6342
  br label %6357

6357:                                             ; preds = %6356, %6138
  %6358 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6358, ptr %40, align 4, !tbaa !9
  %6359 = load ptr, ptr %8, align 8, !tbaa !5
  %6360 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %6359, i32 noundef %6360)
  br label %6361

6361:                                             ; preds = %6357, %5981, %5900, %5848
  %6362 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6362, ptr %40, align 4, !tbaa !9
  %6363 = load ptr, ptr %8, align 8, !tbaa !5
  %6364 = getelementptr inbounds %struct.w2c_hermes, ptr %6363, i32 0, i32 6
  %6365 = load i32, ptr %40, align 4, !tbaa !9
  %6366 = zext i32 %6365 to i64
  %6367 = add i64 %6366, 32
  %6368 = call i32 @i32_load(ptr noundef %6364, i64 noundef %6367)
  store i32 %6368, ptr %40, align 4, !tbaa !9
  %6369 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6369, ptr %10, align 4, !tbaa !9
  %6370 = load i32, ptr %40, align 4, !tbaa !9
  %6371 = icmp ne i32 %6370, 0
  %6372 = xor i1 %6371, true
  %6373 = zext i1 %6372 to i32
  store i32 %6373, ptr %40, align 4, !tbaa !9
  %6374 = load i32, ptr %40, align 4, !tbaa !9
  %6375 = icmp ne i32 %6374, 0
  br i1 %6375, label %6376, label %6378

6376:                                             ; preds = %6361
  store i32 0, ptr %40, align 4, !tbaa !9
  %6377 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6377, ptr %10, align 4, !tbaa !9
  br label %6521

6378:                                             ; preds = %6361
  %6379 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6379, ptr %40, align 4, !tbaa !9
  %6380 = load ptr, ptr %8, align 8, !tbaa !5
  %6381 = getelementptr inbounds %struct.w2c_hermes, ptr %6380, i32 0, i32 6
  %6382 = load i32, ptr %40, align 4, !tbaa !9
  %6383 = zext i32 %6382 to i64
  %6384 = add i64 %6383, 24
  %6385 = call i32 @i32_load(ptr noundef %6381, i64 noundef %6384)
  store i32 %6385, ptr %40, align 4, !tbaa !9
  %6386 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6386, ptr %15, align 4, !tbaa !9
  %6387 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6387, ptr %41, align 4, !tbaa !9
  %6388 = load ptr, ptr %8, align 8, !tbaa !5
  %6389 = getelementptr inbounds %struct.w2c_hermes, ptr %6388, i32 0, i32 6
  %6390 = load i32, ptr %41, align 4, !tbaa !9
  %6391 = zext i32 %6390 to i64
  %6392 = add i64 %6391, 20
  %6393 = call i32 @i32_load(ptr noundef %6389, i64 noundef %6392)
  store i32 %6393, ptr %41, align 4, !tbaa !9
  %6394 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6394, ptr %16, align 4, !tbaa !9
  %6395 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6395, ptr %42, align 4, !tbaa !9
  store i32 1, ptr %43, align 4, !tbaa !9
  %6396 = load i32, ptr %43, align 4, !tbaa !9
  %6397 = load i32, ptr %42, align 4, !tbaa !9
  %6398 = sub i32 %6397, %6396
  store i32 %6398, ptr %42, align 4, !tbaa !9
  %6399 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6399, ptr %12, align 4, !tbaa !9
  %6400 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6400, ptr %43, align 4, !tbaa !9
  store i32 37, ptr %44, align 4, !tbaa !9
  %6401 = load i32, ptr %44, align 4, !tbaa !9
  %6402 = load i32, ptr %43, align 4, !tbaa !9
  %6403 = mul i32 %6402, %6401
  store i32 %6403, ptr %43, align 4, !tbaa !9
  %6404 = load i32, ptr %43, align 4, !tbaa !9
  %6405 = load i32, ptr %42, align 4, !tbaa !9
  %6406 = and i32 %6405, %6404
  store i32 %6406, ptr %42, align 4, !tbaa !9
  %6407 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6407, ptr %27, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %6408 = load i32, ptr %43, align 4, !tbaa !9
  %6409 = and i32 %6408, 31
  %6410 = load i32, ptr %42, align 4, !tbaa !9
  %6411 = shl i32 %6410, %6409
  store i32 %6411, ptr %42, align 4, !tbaa !9
  %6412 = load i32, ptr %42, align 4, !tbaa !9
  %6413 = load i32, ptr %41, align 4, !tbaa !9
  %6414 = add i32 %6413, %6412
  store i32 %6414, ptr %41, align 4, !tbaa !9
  %6415 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6415, ptr %10, align 4, !tbaa !9
  %6416 = load ptr, ptr %8, align 8, !tbaa !5
  %6417 = getelementptr inbounds %struct.w2c_hermes, ptr %6416, i32 0, i32 6
  %6418 = load i32, ptr %41, align 4, !tbaa !9
  %6419 = zext i32 %6418 to i64
  %6420 = call i32 @i32_load(ptr noundef %6417, i64 noundef %6419)
  store i32 %6420, ptr %41, align 4, !tbaa !9
  %6421 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6421, ptr %29, align 4, !tbaa !9
  %6422 = load i32, ptr %40, align 4, !tbaa !9
  %6423 = load i32, ptr %41, align 4, !tbaa !9
  %6424 = icmp eq i32 %6422, %6423
  %6425 = zext i1 %6424 to i32
  store i32 %6425, ptr %40, align 4, !tbaa !9
  %6426 = load i32, ptr %40, align 4, !tbaa !9
  %6427 = icmp ne i32 %6426, 0
  br i1 %6427, label %6428, label %6429

6428:                                             ; preds = %6378
  br label %6521

6429:                                             ; preds = %6378
  store i32 1, ptr %40, align 4, !tbaa !9
  %6430 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6430, ptr %20, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  %6431 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6431, ptr %21, align 4, !tbaa !9
  br label %6432

6432:                                             ; preds = %6519, %6429
  %6433 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6433, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6434 = load i32, ptr %40, align 4, !tbaa !9
  %6435 = load i32, ptr %41, align 4, !tbaa !9
  %6436 = icmp eq i32 %6434, %6435
  %6437 = zext i1 %6436 to i32
  store i32 %6437, ptr %40, align 4, !tbaa !9
  %6438 = load i32, ptr %40, align 4, !tbaa !9
  %6439 = icmp ne i32 %6438, 0
  br i1 %6439, label %6440, label %6453

6440:                                             ; preds = %6432
  %6441 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6441, ptr %40, align 4, !tbaa !9
  %6442 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6442, ptr %41, align 4, !tbaa !9
  %6443 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6443, ptr %42, align 4, !tbaa !9
  %6444 = load i32, ptr %42, align 4, !tbaa !9
  %6445 = icmp ne i32 %6444, 0
  br i1 %6445, label %6446, label %6448

6446:                                             ; preds = %6440
  %6447 = load i32, ptr %40, align 4, !tbaa !9
  br label %6450

6448:                                             ; preds = %6440
  %6449 = load i32, ptr %41, align 4, !tbaa !9
  br label %6450

6450:                                             ; preds = %6448, %6446
  %6451 = phi i32 [ %6447, %6446 ], [ %6449, %6448 ]
  store i32 %6451, ptr %40, align 4, !tbaa !9
  %6452 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6452, ptr %10, align 4, !tbaa !9
  br label %6521

6453:                                             ; preds = %6432
  %6454 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6454, ptr %40, align 4, !tbaa !9
  %6455 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6455, ptr %41, align 4, !tbaa !9
  %6456 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6456, ptr %42, align 4, !tbaa !9
  %6457 = load i32, ptr %42, align 4, !tbaa !9
  %6458 = icmp ne i32 %6457, 0
  br i1 %6458, label %6459, label %6461

6459:                                             ; preds = %6453
  %6460 = load i32, ptr %40, align 4, !tbaa !9
  br label %6463

6461:                                             ; preds = %6453
  %6462 = load i32, ptr %41, align 4, !tbaa !9
  br label %6463

6463:                                             ; preds = %6461, %6459
  %6464 = phi i32 [ %6460, %6459 ], [ %6462, %6461 ]
  store i32 %6464, ptr %40, align 4, !tbaa !9
  %6465 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6465, ptr %41, align 4, !tbaa !9
  %6466 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %6466, ptr %42, align 4, !tbaa !9
  store i32 536870910, ptr %43, align 4, !tbaa !9
  %6467 = load i32, ptr %42, align 4, !tbaa !9
  %6468 = load i32, ptr %43, align 4, !tbaa !9
  %6469 = icmp eq i32 %6467, %6468
  %6470 = zext i1 %6469 to i32
  store i32 %6470, ptr %42, align 4, !tbaa !9
  %6471 = load i32, ptr %42, align 4, !tbaa !9
  %6472 = icmp ne i32 %6471, 0
  br i1 %6472, label %6473, label %6475

6473:                                             ; preds = %6463
  %6474 = load i32, ptr %40, align 4, !tbaa !9
  br label %6477

6475:                                             ; preds = %6463
  %6476 = load i32, ptr %41, align 4, !tbaa !9
  br label %6477

6477:                                             ; preds = %6475, %6473
  %6478 = phi i32 [ %6474, %6473 ], [ %6476, %6475 ]
  store i32 %6478, ptr %40, align 4, !tbaa !9
  %6479 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6479, ptr %21, align 4, !tbaa !9
  %6480 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6480, ptr %40, align 4, !tbaa !9
  %6481 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %6481, ptr %41, align 4, !tbaa !9
  %6482 = load i32, ptr %41, align 4, !tbaa !9
  %6483 = load i32, ptr %40, align 4, !tbaa !9
  %6484 = add i32 %6483, %6482
  store i32 %6484, ptr %40, align 4, !tbaa !9
  %6485 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6485, ptr %10, align 4, !tbaa !9
  %6486 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6486, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6487 = load i32, ptr %41, align 4, !tbaa !9
  %6488 = load i32, ptr %40, align 4, !tbaa !9
  %6489 = add i32 %6488, %6487
  store i32 %6489, ptr %40, align 4, !tbaa !9
  %6490 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6490, ptr %20, align 4, !tbaa !9
  %6491 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6491, ptr %40, align 4, !tbaa !9
  %6492 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6492, ptr %41, align 4, !tbaa !9
  %6493 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6493, ptr %42, align 4, !tbaa !9
  %6494 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6494, ptr %43, align 4, !tbaa !9
  %6495 = load i32, ptr %43, align 4, !tbaa !9
  %6496 = load i32, ptr %42, align 4, !tbaa !9
  %6497 = and i32 %6496, %6495
  store i32 %6497, ptr %42, align 4, !tbaa !9
  %6498 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6498, ptr %27, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %6499 = load i32, ptr %43, align 4, !tbaa !9
  %6500 = and i32 %6499, 31
  %6501 = load i32, ptr %42, align 4, !tbaa !9
  %6502 = shl i32 %6501, %6500
  store i32 %6502, ptr %42, align 4, !tbaa !9
  %6503 = load i32, ptr %42, align 4, !tbaa !9
  %6504 = load i32, ptr %41, align 4, !tbaa !9
  %6505 = add i32 %6504, %6503
  store i32 %6505, ptr %41, align 4, !tbaa !9
  %6506 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6506, ptr %10, align 4, !tbaa !9
  %6507 = load ptr, ptr %8, align 8, !tbaa !5
  %6508 = getelementptr inbounds %struct.w2c_hermes, ptr %6507, i32 0, i32 6
  %6509 = load i32, ptr %41, align 4, !tbaa !9
  %6510 = zext i32 %6509 to i64
  %6511 = call i32 @i32_load(ptr noundef %6508, i64 noundef %6510)
  store i32 %6511, ptr %41, align 4, !tbaa !9
  %6512 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6512, ptr %29, align 4, !tbaa !9
  %6513 = load i32, ptr %40, align 4, !tbaa !9
  %6514 = load i32, ptr %41, align 4, !tbaa !9
  %6515 = icmp ne i32 %6513, %6514
  %6516 = zext i1 %6515 to i32
  store i32 %6516, ptr %40, align 4, !tbaa !9
  %6517 = load i32, ptr %40, align 4, !tbaa !9
  %6518 = icmp ne i32 %6517, 0
  br i1 %6518, label %6519, label %6520

6519:                                             ; preds = %6477
  br label %6432

6520:                                             ; preds = %6477
  br label %6521

6521:                                             ; preds = %6520, %6450, %6428, %6376, %5704
  %6522 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6522, ptr %40, align 4, !tbaa !9
  %6523 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6523, ptr %41, align 4, !tbaa !9
  %6524 = load ptr, ptr %8, align 8, !tbaa !5
  %6525 = getelementptr inbounds %struct.w2c_hermes, ptr %6524, i32 0, i32 6
  %6526 = load i32, ptr %41, align 4, !tbaa !9
  %6527 = zext i32 %6526 to i64
  %6528 = add i64 %6527, 24
  %6529 = call i32 @i32_load(ptr noundef %6525, i64 noundef %6528)
  store i32 %6529, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %6530 = load i32, ptr %42, align 4, !tbaa !9
  %6531 = load i32, ptr %41, align 4, !tbaa !9
  %6532 = add i32 %6531, %6530
  store i32 %6532, ptr %41, align 4, !tbaa !9
  %6533 = load ptr, ptr %8, align 8, !tbaa !5
  %6534 = getelementptr inbounds %struct.w2c_hermes, ptr %6533, i32 0, i32 6
  %6535 = load i32, ptr %40, align 4, !tbaa !9
  %6536 = zext i32 %6535 to i64
  %6537 = add i64 %6536, 24
  %6538 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6534, i64 noundef %6537, i32 noundef %6538)
  %6539 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6539, ptr %40, align 4, !tbaa !9
  %6540 = load ptr, ptr %8, align 8, !tbaa !5
  %6541 = getelementptr inbounds %struct.w2c_hermes, ptr %6540, i32 0, i32 6
  %6542 = load i32, ptr %40, align 4, !tbaa !9
  %6543 = zext i32 %6542 to i64
  %6544 = call i32 @i32_load(ptr noundef %6541, i64 noundef %6543)
  store i32 %6544, ptr %40, align 4, !tbaa !9
  store i32 536870911, ptr %41, align 4, !tbaa !9
  %6545 = load i32, ptr %40, align 4, !tbaa !9
  %6546 = load i32, ptr %41, align 4, !tbaa !9
  %6547 = icmp ne i32 %6545, %6546
  %6548 = zext i1 %6547 to i32
  store i32 %6548, ptr %40, align 4, !tbaa !9
  %6549 = load i32, ptr %40, align 4, !tbaa !9
  %6550 = icmp ne i32 %6549, 0
  br i1 %6550, label %6551, label %6569

6551:                                             ; preds = %6521
  %6552 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6552, ptr %40, align 4, !tbaa !9
  %6553 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6553, ptr %41, align 4, !tbaa !9
  %6554 = load ptr, ptr %8, align 8, !tbaa !5
  %6555 = getelementptr inbounds %struct.w2c_hermes, ptr %6554, i32 0, i32 6
  %6556 = load i32, ptr %41, align 4, !tbaa !9
  %6557 = zext i32 %6556 to i64
  %6558 = add i64 %6557, 28
  %6559 = call i32 @i32_load(ptr noundef %6555, i64 noundef %6558)
  store i32 %6559, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %6560 = load i32, ptr %42, align 4, !tbaa !9
  %6561 = load i32, ptr %41, align 4, !tbaa !9
  %6562 = sub i32 %6561, %6560
  store i32 %6562, ptr %41, align 4, !tbaa !9
  %6563 = load ptr, ptr %8, align 8, !tbaa !5
  %6564 = getelementptr inbounds %struct.w2c_hermes, ptr %6563, i32 0, i32 6
  %6565 = load i32, ptr %40, align 4, !tbaa !9
  %6566 = zext i32 %6565 to i64
  %6567 = add i64 %6566, 28
  %6568 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6564, i64 noundef %6567, i32 noundef %6568)
  br label %6569

6569:                                             ; preds = %6551, %6521
  %6570 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6570, ptr %40, align 4, !tbaa !9
  %6571 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6571, ptr %41, align 4, !tbaa !9
  %6572 = load ptr, ptr %8, align 8, !tbaa !5
  %6573 = getelementptr inbounds %struct.w2c_hermes, ptr %6572, i32 0, i32 6
  %6574 = load i32, ptr %41, align 4, !tbaa !9
  %6575 = zext i32 %6574 to i64
  %6576 = add i64 %6575, 24
  %6577 = call i32 @i32_load(ptr noundef %6573, i64 noundef %6576)
  store i32 %6577, ptr %41, align 4, !tbaa !9
  %6578 = load ptr, ptr %8, align 8, !tbaa !5
  %6579 = getelementptr inbounds %struct.w2c_hermes, ptr %6578, i32 0, i32 6
  %6580 = load i32, ptr %40, align 4, !tbaa !9
  %6581 = zext i32 %6580 to i64
  %6582 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6579, i64 noundef %6581, i32 noundef %6582)
  %6583 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6583, ptr %40, align 4, !tbaa !9
  %6584 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6584, ptr %41, align 4, !tbaa !9
  %6585 = load ptr, ptr %8, align 8, !tbaa !5
  %6586 = getelementptr inbounds %struct.w2c_hermes, ptr %6585, i32 0, i32 6
  %6587 = load i32, ptr %41, align 4, !tbaa !9
  %6588 = zext i32 %6587 to i64
  %6589 = add i64 %6588, 72
  %6590 = call i32 @i32_load(ptr noundef %6586, i64 noundef %6589)
  store i32 %6590, ptr %41, align 4, !tbaa !9
  %6591 = load ptr, ptr %8, align 8, !tbaa !5
  %6592 = getelementptr inbounds %struct.w2c_hermes, ptr %6591, i32 0, i32 6
  %6593 = load i32, ptr %40, align 4, !tbaa !9
  %6594 = zext i32 %6593 to i64
  %6595 = add i64 %6594, 4
  %6596 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6592, i64 noundef %6595, i32 noundef %6596)
  %6597 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6597, ptr %40, align 4, !tbaa !9
  %6598 = load ptr, ptr %8, align 8, !tbaa !5
  %6599 = getelementptr inbounds %struct.w2c_hermes, ptr %6598, i32 0, i32 6
  %6600 = load i32, ptr %40, align 4, !tbaa !9
  %6601 = zext i32 %6600 to i64
  %6602 = call i32 @i32_load(ptr noundef %6599, i64 noundef %6601)
  store i32 %6602, ptr %40, align 4, !tbaa !9
  %6603 = load ptr, ptr %8, align 8, !tbaa !5
  %6604 = getelementptr inbounds %struct.w2c_hermes, ptr %6603, i32 0, i32 6
  %6605 = load i32, ptr %40, align 4, !tbaa !9
  %6606 = zext i32 %6605 to i64
  %6607 = add i64 %6606, 24
  %6608 = call i32 @i32_load(ptr noundef %6604, i64 noundef %6607)
  store i32 %6608, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6609 = load i32, ptr %41, align 4, !tbaa !9
  %6610 = load i32, ptr %40, align 4, !tbaa !9
  %6611 = sub i32 %6610, %6609
  store i32 %6611, ptr %40, align 4, !tbaa !9
  %6612 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6612, ptr %20, align 4, !tbaa !9
  %6613 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6613, ptr %40, align 4, !tbaa !9
  %6614 = load ptr, ptr %8, align 8, !tbaa !5
  %6615 = getelementptr inbounds %struct.w2c_hermes, ptr %6614, i32 0, i32 6
  %6616 = load i32, ptr %40, align 4, !tbaa !9
  %6617 = zext i32 %6616 to i64
  %6618 = add i64 %6617, 4
  %6619 = call i64 @i64_load32_u(ptr noundef %6615, i64 noundef %6618)
  store i64 %6619, ptr %48, align 8, !tbaa !11
  %6620 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %6620, ptr %37, align 8, !tbaa !11
  %6621 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6621, ptr %40, align 4, !tbaa !9
  %6622 = load ptr, ptr %8, align 8, !tbaa !5
  %6623 = getelementptr inbounds %struct.w2c_hermes, ptr %6622, i32 0, i32 6
  %6624 = load i32, ptr %40, align 4, !tbaa !9
  %6625 = zext i32 %6624 to i64
  %6626 = add i64 %6625, 56
  %6627 = call i32 @i32_load8_u(ptr noundef %6623, i64 noundef %6626)
  store i32 %6627, ptr %40, align 4, !tbaa !9
  %6628 = load i32, ptr %40, align 4, !tbaa !9
  %6629 = icmp ne i32 %6628, 0
  %6630 = xor i1 %6629, true
  %6631 = zext i1 %6630 to i32
  store i32 %6631, ptr %40, align 4, !tbaa !9
  %6632 = load i32, ptr %40, align 4, !tbaa !9
  %6633 = icmp ne i32 %6632, 0
  br i1 %6633, label %6634, label %6650

6634:                                             ; preds = %6569
  %6635 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6635, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6636 = load ptr, ptr %8, align 8, !tbaa !5
  %6637 = getelementptr inbounds %struct.w2c_hermes, ptr %6636, i32 0, i32 6
  %6638 = load i32, ptr %40, align 4, !tbaa !9
  %6639 = zext i32 %6638 to i64
  %6640 = add i64 %6639, 56
  %6641 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %6637, i64 noundef %6640, i32 noundef %6641)
  %6642 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6642, ptr %40, align 4, !tbaa !9
  %6643 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6643, ptr %41, align 4, !tbaa !9
  %6644 = load ptr, ptr %8, align 8, !tbaa !5
  %6645 = getelementptr inbounds %struct.w2c_hermes, ptr %6644, i32 0, i32 6
  %6646 = load i32, ptr %40, align 4, !tbaa !9
  %6647 = zext i32 %6646 to i64
  %6648 = add i64 %6647, 52
  %6649 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6645, i64 noundef %6648, i32 noundef %6649)
  br label %6650

6650:                                             ; preds = %6634, %6569
  %6651 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6651, ptr %40, align 4, !tbaa !9
  %6652 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6652, ptr %12, align 4, !tbaa !9
  %6653 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %6653, ptr %40, align 4, !tbaa !9
  %6654 = load ptr, ptr %8, align 8, !tbaa !5
  %6655 = getelementptr inbounds %struct.w2c_hermes, ptr %6654, i32 0, i32 6
  %6656 = load i32, ptr %40, align 4, !tbaa !9
  %6657 = zext i32 %6656 to i64
  %6658 = add i64 %6657, 1356
  %6659 = call i32 @i32_load(ptr noundef %6655, i64 noundef %6658)
  store i32 %6659, ptr %40, align 4, !tbaa !9
  %6660 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6660, ptr %10, align 4, !tbaa !9
  %6661 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6661, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6662 = load i32, ptr %42, align 4, !tbaa !9
  %6663 = load i32, ptr %41, align 4, !tbaa !9
  %6664 = mul i32 %6663, %6662
  store i32 %6664, ptr %41, align 4, !tbaa !9
  %6665 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6665, ptr %16, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6666 = load i32, ptr %42, align 4, !tbaa !9
  %6667 = and i32 %6666, 31
  %6668 = load i32, ptr %41, align 4, !tbaa !9
  %6669 = shl i32 %6668, %6667
  store i32 %6669, ptr %41, align 4, !tbaa !9
  %6670 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6670, ptr %25, align 4, !tbaa !9
  %6671 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6671, ptr %42, align 4, !tbaa !9
  %6672 = load ptr, ptr %8, align 8, !tbaa !5
  %6673 = getelementptr inbounds %struct.w2c_hermes, ptr %6672, i32 0, i32 6
  %6674 = load i32, ptr %42, align 4, !tbaa !9
  %6675 = zext i32 %6674 to i64
  %6676 = add i64 %6675, 68
  %6677 = call i32 @i32_load(ptr noundef %6673, i64 noundef %6676)
  store i32 %6677, ptr %42, align 4, !tbaa !9
  %6678 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %6678, ptr %21, align 4, !tbaa !9
  %6679 = load ptr, ptr %8, align 8, !tbaa !5
  %6680 = getelementptr inbounds %struct.w2c_hermes, ptr %6679, i32 0, i32 6
  %6681 = load i32, ptr %42, align 4, !tbaa !9
  %6682 = zext i32 %6681 to i64
  %6683 = call i32 @i32_load(ptr noundef %6680, i64 noundef %6682)
  store i32 %6683, ptr %42, align 4, !tbaa !9
  %6684 = load i32, ptr %42, align 4, !tbaa !9
  %6685 = load i32, ptr %41, align 4, !tbaa !9
  %6686 = add i32 %6685, %6684
  store i32 %6686, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %6687 = load i32, ptr %42, align 4, !tbaa !9
  %6688 = load i32, ptr %41, align 4, !tbaa !9
  %6689 = add i32 %6688, %6687
  store i32 %6689, ptr %41, align 4, !tbaa !9
  %6690 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6690, ptr %15, align 4, !tbaa !9
  store i32 -4194304, ptr %42, align 4, !tbaa !9
  %6691 = load i32, ptr %42, align 4, !tbaa !9
  %6692 = load i32, ptr %41, align 4, !tbaa !9
  %6693 = and i32 %6692, %6691
  store i32 %6693, ptr %41, align 4, !tbaa !9
  %6694 = load i32, ptr %40, align 4, !tbaa !9
  %6695 = load i32, ptr %41, align 4, !tbaa !9
  %6696 = icmp ne i32 %6694, %6695
  %6697 = zext i1 %6696 to i32
  store i32 %6697, ptr %40, align 4, !tbaa !9
  %6698 = load i32, ptr %40, align 4, !tbaa !9
  %6699 = icmp ne i32 %6698, 0
  br i1 %6699, label %6700, label %6723

6700:                                             ; preds = %6650
  %6701 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %6701, ptr %40, align 4, !tbaa !9
  %6702 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6702, ptr %41, align 4, !tbaa !9
  store i64 -1970324836974592, ptr %50, align 8, !tbaa !11
  %6703 = load ptr, ptr %8, align 8, !tbaa !5
  %6704 = load i32, ptr %40, align 4, !tbaa !9
  %6705 = load i32, ptr %41, align 4, !tbaa !9
  %6706 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %6703, i32 noundef %6704, i32 noundef %6705, i64 noundef %6706)
  %6707 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6707, ptr %40, align 4, !tbaa !9
  %6708 = load ptr, ptr %8, align 8, !tbaa !5
  %6709 = getelementptr inbounds %struct.w2c_hermes, ptr %6708, i32 0, i32 6
  %6710 = load i32, ptr %40, align 4, !tbaa !9
  %6711 = zext i32 %6710 to i64
  %6712 = add i64 %6711, 68
  %6713 = call i32 @i32_load(ptr noundef %6709, i64 noundef %6712)
  store i32 %6713, ptr %40, align 4, !tbaa !9
  %6714 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6714, ptr %21, align 4, !tbaa !9
  %6715 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %6715, ptr %40, align 4, !tbaa !9
  %6716 = load ptr, ptr %8, align 8, !tbaa !5
  %6717 = getelementptr inbounds %struct.w2c_hermes, ptr %6716, i32 0, i32 6
  %6718 = load i32, ptr %40, align 4, !tbaa !9
  %6719 = zext i32 %6718 to i64
  %6720 = add i64 %6719, 1356
  %6721 = call i32 @i32_load(ptr noundef %6717, i64 noundef %6720)
  store i32 %6721, ptr %40, align 4, !tbaa !9
  %6722 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6722, ptr %10, align 4, !tbaa !9
  br label %6723

6723:                                             ; preds = %6700, %6650
  %6724 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6724, ptr %40, align 4, !tbaa !9
  store i64 -1970324836974592, ptr %49, align 8, !tbaa !11
  %6725 = load ptr, ptr %8, align 8, !tbaa !5
  %6726 = getelementptr inbounds %struct.w2c_hermes, ptr %6725, i32 0, i32 6
  %6727 = load i32, ptr %40, align 4, !tbaa !9
  %6728 = zext i32 %6727 to i64
  %6729 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6726, i64 noundef %6728, i64 noundef %6729)
  %6730 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6730, ptr %40, align 4, !tbaa !9
  %6731 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6731, ptr %41, align 4, !tbaa !9
  %6732 = load ptr, ptr %8, align 8, !tbaa !5
  %6733 = getelementptr inbounds %struct.w2c_hermes, ptr %6732, i32 0, i32 6
  %6734 = load i32, ptr %41, align 4, !tbaa !9
  %6735 = zext i32 %6734 to i64
  %6736 = call i32 @i32_load(ptr noundef %6733, i64 noundef %6735)
  store i32 %6736, ptr %41, align 4, !tbaa !9
  %6737 = load i32, ptr %41, align 4, !tbaa !9
  %6738 = load i32, ptr %40, align 4, !tbaa !9
  %6739 = add i32 %6738, %6737
  store i32 %6739, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %6740 = load i32, ptr %41, align 4, !tbaa !9
  %6741 = load i32, ptr %40, align 4, !tbaa !9
  %6742 = add i32 %6741, %6740
  store i32 %6742, ptr %40, align 4, !tbaa !9
  %6743 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6743, ptr %15, align 4, !tbaa !9
  store i32 -4194304, ptr %41, align 4, !tbaa !9
  %6744 = load i32, ptr %41, align 4, !tbaa !9
  %6745 = load i32, ptr %40, align 4, !tbaa !9
  %6746 = and i32 %6745, %6744
  store i32 %6746, ptr %40, align 4, !tbaa !9
  %6747 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6747, ptr %41, align 4, !tbaa !9
  %6748 = load i32, ptr %40, align 4, !tbaa !9
  %6749 = load i32, ptr %41, align 4, !tbaa !9
  %6750 = icmp ne i32 %6748, %6749
  %6751 = zext i1 %6750 to i32
  store i32 %6751, ptr %40, align 4, !tbaa !9
  %6752 = load i32, ptr %40, align 4, !tbaa !9
  %6753 = icmp ne i32 %6752, 0
  br i1 %6753, label %6754, label %6777

6754:                                             ; preds = %6723
  %6755 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %6755, ptr %40, align 4, !tbaa !9
  %6756 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6756, ptr %41, align 4, !tbaa !9
  store i64 -1548112371908608, ptr %50, align 8, !tbaa !11
  %6757 = load ptr, ptr %8, align 8, !tbaa !5
  %6758 = load i32, ptr %40, align 4, !tbaa !9
  %6759 = load i32, ptr %41, align 4, !tbaa !9
  %6760 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %6757, i32 noundef %6758, i32 noundef %6759, i64 noundef %6760)
  %6761 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6761, ptr %40, align 4, !tbaa !9
  %6762 = load ptr, ptr %8, align 8, !tbaa !5
  %6763 = getelementptr inbounds %struct.w2c_hermes, ptr %6762, i32 0, i32 6
  %6764 = load i32, ptr %40, align 4, !tbaa !9
  %6765 = zext i32 %6764 to i64
  %6766 = add i64 %6765, 68
  %6767 = call i32 @i32_load(ptr noundef %6763, i64 noundef %6766)
  store i32 %6767, ptr %40, align 4, !tbaa !9
  %6768 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6768, ptr %21, align 4, !tbaa !9
  %6769 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %6769, ptr %40, align 4, !tbaa !9
  %6770 = load ptr, ptr %8, align 8, !tbaa !5
  %6771 = getelementptr inbounds %struct.w2c_hermes, ptr %6770, i32 0, i32 6
  %6772 = load i32, ptr %40, align 4, !tbaa !9
  %6773 = zext i32 %6772 to i64
  %6774 = add i64 %6773, 1356
  %6775 = call i32 @i32_load(ptr noundef %6771, i64 noundef %6774)
  store i32 %6775, ptr %40, align 4, !tbaa !9
  %6776 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6776, ptr %10, align 4, !tbaa !9
  br label %6777

6777:                                             ; preds = %6754, %6723
  %6778 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6778, ptr %40, align 4, !tbaa !9
  store i64 -1548112371908608, ptr %49, align 8, !tbaa !11
  %6779 = load ptr, ptr %8, align 8, !tbaa !5
  %6780 = getelementptr inbounds %struct.w2c_hermes, ptr %6779, i32 0, i32 6
  %6781 = load i32, ptr %40, align 4, !tbaa !9
  %6782 = zext i32 %6781 to i64
  %6783 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6780, i64 noundef %6782, i64 noundef %6783)
  %6784 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %6784, ptr %48, align 8, !tbaa !11
  store i64 -1125899906842624, ptr %49, align 8, !tbaa !11
  %6785 = load i64, ptr %49, align 8, !tbaa !11
  %6786 = load i64, ptr %48, align 8, !tbaa !11
  %6787 = or i64 %6786, %6785
  store i64 %6787, ptr %48, align 8, !tbaa !11
  %6788 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %6788, ptr %37, align 8, !tbaa !11
  %6789 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6789, ptr %40, align 4, !tbaa !9
  %6790 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6790, ptr %41, align 4, !tbaa !9
  %6791 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %6791, ptr %42, align 4, !tbaa !9
  %6792 = load ptr, ptr %8, align 8, !tbaa !5
  %6793 = getelementptr inbounds %struct.w2c_hermes, ptr %6792, i32 0, i32 6
  %6794 = load i32, ptr %42, align 4, !tbaa !9
  %6795 = zext i32 %6794 to i64
  %6796 = call i32 @i32_load(ptr noundef %6793, i64 noundef %6795)
  store i32 %6796, ptr %42, align 4, !tbaa !9
  %6797 = load i32, ptr %42, align 4, !tbaa !9
  %6798 = load i32, ptr %41, align 4, !tbaa !9
  %6799 = add i32 %6798, %6797
  store i32 %6799, ptr %41, align 4, !tbaa !9
  store i32 24, ptr %42, align 4, !tbaa !9
  %6800 = load i32, ptr %42, align 4, !tbaa !9
  %6801 = load i32, ptr %41, align 4, !tbaa !9
  %6802 = add i32 %6801, %6800
  store i32 %6802, ptr %41, align 4, !tbaa !9
  %6803 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6803, ptr %15, align 4, !tbaa !9
  store i32 -4194304, ptr %42, align 4, !tbaa !9
  %6804 = load i32, ptr %42, align 4, !tbaa !9
  %6805 = load i32, ptr %41, align 4, !tbaa !9
  %6806 = and i32 %6805, %6804
  store i32 %6806, ptr %41, align 4, !tbaa !9
  %6807 = load i32, ptr %40, align 4, !tbaa !9
  %6808 = load i32, ptr %41, align 4, !tbaa !9
  %6809 = icmp ne i32 %6807, %6808
  %6810 = zext i1 %6809 to i32
  store i32 %6810, ptr %40, align 4, !tbaa !9
  %6811 = load i32, ptr %40, align 4, !tbaa !9
  %6812 = icmp ne i32 %6811, 0
  br i1 %6812, label %6813, label %6821

6813:                                             ; preds = %6777
  %6814 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %6814, ptr %40, align 4, !tbaa !9
  %6815 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6815, ptr %41, align 4, !tbaa !9
  %6816 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %6816, ptr %50, align 8, !tbaa !11
  %6817 = load ptr, ptr %8, align 8, !tbaa !5
  %6818 = load i32, ptr %40, align 4, !tbaa !9
  %6819 = load i32, ptr %41, align 4, !tbaa !9
  %6820 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %6817, i32 noundef %6818, i32 noundef %6819, i64 noundef %6820)
  br label %6821

6821:                                             ; preds = %6813, %6777
  %6822 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6822, ptr %40, align 4, !tbaa !9
  %6823 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %6823, ptr %49, align 8, !tbaa !11
  %6824 = load ptr, ptr %8, align 8, !tbaa !5
  %6825 = getelementptr inbounds %struct.w2c_hermes, ptr %6824, i32 0, i32 6
  %6826 = load i32, ptr %40, align 4, !tbaa !9
  %6827 = zext i32 %6826 to i64
  %6828 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6825, i64 noundef %6827, i64 noundef %6828)
  %6829 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6829, ptr %40, align 4, !tbaa !9
  %6830 = load ptr, ptr %8, align 8, !tbaa !5
  %6831 = getelementptr inbounds %struct.w2c_hermes, ptr %6830, i32 0, i32 6
  %6832 = load i32, ptr %40, align 4, !tbaa !9
  %6833 = zext i32 %6832 to i64
  %6834 = add i64 %6833, 8
  %6835 = call i32 @i32_load(ptr noundef %6831, i64 noundef %6834)
  store i32 %6835, ptr %40, align 4, !tbaa !9
  %6836 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6836, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %6837 = load i32, ptr %42, align 4, !tbaa !9
  %6838 = and i32 %6837, 31
  %6839 = load i32, ptr %41, align 4, !tbaa !9
  %6840 = shl i32 %6839, %6838
  store i32 %6840, ptr %41, align 4, !tbaa !9
  %6841 = load i32, ptr %41, align 4, !tbaa !9
  %6842 = load i32, ptr %40, align 4, !tbaa !9
  %6843 = add i32 %6842, %6841
  store i32 %6843, ptr %40, align 4, !tbaa !9
  %6844 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6844, ptr %41, align 4, !tbaa !9
  %6845 = load ptr, ptr %8, align 8, !tbaa !5
  %6846 = getelementptr inbounds %struct.w2c_hermes, ptr %6845, i32 0, i32 6
  %6847 = load i32, ptr %40, align 4, !tbaa !9
  %6848 = zext i32 %6847 to i64
  %6849 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6846, i64 noundef %6848, i32 noundef %6849)
  %6850 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6850, ptr %40, align 4, !tbaa !9
  %6851 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6851, ptr %41, align 4, !tbaa !9
  %6852 = load ptr, ptr %8, align 8, !tbaa !5
  %6853 = getelementptr inbounds %struct.w2c_hermes, ptr %6852, i32 0, i32 6
  %6854 = load i32, ptr %40, align 4, !tbaa !9
  %6855 = zext i32 %6854 to i64
  %6856 = add i64 %6855, 4
  %6857 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6853, i64 noundef %6856, i32 noundef %6857)
  br label %6858

6858:                                             ; preds = %6821, %5633, %5541
  %6859 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %6859, ptr %40, align 4, !tbaa !9
  %6860 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6860, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %6861 = load i32, ptr %42, align 4, !tbaa !9
  %6862 = load i32, ptr %41, align 4, !tbaa !9
  %6863 = add i32 %6862, %6861
  store i32 %6863, ptr %41, align 4, !tbaa !9
  %6864 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6864, ptr %11, align 4, !tbaa !9
  %6865 = load i32, ptr %40, align 4, !tbaa !9
  %6866 = load i32, ptr %41, align 4, !tbaa !9
  %6867 = icmp ne i32 %6865, %6866
  %6868 = zext i1 %6867 to i32
  store i32 %6868, ptr %40, align 4, !tbaa !9
  %6869 = load i32, ptr %40, align 4, !tbaa !9
  %6870 = icmp ne i32 %6869, 0
  br i1 %6870, label %6871, label %6872

6871:                                             ; preds = %6858
  br label %5297

6872:                                             ; preds = %6858
  br label %6876

6873:                                             ; preds = %5020
  store i32 47421, ptr %40, align 4, !tbaa !9
  %6874 = load ptr, ptr %8, align 8, !tbaa !5
  %6875 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %6874, i32 noundef %6875)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6876:                                             ; preds = %6872
  %6877 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6877, ptr %40, align 4, !tbaa !9
  %6878 = load ptr, ptr %8, align 8, !tbaa !5
  %6879 = getelementptr inbounds %struct.w2c_hermes, ptr %6878, i32 0, i32 6
  %6880 = load i32, ptr %40, align 4, !tbaa !9
  %6881 = zext i32 %6880 to i64
  %6882 = add i64 %6881, 40
  %6883 = call i32 @i32_load(ptr noundef %6879, i64 noundef %6882)
  store i32 %6883, ptr %40, align 4, !tbaa !9
  %6884 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6884, ptr %11, align 4, !tbaa !9
  br label %6885

6885:                                             ; preds = %6876, %5273
  %6886 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6886, ptr %40, align 4, !tbaa !9
  %6887 = load ptr, ptr %8, align 8, !tbaa !5
  %6888 = getelementptr inbounds %struct.w2c_hermes, ptr %6887, i32 0, i32 6
  %6889 = load i32, ptr %40, align 4, !tbaa !9
  %6890 = zext i32 %6889 to i64
  %6891 = add i64 %6890, 116
  %6892 = call i32 @i32_load(ptr noundef %6888, i64 noundef %6891)
  store i32 %6892, ptr %40, align 4, !tbaa !9
  %6893 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6893, ptr %10, align 4, !tbaa !9
  %6894 = load i32, ptr %40, align 4, !tbaa !9
  %6895 = icmp ne i32 %6894, 0
  br i1 %6895, label %6896, label %7216

6896:                                             ; preds = %6885
  %6897 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6897, ptr %40, align 4, !tbaa !9
  %6898 = load ptr, ptr %8, align 8, !tbaa !5
  %6899 = getelementptr inbounds %struct.w2c_hermes, ptr %6898, i32 0, i32 6
  %6900 = load i32, ptr %40, align 4, !tbaa !9
  %6901 = zext i32 %6900 to i64
  %6902 = add i64 %6901, 112
  %6903 = call i32 @i32_load(ptr noundef %6899, i64 noundef %6902)
  store i32 %6903, ptr %40, align 4, !tbaa !9
  %6904 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6904, ptr %11, align 4, !tbaa !9
  %6905 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6905, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6906 = load i32, ptr %42, align 4, !tbaa !9
  %6907 = and i32 %6906, 31
  %6908 = load i32, ptr %41, align 4, !tbaa !9
  %6909 = shl i32 %6908, %6907
  store i32 %6909, ptr %41, align 4, !tbaa !9
  %6910 = load i32, ptr %41, align 4, !tbaa !9
  %6911 = load i32, ptr %40, align 4, !tbaa !9
  %6912 = add i32 %6911, %6910
  store i32 %6912, ptr %40, align 4, !tbaa !9
  %6913 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6913, ptr %15, align 4, !tbaa !9
  %6914 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %6914, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %6915 = load i32, ptr %41, align 4, !tbaa !9
  %6916 = load i32, ptr %40, align 4, !tbaa !9
  %6917 = add i32 %6916, %6915
  store i32 %6917, ptr %40, align 4, !tbaa !9
  %6918 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6918, ptr %20, align 4, !tbaa !9
  br label %6919

6919:                                             ; preds = %7214, %6896
  %6920 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %6920, ptr %40, align 4, !tbaa !9
  %6921 = load ptr, ptr %8, align 8, !tbaa !5
  %6922 = getelementptr inbounds %struct.w2c_hermes, ptr %6921, i32 0, i32 6
  %6923 = load i32, ptr %40, align 4, !tbaa !9
  %6924 = zext i32 %6923 to i64
  %6925 = add i64 %6924, 68
  %6926 = call i32 @i32_load(ptr noundef %6922, i64 noundef %6925)
  store i32 %6926, ptr %40, align 4, !tbaa !9
  %6927 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6927, ptr %10, align 4, !tbaa !9
  %6928 = load ptr, ptr %8, align 8, !tbaa !5
  %6929 = getelementptr inbounds %struct.w2c_hermes, ptr %6928, i32 0, i32 6
  %6930 = load i32, ptr %40, align 4, !tbaa !9
  %6931 = zext i32 %6930 to i64
  %6932 = call i32 @i32_load(ptr noundef %6929, i64 noundef %6931)
  store i32 %6932, ptr %40, align 4, !tbaa !9
  %6933 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %6933, ptr %30, align 4, !tbaa !9
  %6934 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6934, ptr %41, align 4, !tbaa !9
  %6935 = load ptr, ptr %8, align 8, !tbaa !5
  %6936 = getelementptr inbounds %struct.w2c_hermes, ptr %6935, i32 0, i32 6
  %6937 = load i32, ptr %41, align 4, !tbaa !9
  %6938 = zext i32 %6937 to i64
  %6939 = call i32 @i32_load(ptr noundef %6936, i64 noundef %6938)
  store i32 %6939, ptr %41, align 4, !tbaa !9
  %6940 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6940, ptr %24, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6941 = load i32, ptr %42, align 4, !tbaa !9
  %6942 = load i32, ptr %41, align 4, !tbaa !9
  %6943 = mul i32 %6942, %6941
  store i32 %6943, ptr %41, align 4, !tbaa !9
  %6944 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6944, ptr %12, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %6945 = load i32, ptr %42, align 4, !tbaa !9
  %6946 = load i32, ptr %41, align 4, !tbaa !9
  %6947 = add i32 %6946, %6945
  store i32 %6947, ptr %41, align 4, !tbaa !9
  store i32 3, ptr %42, align 4, !tbaa !9
  %6948 = load i32, ptr %42, align 4, !tbaa !9
  %6949 = and i32 %6948, 31
  %6950 = load i32, ptr %41, align 4, !tbaa !9
  %6951 = shl i32 %6950, %6949
  store i32 %6951, ptr %41, align 4, !tbaa !9
  %6952 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %6952, ptr %16, align 4, !tbaa !9
  %6953 = load i32, ptr %41, align 4, !tbaa !9
  %6954 = load i32, ptr %40, align 4, !tbaa !9
  %6955 = add i32 %6954, %6953
  store i32 %6955, ptr %40, align 4, !tbaa !9
  %6956 = load ptr, ptr %8, align 8, !tbaa !5
  %6957 = getelementptr inbounds %struct.w2c_hermes, ptr %6956, i32 0, i32 6
  %6958 = load i32, ptr %40, align 4, !tbaa !9
  %6959 = zext i32 %6958 to i64
  %6960 = add i64 %6959, 8
  %6961 = call i64 @i64_load(ptr noundef %6957, i64 noundef %6960)
  store i64 %6961, ptr %48, align 8, !tbaa !11
  store i64 47, ptr %49, align 8, !tbaa !11
  %6962 = load i64, ptr %48, align 8, !tbaa !11
  %6963 = load i64, ptr %49, align 8, !tbaa !11
  %6964 = and i64 %6963, 63
  %6965 = ashr i64 %6962, %6964
  store i64 %6965, ptr %48, align 8, !tbaa !11
  %6966 = load i64, ptr %48, align 8, !tbaa !11
  %6967 = trunc i64 %6966 to i32
  store i32 %6967, ptr %40, align 4, !tbaa !9
  store i32 -14, ptr %41, align 4, !tbaa !9
  %6968 = load i32, ptr %40, align 4, !tbaa !9
  %6969 = load i32, ptr %41, align 4, !tbaa !9
  %6970 = icmp eq i32 %6968, %6969
  %6971 = zext i1 %6970 to i32
  store i32 %6971, ptr %40, align 4, !tbaa !9
  %6972 = load i32, ptr %40, align 4, !tbaa !9
  %6973 = icmp ne i32 %6972, 0
  br i1 %6973, label %6974, label %7201

6974:                                             ; preds = %6919
  %6975 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6975, ptr %40, align 4, !tbaa !9
  %6976 = load ptr, ptr %8, align 8, !tbaa !5
  %6977 = getelementptr inbounds %struct.w2c_hermes, ptr %6976, i32 0, i32 6
  %6978 = load i32, ptr %40, align 4, !tbaa !9
  %6979 = zext i32 %6978 to i64
  %6980 = add i64 %6979, 4
  %6981 = call i64 @i64_load32_u(ptr noundef %6977, i64 noundef %6980)
  store i64 %6981, ptr %48, align 8, !tbaa !11
  %6982 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %6982, ptr %37, align 8, !tbaa !11
  %6983 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6983, ptr %40, align 4, !tbaa !9
  %6984 = load ptr, ptr %8, align 8, !tbaa !5
  %6985 = getelementptr inbounds %struct.w2c_hermes, ptr %6984, i32 0, i32 6
  %6986 = load i32, ptr %40, align 4, !tbaa !9
  %6987 = zext i32 %6986 to i64
  %6988 = add i64 %6987, 56
  %6989 = call i32 @i32_load8_u(ptr noundef %6985, i64 noundef %6988)
  store i32 %6989, ptr %40, align 4, !tbaa !9
  %6990 = load i32, ptr %40, align 4, !tbaa !9
  %6991 = icmp ne i32 %6990, 0
  %6992 = xor i1 %6991, true
  %6993 = zext i1 %6992 to i32
  store i32 %6993, ptr %40, align 4, !tbaa !9
  %6994 = load i32, ptr %40, align 4, !tbaa !9
  %6995 = icmp ne i32 %6994, 0
  br i1 %6995, label %6996, label %7019

6996:                                             ; preds = %6974
  %6997 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %6997, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %6998 = load ptr, ptr %8, align 8, !tbaa !5
  %6999 = getelementptr inbounds %struct.w2c_hermes, ptr %6998, i32 0, i32 6
  %7000 = load i32, ptr %40, align 4, !tbaa !9
  %7001 = zext i32 %7000 to i64
  %7002 = add i64 %7001, 56
  %7003 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %6999, i64 noundef %7002, i32 noundef %7003)
  %7004 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %7004, ptr %40, align 4, !tbaa !9
  %7005 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %7005, ptr %41, align 4, !tbaa !9
  %7006 = load ptr, ptr %8, align 8, !tbaa !5
  %7007 = getelementptr inbounds %struct.w2c_hermes, ptr %7006, i32 0, i32 6
  %7008 = load i32, ptr %40, align 4, !tbaa !9
  %7009 = zext i32 %7008 to i64
  %7010 = add i64 %7009, 52
  %7011 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7007, i64 noundef %7010, i32 noundef %7011)
  %7012 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7012, ptr %40, align 4, !tbaa !9
  %7013 = load ptr, ptr %8, align 8, !tbaa !5
  %7014 = getelementptr inbounds %struct.w2c_hermes, ptr %7013, i32 0, i32 6
  %7015 = load i32, ptr %40, align 4, !tbaa !9
  %7016 = zext i32 %7015 to i64
  %7017 = call i32 @i32_load(ptr noundef %7014, i64 noundef %7016)
  store i32 %7017, ptr %40, align 4, !tbaa !9
  %7018 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7018, ptr %30, align 4, !tbaa !9
  br label %7019

7019:                                             ; preds = %6996, %6974
  %7020 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %7020, ptr %40, align 4, !tbaa !9
  %7021 = load ptr, ptr %8, align 8, !tbaa !5
  %7022 = getelementptr inbounds %struct.w2c_hermes, ptr %7021, i32 0, i32 6
  %7023 = load i32, ptr %40, align 4, !tbaa !9
  %7024 = zext i32 %7023 to i64
  %7025 = add i64 %7024, 1356
  %7026 = call i32 @i32_load(ptr noundef %7022, i64 noundef %7025)
  store i32 %7026, ptr %40, align 4, !tbaa !9
  %7027 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7027, ptr %21, align 4, !tbaa !9
  %7028 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %7028, ptr %41, align 4, !tbaa !9
  %7029 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7029, ptr %42, align 4, !tbaa !9
  store i32 3, ptr %43, align 4, !tbaa !9
  %7030 = load i32, ptr %43, align 4, !tbaa !9
  %7031 = and i32 %7030, 31
  %7032 = load i32, ptr %42, align 4, !tbaa !9
  %7033 = shl i32 %7032, %7031
  store i32 %7033, ptr %42, align 4, !tbaa !9
  %7034 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %7034, ptr %12, align 4, !tbaa !9
  %7035 = load i32, ptr %42, align 4, !tbaa !9
  %7036 = load i32, ptr %41, align 4, !tbaa !9
  %7037 = add i32 %7036, %7035
  store i32 %7037, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %7038 = load i32, ptr %42, align 4, !tbaa !9
  %7039 = load i32, ptr %41, align 4, !tbaa !9
  %7040 = add i32 %7039, %7038
  store i32 %7040, ptr %41, align 4, !tbaa !9
  %7041 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %7041, ptr %25, align 4, !tbaa !9
  store i32 -4194304, ptr %42, align 4, !tbaa !9
  %7042 = load i32, ptr %42, align 4, !tbaa !9
  %7043 = load i32, ptr %41, align 4, !tbaa !9
  %7044 = and i32 %7043, %7042
  store i32 %7044, ptr %41, align 4, !tbaa !9
  %7045 = load i32, ptr %40, align 4, !tbaa !9
  %7046 = load i32, ptr %41, align 4, !tbaa !9
  %7047 = icmp ne i32 %7045, %7046
  %7048 = zext i1 %7047 to i32
  store i32 %7048, ptr %40, align 4, !tbaa !9
  %7049 = load i32, ptr %40, align 4, !tbaa !9
  %7050 = icmp ne i32 %7049, 0
  br i1 %7050, label %7051, label %7074

7051:                                             ; preds = %7019
  %7052 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7052, ptr %40, align 4, !tbaa !9
  %7053 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %7053, ptr %41, align 4, !tbaa !9
  store i64 -1970324836974592, ptr %50, align 8, !tbaa !11
  %7054 = load ptr, ptr %8, align 8, !tbaa !5
  %7055 = load i32, ptr %40, align 4, !tbaa !9
  %7056 = load i32, ptr %41, align 4, !tbaa !9
  %7057 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %7054, i32 noundef %7055, i32 noundef %7056, i64 noundef %7057)
  %7058 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %7058, ptr %40, align 4, !tbaa !9
  %7059 = load ptr, ptr %8, align 8, !tbaa !5
  %7060 = getelementptr inbounds %struct.w2c_hermes, ptr %7059, i32 0, i32 6
  %7061 = load i32, ptr %40, align 4, !tbaa !9
  %7062 = zext i32 %7061 to i64
  %7063 = add i64 %7062, 1356
  %7064 = call i32 @i32_load(ptr noundef %7060, i64 noundef %7063)
  store i32 %7064, ptr %40, align 4, !tbaa !9
  %7065 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7065, ptr %21, align 4, !tbaa !9
  %7066 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7066, ptr %40, align 4, !tbaa !9
  %7067 = load ptr, ptr %8, align 8, !tbaa !5
  %7068 = getelementptr inbounds %struct.w2c_hermes, ptr %7067, i32 0, i32 6
  %7069 = load i32, ptr %40, align 4, !tbaa !9
  %7070 = zext i32 %7069 to i64
  %7071 = add i64 %7070, 68
  %7072 = call i32 @i32_load(ptr noundef %7068, i64 noundef %7071)
  store i32 %7072, ptr %40, align 4, !tbaa !9
  %7073 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7073, ptr %10, align 4, !tbaa !9
  br label %7074

7074:                                             ; preds = %7051, %7019
  %7075 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %7075, ptr %40, align 4, !tbaa !9
  store i64 -1970324836974592, ptr %49, align 8, !tbaa !11
  %7076 = load ptr, ptr %8, align 8, !tbaa !5
  %7077 = getelementptr inbounds %struct.w2c_hermes, ptr %7076, i32 0, i32 6
  %7078 = load i32, ptr %40, align 4, !tbaa !9
  %7079 = zext i32 %7078 to i64
  %7080 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7077, i64 noundef %7079, i64 noundef %7080)
  %7081 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7081, ptr %40, align 4, !tbaa !9
  %7082 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7082, ptr %41, align 4, !tbaa !9
  %7083 = load ptr, ptr %8, align 8, !tbaa !5
  %7084 = getelementptr inbounds %struct.w2c_hermes, ptr %7083, i32 0, i32 6
  %7085 = load i32, ptr %41, align 4, !tbaa !9
  %7086 = zext i32 %7085 to i64
  %7087 = call i32 @i32_load(ptr noundef %7084, i64 noundef %7086)
  store i32 %7087, ptr %41, align 4, !tbaa !9
  %7088 = load i32, ptr %41, align 4, !tbaa !9
  %7089 = load i32, ptr %40, align 4, !tbaa !9
  %7090 = add i32 %7089, %7088
  store i32 %7090, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %7091 = load i32, ptr %41, align 4, !tbaa !9
  %7092 = load i32, ptr %40, align 4, !tbaa !9
  %7093 = add i32 %7092, %7091
  store i32 %7093, ptr %40, align 4, !tbaa !9
  %7094 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7094, ptr %12, align 4, !tbaa !9
  store i32 -4194304, ptr %41, align 4, !tbaa !9
  %7095 = load i32, ptr %41, align 4, !tbaa !9
  %7096 = load i32, ptr %40, align 4, !tbaa !9
  %7097 = and i32 %7096, %7095
  store i32 %7097, ptr %40, align 4, !tbaa !9
  %7098 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7098, ptr %41, align 4, !tbaa !9
  %7099 = load i32, ptr %40, align 4, !tbaa !9
  %7100 = load i32, ptr %41, align 4, !tbaa !9
  %7101 = icmp ne i32 %7099, %7100
  %7102 = zext i1 %7101 to i32
  store i32 %7102, ptr %40, align 4, !tbaa !9
  %7103 = load i32, ptr %40, align 4, !tbaa !9
  %7104 = icmp ne i32 %7103, 0
  br i1 %7104, label %7105, label %7128

7105:                                             ; preds = %7074
  %7106 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7106, ptr %40, align 4, !tbaa !9
  %7107 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7107, ptr %41, align 4, !tbaa !9
  store i64 -1548112371908608, ptr %50, align 8, !tbaa !11
  %7108 = load ptr, ptr %8, align 8, !tbaa !5
  %7109 = load i32, ptr %40, align 4, !tbaa !9
  %7110 = load i32, ptr %41, align 4, !tbaa !9
  %7111 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %7108, i32 noundef %7109, i32 noundef %7110, i64 noundef %7111)
  %7112 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %7112, ptr %40, align 4, !tbaa !9
  %7113 = load ptr, ptr %8, align 8, !tbaa !5
  %7114 = getelementptr inbounds %struct.w2c_hermes, ptr %7113, i32 0, i32 6
  %7115 = load i32, ptr %40, align 4, !tbaa !9
  %7116 = zext i32 %7115 to i64
  %7117 = add i64 %7116, 1356
  %7118 = call i32 @i32_load(ptr noundef %7114, i64 noundef %7117)
  store i32 %7118, ptr %40, align 4, !tbaa !9
  %7119 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7119, ptr %21, align 4, !tbaa !9
  %7120 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7120, ptr %40, align 4, !tbaa !9
  %7121 = load ptr, ptr %8, align 8, !tbaa !5
  %7122 = getelementptr inbounds %struct.w2c_hermes, ptr %7121, i32 0, i32 6
  %7123 = load i32, ptr %40, align 4, !tbaa !9
  %7124 = zext i32 %7123 to i64
  %7125 = add i64 %7124, 68
  %7126 = call i32 @i32_load(ptr noundef %7122, i64 noundef %7125)
  store i32 %7126, ptr %40, align 4, !tbaa !9
  %7127 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7127, ptr %10, align 4, !tbaa !9
  br label %7128

7128:                                             ; preds = %7105, %7074
  %7129 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7129, ptr %40, align 4, !tbaa !9
  store i64 -1548112371908608, ptr %49, align 8, !tbaa !11
  %7130 = load ptr, ptr %8, align 8, !tbaa !5
  %7131 = getelementptr inbounds %struct.w2c_hermes, ptr %7130, i32 0, i32 6
  %7132 = load i32, ptr %40, align 4, !tbaa !9
  %7133 = zext i32 %7132 to i64
  %7134 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7131, i64 noundef %7133, i64 noundef %7134)
  %7135 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %7135, ptr %48, align 8, !tbaa !11
  store i64 -1125899906842624, ptr %49, align 8, !tbaa !11
  %7136 = load i64, ptr %49, align 8, !tbaa !11
  %7137 = load i64, ptr %48, align 8, !tbaa !11
  %7138 = or i64 %7137, %7136
  store i64 %7138, ptr %48, align 8, !tbaa !11
  %7139 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %7139, ptr %37, align 8, !tbaa !11
  %7140 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7140, ptr %40, align 4, !tbaa !9
  %7141 = load ptr, ptr %8, align 8, !tbaa !5
  %7142 = getelementptr inbounds %struct.w2c_hermes, ptr %7141, i32 0, i32 6
  %7143 = load i32, ptr %40, align 4, !tbaa !9
  %7144 = zext i32 %7143 to i64
  %7145 = call i32 @i32_load(ptr noundef %7142, i64 noundef %7144)
  store i32 %7145, ptr %40, align 4, !tbaa !9
  %7146 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7146, ptr %41, align 4, !tbaa !9
  %7147 = load i32, ptr %41, align 4, !tbaa !9
  %7148 = load i32, ptr %40, align 4, !tbaa !9
  %7149 = add i32 %7148, %7147
  store i32 %7149, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %7150 = load i32, ptr %41, align 4, !tbaa !9
  %7151 = load i32, ptr %40, align 4, !tbaa !9
  %7152 = add i32 %7151, %7150
  store i32 %7152, ptr %40, align 4, !tbaa !9
  %7153 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7153, ptr %10, align 4, !tbaa !9
  store i32 -4194304, ptr %41, align 4, !tbaa !9
  %7154 = load i32, ptr %41, align 4, !tbaa !9
  %7155 = load i32, ptr %40, align 4, !tbaa !9
  %7156 = and i32 %7155, %7154
  store i32 %7156, ptr %40, align 4, !tbaa !9
  %7157 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %7157, ptr %41, align 4, !tbaa !9
  %7158 = load i32, ptr %40, align 4, !tbaa !9
  %7159 = load i32, ptr %41, align 4, !tbaa !9
  %7160 = icmp ne i32 %7158, %7159
  %7161 = zext i1 %7160 to i32
  store i32 %7161, ptr %40, align 4, !tbaa !9
  %7162 = load i32, ptr %40, align 4, !tbaa !9
  %7163 = icmp ne i32 %7162, 0
  br i1 %7163, label %7164, label %7172

7164:                                             ; preds = %7128
  %7165 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7165, ptr %40, align 4, !tbaa !9
  %7166 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7166, ptr %41, align 4, !tbaa !9
  %7167 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %7167, ptr %50, align 8, !tbaa !11
  %7168 = load ptr, ptr %8, align 8, !tbaa !5
  %7169 = load i32, ptr %40, align 4, !tbaa !9
  %7170 = load i32, ptr %41, align 4, !tbaa !9
  %7171 = load i64, ptr %50, align 8, !tbaa !11
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %7168, i32 noundef %7169, i32 noundef %7170, i64 noundef %7171)
  br label %7172

7172:                                             ; preds = %7164, %7128
  %7173 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7173, ptr %40, align 4, !tbaa !9
  %7174 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %7174, ptr %49, align 8, !tbaa !11
  %7175 = load ptr, ptr %8, align 8, !tbaa !5
  %7176 = getelementptr inbounds %struct.w2c_hermes, ptr %7175, i32 0, i32 6
  %7177 = load i32, ptr %40, align 4, !tbaa !9
  %7178 = zext i32 %7177 to i64
  %7179 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7176, i64 noundef %7178, i64 noundef %7179)
  %7180 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %7180, ptr %40, align 4, !tbaa !9
  %7181 = load ptr, ptr %8, align 8, !tbaa !5
  %7182 = getelementptr inbounds %struct.w2c_hermes, ptr %7181, i32 0, i32 6
  %7183 = load i32, ptr %40, align 4, !tbaa !9
  %7184 = zext i32 %7183 to i64
  %7185 = add i64 %7184, 8
  %7186 = call i32 @i32_load(ptr noundef %7182, i64 noundef %7185)
  store i32 %7186, ptr %40, align 4, !tbaa !9
  %7187 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %7187, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %7188 = load i32, ptr %42, align 4, !tbaa !9
  %7189 = and i32 %7188, 31
  %7190 = load i32, ptr %41, align 4, !tbaa !9
  %7191 = shl i32 %7190, %7189
  store i32 %7191, ptr %41, align 4, !tbaa !9
  %7192 = load i32, ptr %41, align 4, !tbaa !9
  %7193 = load i32, ptr %40, align 4, !tbaa !9
  %7194 = add i32 %7193, %7192
  store i32 %7194, ptr %40, align 4, !tbaa !9
  %7195 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7195, ptr %41, align 4, !tbaa !9
  %7196 = load ptr, ptr %8, align 8, !tbaa !5
  %7197 = getelementptr inbounds %struct.w2c_hermes, ptr %7196, i32 0, i32 6
  %7198 = load i32, ptr %40, align 4, !tbaa !9
  %7199 = zext i32 %7198 to i64
  %7200 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7197, i64 noundef %7199, i32 noundef %7200)
  br label %7201

7201:                                             ; preds = %7172, %6919
  %7202 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7202, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %7203 = load i32, ptr %41, align 4, !tbaa !9
  %7204 = load i32, ptr %40, align 4, !tbaa !9
  %7205 = add i32 %7204, %7203
  store i32 %7205, ptr %40, align 4, !tbaa !9
  %7206 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7206, ptr %11, align 4, !tbaa !9
  %7207 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7207, ptr %41, align 4, !tbaa !9
  %7208 = load i32, ptr %40, align 4, !tbaa !9
  %7209 = load i32, ptr %41, align 4, !tbaa !9
  %7210 = icmp ne i32 %7208, %7209
  %7211 = zext i1 %7210 to i32
  store i32 %7211, ptr %40, align 4, !tbaa !9
  %7212 = load i32, ptr %40, align 4, !tbaa !9
  %7213 = icmp ne i32 %7212, 0
  br i1 %7213, label %7214, label %7215

7214:                                             ; preds = %7201
  br label %6919

7215:                                             ; preds = %7201
  br label %7216

7216:                                             ; preds = %7215, %6885
  %7217 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7217, ptr %40, align 4, !tbaa !9
  %7218 = load ptr, ptr %8, align 8, !tbaa !5
  %7219 = getelementptr inbounds %struct.w2c_hermes, ptr %7218, i32 0, i32 6
  %7220 = load i32, ptr %40, align 4, !tbaa !9
  %7221 = zext i32 %7220 to i64
  %7222 = add i64 %7221, 68
  %7223 = call i32 @i32_load(ptr noundef %7219, i64 noundef %7222)
  store i32 %7223, ptr %40, align 4, !tbaa !9
  %7224 = load ptr, ptr %8, align 8, !tbaa !5
  %7225 = getelementptr inbounds %struct.w2c_hermes, ptr %7224, i32 0, i32 6
  %7226 = load i32, ptr %40, align 4, !tbaa !9
  %7227 = zext i32 %7226 to i64
  %7228 = call i32 @i32_load(ptr noundef %7225, i64 noundef %7227)
  store i32 %7228, ptr %40, align 4, !tbaa !9
  %7229 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7229, ptr %11, align 4, !tbaa !9
  %7230 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %7230, ptr %40, align 4, !tbaa !9
  store i32 1356, ptr %41, align 4, !tbaa !9
  %7231 = load i32, ptr %41, align 4, !tbaa !9
  %7232 = load i32, ptr %40, align 4, !tbaa !9
  %7233 = add i32 %7232, %7231
  store i32 %7233, ptr %40, align 4, !tbaa !9
  %7234 = load ptr, ptr %8, align 8, !tbaa !5
  %7235 = getelementptr inbounds %struct.w2c_hermes, ptr %7234, i32 0, i32 6
  %7236 = load i32, ptr %40, align 4, !tbaa !9
  %7237 = zext i32 %7236 to i64
  %7238 = call i32 @i32_load(ptr noundef %7235, i64 noundef %7237)
  store i32 %7238, ptr %40, align 4, !tbaa !9
  %7239 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %7239, ptr %41, align 4, !tbaa !9
  %7240 = load ptr, ptr %8, align 8, !tbaa !5
  %7241 = getelementptr inbounds %struct.w2c_hermes, ptr %7240, i32 0, i32 6
  %7242 = load i32, ptr %41, align 4, !tbaa !9
  %7243 = zext i32 %7242 to i64
  %7244 = call i32 @i32_load(ptr noundef %7241, i64 noundef %7243)
  store i32 %7244, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %7245 = load i32, ptr %42, align 4, !tbaa !9
  %7246 = load i32, ptr %41, align 4, !tbaa !9
  %7247 = add i32 %7246, %7245
  store i32 %7247, ptr %41, align 4, !tbaa !9
  %7248 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %7248, ptr %10, align 4, !tbaa !9
  store i32 -4194304, ptr %42, align 4, !tbaa !9
  %7249 = load i32, ptr %42, align 4, !tbaa !9
  %7250 = load i32, ptr %41, align 4, !tbaa !9
  %7251 = and i32 %7250, %7249
  store i32 %7251, ptr %41, align 4, !tbaa !9
  %7252 = load i32, ptr %40, align 4, !tbaa !9
  %7253 = load i32, ptr %41, align 4, !tbaa !9
  %7254 = icmp ne i32 %7252, %7253
  %7255 = zext i1 %7254 to i32
  store i32 %7255, ptr %40, align 4, !tbaa !9
  %7256 = load i32, ptr %40, align 4, !tbaa !9
  %7257 = icmp ne i32 %7256, 0
  br i1 %7257, label %7258, label %7269

7258:                                             ; preds = %7216
  %7259 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %7259, ptr %40, align 4, !tbaa !9
  store i32 808, ptr %41, align 4, !tbaa !9
  %7260 = load i32, ptr %41, align 4, !tbaa !9
  %7261 = load i32, ptr %40, align 4, !tbaa !9
  %7262 = add i32 %7261, %7260
  store i32 %7262, ptr %40, align 4, !tbaa !9
  %7263 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7263, ptr %41, align 4, !tbaa !9
  %7264 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7264, ptr %42, align 4, !tbaa !9
  %7265 = load ptr, ptr %8, align 8, !tbaa !5
  %7266 = load i32, ptr %40, align 4, !tbaa !9
  %7267 = load i32, ptr %41, align 4, !tbaa !9
  %7268 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %7265, i32 noundef %7266, i32 noundef %7267, i32 noundef %7268)
  br label %7269

7269:                                             ; preds = %7258, %7216
  %7270 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7270, ptr %40, align 4, !tbaa !9
  %7271 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7271, ptr %41, align 4, !tbaa !9
  %7272 = load ptr, ptr %8, align 8, !tbaa !5
  %7273 = getelementptr inbounds %struct.w2c_hermes, ptr %7272, i32 0, i32 6
  %7274 = load i32, ptr %40, align 4, !tbaa !9
  %7275 = zext i32 %7274 to i64
  %7276 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7273, i64 noundef %7275, i32 noundef %7276)
  store i32 1, ptr %40, align 4, !tbaa !9
  br label %7277

7277:                                             ; preds = %7269, %4986, %4901, %4075, %3681, %3525, %3409
  %7278 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7278, ptr %10, align 4, !tbaa !9
  %7279 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %7279, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %7280 = load i32, ptr %41, align 4, !tbaa !9
  %7281 = load i32, ptr %40, align 4, !tbaa !9
  %7282 = add i32 %7281, %7280
  store i32 %7282, ptr %40, align 4, !tbaa !9
  %7283 = load i32, ptr %40, align 4, !tbaa !9
  %7284 = load ptr, ptr %8, align 8, !tbaa !5
  %7285 = getelementptr inbounds %struct.w2c_hermes, ptr %7284, i32 0, i32 3
  store i32 %7283, ptr %7285, align 8, !tbaa !13
  %7286 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7286, ptr %40, align 4, !tbaa !9
  %7287 = load i32, ptr %40, align 4, !tbaa !9
  %7288 = icmp ne i32 %7287, 0
  %7289 = xor i1 %7288, true
  %7290 = zext i1 %7289 to i32
  store i32 %7290, ptr %40, align 4, !tbaa !9
  %7291 = load i32, ptr %40, align 4, !tbaa !9
  %7292 = icmp ne i32 %7291, 0
  br i1 %7292, label %7293, label %7295

7293:                                             ; preds = %7277
  store i32 -1, ptr %40, align 4, !tbaa !9
  %7294 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7294, ptr %19, align 4, !tbaa !9
  br label %7495

7295:                                             ; preds = %7277
  %7296 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7296, ptr %40, align 4, !tbaa !9
  %7297 = load ptr, ptr %8, align 8, !tbaa !5
  %7298 = getelementptr inbounds %struct.w2c_hermes, ptr %7297, i32 0, i32 6
  %7299 = load i32, ptr %40, align 4, !tbaa !9
  %7300 = zext i32 %7299 to i64
  %7301 = add i64 %7300, 40
  %7302 = call i32 @i32_load(ptr noundef %7298, i64 noundef %7301)
  store i32 %7302, ptr %40, align 4, !tbaa !9
  %7303 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7303, ptr %10, align 4, !tbaa !9
  %7304 = load i32, ptr %40, align 4, !tbaa !9
  %7305 = icmp ne i32 %7304, 0
  %7306 = xor i1 %7305, true
  %7307 = zext i1 %7306 to i32
  store i32 %7307, ptr %40, align 4, !tbaa !9
  %7308 = load i32, ptr %40, align 4, !tbaa !9
  %7309 = icmp ne i32 %7308, 0
  br i1 %7309, label %7310, label %7311

7310:                                             ; preds = %7295
  br label %7495

7311:                                             ; preds = %7295
  %7312 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %7312, ptr %40, align 4, !tbaa !9
  store i32 8, ptr %41, align 4, !tbaa !9
  %7313 = load i32, ptr %41, align 4, !tbaa !9
  %7314 = load i32, ptr %40, align 4, !tbaa !9
  %7315 = add i32 %7314, %7313
  store i32 %7315, ptr %40, align 4, !tbaa !9
  %7316 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7316, ptr %41, align 4, !tbaa !9
  %7317 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7317, ptr %42, align 4, !tbaa !9
  %7318 = load ptr, ptr %8, align 8, !tbaa !5
  %7319 = getelementptr inbounds %struct.w2c_hermes, ptr %7318, i32 0, i32 6
  %7320 = load i32, ptr %42, align 4, !tbaa !9
  %7321 = zext i32 %7320 to i64
  %7322 = call i32 @i32_load(ptr noundef %7319, i64 noundef %7321)
  store i32 %7322, ptr %42, align 4, !tbaa !9
  %7323 = load ptr, ptr %8, align 8, !tbaa !5
  %7324 = getelementptr inbounds %struct.w2c_hermes, ptr %7323, i32 0, i32 6
  %7325 = load i32, ptr %42, align 4, !tbaa !9
  %7326 = zext i32 %7325 to i64
  %7327 = add i64 %7326, 76
  %7328 = call i32 @i32_load(ptr noundef %7324, i64 noundef %7327)
  store i32 %7328, ptr %42, align 4, !tbaa !9
  %7329 = load i32, ptr %42, align 4, !tbaa !9
  %7330 = load ptr, ptr %8, align 8, !tbaa !5
  %7331 = getelementptr inbounds %struct.w2c_hermes, ptr %7330, i32 0, i32 7
  %7332 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7331, i32 0, i32 2
  %7333 = load i32, ptr %7332, align 4, !tbaa !18
  %7334 = icmp ult i32 %7329, %7333
  br i1 %7334, label %7335, label %7358

7335:                                             ; preds = %7311
  %7336 = load ptr, ptr %8, align 8, !tbaa !5
  %7337 = getelementptr inbounds %struct.w2c_hermes, ptr %7336, i32 0, i32 7
  %7338 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7337, i32 0, i32 0
  %7339 = load ptr, ptr %7338, align 8, !tbaa !19
  %7340 = load i32, ptr %42, align 4, !tbaa !9
  %7341 = zext i32 %7340 to i64
  %7342 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7339, i64 %7341
  %7343 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7342, i32 0, i32 1
  %7344 = load ptr, ptr %7343, align 8, !tbaa !20
  %7345 = icmp ne ptr %7344, null
  br i1 %7345, label %7346, label %7358

7346:                                             ; preds = %7335
  %7347 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %7348 = load ptr, ptr %8, align 8, !tbaa !5
  %7349 = getelementptr inbounds %struct.w2c_hermes, ptr %7348, i32 0, i32 7
  %7350 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7349, i32 0, i32 0
  %7351 = load ptr, ptr %7350, align 8, !tbaa !19
  %7352 = load i32, ptr %42, align 4, !tbaa !9
  %7353 = zext i32 %7352 to i64
  %7354 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7351, i64 %7353
  %7355 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7354, i32 0, i32 0
  %7356 = load ptr, ptr %7355, align 8, !tbaa !22
  %7357 = call zeroext i1 @func_types_eq(ptr noundef %7347, ptr noundef %7356)
  br label %7358

7358:                                             ; preds = %7346, %7335, %7311
  %7359 = phi i1 [ false, %7335 ], [ false, %7311 ], [ %7357, %7346 ]
  %7360 = xor i1 %7359, true
  %7361 = xor i1 %7360, true
  %7362 = zext i1 %7361 to i32
  %7363 = sext i32 %7362 to i64
  %7364 = call i64 @llvm.expect.i64(i64 %7363, i64 1)
  %7365 = icmp ne i64 %7364, 0
  br i1 %7365, label %7368, label %7366

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

7367:                                             ; No predecessors!
  br label %7368

7368:                                             ; preds = %7367, %7358
  %7369 = phi i1 [ true, %7358 ], [ false, %7367 ]
  %7370 = zext i1 %7369 to i32
  %7371 = load ptr, ptr %8, align 8, !tbaa !5
  %7372 = getelementptr inbounds %struct.w2c_hermes, ptr %7371, i32 0, i32 7
  %7373 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7372, i32 0, i32 0
  %7374 = load ptr, ptr %7373, align 8, !tbaa !19
  %7375 = load i32, ptr %42, align 4, !tbaa !9
  %7376 = zext i32 %7375 to i64
  %7377 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7374, i64 %7376
  %7378 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7377, i32 0, i32 1
  %7379 = load ptr, ptr %7378, align 8, !tbaa !20
  %7380 = load ptr, ptr %8, align 8, !tbaa !5
  %7381 = getelementptr inbounds %struct.w2c_hermes, ptr %7380, i32 0, i32 7
  %7382 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7381, i32 0, i32 0
  %7383 = load ptr, ptr %7382, align 8, !tbaa !19
  %7384 = load i32, ptr %42, align 4, !tbaa !9
  %7385 = zext i32 %7384 to i64
  %7386 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7383, i64 %7385
  %7387 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7386, i32 0, i32 2
  %7388 = load ptr, ptr %7387, align 8, !tbaa !23
  %7389 = load i32, ptr %40, align 4, !tbaa !9
  %7390 = load i32, ptr %41, align 4, !tbaa !9
  call void %7379(ptr noundef %7388, i32 noundef %7389, i32 noundef %7390)
  %7391 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %7391, ptr %40, align 4, !tbaa !9
  %7392 = load ptr, ptr %8, align 8, !tbaa !5
  %7393 = getelementptr inbounds %struct.w2c_hermes, ptr %7392, i32 0, i32 6
  %7394 = load i32, ptr %40, align 4, !tbaa !9
  %7395 = zext i32 %7394 to i64
  %7396 = add i64 %7395, 12
  %7397 = call i32 @i32_load(ptr noundef %7393, i64 noundef %7396)
  store i32 %7397, ptr %40, align 4, !tbaa !9
  %7398 = load i32, ptr %40, align 4, !tbaa !9
  %7399 = icmp ne i32 %7398, 0
  %7400 = xor i1 %7399, true
  %7401 = zext i1 %7400 to i32
  store i32 %7401, ptr %40, align 4, !tbaa !9
  %7402 = load i32, ptr %40, align 4, !tbaa !9
  %7403 = icmp ne i32 %7402, 0
  br i1 %7403, label %7404, label %7405

7404:                                             ; preds = %7368
  br label %7495

7405:                                             ; preds = %7368
  %7406 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7406, ptr %40, align 4, !tbaa !9
  %7407 = load ptr, ptr %8, align 8, !tbaa !5
  %7408 = getelementptr inbounds %struct.w2c_hermes, ptr %7407, i32 0, i32 6
  %7409 = load i32, ptr %40, align 4, !tbaa !9
  %7410 = zext i32 %7409 to i64
  %7411 = add i64 %7410, 5592
  %7412 = call i32 @i32_load(ptr noundef %7408, i64 noundef %7411)
  store i32 %7412, ptr %40, align 4, !tbaa !9
  %7413 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7413, ptr %10, align 4, !tbaa !9
  %7414 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7414, ptr %41, align 4, !tbaa !9
  %7415 = load ptr, ptr %8, align 8, !tbaa !5
  %7416 = getelementptr inbounds %struct.w2c_hermes, ptr %7415, i32 0, i32 6
  %7417 = load i32, ptr %41, align 4, !tbaa !9
  %7418 = zext i32 %7417 to i64
  %7419 = add i64 %7418, 40
  %7420 = call i32 @i32_load(ptr noundef %7416, i64 noundef %7419)
  store i32 %7420, ptr %41, align 4, !tbaa !9
  store i32 192, ptr %42, align 4, !tbaa !9
  %7421 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7421, ptr %43, align 4, !tbaa !9
  %7422 = load ptr, ptr %8, align 8, !tbaa !5
  %7423 = getelementptr inbounds %struct.w2c_hermes, ptr %7422, i32 0, i32 6
  %7424 = load i32, ptr %43, align 4, !tbaa !9
  %7425 = zext i32 %7424 to i64
  %7426 = call i32 @i32_load(ptr noundef %7423, i64 noundef %7425)
  store i32 %7426, ptr %43, align 4, !tbaa !9
  %7427 = load ptr, ptr %8, align 8, !tbaa !5
  %7428 = getelementptr inbounds %struct.w2c_hermes, ptr %7427, i32 0, i32 6
  %7429 = load i32, ptr %43, align 4, !tbaa !9
  %7430 = zext i32 %7429 to i64
  %7431 = call i32 @i32_load(ptr noundef %7428, i64 noundef %7430)
  store i32 %7431, ptr %43, align 4, !tbaa !9
  %7432 = load i32, ptr %43, align 4, !tbaa !9
  %7433 = load ptr, ptr %8, align 8, !tbaa !5
  %7434 = getelementptr inbounds %struct.w2c_hermes, ptr %7433, i32 0, i32 7
  %7435 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7434, i32 0, i32 2
  %7436 = load i32, ptr %7435, align 4, !tbaa !18
  %7437 = icmp ult i32 %7432, %7436
  br i1 %7437, label %7438, label %7461

7438:                                             ; preds = %7405
  %7439 = load ptr, ptr %8, align 8, !tbaa !5
  %7440 = getelementptr inbounds %struct.w2c_hermes, ptr %7439, i32 0, i32 7
  %7441 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7440, i32 0, i32 0
  %7442 = load ptr, ptr %7441, align 8, !tbaa !19
  %7443 = load i32, ptr %43, align 4, !tbaa !9
  %7444 = zext i32 %7443 to i64
  %7445 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7442, i64 %7444
  %7446 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7445, i32 0, i32 1
  %7447 = load ptr, ptr %7446, align 8, !tbaa !20
  %7448 = icmp ne ptr %7447, null
  br i1 %7448, label %7449, label %7461

7449:                                             ; preds = %7438
  %7450 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !5
  %7451 = load ptr, ptr %8, align 8, !tbaa !5
  %7452 = getelementptr inbounds %struct.w2c_hermes, ptr %7451, i32 0, i32 7
  %7453 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7452, i32 0, i32 0
  %7454 = load ptr, ptr %7453, align 8, !tbaa !19
  %7455 = load i32, ptr %43, align 4, !tbaa !9
  %7456 = zext i32 %7455 to i64
  %7457 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7454, i64 %7456
  %7458 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7457, i32 0, i32 0
  %7459 = load ptr, ptr %7458, align 8, !tbaa !22
  %7460 = call zeroext i1 @func_types_eq(ptr noundef %7450, ptr noundef %7459)
  br label %7461

7461:                                             ; preds = %7449, %7438, %7405
  %7462 = phi i1 [ false, %7438 ], [ false, %7405 ], [ %7460, %7449 ]
  %7463 = xor i1 %7462, true
  %7464 = xor i1 %7463, true
  %7465 = zext i1 %7464 to i32
  %7466 = sext i32 %7465 to i64
  %7467 = call i64 @llvm.expect.i64(i64 %7466, i64 1)
  %7468 = icmp ne i64 %7467, 0
  br i1 %7468, label %7471, label %7469

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

7470:                                             ; No predecessors!
  br label %7471

7471:                                             ; preds = %7470, %7461
  %7472 = phi i1 [ true, %7461 ], [ false, %7470 ]
  %7473 = zext i1 %7472 to i32
  %7474 = load ptr, ptr %8, align 8, !tbaa !5
  %7475 = getelementptr inbounds %struct.w2c_hermes, ptr %7474, i32 0, i32 7
  %7476 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7475, i32 0, i32 0
  %7477 = load ptr, ptr %7476, align 8, !tbaa !19
  %7478 = load i32, ptr %43, align 4, !tbaa !9
  %7479 = zext i32 %7478 to i64
  %7480 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7477, i64 %7479
  %7481 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7480, i32 0, i32 1
  %7482 = load ptr, ptr %7481, align 8, !tbaa !20
  %7483 = load ptr, ptr %8, align 8, !tbaa !5
  %7484 = getelementptr inbounds %struct.w2c_hermes, ptr %7483, i32 0, i32 7
  %7485 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %7484, i32 0, i32 0
  %7486 = load ptr, ptr %7485, align 8, !tbaa !19
  %7487 = load i32, ptr %43, align 4, !tbaa !9
  %7488 = zext i32 %7487 to i64
  %7489 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7486, i64 %7488
  %7490 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %7489, i32 0, i32 2
  %7491 = load ptr, ptr %7490, align 8, !tbaa !23
  %7492 = load i32, ptr %40, align 4, !tbaa !9
  %7493 = load i32, ptr %41, align 4, !tbaa !9
  %7494 = load i32, ptr %42, align 4, !tbaa !9
  call void %7482(ptr noundef %7491, i32 noundef %7492, i32 noundef %7493, i32 noundef %7494)
  br label %7495

7495:                                             ; preds = %7471, %7404, %7310, %7293, %3036
  %7496 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %7496, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %7497 = load i32, ptr %41, align 4, !tbaa !9
  %7498 = load i32, ptr %40, align 4, !tbaa !9
  %7499 = add i32 %7498, %7497
  store i32 %7499, ptr %40, align 4, !tbaa !9
  %7500 = load i32, ptr %40, align 4, !tbaa !9
  %7501 = load ptr, ptr %8, align 8, !tbaa !5
  %7502 = getelementptr inbounds %struct.w2c_hermes, ptr %7501, i32 0, i32 3
  store i32 %7500, ptr %7502, align 8, !tbaa !13
  %7503 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %7503, ptr %40, align 4, !tbaa !9
  br label %7506

7504:                                             ; preds = %2745
  %7505 = load ptr, ptr %8, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %7505)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

7506:                                             ; preds = %7495
  %7507 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7507, ptr %10, align 4, !tbaa !9
  store i32 -1, ptr %41, align 4, !tbaa !9
  %7508 = load i32, ptr %40, align 4, !tbaa !9
  %7509 = load i32, ptr %41, align 4, !tbaa !9
  %7510 = icmp eq i32 %7508, %7509
  %7511 = zext i1 %7510 to i32
  store i32 %7511, ptr %40, align 4, !tbaa !9
  %7512 = load i32, ptr %40, align 4, !tbaa !9
  %7513 = icmp ne i32 %7512, 0
  br i1 %7513, label %7514, label %7521

7514:                                             ; preds = %7506
  %7515 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7515, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %7516 = load ptr, ptr %8, align 8, !tbaa !5
  %7517 = getelementptr inbounds %struct.w2c_hermes, ptr %7516, i32 0, i32 6
  %7518 = load i32, ptr %40, align 4, !tbaa !9
  %7519 = zext i32 %7518 to i64
  %7520 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7517, i64 noundef %7519, i32 noundef %7520)
  br label %8325

7521:                                             ; preds = %7506
  %7522 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7522, ptr %40, align 4, !tbaa !9
  %7523 = load ptr, ptr %8, align 8, !tbaa !5
  %7524 = getelementptr inbounds %struct.w2c_hermes, ptr %7523, i32 0, i32 6
  %7525 = load i32, ptr %40, align 4, !tbaa !9
  %7526 = zext i32 %7525 to i64
  %7527 = add i64 %7526, 28
  %7528 = call i32 @i32_load(ptr noundef %7524, i64 noundef %7527)
  store i32 %7528, ptr %40, align 4, !tbaa !9
  %7529 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %7529, ptr %41, align 4, !tbaa !9
  store i32 2, ptr %42, align 4, !tbaa !9
  %7530 = load i32, ptr %42, align 4, !tbaa !9
  %7531 = and i32 %7530, 31
  %7532 = load i32, ptr %41, align 4, !tbaa !9
  %7533 = shl i32 %7532, %7531
  store i32 %7533, ptr %41, align 4, !tbaa !9
  %7534 = load i32, ptr %41, align 4, !tbaa !9
  %7535 = load i32, ptr %40, align 4, !tbaa !9
  %7536 = add i32 %7535, %7534
  store i32 %7536, ptr %40, align 4, !tbaa !9
  %7537 = load ptr, ptr %8, align 8, !tbaa !5
  %7538 = getelementptr inbounds %struct.w2c_hermes, ptr %7537, i32 0, i32 6
  %7539 = load i32, ptr %40, align 4, !tbaa !9
  %7540 = zext i32 %7539 to i64
  %7541 = call i32 @i32_load(ptr noundef %7538, i64 noundef %7540)
  store i32 %7541, ptr %40, align 4, !tbaa !9
  %7542 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7542, ptr %20, align 4, !tbaa !9
  %7543 = load i32, ptr %40, align 4, !tbaa !9
  %7544 = icmp ne i32 %7543, 0
  %7545 = xor i1 %7544, true
  %7546 = zext i1 %7545 to i32
  store i32 %7546, ptr %40, align 4, !tbaa !9
  %7547 = load i32, ptr %40, align 4, !tbaa !9
  %7548 = icmp ne i32 %7547, 0
  br i1 %7548, label %7549, label %7557

7549:                                             ; preds = %7521
  %7550 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7550, ptr %40, align 4, !tbaa !9
  %7551 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %7551, ptr %41, align 4, !tbaa !9
  %7552 = load ptr, ptr %8, align 8, !tbaa !5
  %7553 = load i32, ptr %40, align 4, !tbaa !9
  %7554 = load i32, ptr %41, align 4, !tbaa !9
  %7555 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AgetCodeBlockSlowPath0x28unsigned0x20int0x29(ptr noundef %7552, i32 noundef %7553, i32 noundef %7554)
  store i32 %7555, ptr %40, align 4, !tbaa !9
  %7556 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7556, ptr %20, align 4, !tbaa !9
  br label %7557

7557:                                             ; preds = %7549, %7521
  %7558 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7558, ptr %40, align 4, !tbaa !9
  %7559 = load ptr, ptr %8, align 8, !tbaa !5
  %7560 = getelementptr inbounds %struct.w2c_hermes, ptr %7559, i32 0, i32 6
  %7561 = load i32, ptr %40, align 4, !tbaa !9
  %7562 = zext i32 %7561 to i64
  %7563 = add i64 %7562, 40
  %7564 = call i32 @i32_load(ptr noundef %7560, i64 noundef %7563)
  store i32 %7564, ptr %40, align 4, !tbaa !9
  %7565 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7565, ptr %10, align 4, !tbaa !9
  %7566 = load ptr, ptr %8, align 8, !tbaa !5
  %7567 = getelementptr inbounds %struct.w2c_hermes, ptr %7566, i32 0, i32 6
  %7568 = load i32, ptr %40, align 4, !tbaa !9
  %7569 = zext i32 %7568 to i64
  %7570 = add i64 %7569, 104
  %7571 = call i64 @i64_load(ptr noundef %7567, i64 noundef %7570)
  store i64 %7571, ptr %48, align 8, !tbaa !11
  store i64 4294967296, ptr %49, align 8, !tbaa !11
  %7572 = load i64, ptr %48, align 8, !tbaa !11
  %7573 = load i64, ptr %49, align 8, !tbaa !11
  %7574 = icmp uge i64 %7572, %7573
  %7575 = zext i1 %7574 to i32
  store i32 %7575, ptr %40, align 4, !tbaa !9
  %7576 = load i32, ptr %40, align 4, !tbaa !9
  %7577 = icmp ne i32 %7576, 0
  br i1 %7577, label %7578, label %7770

7578:                                             ; preds = %7557
  %7579 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7579, ptr %40, align 4, !tbaa !9
  store i32 5468, ptr %41, align 4, !tbaa !9
  %7580 = load i32, ptr %41, align 4, !tbaa !9
  %7581 = load i32, ptr %40, align 4, !tbaa !9
  %7582 = add i32 %7581, %7580
  store i32 %7582, ptr %40, align 4, !tbaa !9
  %7583 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7583, ptr %41, align 4, !tbaa !9
  store i32 474, ptr %42, align 4, !tbaa !9
  %7584 = load ptr, ptr %8, align 8, !tbaa !5
  %7585 = load i32, ptr %40, align 4, !tbaa !9
  %7586 = load i32, ptr %41, align 4, !tbaa !9
  %7587 = load i32, ptr %42, align 4, !tbaa !9
  %7588 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef %7584, i32 noundef %7585, i32 noundef %7586, i32 noundef %7587)
  store i32 %7588, ptr %40, align 4, !tbaa !9
  %7589 = load i32, ptr %40, align 4, !tbaa !9
  %7590 = zext i32 %7589 to i64
  store i64 %7590, ptr %48, align 8, !tbaa !11
  store i64 -844424930131968, ptr %49, align 8, !tbaa !11
  %7591 = load i64, ptr %49, align 8, !tbaa !11
  %7592 = load i64, ptr %48, align 8, !tbaa !11
  %7593 = or i64 %7592, %7591
  store i64 %7593, ptr %48, align 8, !tbaa !11
  %7594 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %7594, ptr %37, align 8, !tbaa !11
  %7595 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7595, ptr %40, align 4, !tbaa !9
  %7596 = load ptr, ptr %8, align 8, !tbaa !5
  %7597 = getelementptr inbounds %struct.w2c_hermes, ptr %7596, i32 0, i32 6
  %7598 = load i32, ptr %40, align 4, !tbaa !9
  %7599 = zext i32 %7598 to i64
  %7600 = add i64 %7599, 4
  %7601 = call i32 @i32_load(ptr noundef %7597, i64 noundef %7600)
  store i32 %7601, ptr %40, align 4, !tbaa !9
  %7602 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7602, ptr %10, align 4, !tbaa !9
  %7603 = load ptr, ptr %8, align 8, !tbaa !5
  %7604 = getelementptr inbounds %struct.w2c_hermes, ptr %7603, i32 0, i32 6
  %7605 = load i32, ptr %40, align 4, !tbaa !9
  %7606 = zext i32 %7605 to i64
  %7607 = add i64 %7606, 164
  %7608 = call i32 @i32_load(ptr noundef %7604, i64 noundef %7607)
  store i32 %7608, ptr %40, align 4, !tbaa !9
  %7609 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7609, ptr %11, align 4, !tbaa !9
  %7610 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7610, ptr %41, align 4, !tbaa !9
  %7611 = load ptr, ptr %8, align 8, !tbaa !5
  %7612 = getelementptr inbounds %struct.w2c_hermes, ptr %7611, i32 0, i32 6
  %7613 = load i32, ptr %41, align 4, !tbaa !9
  %7614 = zext i32 %7613 to i64
  %7615 = add i64 %7614, 168
  %7616 = call i32 @i32_load(ptr noundef %7612, i64 noundef %7615)
  store i32 %7616, ptr %41, align 4, !tbaa !9
  %7617 = load i32, ptr %40, align 4, !tbaa !9
  %7618 = load i32, ptr %41, align 4, !tbaa !9
  %7619 = icmp ult i32 %7617, %7618
  %7620 = zext i1 %7619 to i32
  store i32 %7620, ptr %40, align 4, !tbaa !9
  %7621 = load i32, ptr %40, align 4, !tbaa !9
  %7622 = icmp ne i32 %7621, 0
  br i1 %7622, label %7623, label %7642

7623:                                             ; preds = %7578
  %7624 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7624, ptr %40, align 4, !tbaa !9
  %7625 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7625, ptr %41, align 4, !tbaa !9
  store i32 8, ptr %42, align 4, !tbaa !9
  %7626 = load i32, ptr %42, align 4, !tbaa !9
  %7627 = load i32, ptr %41, align 4, !tbaa !9
  %7628 = add i32 %7627, %7626
  store i32 %7628, ptr %41, align 4, !tbaa !9
  %7629 = load ptr, ptr %8, align 8, !tbaa !5
  %7630 = getelementptr inbounds %struct.w2c_hermes, ptr %7629, i32 0, i32 6
  %7631 = load i32, ptr %40, align 4, !tbaa !9
  %7632 = zext i32 %7631 to i64
  %7633 = add i64 %7632, 164
  %7634 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7630, i64 noundef %7633, i32 noundef %7634)
  %7635 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7635, ptr %40, align 4, !tbaa !9
  %7636 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %7636, ptr %49, align 8, !tbaa !11
  %7637 = load ptr, ptr %8, align 8, !tbaa !5
  %7638 = getelementptr inbounds %struct.w2c_hermes, ptr %7637, i32 0, i32 6
  %7639 = load i32, ptr %40, align 4, !tbaa !9
  %7640 = zext i32 %7639 to i64
  %7641 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7638, i64 noundef %7640, i64 noundef %7641)
  br label %7650

7642:                                             ; preds = %7578
  %7643 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7643, ptr %40, align 4, !tbaa !9
  %7644 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %7644, ptr %49, align 8, !tbaa !11
  %7645 = load ptr, ptr %8, align 8, !tbaa !5
  %7646 = load i32, ptr %40, align 4, !tbaa !9
  %7647 = load i64, ptr %49, align 8, !tbaa !11
  %7648 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %7645, i32 noundef %7646, i64 noundef %7647)
  store i32 %7648, ptr %40, align 4, !tbaa !9
  %7649 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7649, ptr %11, align 4, !tbaa !9
  br label %7650

7650:                                             ; preds = %7642, %7623
  %7651 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7651, ptr %40, align 4, !tbaa !9
  %7652 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7652, ptr %41, align 4, !tbaa !9
  %7653 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7653, ptr %42, align 4, !tbaa !9
  %7654 = load ptr, ptr %8, align 8, !tbaa !5
  %7655 = load i32, ptr %40, align 4, !tbaa !9
  %7656 = load i32, ptr %41, align 4, !tbaa !9
  %7657 = load i32, ptr %42, align 4, !tbaa !9
  %7658 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef %7654, i32 noundef %7655, i32 noundef %7656, i32 noundef %7657)
  store i32 %7658, ptr %40, align 4, !tbaa !9
  %7659 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7659, ptr %12, align 4, !tbaa !9
  %7660 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7660, ptr %40, align 4, !tbaa !9
  %7661 = load ptr, ptr %8, align 8, !tbaa !5
  %7662 = getelementptr inbounds %struct.w2c_hermes, ptr %7661, i32 0, i32 6
  %7663 = load i32, ptr %40, align 4, !tbaa !9
  %7664 = zext i32 %7663 to i64
  %7665 = call i32 @i32_load(ptr noundef %7662, i64 noundef %7664)
  store i32 %7665, ptr %40, align 4, !tbaa !9
  %7666 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7666, ptr %10, align 4, !tbaa !9
  %7667 = load ptr, ptr %8, align 8, !tbaa !5
  %7668 = getelementptr inbounds %struct.w2c_hermes, ptr %7667, i32 0, i32 6
  %7669 = load i32, ptr %40, align 4, !tbaa !9
  %7670 = zext i32 %7669 to i64
  %7671 = add i64 %7670, 4
  %7672 = call i32 @i32_load(ptr noundef %7668, i64 noundef %7671)
  store i32 %7672, ptr %40, align 4, !tbaa !9
  %7673 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7673, ptr %11, align 4, !tbaa !9
  %7674 = load ptr, ptr %8, align 8, !tbaa !5
  %7675 = getelementptr inbounds %struct.w2c_hermes, ptr %7674, i32 0, i32 6
  %7676 = load i32, ptr %40, align 4, !tbaa !9
  %7677 = zext i32 %7676 to i64
  %7678 = add i64 %7677, 4
  %7679 = call i32 @i32_load(ptr noundef %7675, i64 noundef %7678)
  store i32 %7679, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %7680 = load i32, ptr %41, align 4, !tbaa !9
  %7681 = icmp eq i32 %7680, 0
  %7682 = xor i1 %7681, true
  %7683 = xor i1 %7682, true
  %7684 = zext i1 %7683 to i32
  %7685 = sext i32 %7684 to i64
  %7686 = call i64 @llvm.expect.i64(i64 %7685, i64 0)
  %7687 = icmp ne i64 %7686, 0
  br i1 %7687, label %7688, label %7690

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

7689:                                             ; No predecessors!
  br label %7694

7690:                                             ; preds = %7650
  %7691 = load i32, ptr %40, align 4, !tbaa !9
  %7692 = load i32, ptr %41, align 4, !tbaa !9
  %7693 = udiv i32 %7691, %7692
  br label %7694

7694:                                             ; preds = %7690, %7689
  %7695 = phi i32 [ 0, %7689 ], [ %7693, %7690 ]
  store i32 %7695, ptr %40, align 4, !tbaa !9
  %7696 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7696, ptr %41, align 4, !tbaa !9
  %7697 = load ptr, ptr %8, align 8, !tbaa !5
  %7698 = getelementptr inbounds %struct.w2c_hermes, ptr %7697, i32 0, i32 6
  %7699 = load i32, ptr %41, align 4, !tbaa !9
  %7700 = zext i32 %7699 to i64
  %7701 = add i64 %7700, 52
  %7702 = call i32 @i32_load(ptr noundef %7698, i64 noundef %7701)
  store i32 %7702, ptr %41, align 4, !tbaa !9
  %7703 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %7703, ptr %10, align 4, !tbaa !9
  %7704 = load i32, ptr %40, align 4, !tbaa !9
  %7705 = load i32, ptr %41, align 4, !tbaa !9
  %7706 = icmp ule i32 %7704, %7705
  %7707 = zext i1 %7706 to i32
  store i32 %7707, ptr %40, align 4, !tbaa !9
  %7708 = load i32, ptr %40, align 4, !tbaa !9
  %7709 = icmp ne i32 %7708, 0
  br i1 %7709, label %7710, label %7721

7710:                                             ; preds = %7694
  %7711 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7711, ptr %40, align 4, !tbaa !9
  %7712 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7712, ptr %41, align 4, !tbaa !9
  %7713 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7713, ptr %42, align 4, !tbaa !9
  %7714 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7714, ptr %43, align 4, !tbaa !9
  store i32 0, ptr %44, align 4, !tbaa !9
  %7715 = load ptr, ptr %8, align 8, !tbaa !5
  %7716 = load i32, ptr %40, align 4, !tbaa !9
  %7717 = load i32, ptr %41, align 4, !tbaa !9
  %7718 = load i32, ptr %42, align 4, !tbaa !9
  %7719 = load i32, ptr %43, align 4, !tbaa !9
  %7720 = load i32, ptr %44, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %7715, i32 noundef %7716, i32 noundef %7717, i32 noundef %7718, i32 noundef %7719, i32 noundef %7720)
  br label %8325

7721:                                             ; preds = %7694
  %7722 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7722, ptr %40, align 4, !tbaa !9
  %7723 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7723, ptr %41, align 4, !tbaa !9
  %7724 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7724, ptr %42, align 4, !tbaa !9
  %7725 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7725, ptr %43, align 4, !tbaa !9
  %7726 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7726, ptr %44, align 4, !tbaa !9
  store i32 3, ptr %45, align 4, !tbaa !9
  %7727 = load i32, ptr %45, align 4, !tbaa !9
  %7728 = load i32, ptr %44, align 4, !tbaa !9
  %7729 = mul i32 %7728, %7727
  store i32 %7729, ptr %44, align 4, !tbaa !9
  %7730 = load i32, ptr %44, align 4, !tbaa !9
  store i32 %7730, ptr %9, align 4, !tbaa !9
  store i32 0, ptr %45, align 4, !tbaa !9
  %7731 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7731, ptr %46, align 4, !tbaa !9
  store i32 3, ptr %47, align 4, !tbaa !9
  %7732 = load i32, ptr %47, align 4, !tbaa !9
  %7733 = and i32 %7732, 31
  %7734 = load i32, ptr %46, align 4, !tbaa !9
  %7735 = shl i32 %7734, %7733
  store i32 %7735, ptr %46, align 4, !tbaa !9
  %7736 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7736, ptr %47, align 4, !tbaa !9
  %7737 = load i32, ptr %47, align 4, !tbaa !9
  %7738 = load i32, ptr %46, align 4, !tbaa !9
  %7739 = add i32 %7738, %7737
  store i32 %7739, ptr %46, align 4, !tbaa !9
  %7740 = load ptr, ptr %8, align 8, !tbaa !5
  %7741 = getelementptr inbounds %struct.w2c_hermes, ptr %7740, i32 0, i32 6
  %7742 = load i32, ptr %46, align 4, !tbaa !9
  %7743 = zext i32 %7742 to i64
  %7744 = add i64 %7743, 24
  %7745 = call i64 @i64_load(ptr noundef %7741, i64 noundef %7744)
  store i64 %7745, ptr %52, align 8, !tbaa !11
  store i64 47, ptr %53, align 8, !tbaa !11
  %7746 = load i64, ptr %52, align 8, !tbaa !11
  %7747 = load i64, ptr %53, align 8, !tbaa !11
  %7748 = and i64 %7747, 63
  %7749 = ashr i64 %7746, %7748
  store i64 %7749, ptr %52, align 8, !tbaa !11
  %7750 = load i64, ptr %52, align 8, !tbaa !11
  %7751 = trunc i64 %7750 to i32
  store i32 %7751, ptr %46, align 4, !tbaa !9
  store i32 -14, ptr %47, align 4, !tbaa !9
  %7752 = load i32, ptr %46, align 4, !tbaa !9
  %7753 = load i32, ptr %47, align 4, !tbaa !9
  %7754 = icmp ne i32 %7752, %7753
  %7755 = zext i1 %7754 to i32
  store i32 %7755, ptr %46, align 4, !tbaa !9
  %7756 = load i32, ptr %46, align 4, !tbaa !9
  %7757 = icmp ne i32 %7756, 0
  br i1 %7757, label %7758, label %7760

7758:                                             ; preds = %7721
  %7759 = load i32, ptr %44, align 4, !tbaa !9
  br label %7762

7760:                                             ; preds = %7721
  %7761 = load i32, ptr %45, align 4, !tbaa !9
  br label %7762

7762:                                             ; preds = %7760, %7758
  %7763 = phi i32 [ %7759, %7758 ], [ %7761, %7760 ]
  store i32 %7763, ptr %44, align 4, !tbaa !9
  %7764 = load ptr, ptr %8, align 8, !tbaa !5
  %7765 = load i32, ptr %40, align 4, !tbaa !9
  %7766 = load i32, ptr %41, align 4, !tbaa !9
  %7767 = load i32, ptr %42, align 4, !tbaa !9
  %7768 = load i32, ptr %43, align 4, !tbaa !9
  %7769 = load i32, ptr %44, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %7764, i32 noundef %7765, i32 noundef %7766, i32 noundef %7767, i32 noundef %7768, i32 noundef %7769)
  br label %8325

7770:                                             ; preds = %7557
  %7771 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7771, ptr %40, align 4, !tbaa !9
  %7772 = load ptr, ptr %8, align 8, !tbaa !5
  %7773 = getelementptr inbounds %struct.w2c_hermes, ptr %7772, i32 0, i32 6
  %7774 = load i32, ptr %40, align 4, !tbaa !9
  %7775 = zext i32 %7774 to i64
  %7776 = add i64 %7775, 112
  %7777 = call i64 @i64_load(ptr noundef %7773, i64 noundef %7776)
  store i64 %7777, ptr %48, align 8, !tbaa !11
  store i64 4294967296, ptr %49, align 8, !tbaa !11
  %7778 = load i64, ptr %48, align 8, !tbaa !11
  %7779 = load i64, ptr %49, align 8, !tbaa !11
  %7780 = icmp uge i64 %7778, %7779
  %7781 = zext i1 %7780 to i32
  store i32 %7781, ptr %40, align 4, !tbaa !9
  %7782 = load i32, ptr %40, align 4, !tbaa !9
  %7783 = icmp ne i32 %7782, 0
  br i1 %7783, label %7784, label %7885

7784:                                             ; preds = %7770
  %7785 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7785, ptr %40, align 4, !tbaa !9
  %7786 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7786, ptr %41, align 4, !tbaa !9
  store i32 67200, ptr %42, align 4, !tbaa !9
  %7787 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7787, ptr %43, align 4, !tbaa !9
  %7788 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7788, ptr %44, align 4, !tbaa !9
  %7789 = load ptr, ptr %8, align 8, !tbaa !5
  %7790 = getelementptr inbounds %struct.w2c_hermes, ptr %7789, i32 0, i32 6
  %7791 = load i32, ptr %44, align 4, !tbaa !9
  %7792 = zext i32 %7791 to i64
  %7793 = call i32 @i32_load(ptr noundef %7790, i64 noundef %7792)
  store i32 %7793, ptr %44, align 4, !tbaa !9
  %7794 = load i32, ptr %44, align 4, !tbaa !9
  store i32 %7794, ptr %9, align 4, !tbaa !9
  %7795 = load ptr, ptr %8, align 8, !tbaa !5
  %7796 = getelementptr inbounds %struct.w2c_hermes, ptr %7795, i32 0, i32 6
  %7797 = load i32, ptr %44, align 4, !tbaa !9
  %7798 = zext i32 %7797 to i64
  %7799 = add i64 %7798, 4
  %7800 = call i32 @i32_load(ptr noundef %7796, i64 noundef %7799)
  store i32 %7800, ptr %44, align 4, !tbaa !9
  %7801 = load i32, ptr %44, align 4, !tbaa !9
  store i32 %7801, ptr %10, align 4, !tbaa !9
  %7802 = load ptr, ptr %8, align 8, !tbaa !5
  %7803 = getelementptr inbounds %struct.w2c_hermes, ptr %7802, i32 0, i32 6
  %7804 = load i32, ptr %44, align 4, !tbaa !9
  %7805 = zext i32 %7804 to i64
  %7806 = add i64 %7805, 4
  %7807 = call i32 @i32_load(ptr noundef %7803, i64 noundef %7806)
  store i32 %7807, ptr %44, align 4, !tbaa !9
  store i32 3, ptr %45, align 4, !tbaa !9
  %7808 = load i32, ptr %45, align 4, !tbaa !9
  %7809 = icmp eq i32 %7808, 0
  %7810 = xor i1 %7809, true
  %7811 = xor i1 %7810, true
  %7812 = zext i1 %7811 to i32
  %7813 = sext i32 %7812 to i64
  %7814 = call i64 @llvm.expect.i64(i64 %7813, i64 0)
  %7815 = icmp ne i64 %7814, 0
  br i1 %7815, label %7816, label %7818

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

7817:                                             ; No predecessors!
  br label %7822

7818:                                             ; preds = %7784
  %7819 = load i32, ptr %44, align 4, !tbaa !9
  %7820 = load i32, ptr %45, align 4, !tbaa !9
  %7821 = udiv i32 %7819, %7820
  br label %7822

7822:                                             ; preds = %7818, %7817
  %7823 = phi i32 [ 0, %7817 ], [ %7821, %7818 ]
  store i32 %7823, ptr %44, align 4, !tbaa !9
  %7824 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7824, ptr %45, align 4, !tbaa !9
  %7825 = load ptr, ptr %8, align 8, !tbaa !5
  %7826 = getelementptr inbounds %struct.w2c_hermes, ptr %7825, i32 0, i32 6
  %7827 = load i32, ptr %45, align 4, !tbaa !9
  %7828 = zext i32 %7827 to i64
  %7829 = add i64 %7828, 52
  %7830 = call i32 @i32_load(ptr noundef %7826, i64 noundef %7829)
  store i32 %7830, ptr %45, align 4, !tbaa !9
  %7831 = load i32, ptr %45, align 4, !tbaa !9
  store i32 %7831, ptr %9, align 4, !tbaa !9
  %7832 = load i32, ptr %44, align 4, !tbaa !9
  %7833 = load i32, ptr %45, align 4, !tbaa !9
  %7834 = icmp ule i32 %7832, %7833
  %7835 = zext i1 %7834 to i32
  store i32 %7835, ptr %44, align 4, !tbaa !9
  %7836 = load i32, ptr %44, align 4, !tbaa !9
  %7837 = icmp ne i32 %7836, 0
  br i1 %7837, label %7838, label %7839

7838:                                             ; preds = %7822
  store i32 0, ptr %44, align 4, !tbaa !9
  br label %7878

7839:                                             ; preds = %7822
  %7840 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7840, ptr %44, align 4, !tbaa !9
  store i32 3, ptr %45, align 4, !tbaa !9
  %7841 = load i32, ptr %45, align 4, !tbaa !9
  %7842 = load i32, ptr %44, align 4, !tbaa !9
  %7843 = mul i32 %7842, %7841
  store i32 %7843, ptr %44, align 4, !tbaa !9
  %7844 = load i32, ptr %44, align 4, !tbaa !9
  store i32 %7844, ptr %9, align 4, !tbaa !9
  store i32 0, ptr %45, align 4, !tbaa !9
  %7845 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7845, ptr %46, align 4, !tbaa !9
  store i32 3, ptr %47, align 4, !tbaa !9
  %7846 = load i32, ptr %47, align 4, !tbaa !9
  %7847 = and i32 %7846, 31
  %7848 = load i32, ptr %46, align 4, !tbaa !9
  %7849 = shl i32 %7848, %7847
  store i32 %7849, ptr %46, align 4, !tbaa !9
  %7850 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7850, ptr %47, align 4, !tbaa !9
  %7851 = load i32, ptr %47, align 4, !tbaa !9
  %7852 = load i32, ptr %46, align 4, !tbaa !9
  %7853 = add i32 %7852, %7851
  store i32 %7853, ptr %46, align 4, !tbaa !9
  %7854 = load ptr, ptr %8, align 8, !tbaa !5
  %7855 = getelementptr inbounds %struct.w2c_hermes, ptr %7854, i32 0, i32 6
  %7856 = load i32, ptr %46, align 4, !tbaa !9
  %7857 = zext i32 %7856 to i64
  %7858 = add i64 %7857, 24
  %7859 = call i64 @i64_load(ptr noundef %7855, i64 noundef %7858)
  store i64 %7859, ptr %52, align 8, !tbaa !11
  store i64 47, ptr %53, align 8, !tbaa !11
  %7860 = load i64, ptr %52, align 8, !tbaa !11
  %7861 = load i64, ptr %53, align 8, !tbaa !11
  %7862 = and i64 %7861, 63
  %7863 = ashr i64 %7860, %7862
  store i64 %7863, ptr %52, align 8, !tbaa !11
  %7864 = load i64, ptr %52, align 8, !tbaa !11
  %7865 = trunc i64 %7864 to i32
  store i32 %7865, ptr %46, align 4, !tbaa !9
  store i32 -14, ptr %47, align 4, !tbaa !9
  %7866 = load i32, ptr %46, align 4, !tbaa !9
  %7867 = load i32, ptr %47, align 4, !tbaa !9
  %7868 = icmp ne i32 %7866, %7867
  %7869 = zext i1 %7868 to i32
  store i32 %7869, ptr %46, align 4, !tbaa !9
  %7870 = load i32, ptr %46, align 4, !tbaa !9
  %7871 = icmp ne i32 %7870, 0
  br i1 %7871, label %7872, label %7874

7872:                                             ; preds = %7839
  %7873 = load i32, ptr %44, align 4, !tbaa !9
  br label %7876

7874:                                             ; preds = %7839
  %7875 = load i32, ptr %45, align 4, !tbaa !9
  br label %7876

7876:                                             ; preds = %7874, %7872
  %7877 = phi i32 [ %7873, %7872 ], [ %7875, %7874 ]
  store i32 %7877, ptr %44, align 4, !tbaa !9
  br label %7878

7878:                                             ; preds = %7876, %7838
  %7879 = load ptr, ptr %8, align 8, !tbaa !5
  %7880 = load i32, ptr %40, align 4, !tbaa !9
  %7881 = load i32, ptr %41, align 4, !tbaa !9
  %7882 = load i32, ptr %42, align 4, !tbaa !9
  %7883 = load i32, ptr %43, align 4, !tbaa !9
  %7884 = load i32, ptr %44, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %7879, i32 noundef %7880, i32 noundef %7881, i32 noundef %7882, i32 noundef %7883, i32 noundef %7884)
  br label %8325

7885:                                             ; preds = %7770
  %7886 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7886, ptr %40, align 4, !tbaa !9
  %7887 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7887, ptr %41, align 4, !tbaa !9
  %7888 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7888, ptr %42, align 4, !tbaa !9
  store i32 192, ptr %43, align 4, !tbaa !9
  %7889 = load i32, ptr %43, align 4, !tbaa !9
  %7890 = load i32, ptr %42, align 4, !tbaa !9
  %7891 = add i32 %7890, %7889
  store i32 %7891, ptr %42, align 4, !tbaa !9
  store i32 67200, ptr %43, align 4, !tbaa !9
  %7892 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7892, ptr %44, align 4, !tbaa !9
  %7893 = load ptr, ptr %8, align 8, !tbaa !5
  %7894 = load i32, ptr %40, align 4, !tbaa !9
  %7895 = load i32, ptr %41, align 4, !tbaa !9
  %7896 = load i32, ptr %42, align 4, !tbaa !9
  %7897 = load i32, ptr %43, align 4, !tbaa !9
  %7898 = load i32, ptr %44, align 4, !tbaa !9
  %7899 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %7893, i32 noundef %7894, i32 noundef %7895, i32 noundef %7896, i32 noundef %7897, i32 noundef %7898)
  store i32 %7899, ptr %40, align 4, !tbaa !9
  %7900 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7900, ptr %13, align 4, !tbaa !9
  %7901 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7901, ptr %40, align 4, !tbaa !9
  %7902 = load ptr, ptr %8, align 8, !tbaa !5
  %7903 = getelementptr inbounds %struct.w2c_hermes, ptr %7902, i32 0, i32 6
  %7904 = load i32, ptr %40, align 4, !tbaa !9
  %7905 = zext i32 %7904 to i64
  %7906 = add i64 %7905, 5584
  %7907 = call i32 @i32_load(ptr noundef %7903, i64 noundef %7906)
  store i32 %7907, ptr %40, align 4, !tbaa !9
  %7908 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7908, ptr %41, align 4, !tbaa !9
  %7909 = load ptr, ptr %8, align 8, !tbaa !5
  %7910 = getelementptr inbounds %struct.w2c_hermes, ptr %7909, i32 0, i32 6
  %7911 = load i32, ptr %41, align 4, !tbaa !9
  %7912 = zext i32 %7911 to i64
  %7913 = add i64 %7912, 5588
  %7914 = call i32 @i32_load(ptr noundef %7910, i64 noundef %7913)
  store i32 %7914, ptr %41, align 4, !tbaa !9
  %7915 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %7915, ptr %10, align 4, !tbaa !9
  %7916 = load i32, ptr %41, align 4, !tbaa !9
  %7917 = load i32, ptr %40, align 4, !tbaa !9
  %7918 = sub i32 %7917, %7916
  store i32 %7918, ptr %40, align 4, !tbaa !9
  store i32 312, ptr %41, align 4, !tbaa !9
  %7919 = load i32, ptr %40, align 4, !tbaa !9
  %7920 = load i32, ptr %41, align 4, !tbaa !9
  %7921 = icmp ult i32 %7919, %7920
  %7922 = zext i1 %7921 to i32
  store i32 %7922, ptr %40, align 4, !tbaa !9
  %7923 = load i32, ptr %40, align 4, !tbaa !9
  %7924 = icmp ne i32 %7923, 0
  br i1 %7924, label %7925, label %7926

7925:                                             ; preds = %7885
  br label %8304

7926:                                             ; preds = %7885
  %7927 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7927, ptr %40, align 4, !tbaa !9
  %7928 = load ptr, ptr %8, align 8, !tbaa !5
  %7929 = getelementptr inbounds %struct.w2c_hermes, ptr %7928, i32 0, i32 6
  %7930 = load i32, ptr %40, align 4, !tbaa !9
  %7931 = zext i32 %7930 to i64
  %7932 = call i64 @i64_load(ptr noundef %7929, i64 noundef %7931)
  store i64 %7932, ptr %48, align 8, !tbaa !11
  %7933 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %7933, ptr %38, align 8, !tbaa !11
  %7934 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7934, ptr %40, align 4, !tbaa !9
  %7935 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7935, ptr %11, align 4, !tbaa !9
  %7936 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7936, ptr %40, align 4, !tbaa !9
  store i32 5608, ptr %41, align 4, !tbaa !9
  %7937 = load i32, ptr %41, align 4, !tbaa !9
  %7938 = load i32, ptr %40, align 4, !tbaa !9
  %7939 = add i32 %7938, %7937
  store i32 %7939, ptr %40, align 4, !tbaa !9
  %7940 = load ptr, ptr %8, align 8, !tbaa !5
  %7941 = getelementptr inbounds %struct.w2c_hermes, ptr %7940, i32 0, i32 6
  %7942 = load i32, ptr %40, align 4, !tbaa !9
  %7943 = zext i32 %7942 to i64
  %7944 = call i32 @i32_load(ptr noundef %7941, i64 noundef %7943)
  store i32 %7944, ptr %40, align 4, !tbaa !9
  %7945 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7945, ptr %41, align 4, !tbaa !9
  %7946 = load ptr, ptr %8, align 8, !tbaa !5
  %7947 = getelementptr inbounds %struct.w2c_hermes, ptr %7946, i32 0, i32 6
  %7948 = load i32, ptr %41, align 4, !tbaa !9
  %7949 = zext i32 %7948 to i64
  %7950 = add i64 %7949, 5604
  %7951 = call i32 @i32_load(ptr noundef %7947, i64 noundef %7950)
  store i32 %7951, ptr %41, align 4, !tbaa !9
  %7952 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7952, ptr %42, align 4, !tbaa !9
  %7953 = load i32, ptr %42, align 4, !tbaa !9
  %7954 = load i32, ptr %41, align 4, !tbaa !9
  %7955 = sub i32 %7954, %7953
  store i32 %7955, ptr %41, align 4, !tbaa !9
  %7956 = load i32, ptr %40, align 4, !tbaa !9
  %7957 = load i32, ptr %41, align 4, !tbaa !9
  %7958 = icmp ult i32 %7956, %7957
  %7959 = zext i1 %7958 to i32
  store i32 %7959, ptr %40, align 4, !tbaa !9
  %7960 = load i32, ptr %40, align 4, !tbaa !9
  %7961 = icmp ne i32 %7960, 0
  br i1 %7961, label %7962, label %8054

7962:                                             ; preds = %7926
  %7963 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %7963, ptr %40, align 4, !tbaa !9
  store i32 5612, ptr %41, align 4, !tbaa !9
  %7964 = load i32, ptr %41, align 4, !tbaa !9
  %7965 = load i32, ptr %40, align 4, !tbaa !9
  %7966 = add i32 %7965, %7964
  store i32 %7966, ptr %40, align 4, !tbaa !9
  %7967 = load ptr, ptr %8, align 8, !tbaa !5
  %7968 = getelementptr inbounds %struct.w2c_hermes, ptr %7967, i32 0, i32 6
  %7969 = load i32, ptr %40, align 4, !tbaa !9
  %7970 = zext i32 %7969 to i64
  %7971 = call i32 @i32_load(ptr noundef %7968, i64 noundef %7970)
  store i32 %7971, ptr %40, align 4, !tbaa !9
  %7972 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %7972, ptr %12, align 4, !tbaa !9
  %7973 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7973, ptr %40, align 4, !tbaa !9
  %7974 = load ptr, ptr %8, align 8, !tbaa !5
  %7975 = getelementptr inbounds %struct.w2c_hermes, ptr %7974, i32 0, i32 5
  %7976 = load i32, ptr %7975, align 8, !tbaa !24
  store i32 %7976, ptr %41, align 4, !tbaa !9
  %7977 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %7977, ptr %11, align 4, !tbaa !9
  %7978 = load ptr, ptr %8, align 8, !tbaa !5
  %7979 = getelementptr inbounds %struct.w2c_hermes, ptr %7978, i32 0, i32 6
  %7980 = load i32, ptr %40, align 4, !tbaa !9
  %7981 = zext i32 %7980 to i64
  %7982 = add i64 %7981, 56
  %7983 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7979, i64 noundef %7982, i32 noundef %7983)
  %7984 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7984, ptr %40, align 4, !tbaa !9
  %7985 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7985, ptr %41, align 4, !tbaa !9
  %7986 = load ptr, ptr %8, align 8, !tbaa !5
  %7987 = getelementptr inbounds %struct.w2c_hermes, ptr %7986, i32 0, i32 4
  %7988 = load i32, ptr %7987, align 4, !tbaa !25
  store i32 %7988, ptr %42, align 4, !tbaa !9
  %7989 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7989, ptr %43, align 4, !tbaa !9
  %7990 = load i32, ptr %43, align 4, !tbaa !9
  %7991 = load i32, ptr %42, align 4, !tbaa !9
  %7992 = add i32 %7991, %7990
  store i32 %7992, ptr %42, align 4, !tbaa !9
  %7993 = load i32, ptr %42, align 4, !tbaa !9
  %7994 = load i32, ptr %41, align 4, !tbaa !9
  %7995 = sub i32 %7994, %7993
  store i32 %7995, ptr %41, align 4, !tbaa !9
  %7996 = load ptr, ptr %8, align 8, !tbaa !5
  %7997 = getelementptr inbounds %struct.w2c_hermes, ptr %7996, i32 0, i32 6
  %7998 = load i32, ptr %40, align 4, !tbaa !9
  %7999 = zext i32 %7998 to i64
  %8000 = add i64 %7999, 60
  %8001 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7997, i64 noundef %8000, i32 noundef %8001)
  %8002 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8002, ptr %40, align 4, !tbaa !9
  %8003 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8003, ptr %41, align 4, !tbaa !9
  %8004 = load ptr, ptr %8, align 8, !tbaa !5
  %8005 = getelementptr inbounds %struct.w2c_hermes, ptr %8004, i32 0, i32 6
  %8006 = load i32, ptr %41, align 4, !tbaa !9
  %8007 = zext i32 %8006 to i64
  %8008 = add i64 %8007, 56
  %8009 = call i32 @i32_load(ptr noundef %8005, i64 noundef %8008)
  store i32 %8009, ptr %41, align 4, !tbaa !9
  %8010 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %8010, ptr %12, align 4, !tbaa !9
  %8011 = load ptr, ptr %8, align 8, !tbaa !5
  %8012 = getelementptr inbounds %struct.w2c_hermes, ptr %8011, i32 0, i32 6
  %8013 = load i32, ptr %40, align 4, !tbaa !9
  %8014 = zext i32 %8013 to i64
  %8015 = add i64 %8014, 5604
  %8016 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8012, i64 noundef %8015, i32 noundef %8016)
  %8017 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8017, ptr %40, align 4, !tbaa !9
  %8018 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8018, ptr %41, align 4, !tbaa !9
  %8019 = load ptr, ptr %8, align 8, !tbaa !5
  %8020 = getelementptr inbounds %struct.w2c_hermes, ptr %8019, i32 0, i32 6
  %8021 = load i32, ptr %41, align 4, !tbaa !9
  %8022 = zext i32 %8021 to i64
  %8023 = add i64 %8022, 60
  %8024 = call i32 @i32_load(ptr noundef %8020, i64 noundef %8023)
  store i32 %8024, ptr %41, align 4, !tbaa !9
  %8025 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %8025, ptr %11, align 4, !tbaa !9
  %8026 = load ptr, ptr %8, align 8, !tbaa !5
  %8027 = getelementptr inbounds %struct.w2c_hermes, ptr %8026, i32 0, i32 6
  %8028 = load i32, ptr %40, align 4, !tbaa !9
  %8029 = zext i32 %8028 to i64
  %8030 = add i64 %8029, 5608
  %8031 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8027, i64 noundef %8030, i32 noundef %8031)
  %8032 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8032, ptr %40, align 4, !tbaa !9
  %8033 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8033, ptr %41, align 4, !tbaa !9
  %8034 = load i32, ptr %41, align 4, !tbaa !9
  %8035 = load i32, ptr %40, align 4, !tbaa !9
  %8036 = sub i32 %8035, %8034
  store i32 %8036, ptr %40, align 4, !tbaa !9
  %8037 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8037, ptr %41, align 4, !tbaa !9
  %8038 = load i32, ptr %40, align 4, !tbaa !9
  %8039 = load i32, ptr %41, align 4, !tbaa !9
  %8040 = icmp ugt i32 %8038, %8039
  %8041 = zext i1 %8040 to i32
  store i32 %8041, ptr %40, align 4, !tbaa !9
  %8042 = load i32, ptr %40, align 4, !tbaa !9
  %8043 = icmp ne i32 %8042, 0
  br i1 %8043, label %8044, label %8045

8044:                                             ; preds = %7962
  br label %8304

8045:                                             ; preds = %7962
  %8046 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8046, ptr %40, align 4, !tbaa !9
  %8047 = load ptr, ptr %8, align 8, !tbaa !5
  %8048 = getelementptr inbounds %struct.w2c_hermes, ptr %8047, i32 0, i32 6
  %8049 = load i32, ptr %40, align 4, !tbaa !9
  %8050 = zext i32 %8049 to i64
  %8051 = add i64 %8050, 5588
  %8052 = call i32 @i32_load(ptr noundef %8048, i64 noundef %8051)
  store i32 %8052, ptr %40, align 4, !tbaa !9
  %8053 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %8053, ptr %11, align 4, !tbaa !9
  br label %8054

8054:                                             ; preds = %8045, %7926
  %8055 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8055, ptr %40, align 4, !tbaa !9
  %8056 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8056, ptr %41, align 4, !tbaa !9
  store i32 56, ptr %42, align 4, !tbaa !9
  %8057 = load i32, ptr %42, align 4, !tbaa !9
  %8058 = load i32, ptr %41, align 4, !tbaa !9
  %8059 = add i32 %8058, %8057
  store i32 %8059, ptr %41, align 4, !tbaa !9
  %8060 = load ptr, ptr %8, align 8, !tbaa !5
  %8061 = getelementptr inbounds %struct.w2c_hermes, ptr %8060, i32 0, i32 6
  %8062 = load i32, ptr %40, align 4, !tbaa !9
  %8063 = zext i32 %8062 to i64
  %8064 = add i64 %8063, 5588
  %8065 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8061, i64 noundef %8064, i32 noundef %8065)
  %8066 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8066, ptr %40, align 4, !tbaa !9
  %8067 = load ptr, ptr %8, align 8, !tbaa !5
  %8068 = getelementptr inbounds %struct.w2c_hermes, ptr %8067, i32 0, i32 6
  %8069 = load i32, ptr %40, align 4, !tbaa !9
  %8070 = zext i32 %8069 to i64
  %8071 = add i64 %8070, 5600
  %8072 = call i64 @i64_load32_u(ptr noundef %8068, i64 noundef %8071)
  store i64 %8072, ptr %48, align 8, !tbaa !11
  %8073 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %8073, ptr %37, align 8, !tbaa !11
  %8074 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8074, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %8075 = load ptr, ptr %8, align 8, !tbaa !5
  %8076 = getelementptr inbounds %struct.w2c_hermes, ptr %8075, i32 0, i32 6
  %8077 = load i32, ptr %40, align 4, !tbaa !9
  %8078 = zext i32 %8077 to i64
  %8079 = add i64 %8078, 32
  %8080 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8076, i64 noundef %8079, i64 noundef %8080)
  %8081 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8081, ptr %40, align 4, !tbaa !9
  %8082 = load i64, ptr %37, align 8, !tbaa !11
  store i64 %8082, ptr %49, align 8, !tbaa !11
  %8083 = load ptr, ptr %8, align 8, !tbaa !5
  %8084 = getelementptr inbounds %struct.w2c_hermes, ptr %8083, i32 0, i32 6
  %8085 = load i32, ptr %40, align 4, !tbaa !9
  %8086 = zext i32 %8085 to i64
  %8087 = add i64 %8086, 48
  %8088 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8084, i64 noundef %8087, i64 noundef %8088)
  %8089 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8089, ptr %40, align 4, !tbaa !9
  store i64 0, ptr %49, align 8, !tbaa !11
  %8090 = load ptr, ptr %8, align 8, !tbaa !5
  %8091 = getelementptr inbounds %struct.w2c_hermes, ptr %8090, i32 0, i32 6
  %8092 = load i32, ptr %40, align 4, !tbaa !9
  %8093 = zext i32 %8092 to i64
  %8094 = add i64 %8093, 40
  %8095 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8091, i64 noundef %8094, i64 noundef %8095)
  %8096 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8096, ptr %40, align 4, !tbaa !9
  store i64 -1125899906842624, ptr %49, align 8, !tbaa !11
  %8097 = load ptr, ptr %8, align 8, !tbaa !5
  %8098 = getelementptr inbounds %struct.w2c_hermes, ptr %8097, i32 0, i32 6
  %8099 = load i32, ptr %40, align 4, !tbaa !9
  %8100 = zext i32 %8099 to i64
  %8101 = add i64 %8100, 24
  %8102 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8098, i64 noundef %8101, i64 noundef %8102)
  %8103 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8103, ptr %40, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %49, align 8, !tbaa !11
  %8104 = load ptr, ptr %8, align 8, !tbaa !5
  %8105 = getelementptr inbounds %struct.w2c_hermes, ptr %8104, i32 0, i32 6
  %8106 = load i32, ptr %40, align 4, !tbaa !9
  %8107 = zext i32 %8106 to i64
  %8108 = add i64 %8107, 16
  %8109 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8105, i64 noundef %8108, i64 noundef %8109)
  %8110 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8110, ptr %40, align 4, !tbaa !9
  %8111 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8111, ptr %41, align 4, !tbaa !9
  %8112 = load i32, ptr %41, align 4, !tbaa !9
  %8113 = zext i32 %8112 to i64
  store i64 %8113, ptr %49, align 8, !tbaa !11
  store i64 -281474976710656, ptr %50, align 8, !tbaa !11
  %8114 = load i64, ptr %50, align 8, !tbaa !11
  %8115 = load i64, ptr %49, align 8, !tbaa !11
  %8116 = or i64 %8115, %8114
  store i64 %8116, ptr %49, align 8, !tbaa !11
  %8117 = load ptr, ptr %8, align 8, !tbaa !5
  %8118 = getelementptr inbounds %struct.w2c_hermes, ptr %8117, i32 0, i32 6
  %8119 = load i32, ptr %40, align 4, !tbaa !9
  %8120 = zext i32 %8119 to i64
  %8121 = add i64 %8120, 8
  %8122 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8118, i64 noundef %8121, i64 noundef %8122)
  %8123 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8123, ptr %40, align 4, !tbaa !9
  %8124 = load i64, ptr %38, align 8, !tbaa !11
  store i64 %8124, ptr %49, align 8, !tbaa !11
  %8125 = load ptr, ptr %8, align 8, !tbaa !5
  %8126 = getelementptr inbounds %struct.w2c_hermes, ptr %8125, i32 0, i32 6
  %8127 = load i32, ptr %40, align 4, !tbaa !9
  %8128 = zext i32 %8127 to i64
  %8129 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8126, i64 noundef %8128, i64 noundef %8129)
  %8130 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8130, ptr %40, align 4, !tbaa !9
  %8131 = load ptr, ptr %8, align 8, !tbaa !5
  %8132 = getelementptr inbounds %struct.w2c_hermes, ptr %8131, i32 0, i32 6
  %8133 = load i32, ptr %40, align 4, !tbaa !9
  %8134 = zext i32 %8133 to i64
  %8135 = add i64 %8134, 5302
  %8136 = call i32 @i32_load8_u(ptr noundef %8132, i64 noundef %8135)
  store i32 %8136, ptr %40, align 4, !tbaa !9
  %8137 = load i32, ptr %40, align 4, !tbaa !9
  %8138 = icmp ne i32 %8137, 0
  br i1 %8138, label %8139, label %8278

8139:                                             ; preds = %8054
  %8140 = load ptr, ptr %8, align 8, !tbaa !5
  %8141 = getelementptr inbounds %struct.w2c_hermes, ptr %8140, i32 0, i32 3
  %8142 = load i32, ptr %8141, align 8, !tbaa !13
  store i32 %8142, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %8143 = load i32, ptr %41, align 4, !tbaa !9
  %8144 = load i32, ptr %40, align 4, !tbaa !9
  %8145 = sub i32 %8144, %8143
  store i32 %8145, ptr %40, align 4, !tbaa !9
  %8146 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %8146, ptr %12, align 4, !tbaa !9
  %8147 = load i32, ptr %40, align 4, !tbaa !9
  %8148 = load ptr, ptr %8, align 8, !tbaa !5
  %8149 = getelementptr inbounds %struct.w2c_hermes, ptr %8148, i32 0, i32 3
  store i32 %8147, ptr %8149, align 8, !tbaa !13
  %8150 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8150, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %8151 = load ptr, ptr %8, align 8, !tbaa !5
  %8152 = load i32, ptr %41, align 4, !tbaa !9
  %8153 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %8151, i32 noundef %8152)
  store i32 %8153, ptr %41, align 4, !tbaa !9
  %8154 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %8154, ptr %11, align 4, !tbaa !9
  %8155 = load ptr, ptr %8, align 8, !tbaa !5
  %8156 = getelementptr inbounds %struct.w2c_hermes, ptr %8155, i32 0, i32 6
  %8157 = load i32, ptr %40, align 4, !tbaa !9
  %8158 = zext i32 %8157 to i64
  %8159 = add i64 %8158, 4
  %8160 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8156, i64 noundef %8159, i32 noundef %8160)
  %8161 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8161, ptr %40, align 4, !tbaa !9
  store i64 -9223371968135299060, ptr %49, align 8, !tbaa !11
  %8162 = load ptr, ptr %8, align 8, !tbaa !5
  %8163 = getelementptr inbounds %struct.w2c_hermes, ptr %8162, i32 0, i32 6
  %8164 = load i32, ptr %40, align 4, !tbaa !9
  %8165 = zext i32 %8164 to i64
  %8166 = add i64 %8165, 8
  %8167 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8163, i64 noundef %8166, i64 noundef %8167)
  %8168 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8168, ptr %40, align 4, !tbaa !9
  store i32 43002, ptr %41, align 4, !tbaa !9
  %8169 = load ptr, ptr %8, align 8, !tbaa !5
  %8170 = getelementptr inbounds %struct.w2c_hermes, ptr %8169, i32 0, i32 6
  %8171 = load i32, ptr %41, align 4, !tbaa !9
  %8172 = zext i32 %8171 to i64
  %8173 = call i32 @i32_load(ptr noundef %8170, i64 noundef %8172)
  store i32 %8173, ptr %41, align 4, !tbaa !9
  %8174 = load ptr, ptr %8, align 8, !tbaa !5
  %8175 = getelementptr inbounds %struct.w2c_hermes, ptr %8174, i32 0, i32 6
  %8176 = load i32, ptr %40, align 4, !tbaa !9
  %8177 = zext i32 %8176 to i64
  %8178 = add i64 %8177, 8
  %8179 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8175, i64 noundef %8178, i32 noundef %8179)
  %8180 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8180, ptr %40, align 4, !tbaa !9
  store i32 42994, ptr %41, align 4, !tbaa !9
  %8181 = load ptr, ptr %8, align 8, !tbaa !5
  %8182 = getelementptr inbounds %struct.w2c_hermes, ptr %8181, i32 0, i32 6
  %8183 = load i32, ptr %41, align 4, !tbaa !9
  %8184 = zext i32 %8183 to i64
  %8185 = call i64 @i64_load(ptr noundef %8182, i64 noundef %8184)
  store i64 %8185, ptr %49, align 8, !tbaa !11
  %8186 = load ptr, ptr %8, align 8, !tbaa !5
  %8187 = getelementptr inbounds %struct.w2c_hermes, ptr %8186, i32 0, i32 6
  %8188 = load i32, ptr %40, align 4, !tbaa !9
  %8189 = zext i32 %8188 to i64
  %8190 = load i64, ptr %49, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8187, i64 noundef %8189, i64 noundef %8190)
  %8191 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8191, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %8192 = load ptr, ptr %8, align 8, !tbaa !5
  %8193 = getelementptr inbounds %struct.w2c_hermes, ptr %8192, i32 0, i32 6
  %8194 = load i32, ptr %40, align 4, !tbaa !9
  %8195 = zext i32 %8194 to i64
  %8196 = add i64 %8195, 12
  %8197 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %8193, i64 noundef %8196, i32 noundef %8197)
  %8198 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8198, ptr %40, align 4, !tbaa !9
  store i32 3, ptr %41, align 4, !tbaa !9
  %8199 = load i32, ptr %41, align 4, !tbaa !9
  %8200 = load i32, ptr %40, align 4, !tbaa !9
  %8201 = add i32 %8200, %8199
  store i32 %8201, ptr %40, align 4, !tbaa !9
  %8202 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8202, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %8203 = load i32, ptr %42, align 4, !tbaa !9
  %8204 = load i32, ptr %41, align 4, !tbaa !9
  %8205 = add i32 %8204, %8203
  store i32 %8205, ptr %41, align 4, !tbaa !9
  %8206 = load ptr, ptr %8, align 8, !tbaa !5
  %8207 = load i32, ptr %40, align 4, !tbaa !9
  %8208 = load i32, ptr %41, align 4, !tbaa !9
  %8209 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Arandom_device0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x20const0x260x29(ptr noundef %8206, i32 noundef %8207, i32 noundef %8208)
  store i32 %8209, ptr %40, align 4, !tbaa !9
  %8210 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8210, ptr %40, align 4, !tbaa !9
  %8211 = load ptr, ptr %8, align 8, !tbaa !5
  %8212 = getelementptr inbounds %struct.w2c_hermes, ptr %8211, i32 0, i32 6
  %8213 = load i32, ptr %40, align 4, !tbaa !9
  %8214 = zext i32 %8213 to i64
  %8215 = add i64 %8214, 15
  %8216 = call i32 @i32_load8_s(ptr noundef %8212, i64 noundef %8215)
  store i32 %8216, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  %8217 = load i32, ptr %40, align 4, !tbaa !9
  %8218 = load i32, ptr %41, align 4, !tbaa !9
  %8219 = icmp slt i32 %8217, %8218
  %8220 = zext i1 %8219 to i32
  store i32 %8220, ptr %40, align 4, !tbaa !9
  %8221 = load i32, ptr %40, align 4, !tbaa !9
  %8222 = icmp ne i32 %8221, 0
  br i1 %8222, label %8223, label %8233

8223:                                             ; preds = %8139
  %8224 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8224, ptr %40, align 4, !tbaa !9
  %8225 = load ptr, ptr %8, align 8, !tbaa !5
  %8226 = getelementptr inbounds %struct.w2c_hermes, ptr %8225, i32 0, i32 6
  %8227 = load i32, ptr %40, align 4, !tbaa !9
  %8228 = zext i32 %8227 to i64
  %8229 = add i64 %8228, 4
  %8230 = call i32 @i32_load(ptr noundef %8226, i64 noundef %8229)
  store i32 %8230, ptr %40, align 4, !tbaa !9
  %8231 = load ptr, ptr %8, align 8, !tbaa !5
  %8232 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %8231, i32 noundef %8232)
  br label %8233

8233:                                             ; preds = %8223, %8139
  %8234 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8234, ptr %40, align 4, !tbaa !9
  %8235 = load ptr, ptr %8, align 8, !tbaa !5
  %8236 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Aoperator0x280x290x280x29(ptr noundef %8235)
  store i32 %8236, ptr %41, align 4, !tbaa !9
  store i32 65535, ptr %42, align 4, !tbaa !9
  %8237 = load i32, ptr %42, align 4, !tbaa !9
  %8238 = load i32, ptr %41, align 4, !tbaa !9
  %8239 = and i32 %8238, %8237
  store i32 %8239, ptr %41, align 4, !tbaa !9
  store i32 15, ptr %42, align 4, !tbaa !9
  %8240 = load i32, ptr %42, align 4, !tbaa !9
  %8241 = load i32, ptr %41, align 4, !tbaa !9
  %8242 = add i32 %8241, %8240
  store i32 %8242, ptr %41, align 4, !tbaa !9
  store i32 -16, ptr %42, align 4, !tbaa !9
  %8243 = load i32, ptr %42, align 4, !tbaa !9
  %8244 = load i32, ptr %41, align 4, !tbaa !9
  %8245 = and i32 %8244, %8243
  store i32 %8245, ptr %41, align 4, !tbaa !9
  %8246 = load i32, ptr %41, align 4, !tbaa !9
  %8247 = load i32, ptr %40, align 4, !tbaa !9
  %8248 = sub i32 %8247, %8246
  store i32 %8248, ptr %40, align 4, !tbaa !9
  %8249 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %8249, ptr %11, align 4, !tbaa !9
  %8250 = load i32, ptr %40, align 4, !tbaa !9
  %8251 = load ptr, ptr %8, align 8, !tbaa !5
  %8252 = getelementptr inbounds %struct.w2c_hermes, ptr %8251, i32 0, i32 3
  store i32 %8250, ptr %8252, align 8, !tbaa !13
  store i32 138532, ptr %40, align 4, !tbaa !9
  %8253 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8253, ptr %41, align 4, !tbaa !9
  %8254 = load ptr, ptr %8, align 8, !tbaa !5
  %8255 = getelementptr inbounds %struct.w2c_hermes, ptr %8254, i32 0, i32 6
  %8256 = load i32, ptr %40, align 4, !tbaa !9
  %8257 = zext i32 %8256 to i64
  %8258 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8255, i64 noundef %8257, i32 noundef %8258)
  store i32 138532, ptr %40, align 4, !tbaa !9
  %8259 = load ptr, ptr %8, align 8, !tbaa !5
  %8260 = getelementptr inbounds %struct.w2c_hermes, ptr %8259, i32 0, i32 6
  %8261 = load i32, ptr %40, align 4, !tbaa !9
  %8262 = zext i32 %8261 to i64
  %8263 = call i32 @i32_load(ptr noundef %8260, i64 noundef %8262)
  store i32 %8263, ptr %40, align 4, !tbaa !9
  %8264 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8264, ptr %40, align 4, !tbaa !9
  %8265 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8265, ptr %41, align 4, !tbaa !9
  %8266 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %8266, ptr %42, align 4, !tbaa !9
  %8267 = load ptr, ptr %8, align 8, !tbaa !5
  %8268 = load i32, ptr %40, align 4, !tbaa !9
  %8269 = load i32, ptr %41, align 4, !tbaa !9
  %8270 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %8267, i32 noundef %8268, i32 noundef %8269, i32 noundef %8270)
  %8271 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8271, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %41, align 4, !tbaa !9
  %8272 = load i32, ptr %41, align 4, !tbaa !9
  %8273 = load i32, ptr %40, align 4, !tbaa !9
  %8274 = add i32 %8273, %8272
  store i32 %8274, ptr %40, align 4, !tbaa !9
  %8275 = load i32, ptr %40, align 4, !tbaa !9
  %8276 = load ptr, ptr %8, align 8, !tbaa !5
  %8277 = getelementptr inbounds %struct.w2c_hermes, ptr %8276, i32 0, i32 3
  store i32 %8275, ptr %8277, align 8, !tbaa !13
  br label %8316

8278:                                             ; preds = %8054
  %8279 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8279, ptr %40, align 4, !tbaa !9
  %8280 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8280, ptr %41, align 4, !tbaa !9
  %8281 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %8281, ptr %42, align 4, !tbaa !9
  %8282 = load ptr, ptr %8, align 8, !tbaa !5
  %8283 = load i32, ptr %40, align 4, !tbaa !9
  %8284 = load i32, ptr %41, align 4, !tbaa !9
  %8285 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef %8282, i32 noundef %8283, i32 noundef %8284, i32 noundef %8285)
  br label %8316

8286:                                             ; preds = %2102
  %8287 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8287, ptr %40, align 4, !tbaa !9
  store i32 54681, ptr %41, align 4, !tbaa !9
  %8288 = load ptr, ptr %8, align 8, !tbaa !5
  %8289 = getelementptr inbounds %struct.w2c_hermes, ptr %8288, i32 0, i32 6
  %8290 = load i32, ptr %40, align 4, !tbaa !9
  %8291 = zext i32 %8290 to i64
  %8292 = add i64 %8291, 16
  %8293 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8289, i64 noundef %8292, i32 noundef %8293)
  store i32 35077, ptr %40, align 4, !tbaa !9
  store i32 35547, ptr %41, align 4, !tbaa !9
  %8294 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8294, ptr %42, align 4, !tbaa !9
  store i32 16, ptr %43, align 4, !tbaa !9
  %8295 = load i32, ptr %43, align 4, !tbaa !9
  %8296 = load i32, ptr %42, align 4, !tbaa !9
  %8297 = add i32 %8296, %8295
  store i32 %8297, ptr %42, align 4, !tbaa !9
  %8298 = load ptr, ptr %8, align 8, !tbaa !5
  %8299 = load i32, ptr %40, align 4, !tbaa !9
  %8300 = load i32, ptr %41, align 4, !tbaa !9
  %8301 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef %8298, i32 noundef %8299, i32 noundef %8300, i32 noundef %8301)
  store i32 54681, ptr %40, align 4, !tbaa !9
  %8302 = load ptr, ptr %8, align 8, !tbaa !5
  %8303 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %8302, i32 noundef %8303)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

8304:                                             ; preds = %8044, %7925
  %8305 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8305, ptr %40, align 4, !tbaa !9
  %8306 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8306, ptr %41, align 4, !tbaa !9
  store i32 1, ptr %42, align 4, !tbaa !9
  %8307 = load ptr, ptr %8, align 8, !tbaa !5
  %8308 = load i32, ptr %41, align 4, !tbaa !9
  %8309 = load i32, ptr %42, align 4, !tbaa !9
  %8310 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseStackOverflow0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AStackOverflowKind0x29(ptr noundef %8307, i32 noundef %8308, i32 noundef %8309)
  store i32 %8310, ptr %41, align 4, !tbaa !9
  %8311 = load ptr, ptr %8, align 8, !tbaa !5
  %8312 = getelementptr inbounds %struct.w2c_hermes, ptr %8311, i32 0, i32 6
  %8313 = load i32, ptr %40, align 4, !tbaa !9
  %8314 = zext i32 %8313 to i64
  %8315 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8312, i64 noundef %8314, i32 noundef %8315)
  br label %8316

8316:                                             ; preds = %8304, %8278, %8233
  %8317 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8317, ptr %40, align 4, !tbaa !9
  %8318 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8318, ptr %41, align 4, !tbaa !9
  %8319 = load ptr, ptr %8, align 8, !tbaa !5
  %8320 = getelementptr inbounds %struct.w2c_hermes, ptr %8319, i32 0, i32 6
  %8321 = load i32, ptr %40, align 4, !tbaa !9
  %8322 = zext i32 %8321 to i64
  %8323 = add i64 %8322, 5588
  %8324 = load i32, ptr %41, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8320, i64 noundef %8323, i32 noundef %8324)
  br label %8325

8325:                                             ; preds = %8316, %7878, %7762, %7710, %7514
  %8326 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8326, ptr %40, align 4, !tbaa !9
  store i32 80, ptr %41, align 4, !tbaa !9
  %8327 = load i32, ptr %41, align 4, !tbaa !9
  %8328 = load i32, ptr %40, align 4, !tbaa !9
  %8329 = add i32 %8328, %8327
  store i32 %8329, ptr %40, align 4, !tbaa !9
  %8330 = load ptr, ptr %8, align 8, !tbaa !5
  %8331 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %8330, i32 noundef %8331)
  br label %8332

8332:                                             ; preds = %8325, %921, %374
  %8333 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8333, ptr %40, align 4, !tbaa !9
  store i32 256, ptr %41, align 4, !tbaa !9
  %8334 = load i32, ptr %41, align 4, !tbaa !9
  %8335 = load i32, ptr %40, align 4, !tbaa !9
  %8336 = add i32 %8335, %8334
  store i32 %8336, ptr %40, align 4, !tbaa !9
  %8337 = load i32, ptr %40, align 4, !tbaa !9
  %8338 = load ptr, ptr %8, align 8, !tbaa !5
  %8339 = getelementptr inbounds %struct.w2c_hermes, ptr %8338, i32 0, i32 3
  store i32 %8337, ptr %8339, align 8, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 4, 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 8, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 8, 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 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  ret void
}

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AupdatePropertyFlagsWithoutTransitions0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3AOptValue0x3Cllvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare void @w2c_hermes_llvh0x3A0x3ASHA10x3A0x3Ahash0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef, i32 noundef, i32 noundef) #1

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

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x3E0x3A0x3A_0x5Fappend0x28unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef) #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef, i32 noundef, i32 noundef) #1

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3Ashift0x28hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Arandom_device0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #1

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Aoperator0x280x290x280x29(ptr noundef) #1

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


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

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

@w2c_hermes_t3 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t2 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t5 = external local_unnamed_addr constant ptr, align 8
@w2c_hermes_t0 = external local_unnamed_addr constant ptr, align 8

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i64 noundef) local_unnamed_addr #0

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

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

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #0

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

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

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

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

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AweakRefReadBarrier0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x2A0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3AaddRuntimeModule0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) local_unnamed_addr #0

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i32 noundef, i64 noundef) local_unnamed_addr #0

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineNewOwnProperty0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef, i32 noundef) local_unnamed_addr #0

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

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

22:                                               ; preds = %7
  %23 = add nuw nsw i64 %12, 5724
  %24 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %23)
  %.not4447 = icmp eq i32 %24, 0
  br i1 %.not4447, label %25, label %175

25:                                               ; preds = %22
  %26 = zext i32 %10 to i64
  %27 = add nuw nsw i64 %26, 80
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %27, i32 noundef %2)
  %28 = add nuw nsw i64 %12, 4
  %29 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %28)
  %30 = add i32 %9, -28
  %31 = add i32 %9, -168
  %32 = zext i32 %30 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %32, i32 noundef %31)
  %33 = add nuw nsw i64 %26, 220
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %33, i64 noundef 17179869185)
  %34 = add nuw nsw i64 %26, 216
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %34, i32 noundef %30)
  %35 = add nuw nsw i64 %26, 84
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %35, i32 noundef %29)
  %36 = add nuw nsw i64 %26, 252
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %36, i32 noundef 0)
  %37 = add i32 %9, -40
  %38 = add nuw nsw i64 %26, 248
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %38, i32 noundef %37)
  %39 = add nuw nsw i64 %26, 244
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %39, i32 noundef %31)
  %40 = add i32 %9, -176
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %28, i32 noundef %40)
  %41 = add nuw nsw i64 %26, 60
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %41, i32 noundef %2)
  %42 = add nuw nsw i64 %26, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %42, i32 noundef 120164)
  %43 = add i32 %9, -200
  %44 = add nuw nsw i64 %26, 72
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %44, i32 noundef %43)
  %45 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AforEachPublicNativeBuiltin0x28std0x3A0x3A_0x5F20x3A0x3Afunction0x3Chermes0x3A0x3Avm0x3A0x3AExecutionStatus0x200x28unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3APredefined0x3A0x3AStr0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x290x3E0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %43)
  %46 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %44)
  %47 = icmp eq i32 %43, %46
  br i1 %47, label %51, label %48

48:                                               ; preds = %25
  %.not4448 = icmp eq i32 %46, 0
  br i1 %.not4448, label %77, label %49

49:                                               ; preds = %48
  %50 = zext i32 %46 to i64
  br label %51

51:                                               ; preds = %25, %49
  %.sink4695 = phi i64 [ %50, %49 ], [ %42, %25 ]
  %.sink4694 = phi i32 [ 20, %49 ], [ 16, %25 ]
  %.04337 = phi i32 [ %46, %49 ], [ %43, %25 ]
  %52 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.sink4695)
  %53 = add i32 %52, %.sink4694
  %54 = zext i32 %53 to i64
  %55 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %54)
  %56 = getelementptr inbounds i8, ptr %0, i64 80
  %57 = getelementptr inbounds i8, ptr %0, i64 92
  %58 = load i32, ptr %57, align 4, !tbaa !15
  %59 = icmp ult i32 %55, %58
  br i1 %59, label %60, label %.critedge, !prof !16

60:                                               ; preds = %51
  %61 = load ptr, ptr %56, align 8, !tbaa !17
  %62 = zext i32 %55 to i64
  %63 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %61, i64 %62
  %64 = getelementptr inbounds i8, ptr %63, i64 8
  %65 = load ptr, ptr %64, align 8, !tbaa !18
  %.not4449 = icmp eq ptr %65, null
  br i1 %.not4449, label %.critedge, label %66, !prof !20

66:                                               ; preds = %60
  %67 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %68 = load ptr, ptr %63, align 8, !tbaa !22
  %69 = tail call zeroext i1 @func_types_eq(ptr noundef %67, ptr noundef %68)
  br i1 %69, label %70, label %.critedge, !prof !16

.critedge:                                        ; preds = %60, %51, %66
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

70:                                               ; preds = %66
  %71 = load ptr, ptr %56, align 8, !tbaa !17
  %72 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %71, i64 %62
  %73 = getelementptr inbounds i8, ptr %72, i64 8
  %74 = load ptr, ptr %73, align 8, !tbaa !18
  %75 = getelementptr inbounds i8, ptr %72, i64 16
  %76 = load ptr, ptr %75, align 8, !tbaa !23
  tail call void %74(ptr noundef %76, i32 noundef %.04337) #6
  br label %77

77:                                               ; preds = %48, %70
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef nonnull %0, i32 noundef %40) #6
  %.not4450 = icmp eq i32 %45, 0
  br i1 %.not4450, label %78, label %80

78:                                               ; preds = %77
  %79 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %79, i32 noundef 0)
  br label %1888

80:                                               ; preds = %77
  %81 = load i32, ptr %8, align 8, !tbaa !5
  %82 = add i32 %81, -272
  store i32 %82, ptr %8, align 8, !tbaa !5
  %83 = zext i32 %82 to i64
  %84 = add nuw nsw i64 %83, 96
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %84, i32 noundef %2)
  %85 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %28)
  %86 = add i32 %81, -28
  %87 = add i32 %81, -168
  %88 = zext i32 %86 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %88, i32 noundef %87)
  %89 = add nuw nsw i64 %83, 236
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %89, i64 noundef 17179869185)
  %90 = add nuw nsw i64 %83, 232
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %90, i32 noundef %86)
  %91 = add nuw nsw i64 %83, 100
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %91, i32 noundef %85)
  %92 = add nuw nsw i64 %83, 268
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %92, i32 noundef 0)
  %93 = add i32 %81, -40
  %94 = add nuw nsw i64 %83, 264
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %94, i32 noundef %93)
  %95 = add nuw nsw i64 %83, 260
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %95, i32 noundef %87)
  %96 = add i32 %81, -176
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %28, i32 noundef %96)
  %97 = add nuw nsw i64 %83, 92
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %97, i32 noundef 0)
  %98 = add nuw nsw i64 %83, 84
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %98, i64 noundef 0)
  %99 = add nuw nsw i64 %83, 80
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %99, i32 noundef 0)
  %100 = add nuw nsw i64 %83, 72
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %100, i64 noundef 0)
  %101 = add nuw nsw i64 %83, 70
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %101, i32 noundef 12)
  %102 = add nuw nsw i64 %83, 68
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %102, i32 noundef 512)
  %103 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 24) #6
  %104 = zext i32 %103 to i64
  %105 = add nuw nsw i64 %104, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %105, i32 noundef %2)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %104, i32 noundef 120200)
  %106 = add i32 %81, -204
  %107 = add nuw nsw i64 %104, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %107, i32 noundef %106)
  %108 = add i32 %81, -202
  %109 = add nuw nsw i64 %104, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %109, i32 noundef %108)
  %110 = add i32 %81, -200
  %111 = add nuw nsw i64 %104, 12
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %111, i32 noundef %110)
  %112 = add i32 %81, -188
  %113 = add nuw nsw i64 %104, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %113, i32 noundef %112)
  %114 = add nuw nsw i64 %83, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %114, i32 noundef %103)
  %115 = add i32 %81, -232
  %116 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AforEachPublicNativeBuiltin0x28std0x3A0x3A_0x5F20x3A0x3Afunction0x3Chermes0x3A0x3Avm0x3A0x3AExecutionStatus0x200x28unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3APredefined0x3A0x3AStr0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x290x3E0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %115)
  %117 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %104)
  %118 = zext i32 %117 to i64
  %119 = add nuw nsw i64 %118, 20
  %120 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %119)
  %121 = getelementptr inbounds i8, ptr %0, i64 80
  %122 = getelementptr inbounds i8, ptr %0, i64 92
  %123 = load i32, ptr %122, align 4, !tbaa !15
  %124 = icmp ult i32 %120, %123
  br i1 %124, label %125, label %.critedge4561, !prof !16

125:                                              ; preds = %80
  %126 = load ptr, ptr %121, align 8, !tbaa !17
  %127 = zext i32 %120 to i64
  %128 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %126, i64 %127
  %129 = getelementptr inbounds i8, ptr %128, i64 8
  %130 = load ptr, ptr %129, align 8, !tbaa !18
  %.not4451 = icmp eq ptr %130, null
  br i1 %.not4451, label %.critedge4561, label %131, !prof !20

131:                                              ; preds = %125
  %132 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %133 = load ptr, ptr %128, align 8, !tbaa !22
  %134 = tail call zeroext i1 @func_types_eq(ptr noundef %132, ptr noundef %133)
  br i1 %134, label %135, label %.critedge4561, !prof !16

.critedge4561:                                    ; preds = %125, %80, %131
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

135:                                              ; preds = %131
  %136 = load ptr, ptr %121, align 8, !tbaa !17
  %137 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %136, i64 %127
  %138 = getelementptr inbounds i8, ptr %137, i64 8
  %139 = load ptr, ptr %138, align 8, !tbaa !18
  %140 = getelementptr inbounds i8, ptr %137, i64 16
  %141 = load ptr, ptr %140, align 8, !tbaa !23
  tail call void %139(ptr noundef %141, i32 noundef %103) #6
  %142 = add nuw nsw i64 %83, 32
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %142, i32 noundef 1)
  %143 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %142)
  %144 = add nuw nsw i64 %83, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %144, i32 noundef %143)
  %145 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %98)
  %146 = add nuw nsw i64 %83, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %146, i32 noundef %145)
  %147 = add nuw nsw i64 %83, 88
  %148 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %147)
  %149 = sub i32 %148, %145
  %150 = ashr i32 %149, 2
  %151 = add nuw nsw i64 %83, 28
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %151, i32 noundef %150)
  %152 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %101)
  %153 = add nuw nsw i64 %83, 38
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %153, i32 noundef %152)
  %154 = tail call i32 @i32_load16_u(ptr noundef nonnull %11, i64 noundef %102)
  %155 = add nuw nsw i64 %83, 36
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %155, i32 noundef %154)
  %156 = add nuw nsw i64 %83, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %156, i32 noundef %152)
  %157 = add nuw nsw i64 %83, 20
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %157, i32 noundef %154)
  %158 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %146)
  %159 = add nuw nsw i64 %83, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %159, i64 noundef %158)
  %160 = add i32 %2, 696
  %161 = add i32 %81, -250
  %162 = add i32 %81, -252
  %163 = add i32 %81, -264
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AupdatePropertyFlagsWithoutTransitions0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3AOptValue0x3Cllvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %160, i32 noundef %2, i32 noundef %161, i32 noundef %162, i32 noundef %163) #6
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %23, i32 noundef 1)
  %164 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %100)
  %.not4452 = icmp eq i32 %164, 0
  br i1 %.not4452, label %167, label %165

165:                                              ; preds = %135
  %166 = add nuw nsw i64 %83, 76
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %166, i32 noundef %164)
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %164) #6
  br label %167

167:                                              ; preds = %165, %135
  %168 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %98)
  %.not4453 = icmp eq i32 %168, 0
  br i1 %.not4453, label %170, label %169

169:                                              ; preds = %167
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %147, i32 noundef %168)
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %168) #6
  br label %170

170:                                              ; preds = %169, %167
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef nonnull %0, i32 noundef %96) #6
  store i32 %81, ptr %8, align 8, !tbaa !5
  %171 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %172 = zext i32 %171 to i64
  %173 = add nuw nsw i64 %172, 4
  %174 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %173)
  br label %175

175:                                              ; preds = %22, %7, %170
  %.14338 = phi i32 [ %15, %7 ], [ %15, %22 ], [ %171, %170 ]
  %.04327 = phi i32 [ %20, %7 ], [ %20, %22 ], [ %174, %170 ]
  %176 = and i32 %.04327, 4
  %.not4454 = icmp eq i32 %176, 0
  br i1 %.not4454, label %190, label %177

177:                                              ; preds = %175
  %178 = add nuw nsw i64 %12, 5296
  %179 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %178)
  %.not4455 = icmp eq i32 %179, 0
  br i1 %.not4455, label %180, label %190

180:                                              ; preds = %177
  %181 = zext i32 %10 to i64
  %182 = add nuw nsw i64 %181, 112
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %182, i32 noundef 0)
  %183 = add nuw nsw i64 %181, 104
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %183, i64 noundef 317827579905)
  %184 = add nuw nsw i64 %181, 88
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %184, i32 noundef 3)
  %185 = add nuw nsw i64 %181, 80
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %185, i32 noundef 58770)
  %186 = add i32 %2, 128
  %187 = add i32 %9, -176
  %188 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AraisePlaceholder0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %186, i32 noundef %187) #6
  %189 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %189, i32 noundef %188)
  br label %1888

190:                                              ; preds = %177, %175
  %191 = zext i32 %4 to i64
  %192 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %191)
  %193 = and i32 %192, 1
  %.not4456 = icmp eq i32 %193, 0
  br i1 %.not4456, label %702, label %194

194:                                              ; preds = %190
  %195 = add i32 %2, 5772
  %196 = zext i32 %195 to i64
  %197 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %196)
  %198 = add i32 %2, 5776
  %199 = zext i32 %198 to i64
  %200 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %199)
  %.not4457 = icmp eq i32 %197, %200
  br i1 %.not4457, label %214, label %201

201:                                              ; preds = %194
  %202 = zext i32 %197 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %202, i32 noundef %.14338)
  %203 = add nuw nsw i64 %14, 4
  %204 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %203)
  %205 = add nuw nsw i64 %202, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %205, i32 noundef %204)
  %.not4465 = icmp eq i32 %204, 0
  br i1 %.not4465, label %211, label %206

206:                                              ; preds = %201
  %207 = zext i32 %204 to i64
  %208 = add nuw nsw i64 %207, 4
  %209 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %208)
  %210 = add i32 %209, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %208, i32 noundef %210)
  br label %211

211:                                              ; preds = %206, %201
  %212 = add i32 %197, 8
  %213 = add nuw nsw i64 %12, 5772
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %213, i32 noundef %212)
  br label %307

214:                                              ; preds = %194
  %215 = add i32 %2, 5768
  %216 = zext i32 %215 to i64
  %217 = add nuw nsw i64 %216, 4
  %218 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %217)
  %219 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %216)
  %220 = sub i32 %218, %219
  %221 = ashr i32 %220, 3
  %222 = add nsw i32 %221, 1
  %223 = icmp ult i32 %222, 536870912
  br i1 %223, label %224, label %303

224:                                              ; preds = %214
  %225 = add nuw nsw i64 %216, 8
  %226 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %225)
  %227 = sub i32 %226, %219
  %228 = ashr i32 %227, 2
  %229 = tail call i32 @llvm.umax.i32(i32 %228, i32 %222)
  %230 = icmp ugt i32 %227, 2147483639
  %231 = select i1 %230, i32 536870911, i32 %229
  %232 = icmp ugt i32 %231, 536870911
  br i1 %232, label %304, label %233

233:                                              ; preds = %224
  %234 = shl nuw i32 %231, 3
  %235 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %234) #6
  %236 = and i32 %220, -8
  %237 = add i32 %235, %236
  %238 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %239 = zext i32 %237 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %239, i32 noundef %238)
  %240 = add nuw nsw i64 %14, 4
  %241 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %240)
  %242 = add nuw nsw i64 %239, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %242, i32 noundef %241)
  %243 = add i32 %235, %234
  %244 = add i32 %237, 8
  %.not4458 = icmp eq i32 %241, 0
  br i1 %.not4458, label %252, label %245

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

252:                                              ; preds = %245, %233
  %.24339 = phi i32 [ %251, %245 ], [ %219, %233 ]
  %.14328 = phi i32 [ %250, %245 ], [ %218, %233 ]
  %253 = icmp eq i32 %.24339, %.14328
  br i1 %253, label %305, label %.preheader4627

.preheader4627:                                   ; preds = %252, %.preheader4627
  %.04343 = phi i32 [ %254, %.preheader4627 ], [ %237, %252 ]
  %.24329 = phi i32 [ %255, %.preheader4627 ], [ %.14328, %252 ]
  %254 = add i32 %.04343, -8
  %255 = add i32 %.24329, -8
  %256 = zext i32 %255 to i64
  %257 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %256)
  %258 = zext i32 %254 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %258, i32 noundef %257)
  %259 = add nuw nsw i64 %256, 4
  %260 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %259)
  %261 = add nuw nsw i64 %258, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %261, i32 noundef %260)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %256, i64 noundef 0)
  %.not4459 = icmp eq i32 %.24339, %255
  br i1 %.not4459, label %262, label %.preheader4627

262:                                              ; preds = %.preheader4627
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %225, i32 noundef %243)
  %263 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %217)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %217, i32 noundef %244)
  %264 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %216)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %216, i32 noundef %254)
  %265 = icmp eq i32 %264, %263
  br i1 %265, label %.loopexit4626, label %.preheader4625

.preheader4625:                                   ; preds = %262
  %266 = getelementptr inbounds i8, ptr %0, i64 80
  %267 = getelementptr inbounds i8, ptr %0, i64 92
  %268 = load ptr, ptr @w2c_hermes_t3, align 8
  br label %269

269:                                              ; preds = %.preheader4625, %302
  %.34330 = phi i32 [ %270, %302 ], [ %263, %.preheader4625 ]
  %270 = add i32 %.34330, -8
  %271 = zext i32 %270 to i64
  %272 = add nuw nsw i64 %271, 4
  %273 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %272)
  %.not4460 = icmp eq i32 %273, 0
  br i1 %.not4460, label %302, label %274

274:                                              ; preds = %269
  %275 = zext i32 %273 to i64
  %276 = add nuw nsw i64 %275, 4
  %277 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %276)
  %278 = add i32 %277, -1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %276, i32 noundef %278)
  %.not4461 = icmp eq i32 %277, 0
  br i1 %.not4461, label %279, label %302

279:                                              ; preds = %274
  %280 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %275)
  %281 = zext i32 %280 to i64
  %282 = add nuw nsw i64 %281, 8
  %283 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %282)
  %284 = load i32, ptr %267, align 4, !tbaa !15
  %285 = icmp ult i32 %283, %284
  br i1 %285, label %286, label %.critedge4563, !prof !16

286:                                              ; preds = %279
  %287 = load ptr, ptr %266, align 8, !tbaa !17
  %288 = zext i32 %283 to i64
  %289 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %287, i64 %288
  %290 = getelementptr inbounds i8, ptr %289, i64 8
  %291 = load ptr, ptr %290, align 8, !tbaa !18
  %.not4462 = icmp eq ptr %291, null
  br i1 %.not4462, label %.critedge4563, label %292, !prof !20

292:                                              ; preds = %286
  %293 = load ptr, ptr %289, align 8, !tbaa !22
  %294 = tail call zeroext i1 @func_types_eq(ptr noundef %268, ptr noundef %293)
  br i1 %294, label %295, label %.critedge4563, !prof !16

.critedge4563:                                    ; preds = %286, %279, %292
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

295:                                              ; preds = %292
  %296 = load ptr, ptr %266, align 8, !tbaa !17
  %297 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %296, i64 %288
  %298 = getelementptr inbounds i8, ptr %297, i64 8
  %299 = load ptr, ptr %298, align 8, !tbaa !18
  %300 = getelementptr inbounds i8, ptr %297, i64 16
  %301 = load ptr, ptr %300, align 8, !tbaa !23
  tail call void %299(ptr noundef %301, i32 noundef %273) #6
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %273) #6
  br label %302

302:                                              ; preds = %274, %269, %295
  %.not4463 = icmp eq i32 %264, %270
  br i1 %.not4463, label %.loopexit4626, label %269

303:                                              ; preds = %214
  tail call void @w2c_hermes_abort(ptr noundef nonnull %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

304:                                              ; preds = %224
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef nonnull %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

305:                                              ; preds = %252
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %225, i32 noundef %243)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %217, i32 noundef %244)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %216, i32 noundef %237)
  br label %.loopexit4626

.loopexit4626:                                    ; preds = %302, %262, %305
  %.34340 = phi i32 [ %.24339, %305 ], [ %263, %262 ], [ %264, %302 ]
  %.not4464 = icmp eq i32 %.34340, 0
  br i1 %.not4464, label %307, label %306

306:                                              ; preds = %.loopexit4626
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.34340) #6
  br label %307

307:                                              ; preds = %.loopexit4626, %306, %211
  %308 = add nuw nsw i64 %12, 5303
  %309 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %308)
  %.not4466 = icmp eq i32 %309, 0
  br i1 %.not4466, label %338, label %310

310:                                              ; preds = %307
  %311 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %312 = zext i32 %311 to i64
  %313 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %312)
  %314 = zext i32 %313 to i64
  %315 = add nuw nsw i64 %314, 48
  %316 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %315)
  %317 = getelementptr inbounds i8, ptr %0, i64 80
  %318 = getelementptr inbounds i8, ptr %0, i64 92
  %319 = load i32, ptr %318, align 4, !tbaa !15
  %320 = icmp ult i32 %316, %319
  br i1 %320, label %321, label %.critedge4565, !prof !16

321:                                              ; preds = %310
  %322 = load ptr, ptr %317, align 8, !tbaa !17
  %323 = zext i32 %316 to i64
  %324 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %322, i64 %323
  %325 = getelementptr inbounds i8, ptr %324, i64 8
  %326 = load ptr, ptr %325, align 8, !tbaa !18
  %.not4467 = icmp eq ptr %326, null
  br i1 %.not4467, label %.critedge4565, label %327, !prof !20

327:                                              ; preds = %321
  %328 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %329 = load ptr, ptr %324, align 8, !tbaa !22
  %330 = tail call zeroext i1 @func_types_eq(ptr noundef %328, ptr noundef %329)
  br i1 %330, label %331, label %.critedge4565, !prof !16

.critedge4565:                                    ; preds = %321, %310, %327
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

331:                                              ; preds = %327
  %332 = load ptr, ptr %317, align 8, !tbaa !17
  %333 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %332, i64 %323
  %334 = getelementptr inbounds i8, ptr %333, i64 8
  %335 = load ptr, ptr %334, align 8, !tbaa !18
  %336 = getelementptr inbounds i8, ptr %333, i64 16
  %337 = load ptr, ptr %336, align 8, !tbaa !23
  tail call void %335(ptr noundef %337, i32 noundef %311, i32 noundef %309) #6
  br label %338

338:                                              ; preds = %331, %307
  %339 = add nuw nsw i64 %12, 5308
  %340 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %339)
  %341 = and i32 %340, 8
  %.not4468 = icmp eq i32 %341, 0
  br i1 %.not4468, label %370, label %342

342:                                              ; preds = %338
  %343 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %344 = zext i32 %343 to i64
  %345 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %344)
  %346 = zext i32 %345 to i64
  %347 = add nuw nsw i64 %346, 52
  %348 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %347)
  %349 = getelementptr inbounds i8, ptr %0, i64 80
  %350 = getelementptr inbounds i8, ptr %0, i64 92
  %351 = load i32, ptr %350, align 4, !tbaa !15
  %352 = icmp ult i32 %348, %351
  br i1 %352, label %353, label %.critedge4567, !prof !16

353:                                              ; preds = %342
  %354 = load ptr, ptr %349, align 8, !tbaa !17
  %355 = zext i32 %348 to i64
  %356 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %354, i64 %355
  %357 = getelementptr inbounds i8, ptr %356, i64 8
  %358 = load ptr, ptr %357, align 8, !tbaa !18
  %.not4471 = icmp eq ptr %358, null
  br i1 %.not4471, label %.critedge4567, label %359, !prof !20

359:                                              ; preds = %353
  %360 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %361 = load ptr, ptr %356, align 8, !tbaa !22
  %362 = tail call zeroext i1 @func_types_eq(ptr noundef %360, ptr noundef %361)
  br i1 %362, label %363, label %.critedge4567, !prof !16

.critedge4567:                                    ; preds = %353, %342, %359
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

363:                                              ; preds = %359
  %364 = load ptr, ptr %349, align 8, !tbaa !17
  %365 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %364, i64 %355
  %366 = getelementptr inbounds i8, ptr %365, i64 8
  %367 = load ptr, ptr %366, align 8, !tbaa !18
  %368 = getelementptr inbounds i8, ptr %365, i64 16
  %369 = load ptr, ptr %368, align 8, !tbaa !23
  tail call void %367(ptr noundef %369, i32 noundef %343, i32 noundef 0) #6
  br label %400

370:                                              ; preds = %338
  %371 = and i32 %340, 4
  %.not4469 = icmp eq i32 %371, 0
  br i1 %.not4469, label %400, label %372

372:                                              ; preds = %370
  %373 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %374 = zext i32 %373 to i64
  %375 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %374)
  %376 = zext i32 %375 to i64
  %377 = add nuw nsw i64 %376, 52
  %378 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %377)
  %379 = getelementptr inbounds i8, ptr %0, i64 80
  %380 = getelementptr inbounds i8, ptr %0, i64 92
  %381 = load i32, ptr %380, align 4, !tbaa !15
  %382 = icmp ult i32 %378, %381
  br i1 %382, label %383, label %.critedge4569, !prof !16

383:                                              ; preds = %372
  %384 = load ptr, ptr %379, align 8, !tbaa !17
  %385 = zext i32 %378 to i64
  %386 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %384, i64 %385
  %387 = getelementptr inbounds i8, ptr %386, i64 8
  %388 = load ptr, ptr %387, align 8, !tbaa !18
  %.not4470 = icmp eq ptr %388, null
  br i1 %.not4470, label %.critedge4569, label %389, !prof !20

389:                                              ; preds = %383
  %390 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %391 = load ptr, ptr %386, align 8, !tbaa !22
  %392 = tail call zeroext i1 @func_types_eq(ptr noundef %390, ptr noundef %391)
  br i1 %392, label %393, label %.critedge4569, !prof !16

.critedge4569:                                    ; preds = %383, %372, %389
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

393:                                              ; preds = %389
  %394 = load ptr, ptr %379, align 8, !tbaa !17
  %395 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %394, i64 %385
  %396 = getelementptr inbounds i8, ptr %395, i64 8
  %397 = load ptr, ptr %396, align 8, !tbaa !18
  %398 = getelementptr inbounds i8, ptr %395, i64 16
  %399 = load ptr, ptr %398, align 8, !tbaa !23
  tail call void %397(ptr noundef %399, i32 noundef %373, i32 noundef 1) #6
  br label %400

400:                                              ; preds = %370, %393, %363
  %401 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %339)
  %402 = and i32 %401, 128
  %.not4472 = icmp eq i32 %402, 0
  br i1 %.not4472, label %613, label %403

403:                                              ; preds = %400
  %404 = add i32 %9, -176
  %405 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %406 = zext i32 %405 to i64
  %407 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %406)
  %408 = zext i32 %407 to i64
  %409 = add nuw nsw i64 %408, 76
  %410 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %409)
  %411 = getelementptr inbounds i8, ptr %0, i64 80
  %412 = getelementptr inbounds i8, ptr %0, i64 92
  %413 = load i32, ptr %412, align 4, !tbaa !15
  %414 = icmp ult i32 %410, %413
  br i1 %414, label %415, label %.critedge4571, !prof !16

415:                                              ; preds = %403
  %416 = load ptr, ptr %411, align 8, !tbaa !17
  %417 = zext i32 %410 to i64
  %418 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %416, i64 %417
  %419 = getelementptr inbounds i8, ptr %418, i64 8
  %420 = load ptr, ptr %419, align 8, !tbaa !18
  %.not4473 = icmp eq ptr %420, null
  br i1 %.not4473, label %.critedge4571, label %421, !prof !20

421:                                              ; preds = %415
  %422 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %423 = load ptr, ptr %418, align 8, !tbaa !22
  %424 = tail call zeroext i1 @func_types_eq(ptr noundef %422, ptr noundef %423)
  br i1 %424, label %425, label %.critedge4571, !prof !16

.critedge4571:                                    ; preds = %415, %403, %421
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

425:                                              ; preds = %421
  %426 = load ptr, ptr %411, align 8, !tbaa !17
  %427 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %426, i64 %417
  %428 = getelementptr inbounds i8, ptr %427, i64 8
  %429 = load ptr, ptr %428, align 8, !tbaa !18
  %430 = getelementptr inbounds i8, ptr %427, i64 16
  %431 = load ptr, ptr %430, align 8, !tbaa !23
  tail call void %429(ptr noundef %431, i32 noundef %404, i32 noundef %405) #6
  %432 = zext i32 %10 to i64
  %433 = add nuw nsw i64 %432, 84
  %434 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %433)
  %.not4474 = icmp eq i32 %434, 0
  br i1 %.not4474, label %613, label %435

435:                                              ; preds = %425
  %436 = add nuw nsw i64 %432, 80
  %437 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %436)
  %438 = add nuw nsw i64 %432, 48
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %438, i64 noundef %437)
  %439 = add nuw nsw i64 %432, 24
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %439, i64 noundef %437)
  %440 = load i32, ptr %8, align 8, !tbaa !5
  %441 = add i32 %440, -48
  store i32 %441, ptr %8, align 8, !tbaa !5
  %442 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %439)
  %443 = zext i32 %442 to i64
  %444 = add nuw nsw i64 %443, 32
  %445 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %444)
  %446 = zext i32 %441 to i64
  %447 = add nuw nsw i64 %446, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %447, i32 noundef %442)
  %448 = add i32 %442, -20
  %449 = add i32 %448, %445
  %450 = sub i32 %449, %442
  %451 = add nuw nsw i64 %446, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %451, i32 noundef %450)
  %452 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %447)
  %453 = add nuw nsw i64 %446, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %453, i64 noundef %452)
  %454 = add i32 %440, -20
  %455 = add i32 %440, -40
  tail call void @w2c_hermes_llvh0x3A0x3ASHA10x3A0x3Ahash0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef nonnull %0, i32 noundef %454, i32 noundef %455) #6
  %456 = zext i32 %454 to i64
  %457 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %456)
  %458 = zext i32 %449 to i64
  %459 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %458)
  %460 = icmp eq i32 %457, %459
  br i1 %460, label %461, label %1880

461:                                              ; preds = %435
  %462 = add i32 %449, 1
  %463 = add i32 %440, -19
  %464 = zext i32 %463 to i64
  %465 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %464)
  %466 = zext i32 %462 to i64
  %467 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %466)
  %468 = icmp eq i32 %465, %467
  br i1 %468, label %469, label %1880

469:                                              ; preds = %461
  %470 = add i32 %449, 2
  %471 = add i32 %440, -18
  %472 = zext i32 %471 to i64
  %473 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %472)
  %474 = zext i32 %470 to i64
  %475 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %474)
  %476 = icmp eq i32 %473, %475
  br i1 %476, label %477, label %1880

477:                                              ; preds = %469
  %478 = add i32 %449, 3
  %479 = add i32 %440, -17
  %480 = zext i32 %479 to i64
  %481 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %480)
  %482 = zext i32 %478 to i64
  %483 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %482)
  %484 = icmp eq i32 %481, %483
  br i1 %484, label %485, label %1880

485:                                              ; preds = %477
  %486 = add i32 %449, 4
  %487 = add i32 %440, -16
  %488 = zext i32 %487 to i64
  %489 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %488)
  %490 = zext i32 %486 to i64
  %491 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %490)
  %492 = icmp eq i32 %489, %491
  br i1 %492, label %493, label %1880

493:                                              ; preds = %485
  %494 = add i32 %449, 5
  %495 = add i32 %440, -15
  %496 = zext i32 %495 to i64
  %497 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %496)
  %498 = zext i32 %494 to i64
  %499 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %498)
  %500 = icmp eq i32 %497, %499
  br i1 %500, label %501, label %1880

501:                                              ; preds = %493
  %502 = add i32 %449, 6
  %503 = add i32 %440, -14
  %504 = zext i32 %503 to i64
  %505 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %504)
  %506 = zext i32 %502 to i64
  %507 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %506)
  %508 = icmp eq i32 %505, %507
  br i1 %508, label %509, label %1880

509:                                              ; preds = %501
  %510 = add i32 %449, 7
  %511 = add i32 %440, -13
  %512 = zext i32 %511 to i64
  %513 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %512)
  %514 = zext i32 %510 to i64
  %515 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %514)
  %516 = icmp eq i32 %513, %515
  br i1 %516, label %517, label %1880

517:                                              ; preds = %509
  %518 = add i32 %449, 8
  %519 = add i32 %440, -12
  %520 = zext i32 %519 to i64
  %521 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %520)
  %522 = zext i32 %518 to i64
  %523 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %522)
  %524 = icmp eq i32 %521, %523
  br i1 %524, label %525, label %1880

525:                                              ; preds = %517
  %526 = add i32 %449, 9
  %527 = add i32 %440, -11
  %528 = zext i32 %527 to i64
  %529 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %528)
  %530 = zext i32 %526 to i64
  %531 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %530)
  %532 = icmp eq i32 %529, %531
  br i1 %532, label %533, label %1880

533:                                              ; preds = %525
  %534 = add i32 %449, 10
  %535 = add i32 %440, -10
  %536 = zext i32 %535 to i64
  %537 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %536)
  %538 = zext i32 %534 to i64
  %539 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %538)
  %540 = icmp eq i32 %537, %539
  br i1 %540, label %541, label %1880

541:                                              ; preds = %533
  %542 = add i32 %449, 11
  %543 = add i32 %440, -9
  %544 = zext i32 %543 to i64
  %545 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %544)
  %546 = zext i32 %542 to i64
  %547 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %546)
  %548 = icmp eq i32 %545, %547
  br i1 %548, label %549, label %1880

549:                                              ; preds = %541
  %550 = add i32 %449, 12
  %551 = add i32 %440, -8
  %552 = zext i32 %551 to i64
  %553 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %552)
  %554 = zext i32 %550 to i64
  %555 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %554)
  %556 = icmp eq i32 %553, %555
  br i1 %556, label %557, label %1880

557:                                              ; preds = %549
  %558 = add i32 %449, 13
  %559 = add i32 %440, -7
  %560 = zext i32 %559 to i64
  %561 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %560)
  %562 = zext i32 %558 to i64
  %563 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %562)
  %564 = icmp eq i32 %561, %563
  br i1 %564, label %565, label %1880

565:                                              ; preds = %557
  %566 = add i32 %449, 14
  %567 = add i32 %440, -6
  %568 = zext i32 %567 to i64
  %569 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %568)
  %570 = zext i32 %566 to i64
  %571 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %570)
  %572 = icmp eq i32 %569, %571
  br i1 %572, label %573, label %1880

573:                                              ; preds = %565
  %574 = add i32 %449, 15
  %575 = add i32 %440, -5
  %576 = zext i32 %575 to i64
  %577 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %576)
  %578 = zext i32 %574 to i64
  %579 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %578)
  %580 = icmp eq i32 %577, %579
  br i1 %580, label %581, label %1880

581:                                              ; preds = %573
  %582 = add i32 %449, 16
  %583 = add i32 %440, -4
  %584 = zext i32 %583 to i64
  %585 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %584)
  %586 = zext i32 %582 to i64
  %587 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %586)
  %588 = icmp eq i32 %585, %587
  br i1 %588, label %589, label %1880

589:                                              ; preds = %581
  %590 = add i32 %449, 17
  %591 = add i32 %440, -3
  %592 = zext i32 %591 to i64
  %593 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %592)
  %594 = zext i32 %590 to i64
  %595 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %594)
  %596 = icmp eq i32 %593, %595
  br i1 %596, label %597, label %1880

597:                                              ; preds = %589
  %598 = add i32 %449, 18
  %599 = add i32 %440, -2
  %600 = zext i32 %599 to i64
  %601 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %600)
  %602 = zext i32 %598 to i64
  %603 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %602)
  %604 = icmp eq i32 %601, %603
  br i1 %604, label %605, label %1880

605:                                              ; preds = %597
  %606 = add i32 %449, 19
  %607 = add i32 %440, -1
  %608 = zext i32 %607 to i64
  %609 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %608)
  %610 = zext i32 %606 to i64
  %611 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %610)
  %612 = icmp eq i32 %609, %611
  br i1 %612, label %.thread, label %1880

.thread:                                          ; preds = %605
  store i32 %440, ptr %8, align 8, !tbaa !5
  br label %613

613:                                              ; preds = %.thread, %425, %400
  %614 = add nuw nsw i64 %12, 5304
  %615 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %614)
  %.not4477 = icmp eq i32 %615, 0
  br i1 %.not4477, label %702, label %616

616:                                              ; preds = %613
  %617 = add i32 %9, -176
  %618 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %619 = zext i32 %618 to i64
  %620 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %619)
  %621 = zext i32 %620 to i64
  %622 = add nuw nsw i64 %621, 76
  %623 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %622)
  %624 = getelementptr inbounds i8, ptr %0, i64 80
  %625 = getelementptr inbounds i8, ptr %0, i64 92
  %626 = load i32, ptr %625, align 4, !tbaa !15
  %627 = icmp ult i32 %623, %626
  br i1 %627, label %628, label %.critedge4573, !prof !16

628:                                              ; preds = %616
  %629 = load ptr, ptr %624, align 8, !tbaa !17
  %630 = zext i32 %623 to i64
  %631 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %629, i64 %630
  %632 = getelementptr inbounds i8, ptr %631, i64 8
  %633 = load ptr, ptr %632, align 8, !tbaa !18
  %.not4478 = icmp eq ptr %633, null
  br i1 %.not4478, label %.critedge4573, label %634, !prof !20

634:                                              ; preds = %628
  %635 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %636 = load ptr, ptr %631, align 8, !tbaa !22
  %637 = tail call zeroext i1 @func_types_eq(ptr noundef %635, ptr noundef %636)
  br i1 %637, label %638, label %.critedge4573, !prof !16

.critedge4573:                                    ; preds = %628, %616, %634
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

638:                                              ; preds = %634
  %639 = load ptr, ptr %624, align 8, !tbaa !17
  %640 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %639, i64 %630
  %641 = getelementptr inbounds i8, ptr %640, i64 8
  %642 = load ptr, ptr %641, align 8, !tbaa !18
  %643 = getelementptr inbounds i8, ptr %640, i64 16
  %644 = load ptr, ptr %643, align 8, !tbaa !23
  tail call void %642(ptr noundef %644, i32 noundef %617, i32 noundef %618) #6
  %645 = zext i32 %10 to i64
  %646 = add nuw nsw i64 %645, 84
  %647 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %646)
  %648 = icmp ult i32 %647, 65537
  br i1 %648, label %702, label %649

649:                                              ; preds = %638
  %650 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %651 = zext i32 %650 to i64
  %652 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %651)
  %653 = zext i32 %652 to i64
  %654 = add nuw nsw i64 %653, 68
  %655 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %654)
  %656 = load i32, ptr %625, align 4, !tbaa !15
  %657 = icmp ult i32 %655, %656
  br i1 %657, label %658, label %.critedge4575, !prof !16

658:                                              ; preds = %649
  %659 = load ptr, ptr %624, align 8, !tbaa !17
  %660 = zext i32 %655 to i64
  %661 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %659, i64 %660
  %662 = getelementptr inbounds i8, ptr %661, i64 8
  %663 = load ptr, ptr %662, align 8, !tbaa !18
  %.not4479 = icmp eq ptr %663, null
  br i1 %.not4479, label %.critedge4575, label %664, !prof !20

664:                                              ; preds = %658
  %665 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %666 = load ptr, ptr %661, align 8, !tbaa !22
  %667 = tail call zeroext i1 @func_types_eq(ptr noundef %665, ptr noundef %666)
  br i1 %667, label %668, label %.critedge4575, !prof !16

.critedge4575:                                    ; preds = %658, %649, %664
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

668:                                              ; preds = %664
  %669 = load ptr, ptr %624, align 8, !tbaa !17
  %670 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %669, i64 %660
  %671 = getelementptr inbounds i8, ptr %670, i64 8
  %672 = load ptr, ptr %671, align 8, !tbaa !18
  %673 = getelementptr inbounds i8, ptr %670, i64 16
  %674 = load ptr, ptr %673, align 8, !tbaa !23
  tail call void %672(ptr noundef %674, i32 noundef %650) #6
  %675 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %676 = zext i32 %675 to i64
  %677 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %676)
  %678 = zext i32 %677 to i64
  %679 = add nuw nsw i64 %678, 72
  %680 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %679)
  %681 = load i32, ptr %625, align 4, !tbaa !15
  %682 = icmp ult i32 %680, %681
  br i1 %682, label %683, label %.critedge4577, !prof !16

683:                                              ; preds = %668
  %684 = load ptr, ptr %624, align 8, !tbaa !17
  %685 = zext i32 %680 to i64
  %686 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %684, i64 %685
  %687 = getelementptr inbounds i8, ptr %686, i64 8
  %688 = load ptr, ptr %687, align 8, !tbaa !18
  %.not4480 = icmp eq ptr %688, null
  br i1 %.not4480, label %.critedge4577, label %689, !prof !20

689:                                              ; preds = %683
  %690 = load ptr, ptr @w2c_hermes_t5, align 8, !tbaa !21
  %691 = load ptr, ptr %686, align 8, !tbaa !22
  %692 = tail call zeroext i1 @func_types_eq(ptr noundef %690, ptr noundef %691)
  br i1 %692, label %693, label %.critedge4577, !prof !16

.critedge4577:                                    ; preds = %683, %668, %689
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

693:                                              ; preds = %689
  %694 = load ptr, ptr %624, align 8, !tbaa !17
  %695 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %694, i64 %685
  %696 = getelementptr inbounds i8, ptr %695, i64 8
  %697 = load ptr, ptr %696, align 8, !tbaa !18
  %698 = getelementptr inbounds i8, ptr %695, i64 16
  %699 = load ptr, ptr %698, align 8, !tbaa !23
  %700 = tail call i32 %697(ptr noundef %699, i32 noundef %675) #6
  %.not4481 = icmp eq i32 %700, 0
  br i1 %.not4481, label %701, label %702

701:                                              ; preds = %693
  tail call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef nonnull %0, i32 noundef 35077, i32 noundef 58042, i32 noundef 0) #6
  br label %702

702:                                              ; preds = %693, %638, %613, %190, %701
  %703 = zext i32 %10 to i64
  %704 = add nuw nsw i64 %703, 80
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %704, i32 noundef %2)
  %705 = add nuw nsw i64 %12, 4
  %706 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %705)
  %707 = add i32 %9, -28
  %708 = add i32 %9, -168
  %709 = zext i32 %707 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %709, i32 noundef %708)
  %710 = add nuw nsw i64 %703, 220
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %710, i64 noundef 17179869185)
  %711 = add nuw nsw i64 %703, 216
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %711, i32 noundef %707)
  %712 = add nuw nsw i64 %703, 84
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %712, i32 noundef %706)
  %713 = add nuw nsw i64 %703, 252
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %713, i32 noundef 0)
  %714 = add i32 %9, -40
  %715 = add nuw nsw i64 %703, 248
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %715, i32 noundef %714)
  %716 = add nuw nsw i64 %703, 244
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %716, i32 noundef %708)
  %717 = add i32 %9, -176
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %705, i32 noundef %717)
  %718 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %0, i32 noundef %2) #6
  %719 = zext i32 %718 to i64
  %720 = or disjoint i64 %719, -281474976710656
  %721 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %705)
  %722 = zext i32 %721 to i64
  %723 = add nuw nsw i64 %722, 164
  %724 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %723)
  %725 = add nuw nsw i64 %722, 168
  %726 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %725)
  %727 = icmp ult i32 %724, %726
  br i1 %727, label %728, label %731

728:                                              ; preds = %702
  %729 = add i32 %724, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %723, i32 noundef %729)
  %730 = zext i32 %724 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %730, i64 noundef %720)
  br label %733

731:                                              ; preds = %702
  %732 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %721, i64 noundef %720) #6
  %.pre = zext i32 %732 to i64
  br label %733

733:                                              ; preds = %731, %728
  %.pre-phi = phi i64 [ %.pre, %731 ], [ %730, %728 ]
  %.54342 = phi i32 [ %732, %731 ], [ %724, %728 ]
  %734 = add nuw nsw i64 %12, 5752
  %735 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %734)
  %736 = add i32 %735, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %734, i32 noundef %736)
  %737 = add nuw nsw i64 %703, 47
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %737, i32 noundef %192)
  %738 = zext i32 %5 to i64
  %739 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %738)
  %740 = add nuw nsw i64 %703, 32
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %740, i64 noundef %739)
  %741 = add nuw nsw i64 %703, 15
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %741, i32 noundef %192)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %703, i64 noundef %739)
  %742 = load i32, ptr %8, align 8, !tbaa !5
  %743 = add i32 %742, -16
  store i32 %743, ptr %8, align 8, !tbaa !5
  %744 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 104) #6
  %745 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %703)
  %746 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %741)
  %747 = zext i32 %744 to i64
  %748 = add nuw nsw i64 %747, 20
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %748, i32 noundef 0)
  %749 = add nuw nsw i64 %747, 12
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %749, i64 noundef 0)
  %750 = add nuw nsw i64 %747, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %750, i32 noundef %2)
  %751 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %.pre-phi)
  %752 = add nuw nsw i64 %747, 28
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %752, i64 noundef 0)
  %753 = add nuw nsw i64 %747, 24
  tail call void @i64_store32(ptr noundef nonnull %11, i64 noundef %753, i64 noundef %751)
  %754 = add nuw nsw i64 %747, 36
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %754, i64 noundef 0)
  %755 = add nuw nsw i64 %747, 44
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %755, i32 noundef 0)
  %756 = add nuw nsw i64 %747, 48
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %756, i32 noundef %746)
  %757 = add i32 %744, 52
  %758 = trunc i64 %745 to i32
  %.not4482 = icmp eq i32 %758, 0
  br i1 %.not4482, label %759, label %762

759:                                              ; preds = %733
  %760 = zext i32 %757 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %760, i64 noundef 0)
  %761 = add nuw nsw i64 %760, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %761, i32 noundef 0)
  br label %785

762:                                              ; preds = %733
  %763 = lshr i64 %745, 32
  %764 = trunc nuw i64 %763 to i32
  %765 = icmp ugt i64 %745, 9223371968135299071
  br i1 %765, label %1719, label %766

766:                                              ; preds = %762
  %767 = icmp ugt i64 %745, 47244640255
  br i1 %767, label %768, label %777

768:                                              ; preds = %766
  %769 = or i32 %764, 15
  %770 = add nuw i32 %769, 1
  %771 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %770) #6
  %772 = or i32 %770, -2147483648
  %773 = add nuw nsw i64 %747, 60
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %773, i32 noundef %772)
  %774 = add nuw nsw i64 %747, 52
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %774, i32 noundef %771)
  %775 = add nuw nsw i64 %747, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %775, i32 noundef %764)
  %776 = add i32 %771, %764
  br label %780

777:                                              ; preds = %766
  %778 = add nuw nsw i64 %747, 63
  tail call void @i64_store8(ptr noundef nonnull %11, i64 noundef %778, i64 noundef %763)
  %779 = add i32 %757, %764
  %.not4483 = icmp ult i64 %745, 4294967296
  br i1 %.not4483, label %782, label %780

780:                                              ; preds = %777, %768
  %.04356 = phi i32 [ %776, %768 ], [ %779, %777 ]
  %.04320 = phi i32 [ %771, %768 ], [ %757, %777 ]
  %781 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %.04320, i32 noundef %758, i32 noundef %764) #6
  br label %782

782:                                              ; preds = %777, %780
  %.14357 = phi i32 [ %.04356, %780 ], [ %779, %777 ]
  %783 = zext i32 %.14357 to i64
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %783, i32 noundef 0)
  %784 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %750)
  %.pre4659 = zext i32 %784 to i64
  br label %785

785:                                              ; preds = %782, %759
  %.pre-phi4660 = phi i64 [ %.pre4659, %782 ], [ %12, %759 ]
  %.14299 = phi i32 [ %784, %782 ], [ %2, %759 ]
  %786 = add nuw nsw i64 %747, 68
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %786, i64 noundef 0)
  %787 = add nuw nsw i64 %747, 64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %787, i32 noundef %735)
  %788 = add nuw nsw i64 %747, 76
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %788, i64 noundef 0)
  %789 = add nuw nsw i64 %747, 84
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %789, i64 noundef 0)
  %790 = add nuw nsw i64 %747, 92
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %790, i64 noundef 0)
  %791 = add nuw nsw i64 %.pre-phi4660, 5560
  %792 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %791)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %747, i32 noundef %792)
  %793 = add i32 %.14299, 5560
  %794 = add nuw nsw i64 %747, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %794, i32 noundef %793)
  %795 = zext i32 %792 to i64
  %796 = add nuw nsw i64 %795, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %796, i32 noundef %744)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %791, i32 noundef %744)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ADomain0x3A0x3AaddRuntimeModule0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x29(ptr noundef nonnull %0, i32 noundef %.54342, i32 noundef %2, i32 noundef %744) #6
  %797 = add nuw nsw i64 %747, 100
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %797, i32 noundef %744)
  %798 = add nuw nsw i64 %12, 5592
  %799 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %798)
  %800 = zext i32 %799 to i64
  %801 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %800)
  %802 = zext i32 %801 to i64
  %803 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %802)
  %804 = getelementptr inbounds i8, ptr %0, i64 80
  %805 = getelementptr inbounds i8, ptr %0, i64 92
  %806 = load i32, ptr %805, align 4, !tbaa !15
  %807 = icmp ult i32 %803, %806
  br i1 %807, label %808, label %.critedge4579, !prof !16

808:                                              ; preds = %785
  %809 = load ptr, ptr %804, align 8, !tbaa !17
  %810 = zext i32 %803 to i64
  %811 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %809, i64 %810
  %812 = getelementptr inbounds i8, ptr %811, i64 8
  %813 = load ptr, ptr %812, align 8, !tbaa !18
  %.not4484 = icmp eq ptr %813, null
  br i1 %.not4484, label %.critedge4579, label %814, !prof !20

814:                                              ; preds = %808
  %815 = load ptr, ptr @w2c_hermes_t2, align 8, !tbaa !21
  %816 = load ptr, ptr %811, align 8, !tbaa !22
  %817 = tail call zeroext i1 @func_types_eq(ptr noundef %815, ptr noundef %816)
  br i1 %817, label %818, label %.critedge4579, !prof !16

.critedge4579:                                    ; preds = %808, %785, %814
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

818:                                              ; preds = %814
  %819 = load ptr, ptr %804, align 8, !tbaa !17
  %820 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %819, i64 %810
  %821 = getelementptr inbounds i8, ptr %820, i64 8
  %822 = load ptr, ptr %821, align 8, !tbaa !18
  %823 = getelementptr inbounds i8, ptr %820, i64 16
  %824 = load ptr, ptr %823, align 8, !tbaa !23
  tail call void %822(ptr noundef %824, i32 noundef %799, i32 noundef %744, i32 noundef 104) #6
  %825 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %14)
  %.not4485 = icmp eq i32 %825, 0
  br i1 %.not4485, label %1717, label %826

826:                                              ; preds = %818
  %827 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %14)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %14, i64 noundef 0)
  %828 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %755)
  %829 = add nuw nsw i64 %747, 40
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %829, i64 noundef %827)
  %.not4486 = icmp eq i32 %828, 0
  br i1 %.not4486, label %859, label %830

830:                                              ; preds = %826
  %831 = zext i32 %828 to i64
  %832 = add nuw nsw i64 %831, 4
  %833 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %832)
  %834 = add i32 %833, -1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %832, i32 noundef %834)
  %.not4487 = icmp eq i32 %833, 0
  br i1 %.not4487, label %835, label %859

835:                                              ; preds = %830
  %836 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %831)
  %837 = zext i32 %836 to i64
  %838 = add nuw nsw i64 %837, 8
  %839 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %838)
  %840 = load i32, ptr %805, align 4, !tbaa !15
  %841 = icmp ult i32 %839, %840
  br i1 %841, label %842, label %.critedge4581, !prof !16

842:                                              ; preds = %835
  %843 = load ptr, ptr %804, align 8, !tbaa !17
  %844 = zext i32 %839 to i64
  %845 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %843, i64 %844
  %846 = getelementptr inbounds i8, ptr %845, i64 8
  %847 = load ptr, ptr %846, align 8, !tbaa !18
  %.not4488 = icmp eq ptr %847, null
  br i1 %.not4488, label %.critedge4581, label %848, !prof !20

848:                                              ; preds = %842
  %849 = load ptr, ptr @w2c_hermes_t3, align 8, !tbaa !21
  %850 = load ptr, ptr %845, align 8, !tbaa !22
  %851 = tail call zeroext i1 @func_types_eq(ptr noundef %849, ptr noundef %850)
  br i1 %851, label %852, label %.critedge4581, !prof !16

.critedge4581:                                    ; preds = %842, %835, %848
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

852:                                              ; preds = %848
  %853 = load ptr, ptr %804, align 8, !tbaa !17
  %854 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %853, i64 %844
  %855 = getelementptr inbounds i8, ptr %854, i64 8
  %856 = load ptr, ptr %855, align 8, !tbaa !18
  %857 = getelementptr inbounds i8, ptr %854, i64 16
  %858 = load ptr, ptr %857, align 8, !tbaa !23
  tail call void %856(ptr noundef %858, i32 noundef %828) #6
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fshared_weak_count0x3A0x3A_0x5Frelease_weak0x280x29(ptr noundef nonnull %0, i32 noundef %828) #6
  br label %859

859:                                              ; preds = %830, %826, %852
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AimportStringIDMapMayAllocate0x280x29(ptr noundef nonnull %0, i32 noundef %744)
  %860 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %861 = zext i32 %860 to i64
  %862 = add nuw nsw i64 %861, 8
  %863 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %862)
  %864 = add nuw nsw i64 %747, 32
  %865 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %864)
  %866 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %752)
  %867 = sub i32 %865, %866
  %868 = ashr i32 %867, 2
  %869 = icmp ugt i32 %863, %868
  br i1 %869, label %870, label %873

870:                                              ; preds = %859
  %871 = add i32 %744, 28
  %872 = sub i32 %863, %868
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x3E0x3A0x3A_0x5Fappend0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %871, i32 noundef %872) #6
  br label %877

873:                                              ; preds = %859
  %.not4489 = icmp ugt i32 %868, %863
  br i1 %.not4489, label %874, label %877

874:                                              ; preds = %873
  %875 = shl i32 %863, 2
  %876 = add i32 %866, %875
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %864, i32 noundef %876)
  br label %877

877:                                              ; preds = %873, %874, %870
  %878 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %750)
  %879 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %753)
  %.not4490 = icmp eq i32 %879, 0
  br i1 %.not4490, label %882, label %880

880:                                              ; preds = %877
  %881 = add i32 %878, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AweakRefReadBarrier0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x2A0x29(ptr noundef nonnull %0, i32 noundef %881, i32 noundef %879) #6
  br label %882

882:                                              ; preds = %880, %877
  %883 = zext i32 %879 to i64
  %884 = or disjoint i64 %883, -281474976710656
  %885 = zext i32 %878 to i64
  %886 = add nuw nsw i64 %885, 4
  %887 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %886)
  %888 = zext i32 %887 to i64
  %889 = add nuw nsw i64 %888, 164
  %890 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %889)
  %891 = add nuw nsw i64 %888, 168
  %892 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %891)
  %893 = icmp ult i32 %890, %892
  br i1 %893, label %894, label %897

894:                                              ; preds = %882
  %895 = add i32 %890, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %889, i32 noundef %895)
  %896 = zext i32 %890 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %896, i64 noundef %884)
  br label %899

897:                                              ; preds = %882
  %898 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %887, i64 noundef %884) #6
  br label %899

899:                                              ; preds = %897, %894
  %.04345 = phi i32 [ %890, %894 ], [ %898, %897 ]
  %900 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %750)
  %901 = load i32, ptr %8, align 8, !tbaa !5
  %902 = add i32 %901, -80
  store i32 %902, ptr %8, align 8, !tbaa !5
  %903 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %904 = zext i32 %903 to i64
  %905 = add nuw nsw i64 %904, 104
  %906 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %905)
  %907 = icmp ult i64 %906, 4294967296
  br i1 %907, label %908, label %912

908:                                              ; preds = %899
  %909 = add nuw nsw i64 %904, 112
  %910 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %909)
  %911 = icmp ult i64 %910, 4294967296
  br i1 %911, label %.thread4594, label %912

912:                                              ; preds = %908, %899
  %913 = zext i32 %900 to i64
  %914 = add nuw nsw i64 %913, 4
  %915 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %914)
  %916 = zext i32 %915 to i64
  %917 = add nuw nsw i64 %916, 164
  %918 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %917)
  %919 = add nuw nsw i64 %916, 168
  %920 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %919)
  %921 = icmp ult i32 %918, %920
  br i1 %921, label %922, label %925

922:                                              ; preds = %912
  %923 = add i32 %918, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %917, i32 noundef %923)
  %924 = zext i32 %918 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %924, i64 noundef -281474976710656)
  br label %927

925:                                              ; preds = %912
  %926 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %915, i64 noundef -281474976710656) #6
  br label %927

927:                                              ; preds = %925, %922
  %.14346 = phi i32 [ %918, %922 ], [ %926, %925 ]
  %928 = zext i32 %902 to i64
  %929 = add nuw nsw i64 %928, 68
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %929, i32 noundef %.14346)
  %930 = zext i32 %.04345 to i64
  %931 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %932 = zext i32 %931 to i64
  %933 = add nuw nsw i64 %932, 4
  %934 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %933)
  %.not4491 = icmp eq i32 %934, 0
  br i1 %.not4491, label %935, label %1072

935:                                              ; preds = %927
  %936 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %937 = zext i32 %936 to i64
  %938 = add nuw nsw i64 %937, 116
  %939 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %938)
  %940 = add nuw nsw i64 %937, 108
  %941 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %940)
  %942 = add i32 %941, %939
  %943 = icmp ugt i32 %942, 1431655765
  br i1 %943, label %944, label %951

944:                                              ; preds = %935
  %945 = add nuw nsw i64 %928, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %945, i32 noundef 0)
  %946 = add nuw nsw i64 %928, 48
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %946, i64 noundef 146028888065)
  %947 = add nuw nsw i64 %928, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %947, i32 noundef 3)
  %948 = add nuw nsw i64 %928, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %948, i32 noundef 22615)
  %949 = add i32 %901, -56
  %950 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %900, i32 noundef %949)
  br label %1660

951:                                              ; preds = %935
  %952 = icmp ult i32 %942, 171179
  br i1 %952, label %953, label %975

953:                                              ; preds = %951
  %954 = mul nuw nsw i32 %942, 24
  %955 = add nuw nsw i32 %954, 15
  %956 = and i32 %955, 16777208
  %957 = add i32 %900, 1368
  %958 = zext i32 %957 to i64
  %959 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %958)
  %960 = add i32 %900, 1364
  %961 = zext i32 %960 to i64
  %962 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %961)
  %963 = sub i32 %959, %962
  %964 = icmp ugt i32 %956, %963
  br i1 %964, label %965, label %968

965:                                              ; preds = %953
  %966 = add i32 %900, 808
  %967 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %966, i32 noundef %956) #6
  br label %971

968:                                              ; preds = %953
  %969 = add i32 %962, %956
  %970 = add nuw nsw i64 %913, 1364
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %970, i32 noundef %969)
  br label %971

971:                                              ; preds = %968, %965
  %.24358 = phi i32 [ %967, %965 ], [ %962, %968 ]
  %972 = zext i32 %.24358 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %972, i64 noundef 0)
  %973 = or disjoint i32 %956, 234881024
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %972, i32 noundef %973)
  %974 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  br label %._crit_edge

975:                                              ; preds = %951
  %976 = mul nuw i32 %942, 3
  %977 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %900, i32 noundef %976) #6
  %.not4492 = icmp eq i32 %977, 0
  br i1 %.not4492, label %.thread4598, label %._crit_edge

._crit_edge:                                      ; preds = %975, %971
  %.34359 = phi i32 [ %.24358, %971 ], [ 0, %975 ]
  %.24347 = phi i32 [ %974, %971 ], [ %.14346, %975 ]
  %978 = zext i32 %.34359 to i64
  %979 = or disjoint i64 %978, -281474976710656
  %980 = zext i32 %.24347 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %980, i64 noundef %979)
  %981 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %982 = zext i32 %981 to i64
  %983 = add nuw nsw i64 %982, 16
  %984 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %983)
  %985 = icmp ugt i32 %942, %984
  br i1 %985, label %986, label %1007

986:                                              ; preds = %._crit_edge
  %987 = icmp ugt i32 %942, 1073741823
  br i1 %987, label %1165, label %988

988:                                              ; preds = %986
  %989 = shl nuw i32 %942, 2
  %990 = tail call i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %989) #6
  %991 = add nuw nsw i64 %982, 8
  %992 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %991)
  %993 = add nuw nsw i64 %982, 12
  %994 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %993)
  %995 = icmp sgt i32 %994, 0
  br i1 %995, label %996, label %.loopexit4624

996:                                              ; preds = %988
  %997 = shl i32 %994, 2
  %998 = add i32 %997, %992
  br label %999

999:                                              ; preds = %999, %996
  %.44360 = phi i32 [ %992, %996 ], [ %1004, %999 ]
  %.34348 = phi i32 [ %990, %996 ], [ %1003, %999 ]
  %1000 = zext i32 %.44360 to i64
  %1001 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1000)
  %1002 = zext i32 %.34348 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1002, i32 noundef %1001)
  %1003 = add i32 %.34348, 4
  %1004 = add i32 %.44360, 4
  %1005 = icmp ult i32 %1004, %998
  br i1 %1005, label %999, label %.loopexit4624

.loopexit4624:                                    ; preds = %999, %988
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %992) #6
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %983, i32 noundef %942)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %991, i32 noundef %990)
  %1006 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %.pre4661 = zext i32 %1006 to i64
  br label %1007

1007:                                             ; preds = %._crit_edge, %.loopexit4624
  %.pre-phi4662 = phi i64 [ %982, %._crit_edge ], [ %.pre4661, %.loopexit4624 ]
  %1008 = add nuw nsw i64 %.pre-phi4662, 12
  %1009 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1008)
  %1010 = icmp ugt i32 %942, %1009
  br i1 %1010, label %1011, label %.loopexit4623

1011:                                             ; preds = %1007
  %1012 = add i32 %900, 808
  br label %1013

1013:                                             ; preds = %1024, %1011
  %.14321 = phi i32 [ %1009, %1011 ], [ %1031, %1024 ]
  %1014 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1015 = zext i32 %1014 to i64
  %1016 = add nuw nsw i64 %1015, 12
  %1017 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1016)
  %1018 = add nuw nsw i64 %1015, 16
  %1019 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1018)
  %1020 = icmp eq i32 %1017, %1019
  br i1 %1020, label %1021, label %1024

1021:                                             ; preds = %1013
  %1022 = add i32 %1014, 8
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef %0, i32 noundef %1022, i32 noundef %1012) #6
  %1023 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1016)
  br label %1024

1024:                                             ; preds = %1021, %1013
  %.54361 = phi i32 [ %1023, %1021 ], [ %1017, %1013 ]
  %1025 = add nuw nsw i64 %1015, 8
  %1026 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1025)
  %1027 = shl i32 %.54361, 2
  %1028 = add i32 %1026, %1027
  %1029 = zext i32 %1028 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1029, i32 noundef 0)
  %1030 = add i32 %.54361, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1016, i32 noundef %1030)
  %1031 = add i32 %.14321, 1
  %.not4493 = icmp eq i32 %1031, %942
  br i1 %.not4493, label %.loopexit4623, label %1013

.loopexit4623:                                    ; preds = %1024, %1007
  %1032 = add i32 %900, 192
  %1033 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ANativeFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ACallResult0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x2C0x200x28hermes0x3A0x3Avm0x3A0x3Adetail0x3A0x3ACallResultSpecialize0x2920x3E0x200x280x2A0x290x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x290x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %900, i32 noundef %1032, i32 noundef 1, i32 noundef 1038, i32 noundef 14, i32 noundef 0, i32 noundef 0)
  %1034 = add i32 %900, 5468
  %1035 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef %0, i32 noundef %1034, i32 noundef %900, i32 noundef 14) #6
  %1036 = zext i32 %1035 to i64
  %1037 = or disjoint i64 %1036, -844424930131968
  %1038 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %914)
  %1039 = zext i32 %1038 to i64
  %1040 = add nuw nsw i64 %1039, 164
  %1041 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1040)
  %1042 = add nuw nsw i64 %1039, 168
  %1043 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1042)
  %1044 = icmp ult i32 %1041, %1043
  br i1 %1044, label %1045, label %1048

1045:                                             ; preds = %.loopexit4623
  %1046 = add i32 %1041, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1040, i32 noundef %1046)
  %1047 = zext i32 %1041 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1047, i64 noundef %1037)
  br label %1050

1048:                                             ; preds = %.loopexit4623
  %1049 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1038, i64 noundef %1037) #6
  br label %1050

1050:                                             ; preds = %1048, %1045
  %.44349 = phi i32 [ %1041, %1045 ], [ %1049, %1048 ]
  %1051 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef %0, i32 noundef %900, i32 noundef %.04345, i32 noundef %.44349)
  %1052 = add nuw nsw i64 %928, 20
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1052, i32 noundef 2)
  %1053 = add nuw nsw i64 %928, 22
  tail call void @i32_store16(ptr noundef nonnull %11, i64 noundef %1053, i32 noundef 2)
  %1054 = add i32 %901, -60
  %1055 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineNewOwnProperty0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %1033, i32 noundef %900, i32 noundef 472, i32 noundef %1054, i32 noundef %1051) #6
  %.not4494 = icmp eq i32 %1055, 0
  br i1 %.not4494, label %.thread4598, label %1056

1056:                                             ; preds = %1050
  %1057 = zext i32 %1033 to i64
  %1058 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1057)
  %1059 = add i32 %900, 1356
  %1060 = zext i32 %1059 to i64
  %1061 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1060)
  %1062 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1063 = add i32 %1062, 48
  %1064 = and i32 %1063, -4194304
  %.not4495 = icmp eq i32 %1061, %1064
  br i1 %.not4495, label %1067, label %1065

1065:                                             ; preds = %1056
  %1066 = add i32 %900, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %0, i32 noundef %1066, i32 noundef %1063, i32 noundef %1058) #6
  br label %1067

1067:                                             ; preds = %1065, %1056
  %1068 = zext i32 %1063 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1068, i32 noundef %1058)
  %1069 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1070 = zext i32 %1069 to i64
  %1071 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1070)
  br label %1076

1072:                                             ; preds = %927
  %1073 = zext i32 %934 to i64
  %1074 = or disjoint i64 %1073, -281474976710656
  %1075 = zext i32 %.14346 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1075, i64 noundef %1074)
  br label %1076

1076:                                             ; preds = %1072, %1067
  %.04300 = phi i64 [ %1071, %1067 ], [ %1074, %1072 ]
  %1077 = and i64 %.04300, 4294967295
  %1078 = add nuw nsw i64 %1077, 4
  %1079 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1078)
  %1080 = udiv i32 %1079, 3
  %1081 = zext nneg i32 %1080 to i64
  %1082 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %1083 = zext i32 %1082 to i64
  %1084 = add nuw nsw i64 %1083, 108
  %1085 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1084)
  %.not4496 = icmp eq i32 %1085, 0
  br i1 %.not4496, label %1168, label %1086

1086:                                             ; preds = %1076
  %1087 = add nuw nsw i64 %1083, 104
  %1088 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1087)
  %1089 = shl i32 %1085, 3
  %1090 = add i32 %1088, %1089
  %1091 = add i32 %901, -56
  %1092 = add nuw nsw i64 %928, 76
  %1093 = add nuw nsw i64 %928, 72
  %1094 = add nuw nsw i64 %928, 8
  %1095 = add i32 %901, -72
  br label %1096

1096:                                             ; preds = %.loopexit4622, %1086
  %.54350 = phi i32 [ %1088, %1086 ], [ %1164, %.loopexit4622 ]
  %.14301 = phi i64 [ %1081, %1086 ], [ %1163, %.loopexit4622 ]
  %1097 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %749)
  %1098 = zext i32 %.54350 to i64
  %1099 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1098)
  %1100 = shl i32 %1099, 2
  %1101 = add i32 %1100, %1097
  %1102 = zext i32 %1101 to i64
  %1103 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1102)
  %1104 = icmp ugt i32 %1103, 536870909
  br i1 %1104, label %1105, label %1132

1105:                                             ; preds = %1096
  %1106 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %1107 = zext i32 %1106 to i64
  %1108 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1107)
  %1109 = zext i32 %1108 to i64
  %1110 = add nuw nsw i64 %1109, 4
  %1111 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1110)
  %1112 = load i32, ptr %805, align 4, !tbaa !15
  %1113 = icmp ult i32 %1111, %1112
  br i1 %1113, label %1114, label %.critedge4583, !prof !16

1114:                                             ; preds = %1105
  %1115 = load ptr, ptr %804, align 8, !tbaa !17
  %1116 = zext i32 %1111 to i64
  %1117 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1115, i64 %1116
  %1118 = getelementptr inbounds i8, ptr %1117, i64 8
  %1119 = load ptr, ptr %1118, align 8, !tbaa !18
  %.not4497 = icmp eq ptr %1119, null
  br i1 %.not4497, label %.critedge4583, label %1120, !prof !20

1120:                                             ; preds = %1114
  %1121 = load ptr, ptr %1117, align 8, !tbaa !22
  %1122 = tail call zeroext i1 @func_types_eq(ptr noundef %815, ptr noundef %1121)
  br i1 %1122, label %1123, label %.critedge4583, !prof !16

.critedge4583:                                    ; preds = %1114, %1105, %1120
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

1123:                                             ; preds = %1120
  %1124 = load ptr, ptr %804, align 8, !tbaa !17
  %1125 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1124, i64 %1116
  %1126 = getelementptr inbounds i8, ptr %1125, i64 8
  %1127 = load ptr, ptr %1126, align 8, !tbaa !18
  %1128 = getelementptr inbounds i8, ptr %1125, i64 16
  %1129 = load ptr, ptr %1128, align 8, !tbaa !23
  tail call void %1127(ptr noundef %1129, i32 noundef %1091, i32 noundef %1106, i32 noundef %1099) #6
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1092, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1093, i32 noundef 0)
  %1130 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1093)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1094, i64 noundef %1130)
  %1131 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AcreateSymbolFromStringIDMayAllocate0x28unsigned0x20int0x2C0x20hermes0x3A0x3AStringTableEntry0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x29(ptr noundef nonnull %0, i32 noundef %744, i32 noundef %1099, i32 noundef %1091, i32 noundef %1095)
  br label %1132

1132:                                             ; preds = %1123, %1096
  %.64362 = phi i32 [ %1131, %1123 ], [ %1103, %1096 ]
  %1133 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1134 = zext i32 %1133 to i64
  %1135 = add nuw nsw i64 %1134, 20
  %1136 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1135)
  %1137 = add nuw nsw i64 %1134, 32
  %1138 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1137)
  %.not4498 = icmp eq i32 %1138, 0
  br i1 %.not4498, label %.loopexit4621, label %1139

1139:                                             ; preds = %1132
  %1140 = add i32 %1138, -1
  %1141 = mul i32 %.64362, 37
  %1142 = and i32 %1140, %1141
  %1143 = shl i32 %1142, 3
  %1144 = add i32 %1143, %1136
  %1145 = zext i32 %1144 to i64
  %1146 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1145)
  %1147 = icmp eq i32 %.64362, %1146
  br i1 %1147, label %.loopexit4622, label %.preheader4620

.preheader4620:                                   ; preds = %1139, %1149
  %.54332 = phi i32 [ %1156, %1149 ], [ %1146, %1139 ]
  %.04313 = phi i32 [ %1151, %1149 ], [ 1, %1139 ]
  %.04309 = phi i32 [ %1152, %1149 ], [ %1142, %1139 ]
  %1148 = icmp eq i32 %.54332, 536870911
  br i1 %1148, label %.loopexit4621, label %1149

1149:                                             ; preds = %.preheader4620
  %1150 = add i32 %.04309, %.04313
  %1151 = add i32 %.04313, 1
  %1152 = and i32 %1150, %1140
  %1153 = shl i32 %1152, 3
  %1154 = add i32 %1153, %1136
  %1155 = zext i32 %1154 to i64
  %1156 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1155)
  %.not4499 = icmp eq i32 %.64362, %1156
  br i1 %.not4499, label %.loopexit4622, label %.preheader4620

.loopexit4621:                                    ; preds = %.preheader4620, %1132
  %1157 = shl i32 %1138, 3
  %1158 = add i32 %1157, %1136
  br label %.loopexit4622

.loopexit4622:                                    ; preds = %1149, %1139, %.loopexit4621
  %.04304 = phi i32 [ %1158, %.loopexit4621 ], [ %1144, %1139 ], [ %1154, %1149 ]
  %1159 = shl i32 %1138, 3
  %1160 = add i32 %1159, %1136
  %1161 = icmp eq i32 %.04304, %1160
  %1162 = zext i1 %1161 to i64
  %1163 = add i64 %.14301, %1162
  %1164 = add i32 %.54350, 8
  %.not4500 = icmp eq i32 %1090, %1164
  br i1 %.not4500, label %1166, label %1096

1165:                                             ; preds = %986
  tail call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef nonnull %0, i32 noundef 47421) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

1166:                                             ; preds = %.loopexit4622
  %1167 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %.pre4663 = zext i32 %1167 to i64
  br label %1168

1168:                                             ; preds = %1076, %1166
  %.pre-phi4664 = phi i64 [ %1083, %1076 ], [ %.pre4663, %1166 ]
  %.24302 = phi i64 [ %1081, %1076 ], [ %1163, %1166 ]
  %1169 = add nuw nsw i64 %.pre-phi4664, 116
  %1170 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1169)
  %.not4501 = icmp eq i32 %1170, 0
  br i1 %.not4501, label %.loopexit4617, label %1171

1171:                                             ; preds = %1168
  %1172 = add nuw nsw i64 %.pre-phi4664, 112
  %1173 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1172)
  %1174 = add i32 %1170, 536870911
  %1175 = and i32 %1174, 536870911
  %1176 = and i32 %1170, 7
  %.not4502 = icmp eq i32 %1176, 0
  br i1 %.not4502, label %.loopexit4619, label %.preheader4618

.preheader4618:                                   ; preds = %1171, %.preheader4618
  %.74363 = phi i32 [ %1181, %.preheader4618 ], [ 0, %1171 ]
  %.74352 = phi i32 [ %1180, %.preheader4618 ], [ %1173, %1171 ]
  %.3 = phi i64 [ %1179, %.preheader4618 ], [ %.24302, %1171 ]
  %1177 = zext i32 %.74352 to i64
  %1178 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1177)
  %1179 = tail call i64 @llvm.umax.i64(i64 %1178, i64 %.3)
  %1180 = add i32 %.74352, 8
  %1181 = add nuw nsw i32 %.74363, 1
  %.not4503 = icmp eq i32 %1181, %1176
  br i1 %.not4503, label %.loopexit4619, label %.preheader4618

.loopexit4619:                                    ; preds = %.preheader4618, %1171
  %.84353 = phi i32 [ %1173, %1171 ], [ %1180, %.preheader4618 ]
  %.4 = phi i64 [ %.24302, %1171 ], [ %1179, %.preheader4618 ]
  %1182 = icmp ult i32 %1175, 7
  br i1 %1182, label %.loopexit4617, label %1183

1183:                                             ; preds = %.loopexit4619
  %1184 = shl i32 %1170, 3
  %1185 = add i32 %1173, %1184
  br label %1186

1186:                                             ; preds = %1186, %1183
  %.94354 = phi i32 [ %.84353, %1183 ], [ %1211, %1186 ]
  %.5 = phi i64 [ %.4, %1183 ], [ %1210, %1186 ]
  %1187 = zext i32 %.94354 to i64
  %1188 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1187)
  %1189 = tail call i64 @llvm.umax.i64(i64 %1188, i64 %.5)
  %1190 = add nuw nsw i64 %1187, 8
  %1191 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1190)
  %1192 = tail call i64 @llvm.umax.i64(i64 %1191, i64 %1189)
  %1193 = add nuw nsw i64 %1187, 16
  %1194 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1193)
  %1195 = tail call i64 @llvm.umax.i64(i64 %1194, i64 %1192)
  %1196 = add nuw nsw i64 %1187, 24
  %1197 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1196)
  %1198 = tail call i64 @llvm.umax.i64(i64 %1197, i64 %1195)
  %1199 = add nuw nsw i64 %1187, 32
  %1200 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1199)
  %1201 = tail call i64 @llvm.umax.i64(i64 %1200, i64 %1198)
  %1202 = add nuw nsw i64 %1187, 40
  %1203 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1202)
  %1204 = tail call i64 @llvm.umax.i64(i64 %1203, i64 %1201)
  %1205 = add nuw nsw i64 %1187, 48
  %1206 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1205)
  %1207 = tail call i64 @llvm.umax.i64(i64 %1206, i64 %1204)
  %1208 = add nuw nsw i64 %1187, 56
  %1209 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1208)
  %1210 = tail call i64 @llvm.umax.i64(i64 %1209, i64 %1207)
  %1211 = add i32 %.94354, 64
  %.not4504 = icmp eq i32 %1211, %1185
  br i1 %.not4504, label %.loopexit4617, label %1186

.loopexit4617:                                    ; preds = %1186, %.loopexit4619, %1168
  %.6 = phi i64 [ %.24302, %1168 ], [ %.4, %.loopexit4619 ], [ %1210, %1186 ]
  %1212 = add i64 %.6, 1
  %1213 = mul i64 %1212, 3
  %1214 = icmp ugt i64 %1213, 4294967295
  br i1 %1214, label %1215, label %1222

1215:                                             ; preds = %.loopexit4617
  %1216 = add nuw nsw i64 %928, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1216, i32 noundef 0)
  %1217 = add nuw nsw i64 %928, 48
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1217, i64 noundef 146028888065)
  %1218 = add nuw nsw i64 %928, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1218, i32 noundef 3)
  %1219 = add nuw nsw i64 %928, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1219, i32 noundef 22615)
  %1220 = add i32 %901, -56
  %1221 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %0, i32 noundef %900, i32 noundef %1220)
  br label %1660

1222:                                             ; preds = %.loopexit4617
  %1223 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1224 = zext i32 %1223 to i64
  %1225 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1224)
  %1226 = zext i32 %1225 to i64
  %1227 = add nuw nsw i64 %1226, 4
  %1228 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1227)
  %.not4505 = icmp ugt i64 %1213, %1228
  br i1 %.not4505, label %1229, label %.loopexit4615

1229:                                             ; preds = %1222
  %1230 = add i32 %901, -12
  %1231 = trunc nuw i64 %1213 to i32
  %1232 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3Ashift0x28hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %1230, i32 noundef %900, i32 noundef %1231) #6
  %.not4506 = icmp eq i32 %1232, 0
  br i1 %.not4506, label %.thread4598, label %1233

1233:                                             ; preds = %1229
  %1234 = trunc i64 %1212 to i32
  %1235 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1236 = zext i32 %1235 to i64
  %1237 = add nuw nsw i64 %1236, 16
  %1238 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1237)
  %1239 = icmp ult i32 %1238, %1234
  br i1 %1239, label %1240, label %1261

1240:                                             ; preds = %1233
  %1241 = icmp ugt i32 %1234, 1073741823
  br i1 %1241, label %1579, label %1242

1242:                                             ; preds = %1240
  %1243 = shl nuw i32 %1234, 2
  %1244 = tail call i32 @w2c_hermes_hermes0x3A0x3AcheckedMalloc0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1243) #6
  %1245 = add nuw nsw i64 %1236, 8
  %1246 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1245)
  %1247 = add nuw nsw i64 %1236, 12
  %1248 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1247)
  %1249 = icmp sgt i32 %1248, 0
  br i1 %1249, label %1250, label %.loopexit4616

1250:                                             ; preds = %1242
  %1251 = shl i32 %1248, 2
  %1252 = add i32 %1251, %1246
  br label %1253

1253:                                             ; preds = %1253, %1250
  %.84364 = phi i32 [ %1246, %1250 ], [ %1258, %1253 ]
  %.104355 = phi i32 [ %1244, %1250 ], [ %1257, %1253 ]
  %1254 = zext i32 %.84364 to i64
  %1255 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1254)
  %1256 = zext i32 %.104355 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1256, i32 noundef %1255)
  %1257 = add i32 %.104355, 4
  %1258 = add i32 %.84364, 4
  %1259 = icmp ult i32 %1258, %1252
  br i1 %1259, label %1253, label %.loopexit4616

.loopexit4616:                                    ; preds = %1253, %1242
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1246) #6
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1237, i32 noundef %1234)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1245, i32 noundef %1244)
  %1260 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %.pre4665 = zext i32 %1260 to i64
  br label %1261

1261:                                             ; preds = %1233, %.loopexit4616
  %.pre-phi4666 = phi i64 [ %1236, %1233 ], [ %.pre4665, %.loopexit4616 ]
  %1262 = add nuw nsw i64 %.pre-phi4666, 12
  %1263 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1262)
  %1264 = zext i32 %1263 to i64
  %1265 = icmp ult i64 %.6, %1264
  br i1 %1265, label %.loopexit4615, label %1266

1266:                                             ; preds = %1261
  %1267 = add i32 %900, 808
  br label %1268

1268:                                             ; preds = %1279, %1266
  %.24322 = phi i32 [ %1263, %1266 ], [ %1286, %1279 ]
  %1269 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1270 = zext i32 %1269 to i64
  %1271 = add nuw nsw i64 %1270, 12
  %1272 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1271)
  %1273 = add nuw nsw i64 %1270, 16
  %1274 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1273)
  %1275 = icmp eq i32 %1272, %1274
  br i1 %1275, label %1276, label %1279

1276:                                             ; preds = %1268
  %1277 = add i32 %1269, 8
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef %0, i32 noundef %1277, i32 noundef %1267) #6
  %1278 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1271)
  br label %1279

1279:                                             ; preds = %1276, %1268
  %.94365 = phi i32 [ %1278, %1276 ], [ %1272, %1268 ]
  %1280 = add nuw nsw i64 %1270, 8
  %1281 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1280)
  %1282 = shl i32 %.94365, 2
  %1283 = add i32 %1281, %1282
  %1284 = zext i32 %1283 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1284, i32 noundef 0)
  %1285 = add i32 %.94365, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1271, i32 noundef %1285)
  %1286 = add i32 %.24322, 1
  %1287 = zext i32 %1286 to i64
  %.not4507 = icmp ult i64 %.6, %1287
  br i1 %.not4507, label %.loopexit4615, label %1268

.loopexit4615:                                    ; preds = %1279, %1261, %1222
  %1288 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1289 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %1290 = zext i32 %1289 to i64
  %1291 = add nuw nsw i64 %1290, 108
  %1292 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1291)
  %.not4508 = icmp eq i32 %1292, 0
  br i1 %.not4508, label %1582, label %1293

1293:                                             ; preds = %.loopexit4615
  %1294 = add nuw nsw i64 %1290, 104
  %1295 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1294)
  %1296 = shl i32 %1292, 3
  %1297 = add i32 %1295, %1296
  %1298 = add i32 %900, 808
  %1299 = add i32 %901, -56
  %1300 = add nuw nsw i64 %928, 76
  %1301 = add nuw nsw i64 %928, 72
  %1302 = add nuw nsw i64 %928, 24
  %1303 = zext i32 %1288 to i64
  %1304 = add nuw nsw i64 %1303, 56
  %1305 = add nuw nsw i64 %1303, 52
  %1306 = add nuw nsw i64 %913, 1356
  %1307 = add nuw nsw i64 %1303, 8
  br label %1308

1308:                                             ; preds = %.loopexit4614, %1293
  %.11 = phi i32 [ %1295, %1293 ], [ %1578, %.loopexit4614 ]
  %1309 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %749)
  %1310 = zext i32 %.11 to i64
  %1311 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1310)
  %1312 = shl i32 %1311, 2
  %1313 = add i32 %1312, %1309
  %1314 = zext i32 %1313 to i64
  %1315 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1314)
  %1316 = icmp ugt i32 %1315, 536870909
  br i1 %1316, label %1317, label %1344

1317:                                             ; preds = %1308
  %1318 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %1319 = zext i32 %1318 to i64
  %1320 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1319)
  %1321 = zext i32 %1320 to i64
  %1322 = add nuw nsw i64 %1321, 4
  %1323 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1322)
  %1324 = load i32, ptr %805, align 4, !tbaa !15
  %1325 = icmp ult i32 %1323, %1324
  br i1 %1325, label %1326, label %.critedge4585, !prof !16

1326:                                             ; preds = %1317
  %1327 = load ptr, ptr %804, align 8, !tbaa !17
  %1328 = zext i32 %1323 to i64
  %1329 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1327, i64 %1328
  %1330 = getelementptr inbounds i8, ptr %1329, i64 8
  %1331 = load ptr, ptr %1330, align 8, !tbaa !18
  %.not4509 = icmp eq ptr %1331, null
  br i1 %.not4509, label %.critedge4585, label %1332, !prof !20

1332:                                             ; preds = %1326
  %1333 = load ptr, ptr %1329, align 8, !tbaa !22
  %1334 = tail call zeroext i1 @func_types_eq(ptr noundef %815, ptr noundef %1333)
  br i1 %1334, label %1335, label %.critedge4585, !prof !16

.critedge4585:                                    ; preds = %1326, %1317, %1332
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

1335:                                             ; preds = %1332
  %1336 = load ptr, ptr %804, align 8, !tbaa !17
  %1337 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1336, i64 %1328
  %1338 = getelementptr inbounds i8, ptr %1337, i64 8
  %1339 = load ptr, ptr %1338, align 8, !tbaa !18
  %1340 = getelementptr inbounds i8, ptr %1337, i64 16
  %1341 = load ptr, ptr %1340, align 8, !tbaa !23
  tail call void %1339(ptr noundef %1341, i32 noundef %1299, i32 noundef %1318, i32 noundef %1311) #6
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1300, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1301, i32 noundef 0)
  %1342 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1301)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %928, i64 noundef %1342)
  %1343 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AcreateSymbolFromStringIDMayAllocate0x28unsigned0x20int0x2C0x20hermes0x3A0x3AStringTableEntry0x20const0x260x2C0x20hermes0x3A0x3AOptValue0x3Cunsigned0x20int0x3E0x29(ptr noundef nonnull %0, i32 noundef %744, i32 noundef %1311, i32 noundef %1299, i32 noundef %902)
  br label %1344

1344:                                             ; preds = %1335, %1308
  %.104366 = phi i32 [ %1343, %1335 ], [ %1315, %1308 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1302, i32 noundef %.104366)
  %1345 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1301, i32 noundef -1)
  %1346 = zext i32 %1345 to i64
  %1347 = add nuw nsw i64 %1346, 32
  %1348 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %.not4510 = icmp eq i32 %1348, 0
  br i1 %.not4510, label %1374, label %1349

1349:                                             ; preds = %1344
  %1350 = add nuw nsw i64 %1346, 20
  %1351 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1350)
  %1352 = add i32 %1348, -1
  %1353 = mul i32 %.104366, 37
  %1354 = and i32 %1352, %1353
  %1355 = shl i32 %1354, 3
  %1356 = add i32 %1351, %1355
  %1357 = zext i32 %1356 to i64
  %1358 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1357)
  %1359 = icmp eq i32 %.104366, %1358
  br i1 %1359, label %.loopexit4614, label %.preheader4613

.preheader4613:                                   ; preds = %1349, %1363
  %.64333 = phi i32 [ %1371, %1363 ], [ %1356, %1349 ]
  %.34323 = phi i32 [ %1366, %1363 ], [ 0, %1349 ]
  %.14314 = phi i32 [ %1368, %1363 ], [ 1, %1349 ]
  %.14310 = phi i32 [ %1369, %1363 ], [ %1354, %1349 ]
  %.14305 = phi i32 [ %1373, %1363 ], [ %1358, %1349 ]
  %1360 = icmp eq i32 %.14305, 536870911
  %.not4513 = icmp eq i32 %.34323, 0
  br i1 %1360, label %1361, label %1363

1361:                                             ; preds = %.preheader4613
  %1362 = select i1 %.not4513, i32 %.64333, i32 %.34323
  br label %1374

1363:                                             ; preds = %.preheader4613
  %1364 = icmp eq i32 %.14305, 536870910
  %1365 = select i1 %1364, i1 %.not4513, i1 false
  %1366 = select i1 %1365, i32 %.64333, i32 %.34323
  %1367 = add i32 %.14310, %.14314
  %1368 = add i32 %.14314, 1
  %1369 = and i32 %1367, %1352
  %1370 = shl i32 %1369, 3
  %1371 = add i32 %1370, %1351
  %1372 = zext i32 %1371 to i64
  %1373 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1372)
  %.not4512 = icmp eq i32 %.104366, %1373
  br i1 %.not4512, label %.loopexit4614, label %.preheader4613

1374:                                             ; preds = %1344, %1361
  %.114367 = phi i32 [ %1362, %1361 ], [ 0, %1344 ]
  %1375 = add nuw nsw i64 %1346, 24
  %1376 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1375)
  %1377 = shl i32 %1376, 2
  %1378 = add i32 %1377, 4
  %1379 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %1380 = mul i32 %1379, 3
  %.not4514 = icmp ult i32 %1378, %1380
  br i1 %.not4514, label %1383, label %1381

1381:                                             ; preds = %1374
  %1382 = shl i32 %1379, 1
  br label %1391

1383:                                             ; preds = %1374
  %1384 = xor i32 %1376, -1
  %1385 = add i32 %1379, %1384
  %1386 = add nuw nsw i64 %1346, 28
  %1387 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1386)
  %1388 = sub i32 %1385, %1387
  %1389 = lshr i32 %1379, 3
  %1390 = icmp ugt i32 %1388, %1389
  br i1 %1390, label %.loopexit4605, label %1391

1391:                                             ; preds = %1383, %1381
  %.44324 = phi i32 [ %1382, %1381 ], [ %1379, %1383 ]
  %1392 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %1393 = add i32 %.44324, -1
  %1394 = zext i32 %1393 to i64
  %1395 = lshr i64 %1394, 1
  %1396 = or i64 %1395, %1394
  %1397 = lshr i64 %1396, 2
  %1398 = or i64 %1397, %1396
  %1399 = lshr i64 %1398, 4
  %1400 = or i64 %1399, %1398
  %1401 = lshr i64 %1400, 8
  %1402 = or i64 %1401, %1400
  %1403 = lshr i64 %1402, 16
  %1404 = or i64 %1403, %1402
  %1405 = trunc nuw i64 %1404 to i32
  %1406 = add i32 %1405, 1
  %1407 = icmp ult i32 %1406, 65
  %1408 = select i1 %1407, i32 64, i32 %1406
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1347, i32 noundef %1408)
  %1409 = add nuw nsw i64 %1346, 20
  %1410 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1409)
  %1411 = shl i32 %1408, 3
  %1412 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1411) #6
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1409, i32 noundef %1412)
  %.not4515 = icmp eq i32 %1410, 0
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1375, i64 noundef 0)
  %1413 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %.not4526 = icmp eq i32 %1413, 0
  br i1 %.not4515, label %1414, label %1436

1414:                                             ; preds = %1391
  br i1 %.not4526, label %.loopexit4606, label %1415

1415:                                             ; preds = %1414
  %1416 = and i32 %1413, 7
  %.not4527 = icmp eq i32 %1416, 0
  br i1 %.not4527, label %.loopexit4608, label %.preheader4607

.preheader4607:                                   ; preds = %1415, %.preheader4607
  %.124368 = phi i32 [ %1418, %.preheader4607 ], [ %1412, %1415 ]
  %.24315 = phi i32 [ %1419, %.preheader4607 ], [ 0, %1415 ]
  %1417 = zext i32 %.124368 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1417, i32 noundef 536870911)
  %1418 = add i32 %.124368, 8
  %1419 = add nuw nsw i32 %.24315, 1
  %.not4528 = icmp eq i32 %1419, %1416
  br i1 %.not4528, label %.loopexit4608, label %.preheader4607

.loopexit4608:                                    ; preds = %.preheader4607, %1415
  %.134369 = phi i32 [ %1412, %1415 ], [ %1418, %.preheader4607 ]
  %1420 = add i32 %1413, 536870911
  %1421 = and i32 %1420, 536870911
  %1422 = icmp ult i32 %1421, 7
  br i1 %1422, label %.loopexit4606, label %1423

1423:                                             ; preds = %.loopexit4608
  %1424 = shl i32 %1413, 3
  %1425 = add i32 %1424, %1412
  br label %1426

1426:                                             ; preds = %1426, %1423
  %.144370 = phi i32 [ %.134369, %1423 ], [ %1435, %1426 ]
  %1427 = zext i32 %.144370 to i64
  %1428 = add nuw nsw i64 %1427, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1428, i32 noundef 536870911)
  %1429 = add nuw nsw i64 %1427, 48
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1429, i32 noundef 536870911)
  %1430 = add nuw nsw i64 %1427, 40
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1430, i32 noundef 536870911)
  %1431 = add nuw nsw i64 %1427, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1431, i32 noundef 536870911)
  %1432 = add nuw nsw i64 %1427, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1432, i32 noundef 536870911)
  %1433 = add nuw nsw i64 %1427, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1433, i32 noundef 536870911)
  %1434 = add nuw nsw i64 %1427, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1434, i32 noundef 536870911)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1427, i32 noundef 536870911)
  %1435 = add i32 %.144370, 64
  %.not4529 = icmp eq i32 %1435, %1425
  br i1 %.not4529, label %.loopexit4606, label %1426

1436:                                             ; preds = %1391
  br i1 %.not4526, label %.loopexit4610, label %1437

1437:                                             ; preds = %1436
  %1438 = and i32 %1413, 7
  %.not4517 = icmp eq i32 %1438, 0
  br i1 %.not4517, label %.loopexit4612, label %.preheader4611

.preheader4611:                                   ; preds = %1437, %.preheader4611
  %.154371 = phi i32 [ %1440, %.preheader4611 ], [ %1412, %1437 ]
  %.34316 = phi i32 [ %1441, %.preheader4611 ], [ 0, %1437 ]
  %1439 = zext i32 %.154371 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1439, i32 noundef 536870911)
  %1440 = add i32 %.154371, 8
  %1441 = add nuw nsw i32 %.34316, 1
  %.not4518 = icmp eq i32 %1441, %1438
  br i1 %.not4518, label %.loopexit4612, label %.preheader4611

.loopexit4612:                                    ; preds = %.preheader4611, %1437
  %.16 = phi i32 [ %1412, %1437 ], [ %1440, %.preheader4611 ]
  %1442 = add i32 %1413, 536870911
  %1443 = and i32 %1442, 536870911
  %1444 = icmp ult i32 %1443, 7
  br i1 %1444, label %.loopexit4610, label %1445

1445:                                             ; preds = %.loopexit4612
  %1446 = shl i32 %1413, 3
  %1447 = add i32 %1446, %1412
  br label %1448

1448:                                             ; preds = %1448, %1445
  %.17 = phi i32 [ %.16, %1445 ], [ %1457, %1448 ]
  %1449 = zext i32 %.17 to i64
  %1450 = add nuw nsw i64 %1449, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1450, i32 noundef 536870911)
  %1451 = add nuw nsw i64 %1449, 48
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1451, i32 noundef 536870911)
  %1452 = add nuw nsw i64 %1449, 40
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1452, i32 noundef 536870911)
  %1453 = add nuw nsw i64 %1449, 32
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1453, i32 noundef 536870911)
  %1454 = add nuw nsw i64 %1449, 24
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1454, i32 noundef 536870911)
  %1455 = add nuw nsw i64 %1449, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1455, i32 noundef 536870911)
  %1456 = add nuw nsw i64 %1449, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1456, i32 noundef 536870911)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1449, i32 noundef 536870911)
  %1457 = add i32 %.17, 64
  %.not4519 = icmp eq i32 %1457, %1447
  br i1 %.not4519, label %.loopexit4610, label %1448

.loopexit4610:                                    ; preds = %1448, %.loopexit4612, %1436
  %.not4520 = icmp eq i32 %1392, 0
  br i1 %.not4520, label %.loopexit4609, label %1458

1458:                                             ; preds = %.loopexit4610
  %1459 = shl i32 %1392, 3
  %1460 = add i32 %1410, %1459
  %1461 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %1462 = add i32 %1461, -1
  br label %1463

1463:                                             ; preds = %1493, %1458
  %.18 = phi i32 [ %1410, %1458 ], [ %1494, %1493 ]
  %.24306 = phi i32 [ 0, %1458 ], [ %.34307, %1493 ]
  %1464 = zext i32 %.18 to i64
  %1465 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1464)
  %1466 = and i32 %1465, -2
  %.not4521 = icmp eq i32 %1466, 536870910
  br i1 %.not4521, label %1493, label %1467

1467:                                             ; preds = %1463
  %1468 = mul i32 %1465, 37
  %1469 = and i32 %1468, %1462
  %1470 = shl i32 %1469, 3
  %1471 = add i32 %1470, %1412
  %1472 = zext i32 %1471 to i64
  %1473 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1472)
  %1474 = icmp eq i32 %1465, %1473
  br i1 %1474, label %.loopexit4603, label %.preheader

.preheader:                                       ; preds = %1467, %1478
  %.14344 = phi i32 [ %1484, %1478 ], [ %1469, %1467 ]
  %.54325 = phi i32 [ %1483, %1478 ], [ 1, %1467 ]
  %.44317 = phi i32 [ %1486, %1478 ], [ %1471, %1467 ]
  %.24311 = phi i32 [ %1481, %1478 ], [ 0, %1467 ]
  %.04303 = phi i32 [ %1488, %1478 ], [ %1473, %1467 ]
  %1475 = icmp eq i32 %.04303, 536870911
  %.not4524 = icmp eq i32 %.24311, 0
  br i1 %1475, label %1476, label %1478

1476:                                             ; preds = %.preheader
  %1477 = select i1 %.not4524, i32 %.44317, i32 %.24311
  %.pre4677 = zext i32 %1477 to i64
  br label %.loopexit4603

1478:                                             ; preds = %.preheader
  %1479 = icmp eq i32 %.04303, 536870910
  %1480 = select i1 %1479, i1 %.not4524, i1 false
  %1481 = select i1 %1480, i32 %.44317, i32 %.24311
  %1482 = add i32 %.54325, %.14344
  %1483 = add i32 %.54325, 1
  %1484 = and i32 %1482, %1462
  %1485 = shl i32 %1484, 3
  %1486 = add i32 %1485, %1412
  %1487 = zext i32 %1486 to i64
  %1488 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1487)
  %.not4523 = icmp eq i32 %1465, %1488
  br i1 %.not4523, label %.loopexit4603, label %.preheader

.loopexit4603:                                    ; preds = %1478, %1467, %1476
  %.pre-phi4678 = phi i64 [ %1472, %1467 ], [ %.pre4677, %1476 ], [ %1487, %1478 ]
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %.pre-phi4678, i32 noundef %1465)
  %1489 = add nuw nsw i64 %1464, 4
  %1490 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1489)
  %1491 = add nuw nsw i64 %.pre-phi4678, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1491, i32 noundef %1490)
  %1492 = add i32 %.24306, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1375, i32 noundef %1492)
  br label %1493

1493:                                             ; preds = %.loopexit4603, %1463
  %.34307 = phi i32 [ %1492, %.loopexit4603 ], [ %.24306, %1463 ]
  %1494 = add i32 %.18, 8
  %.not4525 = icmp eq i32 %1494, %1460
  br i1 %.not4525, label %.loopexit4609, label %1463

.loopexit4609:                                    ; preds = %1493, %.loopexit4610
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1410) #6
  br label %.loopexit4606

.loopexit4606:                                    ; preds = %1426, %.loopexit4608, %1414, %.loopexit4609
  %1495 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1347)
  %.not4530 = icmp eq i32 %1495, 0
  br i1 %.not4530, label %.loopexit4605, label %1496

1496:                                             ; preds = %.loopexit4606
  %1497 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1302)
  %1498 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1409)
  %1499 = add i32 %1495, -1
  %1500 = mul i32 %1497, 37
  %1501 = and i32 %1500, %1499
  %1502 = shl i32 %1501, 3
  %1503 = add i32 %1502, %1498
  %1504 = zext i32 %1503 to i64
  %1505 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1504)
  %1506 = icmp eq i32 %1497, %1505
  br i1 %1506, label %.loopexit4605, label %.preheader4604

.preheader4604:                                   ; preds = %1496, %1510
  %.19 = phi i32 [ %1518, %1510 ], [ %1503, %1496 ]
  %.74334 = phi i32 [ %1515, %1510 ], [ 1, %1496 ]
  %.64326 = phi i32 [ %1513, %1510 ], [ 0, %1496 ]
  %.64319 = phi i32 [ %1516, %1510 ], [ %1501, %1496 ]
  %.34312 = phi i32 [ %1520, %1510 ], [ %1505, %1496 ]
  %1507 = icmp eq i32 %.34312, 536870911
  %.not4533 = icmp eq i32 %.64326, 0
  br i1 %1507, label %1508, label %1510

1508:                                             ; preds = %.preheader4604
  %1509 = select i1 %.not4533, i32 %.19, i32 %.64326
  br label %.loopexit4605

1510:                                             ; preds = %.preheader4604
  %1511 = icmp eq i32 %.34312, 536870910
  %1512 = select i1 %1511, i1 %.not4533, i1 false
  %1513 = select i1 %1512, i32 %.19, i32 %.64326
  %1514 = add i32 %.64319, %.74334
  %1515 = add i32 %.74334, 1
  %1516 = and i32 %1514, %1499
  %1517 = shl i32 %1516, 3
  %1518 = add i32 %1517, %1498
  %1519 = zext i32 %1518 to i64
  %1520 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1519)
  %.not4532 = icmp eq i32 %1497, %1520
  br i1 %.not4532, label %.loopexit4605, label %.preheader4604

.loopexit4605:                                    ; preds = %1510, %.loopexit4606, %1496, %1383, %1508
  %.20 = phi i32 [ %1503, %1496 ], [ %1509, %1508 ], [ %.114367, %1383 ], [ 0, %.loopexit4606 ], [ %1518, %1510 ]
  %1521 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1375)
  %1522 = add i32 %1521, 1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1375, i32 noundef %1522)
  %1523 = zext i32 %.20 to i64
  %1524 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1523)
  %.not4534 = icmp eq i32 %1524, 536870911
  br i1 %.not4534, label %1529, label %1525

1525:                                             ; preds = %.loopexit4605
  %1526 = add nuw nsw i64 %1346, 28
  %1527 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1526)
  %1528 = add i32 %1527, -1
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1526, i32 noundef %1528)
  br label %1529

1529:                                             ; preds = %1525, %.loopexit4605
  %1530 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1302)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1523, i32 noundef %1530)
  %1531 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1301)
  %1532 = add nuw nsw i64 %1523, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1532, i32 noundef %1531)
  %1533 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1534 = zext i32 %1533 to i64
  %1535 = add nuw nsw i64 %1534, 24
  %1536 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1535)
  %1537 = add i32 %1536, -1
  %1538 = add nuw nsw i64 %1310, 4
  %1539 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1538)
  %1540 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1304)
  %.not4535 = icmp eq i32 %1540, 0
  br i1 %.not4535, label %1541, label %1542

1541:                                             ; preds = %1529
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1304, i32 noundef 1)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1305, i32 noundef %1537)
  br label %1542

1542:                                             ; preds = %1541, %1529
  %1543 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1306)
  %1544 = mul i32 %1537, 3
  %1545 = mul i32 %1537, 24
  %1546 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1547 = zext i32 %1546 to i64
  %1548 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1547)
  %1549 = add i32 %1545, 8
  %1550 = add i32 %1549, %1548
  %1551 = and i32 %1550, -4194304
  %.not4536 = icmp eq i32 %1543, %1551
  br i1 %.not4536, label %1555, label %1552

1552:                                             ; preds = %1542
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1298, i32 noundef %1550, i64 noundef -1970324836974592) #6
  %1553 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1554 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1306)
  %.pre4673 = zext i32 %1553 to i64
  br label %1555

1555:                                             ; preds = %1552, %1542
  %.pre-phi4674 = phi i64 [ %.pre4673, %1552 ], [ %1547, %1542 ]
  %.21 = phi i32 [ %1554, %1552 ], [ %1543, %1542 ]
  %1556 = zext i32 %1550 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1556, i64 noundef -1970324836974592)
  %1557 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi4674)
  %1558 = add i32 %1545, 16
  %1559 = add i32 %1558, %1557
  %1560 = and i32 %1559, -4194304
  %.not4537 = icmp eq i32 %1560, %.21
  br i1 %.not4537, label %1564, label %1561

1561:                                             ; preds = %1555
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1298, i32 noundef %1559, i64 noundef -1548112371908608) #6
  %1562 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1563 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1306)
  %.pre4675 = zext i32 %1562 to i64
  br label %1564

1564:                                             ; preds = %1561, %1555
  %.pre-phi4676 = phi i64 [ %.pre4675, %1561 ], [ %.pre-phi4674, %1555 ]
  %.22 = phi i32 [ %1563, %1561 ], [ %.21, %1555 ]
  %1565 = zext i32 %1559 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1565, i64 noundef -1548112371908608)
  %1566 = or i64 %1539, -1125899906842624
  %1567 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi4676)
  %1568 = add i32 %1545, 24
  %1569 = add i32 %1568, %1567
  %1570 = and i32 %1569, -4194304
  %.not4538 = icmp eq i32 %.22, %1570
  br i1 %.not4538, label %1572, label %1571

1571:                                             ; preds = %1564
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1298, i32 noundef %1569, i64 noundef %1566) #6
  br label %1572

1572:                                             ; preds = %1571, %1564
  %1573 = zext i32 %1569 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1573, i64 noundef %1566)
  %1574 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1307)
  %1575 = shl i32 %1537, 2
  %1576 = add i32 %1574, %1575
  %1577 = zext i32 %1576 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1577, i32 noundef %744)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1532, i32 noundef %1544)
  br label %.loopexit4614

.loopexit4614:                                    ; preds = %1363, %1349, %1572
  %1578 = add i32 %.11, 8
  %.not4539 = icmp eq i32 %1297, %1578
  br i1 %.not4539, label %1580, label %1308

1579:                                             ; preds = %1240
  tail call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 47421) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

1580:                                             ; preds = %.loopexit4614
  %1581 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %.pre4667 = zext i32 %1581 to i64
  br label %1582

1582:                                             ; preds = %.loopexit4615, %1580
  %.pre-phi4668 = phi i64 [ %1290, %.loopexit4615 ], [ %.pre4667, %1580 ]
  %1583 = add nuw nsw i64 %.pre-phi4668, 116
  %1584 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1583)
  %.not4540 = icmp eq i32 %1584, 0
  br i1 %.not4540, label %.loopexit, label %1585

1585:                                             ; preds = %1582
  %1586 = add nuw nsw i64 %.pre-phi4668, 112
  %1587 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1586)
  %1588 = shl i32 %1584, 3
  %1589 = add i32 %1587, %1588
  %1590 = add i32 %900, 808
  %1591 = zext i32 %1288 to i64
  %1592 = add nuw nsw i64 %1591, 56
  %1593 = add nuw nsw i64 %1591, 52
  %1594 = add nuw nsw i64 %913, 1356
  %1595 = add nuw nsw i64 %1591, 8
  br label %1596

1596:                                             ; preds = %1645, %1585
  %.13 = phi i32 [ %1587, %1585 ], [ %1646, %1645 ]
  %1597 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1598 = zext i32 %1597 to i64
  %1599 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1598)
  %1600 = zext i32 %.13 to i64
  %1601 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1600)
  %1602 = mul i32 %1601, 24
  %1603 = add i32 %1602, 16
  %1604 = add i32 %1603, %1599
  %1605 = zext i32 %1604 to i64
  %1606 = add nuw nsw i64 %1605, 8
  %1607 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1606)
  %.mask = and i64 %1607, -140737488355328
  %1608 = icmp eq i64 %.mask, -1970324836974592
  br i1 %1608, label %1609, label %1645

1609:                                             ; preds = %1596
  %1610 = add nuw nsw i64 %1600, 4
  %1611 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1610)
  %1612 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1592)
  %.not4541 = icmp eq i32 %1612, 0
  br i1 %.not4541, label %1613, label %1615

1613:                                             ; preds = %1609
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1592, i32 noundef 1)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1593, i32 noundef %1601)
  %1614 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1598)
  br label %1615

1615:                                             ; preds = %1613, %1609
  %.44308 = phi i32 [ %1614, %1613 ], [ %1599, %1609 ]
  %1616 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1594)
  %1617 = add i32 %1602, 8
  %1618 = add i32 %1617, %.44308
  %1619 = and i32 %1618, -4194304
  %.not4542 = icmp eq i32 %1616, %1619
  br i1 %.not4542, label %1623, label %1620

1620:                                             ; preds = %1615
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1590, i32 noundef %1618, i64 noundef -1970324836974592) #6
  %1621 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1594)
  %1622 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %.pre4669 = zext i32 %1622 to i64
  br label %1623

1623:                                             ; preds = %1620, %1615
  %.pre-phi4670 = phi i64 [ %.pre4669, %1620 ], [ %1598, %1615 ]
  %.9 = phi i32 [ %1621, %1620 ], [ %1616, %1615 ]
  %1624 = zext i32 %1618 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1624, i64 noundef -1970324836974592)
  %1625 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi4670)
  %1626 = add i32 %1603, %1625
  %1627 = and i32 %1626, -4194304
  %.not4543 = icmp eq i32 %1627, %.9
  br i1 %.not4543, label %1631, label %1628

1628:                                             ; preds = %1623
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1590, i32 noundef %1626, i64 noundef -1548112371908608) #6
  %1629 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1594)
  %1630 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %.pre4671 = zext i32 %1630 to i64
  br label %1631

1631:                                             ; preds = %1628, %1623
  %.pre-phi4672 = phi i64 [ %.pre4671, %1628 ], [ %.pre-phi4670, %1623 ]
  %.10 = phi i32 [ %1629, %1628 ], [ %.9, %1623 ]
  %1632 = zext i32 %1626 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1632, i64 noundef -1548112371908608)
  %1633 = or i64 %1611, -1125899906842624
  %1634 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi4672)
  %1635 = add i32 %1602, 24
  %1636 = add i32 %1635, %1634
  %1637 = and i32 %1636, -4194304
  %.not4544 = icmp eq i32 %1637, %.10
  br i1 %.not4544, label %1639, label %1638

1638:                                             ; preds = %1631
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1590, i32 noundef %1636, i64 noundef %1633) #6
  br label %1639

1639:                                             ; preds = %1638, %1631
  %1640 = zext i32 %1636 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1640, i64 noundef %1633)
  %1641 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1595)
  %1642 = shl i32 %1601, 2
  %1643 = add i32 %1641, %1642
  %1644 = zext i32 %1643 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1644, i32 noundef %744)
  br label %1645

1645:                                             ; preds = %1639, %1596
  %1646 = add i32 %.13, 8
  %.not4545 = icmp eq i32 %1646, %1589
  br i1 %.not4545, label %.loopexit, label %1596

.loopexit:                                        ; preds = %1645, %1582
  %1647 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %929)
  %1648 = zext i32 %1647 to i64
  %1649 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1648)
  %1650 = add i32 %900, 1356
  %1651 = zext i32 %1650 to i64
  %1652 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1651)
  %1653 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %930)
  %1654 = add i32 %1653, 4
  %1655 = and i32 %1654, -4194304
  %.not4546 = icmp eq i32 %1652, %1655
  br i1 %.not4546, label %1658, label %1656

1656:                                             ; preds = %.loopexit
  %1657 = add i32 %900, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %0, i32 noundef %1657, i32 noundef %1654, i32 noundef %1649) #6
  br label %1658

1658:                                             ; preds = %1656, %.loopexit
  %1659 = zext i32 %1654 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1659, i32 noundef %1649)
  br label %.thread4594

.thread4594:                                      ; preds = %908, %1658
  store i32 %901, ptr %8, align 8, !tbaa !5
  br label %1661

1660:                                             ; preds = %1215, %944
  %.2 = phi i32 [ %950, %944 ], [ %1221, %1215 ]
  store i32 %901, ptr %8, align 8, !tbaa !5
  %.not4547 = icmp eq i32 %.2, 0
  br i1 %.not4547, label %.thread4598, label %1661

1661:                                             ; preds = %.thread4594, %1660
  %1662 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %.not4548 = icmp eq i32 %1662, 0
  br i1 %.not4548, label %1717, label %1663

1663:                                             ; preds = %1661
  %1664 = add i32 %742, -8
  %1665 = zext i32 %1662 to i64
  %1666 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1665)
  %1667 = zext i32 %1666 to i64
  %1668 = add nuw nsw i64 %1667, 76
  %1669 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1668)
  %1670 = load i32, ptr %805, align 4, !tbaa !15
  %1671 = icmp ult i32 %1669, %1670
  br i1 %1671, label %1672, label %.critedge4587, !prof !16

1672:                                             ; preds = %1663
  %1673 = load ptr, ptr %804, align 8, !tbaa !17
  %1674 = zext i32 %1669 to i64
  %1675 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1673, i64 %1674
  %1676 = getelementptr inbounds i8, ptr %1675, i64 8
  %1677 = load ptr, ptr %1676, align 8, !tbaa !18
  %.not4549 = icmp eq ptr %1677, null
  br i1 %.not4549, label %.critedge4587, label %1678, !prof !20

1678:                                             ; preds = %1672
  %1679 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !21
  %1680 = load ptr, ptr %1675, align 8, !tbaa !22
  %1681 = tail call zeroext i1 @func_types_eq(ptr noundef %1679, ptr noundef %1680)
  br i1 %1681, label %1682, label %.critedge4587, !prof !16

.critedge4587:                                    ; preds = %1672, %1663, %1678
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

1682:                                             ; preds = %1678
  %1683 = load ptr, ptr %804, align 8, !tbaa !17
  %1684 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1683, i64 %1674
  %1685 = getelementptr inbounds i8, ptr %1684, i64 8
  %1686 = load ptr, ptr %1685, align 8, !tbaa !18
  %1687 = getelementptr inbounds i8, ptr %1684, i64 16
  %1688 = load ptr, ptr %1687, align 8, !tbaa !23
  tail call void %1686(ptr noundef %1688, i32 noundef %1664, i32 noundef %1662) #6
  %1689 = zext i32 %743 to i64
  %1690 = add nuw nsw i64 %1689, 12
  %1691 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1690)
  %.not4550 = icmp eq i32 %1691, 0
  br i1 %.not4550, label %1717, label %1692

1692:                                             ; preds = %1682
  %1693 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %798)
  %1694 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %829)
  %1695 = zext i32 %1693 to i64
  %1696 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1695)
  %1697 = zext i32 %1696 to i64
  %1698 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1697)
  %1699 = load i32, ptr %805, align 4, !tbaa !15
  %1700 = icmp ult i32 %1698, %1699
  br i1 %1700, label %1701, label %.critedge4589, !prof !16

1701:                                             ; preds = %1692
  %1702 = load ptr, ptr %804, align 8, !tbaa !17
  %1703 = zext i32 %1698 to i64
  %1704 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1702, i64 %1703
  %1705 = getelementptr inbounds i8, ptr %1704, i64 8
  %1706 = load ptr, ptr %1705, align 8, !tbaa !18
  %.not4551 = icmp eq ptr %1706, null
  br i1 %.not4551, label %.critedge4589, label %1707, !prof !20

1707:                                             ; preds = %1701
  %1708 = load ptr, ptr %1704, align 8, !tbaa !22
  %1709 = tail call zeroext i1 @func_types_eq(ptr noundef %815, ptr noundef %1708)
  br i1 %1709, label %1710, label %.critedge4589, !prof !16

.critedge4589:                                    ; preds = %1701, %1692, %1707
  tail call void @wasm_rt_trap(i32 noundef 6) #5
  unreachable

1710:                                             ; preds = %1707
  %1711 = load ptr, ptr %804, align 8, !tbaa !17
  %1712 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1711, i64 %1703
  %1713 = getelementptr inbounds i8, ptr %1712, i64 8
  %1714 = load ptr, ptr %1713, align 8, !tbaa !18
  %1715 = getelementptr inbounds i8, ptr %1712, i64 16
  %1716 = load ptr, ptr %1715, align 8, !tbaa !23
  tail call void %1714(ptr noundef %1716, i32 noundef %1693, i32 noundef %1694, i32 noundef 192) #6
  br label %1717

.thread4598:                                      ; preds = %975, %1229, %1050, %1660
  store i32 %742, ptr %8, align 8, !tbaa !5
  br label %1720

1717:                                             ; preds = %1682, %1661, %818, %1710
  store i32 %742, ptr %8, align 8, !tbaa !5
  %1718 = icmp eq i32 %744, -1
  br i1 %1718, label %1720, label %1722

1719:                                             ; preds = %762
  tail call void @w2c_hermes_abort(ptr noundef nonnull %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

1720:                                             ; preds = %.thread4598, %1717
  %1721 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1721, i32 noundef 0)
  br label %1887

1722:                                             ; preds = %1717
  %1723 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %752)
  %1724 = shl i32 %18, 2
  %1725 = add i32 %1723, %1724
  %1726 = zext i32 %1725 to i64
  %1727 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1726)
  %.not4552 = icmp eq i32 %1727, 0
  br i1 %.not4552, label %1728, label %1730

1728:                                             ; preds = %1722
  %1729 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntimeModule0x3A0x3AgetCodeBlockSlowPath0x28unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %744, i32 noundef %18)
  br label %1730

1730:                                             ; preds = %1728, %1722
  %.84335 = phi i32 [ %1729, %1728 ], [ %1727, %1722 ]
  %1731 = add nuw nsw i64 %747, 40
  %1732 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1731)
  %1733 = zext i32 %1732 to i64
  %1734 = add nuw nsw i64 %1733, 104
  %1735 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1734)
  %1736 = icmp ugt i64 %1735, 4294967295
  br i1 %1736, label %1737, label %1775

1737:                                             ; preds = %1730
  %1738 = add i32 %2, 5468
  %1739 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AIdentifierTable0x3A0x3AgetStringPrim0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x29(ptr noundef nonnull %0, i32 noundef %1738, i32 noundef %2, i32 noundef 474) #6
  %1740 = zext i32 %1739 to i64
  %1741 = or disjoint i64 %1740, -844424930131968
  %1742 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %705)
  %1743 = zext i32 %1742 to i64
  %1744 = add nuw nsw i64 %1743, 164
  %1745 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1744)
  %1746 = add nuw nsw i64 %1743, 168
  %1747 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1746)
  %1748 = icmp ult i32 %1745, %1747
  br i1 %1748, label %1749, label %1752

1749:                                             ; preds = %1737
  %1750 = add i32 %1745, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1744, i32 noundef %1750)
  %1751 = zext i32 %1745 to i64
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1751, i64 noundef %1741)
  br label %1754

1752:                                             ; preds = %1737
  %1753 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %1742, i64 noundef %1741) #6
  br label %1754

1754:                                             ; preds = %1752, %1749
  %.14 = phi i32 [ %1745, %1749 ], [ %1753, %1752 ]
  %1755 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARequireContext0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %.54342, i32 noundef %.14)
  %1756 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi)
  %1757 = zext i32 %1756 to i64
  %1758 = add nuw nsw i64 %1757, 4
  %1759 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1758)
  %1760 = zext i32 %1759 to i64
  %1761 = add nuw nsw i64 %1760, 4
  %1762 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1761)
  %1763 = udiv i32 %1762, 3
  %1764 = add nuw nsw i64 %1757, 52
  %1765 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1764)
  %.not4557 = icmp ugt i32 %1763, %1765
  br i1 %.not4557, label %1767, label %1766

1766:                                             ; preds = %1754
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %1755, i32 noundef %.54342, i32 noundef 0) #6
  br label %1887

1767:                                             ; preds = %1754
  %1768 = mul nuw i32 %1765, 3
  %1769 = mul i32 %1765, 24
  %1770 = add i32 %1769, %1759
  %1771 = zext i32 %1770 to i64
  %1772 = add nuw nsw i64 %1771, 24
  %1773 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1772)
  %.mask4559 = and i64 %1773, -140737488355328
  %.not4558 = icmp eq i64 %.mask4559, -1970324836974592
  %1774 = select i1 %.not4558, i32 0, i32 %1768
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %1755, i32 noundef %.54342, i32 noundef %1774) #6
  br label %1887

1775:                                             ; preds = %1730
  %1776 = add nuw nsw i64 %1733, 112
  %1777 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1776)
  %1778 = icmp ugt i64 %1777, 4294967295
  br i1 %1778, label %1779, label %1799

1779:                                             ; preds = %1775
  %1780 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %.pre-phi)
  %1781 = zext i32 %1780 to i64
  %1782 = add nuw nsw i64 %1781, 4
  %1783 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1782)
  %1784 = zext i32 %1783 to i64
  %1785 = add nuw nsw i64 %1784, 4
  %1786 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1785)
  %1787 = udiv i32 %1786, 3
  %1788 = add nuw nsw i64 %1781, 52
  %1789 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1788)
  %.not4554 = icmp ugt i32 %1787, %1789
  br i1 %.not4554, label %1790, label %1798

1790:                                             ; preds = %1779
  %1791 = mul nuw i32 %1789, 3
  %1792 = mul i32 %1789, 24
  %1793 = add i32 %1792, %1783
  %1794 = zext i32 %1793 to i64
  %1795 = add nuw nsw i64 %1794, 24
  %1796 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1795)
  %.mask4556 = and i64 %1796, -140737488355328
  %.not4555 = icmp eq i64 %.mask4556, -1970324836974592
  %1797 = select i1 %.not4555, i32 0, i32 %1791
  br label %1798

1798:                                             ; preds = %1779, %1790
  %.0 = phi i32 [ %1797, %1790 ], [ 0, %1779 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ArunRequireCall0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ARequireContext0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef 67200, i32 noundef %.54342, i32 noundef %.0) #6
  br label %1887

1799:                                             ; preds = %1775
  %1800 = add i32 %2, 192
  %1801 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSFunction0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3ADomain0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AEnvironment0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %.54342, i32 noundef %1800, i32 noundef 67200, i32 noundef %.84335) #6
  %1802 = add nuw nsw i64 %12, 5584
  %1803 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1802)
  %1804 = add nuw nsw i64 %12, 5588
  %1805 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1804)
  %1806 = sub i32 %1803, %1805
  %1807 = icmp ult i32 %1806, 312
  br i1 %1807, label %1883, label %1808

1808:                                             ; preds = %1799
  %1809 = zext i32 %6 to i64
  %1810 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef %1809)
  %1811 = add i32 %2, 5608
  %1812 = zext i32 %1811 to i64
  %1813 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1812)
  %1814 = add nuw nsw i64 %12, 5604
  %1815 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1814)
  %1816 = sub i32 %1815, %10
  %1817 = icmp ult i32 %1813, %1816
  br i1 %1817, label %1818, label %1837

1818:                                             ; preds = %1808
  %1819 = add i32 %2, 5612
  %1820 = zext i32 %1819 to i64
  %1821 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1820)
  %1822 = getelementptr inbounds i8, ptr %0, i64 32
  %1823 = load i32, ptr %1822, align 8, !tbaa !24
  %1824 = add nuw nsw i64 %703, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1824, i32 noundef %1823)
  %1825 = getelementptr inbounds i8, ptr %0, i64 28
  %1826 = load i32, ptr %1825, align 4, !tbaa !25
  %1827 = add i32 %1821, %1826
  %1828 = sub i32 %1823, %1827
  %1829 = add nuw nsw i64 %703, 60
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1829, i32 noundef %1828)
  %1830 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1824)
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1814, i32 noundef %1830)
  %1831 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1829)
  %1832 = add nuw nsw i64 %12, 5608
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1832, i32 noundef %1831)
  %1833 = sub i32 %1830, %10
  %1834 = icmp ugt i32 %1833, %1831
  br i1 %1834, label %1883, label %1835

1835:                                             ; preds = %1818
  %1836 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1804)
  br label %1837

1837:                                             ; preds = %1835, %1808
  %.15 = phi i32 [ %1836, %1835 ], [ %1805, %1808 ]
  %1838 = add i32 %.15, 56
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1804, i32 noundef %1838)
  %1839 = add nuw nsw i64 %12, 5600
  %1840 = tail call i64 @i64_load32_u(ptr noundef nonnull %11, i64 noundef %1839)
  %1841 = zext i32 %.15 to i64
  %1842 = add nuw nsw i64 %1841, 32
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1842, i64 noundef 0)
  %1843 = add nuw nsw i64 %1841, 48
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1843, i64 noundef %1840)
  %1844 = add nuw nsw i64 %1841, 40
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1844, i64 noundef 0)
  %1845 = add nuw nsw i64 %1841, 24
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1845, i64 noundef -1125899906842624)
  %1846 = add nuw nsw i64 %1841, 16
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1846, i64 noundef -1688849860263936)
  %1847 = zext i32 %1801 to i64
  %1848 = or disjoint i64 %1847, -281474976710656
  %1849 = add nuw nsw i64 %1841, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1849, i64 noundef %1848)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1841, i64 noundef %1810)
  %1850 = add nuw nsw i64 %12, 5302
  %1851 = tail call i32 @i32_load8_u(ptr noundef nonnull %11, i64 noundef %1850)
  %.not4553 = icmp eq i32 %1851, 0
  br i1 %.not4553, label %1879, label %1852

1852:                                             ; preds = %1837
  %1853 = load i32, ptr %8, align 8, !tbaa !5
  %1854 = add i32 %1853, -16
  store i32 %1854, ptr %8, align 8, !tbaa !5
  %1855 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 16) #6
  %1856 = zext i32 %1854 to i64
  %1857 = add nuw nsw i64 %1856, 4
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1857, i32 noundef %1855)
  %1858 = add nuw nsw i64 %1856, 8
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1858, i64 noundef -9223371968135299060)
  %1859 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef 43002)
  %1860 = zext i32 %1855 to i64
  %1861 = add nuw nsw i64 %1860, 8
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1861, i32 noundef %1859)
  %1862 = tail call i64 @i64_load(ptr noundef nonnull %11, i64 noundef 42994)
  tail call void @i64_store(ptr noundef nonnull %11, i64 noundef %1860, i64 noundef %1862)
  %1863 = add nuw nsw i64 %1860, 12
  tail call void @i32_store8(ptr noundef nonnull %11, i64 noundef %1863, i32 noundef 0)
  %1864 = add i32 %1853, -13
  %1865 = add i32 %1853, -12
  %1866 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Arandom_device0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x20const0x260x29(ptr noundef nonnull %0, i32 noundef %1864, i32 noundef %1865) #6
  %1867 = add nuw nsw i64 %1856, 15
  %1868 = tail call i32 @i32_load8_s(ptr noundef nonnull %11, i64 noundef %1867)
  %1869 = icmp slt i32 %1868, 0
  br i1 %1869, label %1870, label %1872

1870:                                             ; preds = %1852
  %1871 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef %1857)
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %1871) #6
  br label %1872

1872:                                             ; preds = %1870, %1852
  %1873 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Aoperator0x280x290x280x29(ptr noundef nonnull %0) #6
  %1874 = and i32 %1873, 65535
  %1875 = add nuw nsw i32 %1874, 15
  %1876 = and i32 %1875, 131056
  %1877 = sub i32 %1854, %1876
  store i32 %1877, ptr %8, align 8, !tbaa !5
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef 138532, i32 noundef %1877)
  %1878 = tail call i32 @i32_load(ptr noundef nonnull %11, i64 noundef 138532)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %.84335)
  store i32 %1853, ptr %8, align 8, !tbaa !5
  br label %1886

1879:                                             ; preds = %1837
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AinterpretFunction0x28hermes0x3A0x3Avm0x3A0x3ACodeBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %1, i32 noundef %2, i32 noundef %.84335)
  br label %1886

1880:                                             ; preds = %605, %597, %589, %581, %573, %565, %557, %549, %541, %533, %525, %517, %509, %501, %493, %485, %477, %469, %461, %435
  store i32 %440, ptr %8, align 8, !tbaa !5
  %1881 = add nuw nsw i64 %432, 16
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1881, i32 noundef 54681)
  %1882 = add i32 %9, -240
  tail call void @w2c_hermes_hermes0x3A0x3AhermesLog0x28char0x20const0x2A0x2C0x20char0x20const0x2A0x2C0x200x2E0x2E0x2E0x29(ptr noundef nonnull %0, i32 noundef 35077, i32 noundef 35547, i32 noundef %1882) #6
  tail call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef nonnull %0, i32 noundef 54681) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

1883:                                             ; preds = %1818, %1799
  %1884 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseStackOverflow0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AStackOverflowKind0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef 1)
  %1885 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1885, i32 noundef %1884)
  br label %1886

1886:                                             ; preds = %1883, %1879, %1872
  tail call void @i32_store(ptr noundef nonnull %11, i64 noundef %1804, i32 noundef %1805)
  br label %1887

1887:                                             ; preds = %1886, %1798, %1767, %1766, %1720
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef nonnull %0, i32 noundef %717) #6
  br label %1888

1888:                                             ; preds = %1887, %180, %78
  store i32 %9, ptr %8, align 8, !tbaa !5
  ret void
}

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AupdatePropertyFlagsWithoutTransitions0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3AOptValue0x3Cllvh0x3A0x3AArrayRef0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_llvh0x3A0x3ASHA10x3A0x3Ahash0x28llvh0x3A0x3AArrayRef0x3Cunsigned0x20char0x3E0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x3E0x3A0x3A_0x5Fappend0x28unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ACopyableVector0x3Chermes0x3A0x3Avm0x3A0x3ARuntimeModule0x2A0x3E0x3A0x3Agrow0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3Ashift0x28hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Arandom_device0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Arandom_device0x3A0x3Aoperator0x280x290x280x29(ptr noundef) local_unnamed_addr #0

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

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

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

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

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


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