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

; 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 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_reinterpret_i64(i64 noundef) #1

; Function Attrs: nounwind uwtable
declare hidden double @wasm_fabs(double noundef) #4

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_reinterpret_f64(double noundef) #1

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

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

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

87:                                               ; preds = %4
  %88 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %88, ptr %32, align 4, !tbaa !9
  %89 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %89, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %90 = load i32, ptr %34, align 4, !tbaa !9
  %91 = load i32, ptr %33, align 4, !tbaa !9
  %92 = add i32 %91, %90
  store i32 %92, ptr %33, align 4, !tbaa !9
  %93 = load ptr, ptr %5, align 8, !tbaa !5
  %94 = getelementptr inbounds %struct.w2c_hermes, ptr %93, i32 0, i32 6
  %95 = load i32, ptr %32, align 4, !tbaa !9
  %96 = zext i32 %95 to i64
  %97 = add i64 %96, 164
  %98 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %94, i64 noundef %97, i32 noundef %98)
  %99 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %99, ptr %32, align 4, !tbaa !9
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %100 = load ptr, ptr %5, align 8, !tbaa !5
  %101 = getelementptr inbounds %struct.w2c_hermes, ptr %100, i32 0, i32 6
  %102 = load i32, ptr %32, align 4, !tbaa !9
  %103 = zext i32 %102 to i64
  %104 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %101, i64 noundef %103, i64 noundef %104)
  br label %112

105:                                              ; preds = %4
  %106 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %106, ptr %32, align 4, !tbaa !9
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %107 = load ptr, ptr %5, align 8, !tbaa !5
  %108 = load i32, ptr %32, align 4, !tbaa !9
  %109 = load i64, ptr %41, align 8, !tbaa !11
  %110 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %107, i32 noundef %108, i64 noundef %109)
  store i32 %110, ptr %32, align 4, !tbaa !9
  %111 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %111, ptr %17, align 4, !tbaa !9
  br label %112

112:                                              ; preds = %105, %87
  %113 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %113, ptr %32, align 4, !tbaa !9
  %114 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %114, ptr %33, align 4, !tbaa !9
  %115 = load ptr, ptr %5, align 8, !tbaa !5
  %116 = getelementptr inbounds %struct.w2c_hermes, ptr %115, i32 0, i32 6
  %117 = load i32, ptr %32, align 4, !tbaa !9
  %118 = zext i32 %117 to i64
  %119 = add i64 %118, 272
  %120 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %116, i64 noundef %119, i32 noundef %120)
  %121 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %121, ptr %32, align 4, !tbaa !9
  %122 = load ptr, ptr %5, align 8, !tbaa !5
  %123 = getelementptr inbounds %struct.w2c_hermes, ptr %122, i32 0, i32 6
  %124 = load i32, ptr %32, align 4, !tbaa !9
  %125 = zext i32 %124 to i64
  %126 = add i64 %125, 4
  %127 = call i32 @i32_load(ptr noundef %123, i64 noundef %126)
  store i32 %127, ptr %32, align 4, !tbaa !9
  %128 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %128, ptr %9, align 4, !tbaa !9
  %129 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %129, ptr %32, align 4, !tbaa !9
  store i32 420, ptr %33, align 4, !tbaa !9
  %130 = load i32, ptr %33, align 4, !tbaa !9
  %131 = load i32, ptr %32, align 4, !tbaa !9
  %132 = add i32 %131, %130
  store i32 %132, ptr %32, align 4, !tbaa !9
  %133 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %133, ptr %12, align 4, !tbaa !9
  %134 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %134, ptr %33, align 4, !tbaa !9
  store i32 280, ptr %34, align 4, !tbaa !9
  %135 = load i32, ptr %34, align 4, !tbaa !9
  %136 = load i32, ptr %33, align 4, !tbaa !9
  %137 = add i32 %136, %135
  store i32 %137, ptr %33, align 4, !tbaa !9
  %138 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %138, ptr %13, align 4, !tbaa !9
  %139 = load ptr, ptr %5, align 8, !tbaa !5
  %140 = getelementptr inbounds %struct.w2c_hermes, ptr %139, i32 0, i32 6
  %141 = load i32, ptr %32, align 4, !tbaa !9
  %142 = zext i32 %141 to i64
  %143 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %140, i64 noundef %142, i32 noundef %143)
  %144 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %144, ptr %32, align 4, !tbaa !9
  store i64 17179869185, ptr %41, align 8, !tbaa !11
  %145 = load ptr, ptr %5, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.w2c_hermes, ptr %145, i32 0, i32 6
  %147 = load i32, ptr %32, align 4, !tbaa !9
  %148 = zext i32 %147 to i64
  %149 = add i64 %148, 412
  %150 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %146, i64 noundef %149, i64 noundef %150)
  %151 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %151, ptr %32, align 4, !tbaa !9
  %152 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %152, ptr %33, align 4, !tbaa !9
  %153 = load ptr, ptr %5, align 8, !tbaa !5
  %154 = getelementptr inbounds %struct.w2c_hermes, ptr %153, i32 0, i32 6
  %155 = load i32, ptr %32, align 4, !tbaa !9
  %156 = zext i32 %155 to i64
  %157 = add i64 %156, 408
  %158 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %154, i64 noundef %157, i32 noundef %158)
  %159 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %159, ptr %32, align 4, !tbaa !9
  %160 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %160, ptr %33, align 4, !tbaa !9
  %161 = load ptr, ptr %5, align 8, !tbaa !5
  %162 = getelementptr inbounds %struct.w2c_hermes, ptr %161, i32 0, i32 6
  %163 = load i32, ptr %32, align 4, !tbaa !9
  %164 = zext i32 %163 to i64
  %165 = add i64 %164, 276
  %166 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %162, i64 noundef %165, i32 noundef %166)
  %167 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %167, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %168 = load ptr, ptr %5, align 8, !tbaa !5
  %169 = getelementptr inbounds %struct.w2c_hermes, ptr %168, i32 0, i32 6
  %170 = load i32, ptr %32, align 4, !tbaa !9
  %171 = zext i32 %170 to i64
  %172 = add i64 %171, 444
  %173 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %169, i64 noundef %172, i32 noundef %173)
  %174 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %174, ptr %32, align 4, !tbaa !9
  %175 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %175, ptr %33, align 4, !tbaa !9
  store i32 408, ptr %34, align 4, !tbaa !9
  %176 = load i32, ptr %34, align 4, !tbaa !9
  %177 = load i32, ptr %33, align 4, !tbaa !9
  %178 = add i32 %177, %176
  store i32 %178, ptr %33, align 4, !tbaa !9
  %179 = load ptr, ptr %5, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.w2c_hermes, ptr %179, i32 0, i32 6
  %181 = load i32, ptr %32, align 4, !tbaa !9
  %182 = zext i32 %181 to i64
  %183 = add i64 %182, 440
  %184 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %180, i64 noundef %183, i32 noundef %184)
  %185 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %185, ptr %32, align 4, !tbaa !9
  %186 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %186, ptr %33, align 4, !tbaa !9
  %187 = load ptr, ptr %5, align 8, !tbaa !5
  %188 = getelementptr inbounds %struct.w2c_hermes, ptr %187, i32 0, i32 6
  %189 = load i32, ptr %32, align 4, !tbaa !9
  %190 = zext i32 %189 to i64
  %191 = add i64 %190, 436
  %192 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %188, i64 noundef %191, i32 noundef %192)
  %193 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %193, ptr %32, align 4, !tbaa !9
  %194 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %194, ptr %33, align 4, !tbaa !9
  store i32 272, ptr %34, align 4, !tbaa !9
  %195 = load i32, ptr %34, align 4, !tbaa !9
  %196 = load i32, ptr %33, align 4, !tbaa !9
  %197 = add i32 %196, %195
  store i32 %197, ptr %33, align 4, !tbaa !9
  %198 = load ptr, ptr %5, align 8, !tbaa !5
  %199 = getelementptr inbounds %struct.w2c_hermes, ptr %198, i32 0, i32 6
  %200 = load i32, ptr %32, align 4, !tbaa !9
  %201 = zext i32 %200 to i64
  %202 = add i64 %201, 4
  %203 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %199, i64 noundef %202, i32 noundef %203)
  %204 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %204, ptr %32, align 4, !tbaa !9
  %205 = load ptr, ptr %5, align 8, !tbaa !5
  %206 = getelementptr inbounds %struct.w2c_hermes, ptr %205, i32 0, i32 6
  %207 = load i32, ptr %32, align 4, !tbaa !9
  %208 = zext i32 %207 to i64
  %209 = call i32 @i32_load(ptr noundef %206, i64 noundef %208)
  store i32 %209, ptr %32, align 4, !tbaa !9
  %210 = load ptr, ptr %5, align 8, !tbaa !5
  %211 = getelementptr inbounds %struct.w2c_hermes, ptr %210, i32 0, i32 6
  %212 = load i32, ptr %32, align 4, !tbaa !9
  %213 = zext i32 %212 to i64
  %214 = add i64 %213, 4
  %215 = call i32 @i32_load(ptr noundef %211, i64 noundef %214)
  store i32 %215, ptr %32, align 4, !tbaa !9
  %216 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %216, ptr %11, align 4, !tbaa !9
  %217 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %217, ptr %32, align 4, !tbaa !9
  store i32 256, ptr %33, align 4, !tbaa !9
  %218 = load i32, ptr %33, align 4, !tbaa !9
  %219 = load i32, ptr %32, align 4, !tbaa !9
  %220 = add i32 %219, %218
  store i32 %220, ptr %32, align 4, !tbaa !9
  %221 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %221, ptr %33, align 4, !tbaa !9
  %222 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %222, ptr %34, align 4, !tbaa !9
  %223 = load ptr, ptr %5, align 8, !tbaa !5
  %224 = load i32, ptr %32, align 4, !tbaa !9
  %225 = load i32, ptr %33, align 4, !tbaa !9
  %226 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AgetNamed0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x29(ptr noundef %223, i32 noundef %224, i32 noundef %225, i32 noundef %226)
  %227 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %227, ptr %32, align 4, !tbaa !9
  %228 = load ptr, ptr %5, align 8, !tbaa !5
  %229 = getelementptr inbounds %struct.w2c_hermes, ptr %228, i32 0, i32 6
  %230 = load i32, ptr %32, align 4, !tbaa !9
  %231 = zext i32 %230 to i64
  %232 = add i64 %231, 256
  %233 = call i32 @i32_load(ptr noundef %229, i64 noundef %232)
  store i32 %233, ptr %32, align 4, !tbaa !9
  %234 = load i32, ptr %32, align 4, !tbaa !9
  %235 = icmp ne i32 %234, 0
  %236 = xor i1 %235, true
  %237 = zext i1 %236 to i32
  store i32 %237, ptr %32, align 4, !tbaa !9
  %238 = load i32, ptr %32, align 4, !tbaa !9
  %239 = icmp ne i32 %238, 0
  br i1 %239, label %240, label %242

240:                                              ; preds = %112
  store i32 -1, ptr %32, align 4, !tbaa !9
  %241 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %241, ptr %9, align 4, !tbaa !9
  br label %5995

242:                                              ; preds = %112
  %243 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %243, ptr %32, align 4, !tbaa !9
  %244 = load ptr, ptr %5, align 8, !tbaa !5
  %245 = getelementptr inbounds %struct.w2c_hermes, ptr %244, i32 0, i32 6
  %246 = load i32, ptr %32, align 4, !tbaa !9
  %247 = zext i32 %246 to i64
  %248 = add i64 %247, 264
  %249 = call i64 @i64_load(ptr noundef %245, i64 noundef %248)
  store i64 %249, ptr %40, align 8, !tbaa !11
  %250 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %250, ptr %29, align 8, !tbaa !11
  %251 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %251, ptr %32, align 4, !tbaa !9
  %252 = load ptr, ptr %5, align 8, !tbaa !5
  %253 = getelementptr inbounds %struct.w2c_hermes, ptr %252, i32 0, i32 6
  %254 = load i32, ptr %32, align 4, !tbaa !9
  %255 = zext i32 %254 to i64
  %256 = add i64 %255, 4
  %257 = call i32 @i32_load(ptr noundef %253, i64 noundef %256)
  store i32 %257, ptr %32, align 4, !tbaa !9
  %258 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %258, ptr %12, align 4, !tbaa !9
  %259 = load ptr, ptr %5, align 8, !tbaa !5
  %260 = getelementptr inbounds %struct.w2c_hermes, ptr %259, i32 0, i32 6
  %261 = load i32, ptr %32, align 4, !tbaa !9
  %262 = zext i32 %261 to i64
  %263 = add i64 %262, 164
  %264 = call i32 @i32_load(ptr noundef %260, i64 noundef %263)
  store i32 %264, ptr %32, align 4, !tbaa !9
  %265 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %265, ptr %9, align 4, !tbaa !9
  %266 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %266, ptr %33, align 4, !tbaa !9
  %267 = load ptr, ptr %5, align 8, !tbaa !5
  %268 = getelementptr inbounds %struct.w2c_hermes, ptr %267, i32 0, i32 6
  %269 = load i32, ptr %33, align 4, !tbaa !9
  %270 = zext i32 %269 to i64
  %271 = add i64 %270, 168
  %272 = call i32 @i32_load(ptr noundef %268, i64 noundef %271)
  store i32 %272, ptr %33, align 4, !tbaa !9
  %273 = load i32, ptr %32, align 4, !tbaa !9
  %274 = load i32, ptr %33, align 4, !tbaa !9
  %275 = icmp ult i32 %273, %274
  %276 = zext i1 %275 to i32
  store i32 %276, ptr %32, align 4, !tbaa !9
  %277 = load i32, ptr %32, align 4, !tbaa !9
  %278 = icmp ne i32 %277, 0
  br i1 %278, label %279, label %298

279:                                              ; preds = %242
  %280 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %280, ptr %32, align 4, !tbaa !9
  %281 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %281, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %282 = load i32, ptr %34, align 4, !tbaa !9
  %283 = load i32, ptr %33, align 4, !tbaa !9
  %284 = add i32 %283, %282
  store i32 %284, ptr %33, align 4, !tbaa !9
  %285 = load ptr, ptr %5, align 8, !tbaa !5
  %286 = getelementptr inbounds %struct.w2c_hermes, ptr %285, i32 0, i32 6
  %287 = load i32, ptr %32, align 4, !tbaa !9
  %288 = zext i32 %287 to i64
  %289 = add i64 %288, 164
  %290 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %286, i64 noundef %289, i32 noundef %290)
  %291 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %291, ptr %32, align 4, !tbaa !9
  %292 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %292, ptr %41, align 8, !tbaa !11
  %293 = load ptr, ptr %5, align 8, !tbaa !5
  %294 = getelementptr inbounds %struct.w2c_hermes, ptr %293, i32 0, i32 6
  %295 = load i32, ptr %32, align 4, !tbaa !9
  %296 = zext i32 %295 to i64
  %297 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %294, i64 noundef %296, i64 noundef %297)
  br label %306

298:                                              ; preds = %242
  %299 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %299, ptr %32, align 4, !tbaa !9
  %300 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %300, ptr %41, align 8, !tbaa !11
  %301 = load ptr, ptr %5, align 8, !tbaa !5
  %302 = load i32, ptr %32, align 4, !tbaa !9
  %303 = load i64, ptr %41, align 8, !tbaa !11
  %304 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %301, i32 noundef %302, i64 noundef %303)
  store i32 %304, ptr %32, align 4, !tbaa !9
  %305 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %305, ptr %9, align 4, !tbaa !9
  br label %306

306:                                              ; preds = %298, %279
  %307 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %307, ptr %32, align 4, !tbaa !9
  store i32 240, ptr %33, align 4, !tbaa !9
  %308 = load i32, ptr %33, align 4, !tbaa !9
  %309 = load i32, ptr %32, align 4, !tbaa !9
  %310 = add i32 %309, %308
  store i32 %310, ptr %32, align 4, !tbaa !9
  %311 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %311, ptr %33, align 4, !tbaa !9
  %312 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %312, ptr %34, align 4, !tbaa !9
  %313 = load ptr, ptr %5, align 8, !tbaa !5
  %314 = load i32, ptr %32, align 4, !tbaa !9
  %315 = load i32, ptr %33, align 4, !tbaa !9
  %316 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %313, i32 noundef %314, i32 noundef %315, i32 noundef %316)
  %317 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %317, ptr %32, align 4, !tbaa !9
  %318 = load ptr, ptr %5, align 8, !tbaa !5
  %319 = getelementptr inbounds %struct.w2c_hermes, ptr %318, i32 0, i32 6
  %320 = load i32, ptr %32, align 4, !tbaa !9
  %321 = zext i32 %320 to i64
  %322 = add i64 %321, 240
  %323 = call i32 @i32_load(ptr noundef %319, i64 noundef %322)
  store i32 %323, ptr %32, align 4, !tbaa !9
  %324 = load i32, ptr %32, align 4, !tbaa !9
  %325 = icmp ne i32 %324, 0
  %326 = xor i1 %325, true
  %327 = zext i1 %326 to i32
  store i32 %327, ptr %32, align 4, !tbaa !9
  %328 = load i32, ptr %32, align 4, !tbaa !9
  %329 = icmp ne i32 %328, 0
  br i1 %329, label %330, label %332

330:                                              ; preds = %306
  store i32 -1, ptr %32, align 4, !tbaa !9
  %331 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %331, ptr %9, align 4, !tbaa !9
  br label %5995

332:                                              ; preds = %306
  %333 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %333, ptr %32, align 4, !tbaa !9
  %334 = load ptr, ptr %5, align 8, !tbaa !5
  %335 = getelementptr inbounds %struct.w2c_hermes, ptr %334, i32 0, i32 6
  %336 = load i32, ptr %32, align 4, !tbaa !9
  %337 = zext i32 %336 to i64
  %338 = call i32 @i32_load(ptr noundef %335, i64 noundef %337)
  store i32 %338, ptr %32, align 4, !tbaa !9
  %339 = load ptr, ptr %5, align 8, !tbaa !5
  %340 = getelementptr inbounds %struct.w2c_hermes, ptr %339, i32 0, i32 6
  %341 = load i32, ptr %32, align 4, !tbaa !9
  %342 = zext i32 %341 to i64
  %343 = add i64 %342, 32
  %344 = call i32 @i32_load8_u(ptr noundef %340, i64 noundef %343)
  store i32 %344, ptr %32, align 4, !tbaa !9
  %345 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %345, ptr %15, align 4, !tbaa !9
  %346 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %346, ptr %32, align 4, !tbaa !9
  %347 = load ptr, ptr %5, align 8, !tbaa !5
  %348 = getelementptr inbounds %struct.w2c_hermes, ptr %347, i32 0, i32 6
  %349 = load i32, ptr %32, align 4, !tbaa !9
  %350 = zext i32 %349 to i64
  %351 = add i64 %350, 248
  %352 = call i64 @i64_load(ptr noundef %348, i64 noundef %351)
  store i64 %352, ptr %40, align 8, !tbaa !11
  %353 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %353, ptr %29, align 8, !tbaa !11
  %354 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %354, ptr %32, align 4, !tbaa !9
  store i64 17179869184, ptr %41, align 8, !tbaa !11
  %355 = load ptr, ptr %5, align 8, !tbaa !5
  %356 = getelementptr inbounds %struct.w2c_hermes, ptr %355, i32 0, i32 6
  %357 = load i32, ptr %32, align 4, !tbaa !9
  %358 = zext i32 %357 to i64
  %359 = add i64 %358, 180
  %360 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %356, i64 noundef %359, i64 noundef %360)
  %361 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %361, ptr %32, align 4, !tbaa !9
  %362 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %362, ptr %33, align 4, !tbaa !9
  store i32 188, ptr %34, align 4, !tbaa !9
  %363 = load i32, ptr %34, align 4, !tbaa !9
  %364 = load i32, ptr %33, align 4, !tbaa !9
  %365 = add i32 %364, %363
  store i32 %365, ptr %33, align 4, !tbaa !9
  %366 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %366, ptr %23, align 4, !tbaa !9
  %367 = load ptr, ptr %5, align 8, !tbaa !5
  %368 = getelementptr inbounds %struct.w2c_hermes, ptr %367, i32 0, i32 6
  %369 = load i32, ptr %32, align 4, !tbaa !9
  %370 = zext i32 %369 to i64
  %371 = add i64 %370, 176
  %372 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %368, i64 noundef %371, i32 noundef %372)
  %373 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %373, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %374 = load ptr, ptr %5, align 8, !tbaa !5
  %375 = getelementptr inbounds %struct.w2c_hermes, ptr %374, i32 0, i32 6
  %376 = load i32, ptr %32, align 4, !tbaa !9
  %377 = zext i32 %376 to i64
  %378 = add i64 %377, 236
  %379 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %375, i64 noundef %378, i32 noundef %379)
  %380 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %380, ptr %40, align 8, !tbaa !11
  store i64 0, ptr %41, align 8, !tbaa !11
  %381 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %381, ptr %34, align 4, !tbaa !9
  store i32 34, ptr %35, align 4, !tbaa !9
  %382 = load i32, ptr %35, align 4, !tbaa !9
  %383 = load i32, ptr %34, align 4, !tbaa !9
  %384 = and i32 %383, %382
  store i32 %384, ptr %34, align 4, !tbaa !9
  %385 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %385, ptr %13, align 4, !tbaa !9
  %386 = load i32, ptr %34, align 4, !tbaa !9
  %387 = icmp ne i32 %386, 0
  br i1 %387, label %388, label %390

388:                                              ; preds = %332
  %389 = load i64, ptr %40, align 8, !tbaa !11
  br label %392

390:                                              ; preds = %332
  %391 = load i64, ptr %41, align 8, !tbaa !11
  br label %392

392:                                              ; preds = %390, %388
  %393 = phi i64 [ %389, %388 ], [ %391, %390 ]
  store i64 %393, ptr %40, align 8, !tbaa !11
  %394 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %394, ptr %29, align 8, !tbaa !11
  %395 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %395, ptr %33, align 4, !tbaa !9
  store i32 2147483647, ptr %34, align 4, !tbaa !9
  %396 = load i32, ptr %34, align 4, !tbaa !9
  %397 = load i32, ptr %33, align 4, !tbaa !9
  %398 = and i32 %397, %396
  store i32 %398, ptr %33, align 4, !tbaa !9
  %399 = load i32, ptr %33, align 4, !tbaa !9
  %400 = zext i32 %399 to i64
  store i64 %400, ptr %41, align 8, !tbaa !11
  %401 = load i64, ptr %40, align 8, !tbaa !11
  %402 = load i64, ptr %41, align 8, !tbaa !11
  %403 = icmp ugt i64 %401, %402
  %404 = zext i1 %403 to i32
  store i32 %404, ptr %32, align 4, !tbaa !9
  %405 = load i32, ptr %32, align 4, !tbaa !9
  %406 = icmp ne i32 %405, 0
  br i1 %406, label %407, label %408

407:                                              ; preds = %392
  br label %1001

408:                                              ; preds = %392
  %409 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %409, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %410 = load i32, ptr %33, align 4, !tbaa !9
  %411 = load i32, ptr %32, align 4, !tbaa !9
  %412 = add i32 %411, %410
  store i32 %412, ptr %32, align 4, !tbaa !9
  %413 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %413, ptr %33, align 4, !tbaa !9
  %414 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %414, ptr %34, align 4, !tbaa !9
  %415 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %415, ptr %35, align 4, !tbaa !9
  %416 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %416, ptr %44, align 8, !tbaa !11
  %417 = load i64, ptr %44, align 8, !tbaa !11
  %418 = trunc i64 %417 to i32
  store i32 %418, ptr %36, align 4, !tbaa !9
  %419 = load ptr, ptr %5, align 8, !tbaa !5
  %420 = load i32, ptr %32, align 4, !tbaa !9
  %421 = load i32, ptr %33, align 4, !tbaa !9
  %422 = load i32, ptr %34, align 4, !tbaa !9
  %423 = load i32, ptr %35, align 4, !tbaa !9
  %424 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSRegExp0x3A0x3Asearch0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSRegExp0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %419, i32 noundef %420, i32 noundef %421, i32 noundef %422, i32 noundef %423, i32 noundef %424)
  %425 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %425, ptr %32, align 4, !tbaa !9
  %426 = load ptr, ptr %5, align 8, !tbaa !5
  %427 = getelementptr inbounds %struct.w2c_hermes, ptr %426, i32 0, i32 6
  %428 = load i32, ptr %32, align 4, !tbaa !9
  %429 = zext i32 %428 to i64
  %430 = add i64 %429, 236
  %431 = call i32 @i32_load8_u(ptr noundef %427, i64 noundef %430)
  store i32 %431, ptr %32, align 4, !tbaa !9
  %432 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %432, ptr %9, align 4, !tbaa !9
  %433 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %433, ptr %32, align 4, !tbaa !9
  %434 = load ptr, ptr %5, align 8, !tbaa !5
  %435 = getelementptr inbounds %struct.w2c_hermes, ptr %434, i32 0, i32 6
  %436 = load i32, ptr %32, align 4, !tbaa !9
  %437 = zext i32 %436 to i64
  %438 = add i64 %437, 172
  %439 = call i32 @i32_load8_u(ptr noundef %435, i64 noundef %438)
  store i32 %439, ptr %32, align 4, !tbaa !9
  %440 = load i32, ptr %32, align 4, !tbaa !9
  %441 = icmp ne i32 %440, 0
  %442 = xor i1 %441, true
  %443 = zext i1 %442 to i32
  store i32 %443, ptr %32, align 4, !tbaa !9
  %444 = load i32, ptr %32, align 4, !tbaa !9
  %445 = icmp ne i32 %444, 0
  br i1 %445, label %446, label %484

446:                                              ; preds = %408
  %447 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %447, ptr %32, align 4, !tbaa !9
  %448 = load i32, ptr %32, align 4, !tbaa !9
  %449 = icmp ne i32 %448, 0
  %450 = xor i1 %449, true
  %451 = zext i1 %450 to i32
  store i32 %451, ptr %32, align 4, !tbaa !9
  %452 = load i32, ptr %32, align 4, !tbaa !9
  %453 = icmp ne i32 %452, 0
  br i1 %453, label %454, label %456

454:                                              ; preds = %446
  store i32 -1, ptr %32, align 4, !tbaa !9
  %455 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %455, ptr %9, align 4, !tbaa !9
  br label %5995

456:                                              ; preds = %446
  %457 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %457, ptr %32, align 4, !tbaa !9
  %458 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %458, ptr %33, align 4, !tbaa !9
  %459 = load ptr, ptr %5, align 8, !tbaa !5
  %460 = getelementptr inbounds %struct.w2c_hermes, ptr %459, i32 0, i32 6
  %461 = load i32, ptr %33, align 4, !tbaa !9
  %462 = zext i32 %461 to i64
  %463 = add i64 %462, 176
  %464 = call i32 @i32_load(ptr noundef %460, i64 noundef %463)
  store i32 %464, ptr %33, align 4, !tbaa !9
  %465 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %465, ptr %9, align 4, !tbaa !9
  %466 = load i32, ptr %32, align 4, !tbaa !9
  %467 = load i32, ptr %33, align 4, !tbaa !9
  %468 = icmp ne i32 %466, %467
  %469 = zext i1 %468 to i32
  store i32 %469, ptr %32, align 4, !tbaa !9
  %470 = load i32, ptr %32, align 4, !tbaa !9
  %471 = icmp ne i32 %470, 0
  br i1 %471, label %472, label %476

472:                                              ; preds = %456
  %473 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %473, ptr %32, align 4, !tbaa !9
  %474 = load ptr, ptr %5, align 8, !tbaa !5
  %475 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %474, i32 noundef %475)
  br label %476

476:                                              ; preds = %472, %456
  %477 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %477, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %478 = load ptr, ptr %5, align 8, !tbaa !5
  %479 = getelementptr inbounds %struct.w2c_hermes, ptr %478, i32 0, i32 6
  %480 = load i32, ptr %32, align 4, !tbaa !9
  %481 = zext i32 %480 to i64
  %482 = add i64 %481, 236
  %483 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %479, i64 noundef %482, i32 noundef %483)
  br label %949

484:                                              ; preds = %408
  %485 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %485, ptr %32, align 4, !tbaa !9
  %486 = load i32, ptr %32, align 4, !tbaa !9
  %487 = icmp ne i32 %486, 0
  br i1 %487, label %488, label %769

488:                                              ; preds = %484
  %489 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %489, ptr %32, align 4, !tbaa !9
  %490 = load ptr, ptr %5, align 8, !tbaa !5
  %491 = getelementptr inbounds %struct.w2c_hermes, ptr %490, i32 0, i32 6
  %492 = load i32, ptr %32, align 4, !tbaa !9
  %493 = zext i32 %492 to i64
  %494 = add i64 %493, 112
  %495 = call i32 @i32_load(ptr noundef %491, i64 noundef %494)
  store i32 %495, ptr %32, align 4, !tbaa !9
  %496 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %496, ptr %12, align 4, !tbaa !9
  %497 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %497, ptr %33, align 4, !tbaa !9
  store i32 124, ptr %34, align 4, !tbaa !9
  %498 = load i32, ptr %34, align 4, !tbaa !9
  %499 = load i32, ptr %33, align 4, !tbaa !9
  %500 = add i32 %499, %498
  store i32 %500, ptr %33, align 4, !tbaa !9
  %501 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %501, ptr %9, align 4, !tbaa !9
  %502 = load i32, ptr %32, align 4, !tbaa !9
  %503 = load i32, ptr %33, align 4, !tbaa !9
  %504 = icmp ne i32 %502, %503
  %505 = zext i1 %504 to i32
  store i32 %505, ptr %32, align 4, !tbaa !9
  %506 = load i32, ptr %32, align 4, !tbaa !9
  %507 = icmp ne i32 %506, 0
  br i1 %507, label %508, label %576

508:                                              ; preds = %488
  %509 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %509, ptr %32, align 4, !tbaa !9
  %510 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %510, ptr %33, align 4, !tbaa !9
  %511 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %511, ptr %34, align 4, !tbaa !9
  %512 = load ptr, ptr %5, align 8, !tbaa !5
  %513 = getelementptr inbounds %struct.w2c_hermes, ptr %512, i32 0, i32 6
  %514 = load i32, ptr %34, align 4, !tbaa !9
  %515 = zext i32 %514 to i64
  %516 = add i64 %515, 176
  %517 = call i32 @i32_load(ptr noundef %513, i64 noundef %516)
  store i32 %517, ptr %34, align 4, !tbaa !9
  %518 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %518, ptr %11, align 4, !tbaa !9
  %519 = load i32, ptr %33, align 4, !tbaa !9
  %520 = load i32, ptr %34, align 4, !tbaa !9
  %521 = icmp ne i32 %519, %520
  %522 = zext i1 %521 to i32
  store i32 %522, ptr %33, align 4, !tbaa !9
  %523 = load i32, ptr %33, align 4, !tbaa !9
  %524 = icmp ne i32 %523, 0
  br i1 %524, label %525, label %536

525:                                              ; preds = %508
  %526 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %526, ptr %33, align 4, !tbaa !9
  %527 = load ptr, ptr %5, align 8, !tbaa !5
  %528 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %527, i32 noundef %528)
  %529 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %529, ptr %33, align 4, !tbaa !9
  %530 = load ptr, ptr %5, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.w2c_hermes, ptr %530, i32 0, i32 6
  %532 = load i32, ptr %33, align 4, !tbaa !9
  %533 = zext i32 %532 to i64
  %534 = add i64 %533, 112
  %535 = call i32 @i32_load(ptr noundef %531, i64 noundef %534)
  store i32 %535, ptr %33, align 4, !tbaa !9
  br label %538

536:                                              ; preds = %508
  %537 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %537, ptr %33, align 4, !tbaa !9
  br label %538

538:                                              ; preds = %536, %525
  %539 = load ptr, ptr %5, align 8, !tbaa !5
  %540 = getelementptr inbounds %struct.w2c_hermes, ptr %539, i32 0, i32 6
  %541 = load i32, ptr %32, align 4, !tbaa !9
  %542 = zext i32 %541 to i64
  %543 = add i64 %542, 176
  %544 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %540, i64 noundef %543, i32 noundef %544)
  %545 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %545, ptr %32, align 4, !tbaa !9
  %546 = load ptr, ptr %5, align 8, !tbaa !5
  %547 = getelementptr inbounds %struct.w2c_hermes, ptr %546, i32 0, i32 6
  %548 = load i32, ptr %32, align 4, !tbaa !9
  %549 = zext i32 %548 to i64
  %550 = add i64 %549, 116
  %551 = call i64 @i64_load(ptr noundef %547, i64 noundef %550)
  store i64 %551, ptr %40, align 8, !tbaa !11
  %552 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %552, ptr %29, align 8, !tbaa !11
  %553 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %553, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %554 = load ptr, ptr %5, align 8, !tbaa !5
  %555 = getelementptr inbounds %struct.w2c_hermes, ptr %554, i32 0, i32 6
  %556 = load i32, ptr %32, align 4, !tbaa !9
  %557 = zext i32 %556 to i64
  %558 = add i64 %557, 120
  %559 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %555, i64 noundef %558, i32 noundef %559)
  %560 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %560, ptr %32, align 4, !tbaa !9
  %561 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %561, ptr %41, align 8, !tbaa !11
  %562 = load ptr, ptr %5, align 8, !tbaa !5
  %563 = getelementptr inbounds %struct.w2c_hermes, ptr %562, i32 0, i32 6
  %564 = load i32, ptr %32, align 4, !tbaa !9
  %565 = zext i32 %564 to i64
  %566 = add i64 %565, 180
  %567 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %563, i64 noundef %566, i64 noundef %567)
  %568 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %568, ptr %32, align 4, !tbaa !9
  %569 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %569, ptr %33, align 4, !tbaa !9
  %570 = load ptr, ptr %5, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.w2c_hermes, ptr %570, i32 0, i32 6
  %572 = load i32, ptr %32, align 4, !tbaa !9
  %573 = zext i32 %572 to i64
  %574 = add i64 %573, 112
  %575 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %571, i64 noundef %574, i32 noundef %575)
  br label %761

576:                                              ; preds = %488
  %577 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %577, ptr %32, align 4, !tbaa !9
  %578 = load ptr, ptr %5, align 8, !tbaa !5
  %579 = getelementptr inbounds %struct.w2c_hermes, ptr %578, i32 0, i32 6
  %580 = load i32, ptr %32, align 4, !tbaa !9
  %581 = zext i32 %580 to i64
  %582 = add i64 %581, 180
  %583 = call i32 @i32_load(ptr noundef %579, i64 noundef %582)
  store i32 %583, ptr %32, align 4, !tbaa !9
  %584 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %584, ptr %11, align 4, !tbaa !9
  %585 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %585, ptr %33, align 4, !tbaa !9
  %586 = load ptr, ptr %5, align 8, !tbaa !5
  %587 = getelementptr inbounds %struct.w2c_hermes, ptr %586, i32 0, i32 6
  %588 = load i32, ptr %33, align 4, !tbaa !9
  %589 = zext i32 %588 to i64
  %590 = add i64 %589, 116
  %591 = call i32 @i32_load(ptr noundef %587, i64 noundef %590)
  store i32 %591, ptr %33, align 4, !tbaa !9
  %592 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %592, ptr %9, align 4, !tbaa !9
  %593 = load i32, ptr %32, align 4, !tbaa !9
  %594 = load i32, ptr %33, align 4, !tbaa !9
  %595 = icmp uge i32 %593, %594
  %596 = zext i1 %595 to i32
  store i32 %596, ptr %32, align 4, !tbaa !9
  %597 = load i32, ptr %32, align 4, !tbaa !9
  %598 = icmp ne i32 %597, 0
  br i1 %598, label %599, label %626

599:                                              ; preds = %576
  %600 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %600, ptr %32, align 4, !tbaa !9
  %601 = load i32, ptr %32, align 4, !tbaa !9
  %602 = icmp ne i32 %601, 0
  %603 = xor i1 %602, true
  %604 = zext i1 %603 to i32
  store i32 %604, ptr %32, align 4, !tbaa !9
  %605 = load i32, ptr %32, align 4, !tbaa !9
  %606 = icmp ne i32 %605, 0
  br i1 %606, label %607, label %608

607:                                              ; preds = %599
  br label %752

608:                                              ; preds = %599
  %609 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %609, ptr %32, align 4, !tbaa !9
  %610 = load ptr, ptr %5, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.w2c_hermes, ptr %610, i32 0, i32 6
  %612 = load i32, ptr %32, align 4, !tbaa !9
  %613 = zext i32 %612 to i64
  %614 = add i64 %613, 176
  %615 = call i32 @i32_load(ptr noundef %611, i64 noundef %614)
  store i32 %615, ptr %32, align 4, !tbaa !9
  %616 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %616, ptr %33, align 4, !tbaa !9
  %617 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %617, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %618 = load i32, ptr %35, align 4, !tbaa !9
  %619 = load i32, ptr %34, align 4, !tbaa !9
  %620 = mul i32 %619, %618
  store i32 %620, ptr %34, align 4, !tbaa !9
  %621 = load ptr, ptr %5, align 8, !tbaa !5
  %622 = load i32, ptr %32, align 4, !tbaa !9
  %623 = load i32, ptr %33, align 4, !tbaa !9
  %624 = load i32, ptr %34, align 4, !tbaa !9
  %625 = call i32 @w2c_hermes_memmove(ptr noundef %621, i32 noundef %622, i32 noundef %623, i32 noundef %624)
  store i32 %625, ptr %32, align 4, !tbaa !9
  br label %752

626:                                              ; preds = %576
  %627 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %627, ptr %32, align 4, !tbaa !9
  %628 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %628, ptr %33, align 4, !tbaa !9
  %629 = load ptr, ptr %5, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.w2c_hermes, ptr %629, i32 0, i32 6
  %631 = load i32, ptr %33, align 4, !tbaa !9
  %632 = zext i32 %631 to i64
  %633 = add i64 %632, 184
  %634 = call i32 @i32_load(ptr noundef %630, i64 noundef %633)
  store i32 %634, ptr %33, align 4, !tbaa !9
  %635 = load i32, ptr %32, align 4, !tbaa !9
  %636 = load i32, ptr %33, align 4, !tbaa !9
  %637 = icmp ugt i32 %635, %636
  %638 = zext i1 %637 to i32
  store i32 %638, ptr %32, align 4, !tbaa !9
  %639 = load i32, ptr %32, align 4, !tbaa !9
  %640 = icmp ne i32 %639, 0
  br i1 %640, label %641, label %661

641:                                              ; preds = %626
  store i32 0, ptr %32, align 4, !tbaa !9
  %642 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %642, ptr %11, align 4, !tbaa !9
  %643 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %643, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %644 = load ptr, ptr %5, align 8, !tbaa !5
  %645 = getelementptr inbounds %struct.w2c_hermes, ptr %644, i32 0, i32 6
  %646 = load i32, ptr %32, align 4, !tbaa !9
  %647 = zext i32 %646 to i64
  %648 = add i64 %647, 180
  %649 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %645, i64 noundef %648, i32 noundef %649)
  %650 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %650, ptr %32, align 4, !tbaa !9
  store i32 176, ptr %33, align 4, !tbaa !9
  %651 = load i32, ptr %33, align 4, !tbaa !9
  %652 = load i32, ptr %32, align 4, !tbaa !9
  %653 = add i32 %652, %651
  store i32 %653, ptr %32, align 4, !tbaa !9
  %654 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %654, ptr %33, align 4, !tbaa !9
  %655 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %655, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %656 = load ptr, ptr %5, align 8, !tbaa !5
  %657 = load i32, ptr %32, align 4, !tbaa !9
  %658 = load i32, ptr %33, align 4, !tbaa !9
  %659 = load i32, ptr %34, align 4, !tbaa !9
  %660 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %656, i32 noundef %657, i32 noundef %658, i32 noundef %659, i32 noundef %660)
  br label %689

661:                                              ; preds = %626
  %662 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %662, ptr %32, align 4, !tbaa !9
  %663 = load i32, ptr %32, align 4, !tbaa !9
  %664 = icmp ne i32 %663, 0
  %665 = xor i1 %664, true
  %666 = zext i1 %665 to i32
  store i32 %666, ptr %32, align 4, !tbaa !9
  %667 = load i32, ptr %32, align 4, !tbaa !9
  %668 = icmp ne i32 %667, 0
  br i1 %668, label %669, label %671

669:                                              ; preds = %661
  store i32 0, ptr %32, align 4, !tbaa !9
  %670 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %670, ptr %11, align 4, !tbaa !9
  br label %689

671:                                              ; preds = %661
  %672 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %672, ptr %32, align 4, !tbaa !9
  %673 = load ptr, ptr %5, align 8, !tbaa !5
  %674 = getelementptr inbounds %struct.w2c_hermes, ptr %673, i32 0, i32 6
  %675 = load i32, ptr %32, align 4, !tbaa !9
  %676 = zext i32 %675 to i64
  %677 = add i64 %676, 176
  %678 = call i32 @i32_load(ptr noundef %674, i64 noundef %677)
  store i32 %678, ptr %32, align 4, !tbaa !9
  %679 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %679, ptr %33, align 4, !tbaa !9
  %680 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %680, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %681 = load i32, ptr %35, align 4, !tbaa !9
  %682 = load i32, ptr %34, align 4, !tbaa !9
  %683 = mul i32 %682, %681
  store i32 %683, ptr %34, align 4, !tbaa !9
  %684 = load ptr, ptr %5, align 8, !tbaa !5
  %685 = load i32, ptr %32, align 4, !tbaa !9
  %686 = load i32, ptr %33, align 4, !tbaa !9
  %687 = load i32, ptr %34, align 4, !tbaa !9
  %688 = call i32 @w2c_hermes_memmove(ptr noundef %684, i32 noundef %685, i32 noundef %686, i32 noundef %687)
  store i32 %688, ptr %32, align 4, !tbaa !9
  br label %689

689:                                              ; preds = %671, %669, %641
  %690 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %690, ptr %32, align 4, !tbaa !9
  %691 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %691, ptr %33, align 4, !tbaa !9
  %692 = load ptr, ptr %5, align 8, !tbaa !5
  %693 = getelementptr inbounds %struct.w2c_hermes, ptr %692, i32 0, i32 6
  %694 = load i32, ptr %33, align 4, !tbaa !9
  %695 = zext i32 %694 to i64
  %696 = add i64 %695, 116
  %697 = call i32 @i32_load(ptr noundef %693, i64 noundef %696)
  store i32 %697, ptr %33, align 4, !tbaa !9
  %698 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %698, ptr %12, align 4, !tbaa !9
  %699 = load i32, ptr %32, align 4, !tbaa !9
  %700 = load i32, ptr %33, align 4, !tbaa !9
  %701 = icmp eq i32 %699, %700
  %702 = zext i1 %701 to i32
  store i32 %702, ptr %32, align 4, !tbaa !9
  %703 = load i32, ptr %32, align 4, !tbaa !9
  %704 = icmp ne i32 %703, 0
  br i1 %704, label %705, label %706

705:                                              ; preds = %689
  br label %752

706:                                              ; preds = %689
  %707 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %707, ptr %32, align 4, !tbaa !9
  store i32 12, ptr %33, align 4, !tbaa !9
  %708 = load i32, ptr %33, align 4, !tbaa !9
  %709 = load i32, ptr %32, align 4, !tbaa !9
  %710 = mul i32 %709, %708
  store i32 %710, ptr %32, align 4, !tbaa !9
  %711 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %711, ptr %11, align 4, !tbaa !9
  %712 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %712, ptr %33, align 4, !tbaa !9
  %713 = load ptr, ptr %5, align 8, !tbaa !5
  %714 = getelementptr inbounds %struct.w2c_hermes, ptr %713, i32 0, i32 6
  %715 = load i32, ptr %33, align 4, !tbaa !9
  %716 = zext i32 %715 to i64
  %717 = add i64 %716, 176
  %718 = call i32 @i32_load(ptr noundef %714, i64 noundef %717)
  store i32 %718, ptr %33, align 4, !tbaa !9
  %719 = load i32, ptr %33, align 4, !tbaa !9
  %720 = load i32, ptr %32, align 4, !tbaa !9
  %721 = add i32 %720, %719
  store i32 %721, ptr %32, align 4, !tbaa !9
  %722 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %722, ptr %33, align 4, !tbaa !9
  %723 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %723, ptr %34, align 4, !tbaa !9
  %724 = load ptr, ptr %5, align 8, !tbaa !5
  %725 = getelementptr inbounds %struct.w2c_hermes, ptr %724, i32 0, i32 6
  %726 = load i32, ptr %34, align 4, !tbaa !9
  %727 = zext i32 %726 to i64
  %728 = add i64 %727, 112
  %729 = call i32 @i32_load(ptr noundef %725, i64 noundef %728)
  store i32 %729, ptr %34, align 4, !tbaa !9
  %730 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %730, ptr %14, align 4, !tbaa !9
  %731 = load i32, ptr %34, align 4, !tbaa !9
  %732 = load i32, ptr %33, align 4, !tbaa !9
  %733 = add i32 %732, %731
  store i32 %733, ptr %33, align 4, !tbaa !9
  %734 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %734, ptr %11, align 4, !tbaa !9
  %735 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %735, ptr %34, align 4, !tbaa !9
  %736 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %736, ptr %35, align 4, !tbaa !9
  store i32 12, ptr %36, align 4, !tbaa !9
  %737 = load i32, ptr %36, align 4, !tbaa !9
  %738 = load i32, ptr %35, align 4, !tbaa !9
  %739 = mul i32 %738, %737
  store i32 %739, ptr %35, align 4, !tbaa !9
  %740 = load i32, ptr %35, align 4, !tbaa !9
  %741 = load i32, ptr %34, align 4, !tbaa !9
  %742 = add i32 %741, %740
  store i32 %742, ptr %34, align 4, !tbaa !9
  %743 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %743, ptr %35, align 4, !tbaa !9
  %744 = load i32, ptr %35, align 4, !tbaa !9
  %745 = load i32, ptr %34, align 4, !tbaa !9
  %746 = sub i32 %745, %744
  store i32 %746, ptr %34, align 4, !tbaa !9
  %747 = load ptr, ptr %5, align 8, !tbaa !5
  %748 = load i32, ptr %32, align 4, !tbaa !9
  %749 = load i32, ptr %33, align 4, !tbaa !9
  %750 = load i32, ptr %34, align 4, !tbaa !9
  %751 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %747, i32 noundef %748, i32 noundef %749, i32 noundef %750)
  store i32 %751, ptr %32, align 4, !tbaa !9
  br label %752

752:                                              ; preds = %706, %705, %608, %607
  %753 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %753, ptr %32, align 4, !tbaa !9
  %754 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %754, ptr %33, align 4, !tbaa !9
  %755 = load ptr, ptr %5, align 8, !tbaa !5
  %756 = getelementptr inbounds %struct.w2c_hermes, ptr %755, i32 0, i32 6
  %757 = load i32, ptr %32, align 4, !tbaa !9
  %758 = zext i32 %757 to i64
  %759 = add i64 %758, 180
  %760 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %756, i64 noundef %759, i32 noundef %760)
  br label %761

761:                                              ; preds = %752, %538
  %762 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %762, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %763 = load ptr, ptr %5, align 8, !tbaa !5
  %764 = getelementptr inbounds %struct.w2c_hermes, ptr %763, i32 0, i32 6
  %765 = load i32, ptr %32, align 4, !tbaa !9
  %766 = zext i32 %765 to i64
  %767 = add i64 %766, 116
  %768 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %764, i64 noundef %767, i32 noundef %768)
  br label %949

769:                                              ; preds = %484
  %770 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %770, ptr %32, align 4, !tbaa !9
  store i64 17179869184, ptr %41, align 8, !tbaa !11
  %771 = load ptr, ptr %5, align 8, !tbaa !5
  %772 = getelementptr inbounds %struct.w2c_hermes, ptr %771, i32 0, i32 6
  %773 = load i32, ptr %32, align 4, !tbaa !9
  %774 = zext i32 %773 to i64
  %775 = add i64 %774, 180
  %776 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %772, i64 noundef %775, i64 noundef %776)
  %777 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %777, ptr %32, align 4, !tbaa !9
  %778 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %778, ptr %33, align 4, !tbaa !9
  %779 = load ptr, ptr %5, align 8, !tbaa !5
  %780 = getelementptr inbounds %struct.w2c_hermes, ptr %779, i32 0, i32 6
  %781 = load i32, ptr %32, align 4, !tbaa !9
  %782 = zext i32 %781 to i64
  %783 = add i64 %782, 176
  %784 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %780, i64 noundef %783, i32 noundef %784)
  %785 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %785, ptr %32, align 4, !tbaa !9
  %786 = load ptr, ptr %5, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.w2c_hermes, ptr %786, i32 0, i32 6
  %788 = load i32, ptr %32, align 4, !tbaa !9
  %789 = zext i32 %788 to i64
  %790 = add i64 %789, 116
  %791 = call i32 @i32_load(ptr noundef %787, i64 noundef %790)
  store i32 %791, ptr %32, align 4, !tbaa !9
  %792 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %792, ptr %9, align 4, !tbaa !9
  %793 = load i32, ptr %32, align 4, !tbaa !9
  %794 = icmp ne i32 %793, 0
  br i1 %794, label %795, label %941

795:                                              ; preds = %769
  %796 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %796, ptr %32, align 4, !tbaa !9
  %797 = load ptr, ptr %5, align 8, !tbaa !5
  %798 = getelementptr inbounds %struct.w2c_hermes, ptr %797, i32 0, i32 6
  %799 = load i32, ptr %32, align 4, !tbaa !9
  %800 = zext i32 %799 to i64
  %801 = add i64 %800, 112
  %802 = call i32 @i32_load(ptr noundef %798, i64 noundef %801)
  store i32 %802, ptr %32, align 4, !tbaa !9
  %803 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %803, ptr %12, align 4, !tbaa !9
  %804 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %804, ptr %33, align 4, !tbaa !9
  store i32 124, ptr %34, align 4, !tbaa !9
  %805 = load i32, ptr %34, align 4, !tbaa !9
  %806 = load i32, ptr %33, align 4, !tbaa !9
  %807 = add i32 %806, %805
  store i32 %807, ptr %33, align 4, !tbaa !9
  %808 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %808, ptr %11, align 4, !tbaa !9
  %809 = load i32, ptr %32, align 4, !tbaa !9
  %810 = load i32, ptr %33, align 4, !tbaa !9
  %811 = icmp ne i32 %809, %810
  %812 = zext i1 %811 to i32
  store i32 %812, ptr %32, align 4, !tbaa !9
  %813 = load i32, ptr %32, align 4, !tbaa !9
  %814 = icmp ne i32 %813, 0
  br i1 %814, label %815, label %863

815:                                              ; preds = %795
  %816 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %816, ptr %32, align 4, !tbaa !9
  %817 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %817, ptr %33, align 4, !tbaa !9
  %818 = load ptr, ptr %5, align 8, !tbaa !5
  %819 = getelementptr inbounds %struct.w2c_hermes, ptr %818, i32 0, i32 6
  %820 = load i32, ptr %32, align 4, !tbaa !9
  %821 = zext i32 %820 to i64
  %822 = add i64 %821, 180
  %823 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %819, i64 noundef %822, i32 noundef %823)
  %824 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %824, ptr %32, align 4, !tbaa !9
  %825 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %825, ptr %33, align 4, !tbaa !9
  %826 = load ptr, ptr %5, align 8, !tbaa !5
  %827 = getelementptr inbounds %struct.w2c_hermes, ptr %826, i32 0, i32 6
  %828 = load i32, ptr %32, align 4, !tbaa !9
  %829 = zext i32 %828 to i64
  %830 = add i64 %829, 176
  %831 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %827, i64 noundef %830, i32 noundef %831)
  %832 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %832, ptr %32, align 4, !tbaa !9
  %833 = load ptr, ptr %5, align 8, !tbaa !5
  %834 = getelementptr inbounds %struct.w2c_hermes, ptr %833, i32 0, i32 6
  %835 = load i32, ptr %32, align 4, !tbaa !9
  %836 = zext i32 %835 to i64
  %837 = add i64 %836, 120
  %838 = call i32 @i32_load(ptr noundef %834, i64 noundef %837)
  store i32 %838, ptr %32, align 4, !tbaa !9
  %839 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %839, ptr %9, align 4, !tbaa !9
  %840 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %840, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %841 = load ptr, ptr %5, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.w2c_hermes, ptr %841, i32 0, i32 6
  %843 = load i32, ptr %32, align 4, !tbaa !9
  %844 = zext i32 %843 to i64
  %845 = add i64 %844, 120
  %846 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %842, i64 noundef %845, i32 noundef %846)
  %847 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %847, ptr %32, align 4, !tbaa !9
  %848 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %848, ptr %33, align 4, !tbaa !9
  %849 = load ptr, ptr %5, align 8, !tbaa !5
  %850 = getelementptr inbounds %struct.w2c_hermes, ptr %849, i32 0, i32 6
  %851 = load i32, ptr %32, align 4, !tbaa !9
  %852 = zext i32 %851 to i64
  %853 = add i64 %852, 184
  %854 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %850, i64 noundef %853, i32 noundef %854)
  %855 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %855, ptr %32, align 4, !tbaa !9
  %856 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %856, ptr %33, align 4, !tbaa !9
  %857 = load ptr, ptr %5, align 8, !tbaa !5
  %858 = getelementptr inbounds %struct.w2c_hermes, ptr %857, i32 0, i32 6
  %859 = load i32, ptr %32, align 4, !tbaa !9
  %860 = zext i32 %859 to i64
  %861 = add i64 %860, 112
  %862 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %858, i64 noundef %861, i32 noundef %862)
  br label %933

863:                                              ; preds = %795
  %864 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %864, ptr %32, align 4, !tbaa !9
  %865 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %865, ptr %12, align 4, !tbaa !9
  store i32 5, ptr %33, align 4, !tbaa !9
  %866 = load i32, ptr %32, align 4, !tbaa !9
  %867 = load i32, ptr %33, align 4, !tbaa !9
  %868 = icmp uge i32 %866, %867
  %869 = zext i1 %868 to i32
  store i32 %869, ptr %32, align 4, !tbaa !9
  %870 = load i32, ptr %32, align 4, !tbaa !9
  %871 = icmp ne i32 %870, 0
  br i1 %871, label %872, label %900

872:                                              ; preds = %863
  %873 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %873, ptr %32, align 4, !tbaa !9
  store i32 176, ptr %33, align 4, !tbaa !9
  %874 = load i32, ptr %33, align 4, !tbaa !9
  %875 = load i32, ptr %32, align 4, !tbaa !9
  %876 = add i32 %875, %874
  store i32 %876, ptr %32, align 4, !tbaa !9
  %877 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %877, ptr %33, align 4, !tbaa !9
  %878 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %878, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %879 = load ptr, ptr %5, align 8, !tbaa !5
  %880 = load i32, ptr %32, align 4, !tbaa !9
  %881 = load i32, ptr %33, align 4, !tbaa !9
  %882 = load i32, ptr %34, align 4, !tbaa !9
  %883 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %879, i32 noundef %880, i32 noundef %881, i32 noundef %882, i32 noundef %883)
  %884 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %884, ptr %32, align 4, !tbaa !9
  %885 = load ptr, ptr %5, align 8, !tbaa !5
  %886 = getelementptr inbounds %struct.w2c_hermes, ptr %885, i32 0, i32 6
  %887 = load i32, ptr %32, align 4, !tbaa !9
  %888 = zext i32 %887 to i64
  %889 = add i64 %888, 116
  %890 = call i32 @i32_load(ptr noundef %886, i64 noundef %889)
  store i32 %890, ptr %32, align 4, !tbaa !9
  %891 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %891, ptr %12, align 4, !tbaa !9
  %892 = load i32, ptr %32, align 4, !tbaa !9
  %893 = icmp ne i32 %892, 0
  %894 = xor i1 %893, true
  %895 = zext i1 %894 to i32
  store i32 %895, ptr %32, align 4, !tbaa !9
  %896 = load i32, ptr %32, align 4, !tbaa !9
  %897 = icmp ne i32 %896, 0
  br i1 %897, label %898, label %899

898:                                              ; preds = %872
  br label %924

899:                                              ; preds = %872
  br label %900

900:                                              ; preds = %899, %863
  %901 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %901, ptr %32, align 4, !tbaa !9
  %902 = load ptr, ptr %5, align 8, !tbaa !5
  %903 = getelementptr inbounds %struct.w2c_hermes, ptr %902, i32 0, i32 6
  %904 = load i32, ptr %32, align 4, !tbaa !9
  %905 = zext i32 %904 to i64
  %906 = add i64 %905, 176
  %907 = call i32 @i32_load(ptr noundef %903, i64 noundef %906)
  store i32 %907, ptr %32, align 4, !tbaa !9
  %908 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %908, ptr %33, align 4, !tbaa !9
  %909 = load ptr, ptr %5, align 8, !tbaa !5
  %910 = getelementptr inbounds %struct.w2c_hermes, ptr %909, i32 0, i32 6
  %911 = load i32, ptr %33, align 4, !tbaa !9
  %912 = zext i32 %911 to i64
  %913 = add i64 %912, 112
  %914 = call i32 @i32_load(ptr noundef %910, i64 noundef %913)
  store i32 %914, ptr %33, align 4, !tbaa !9
  %915 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %915, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %916 = load i32, ptr %35, align 4, !tbaa !9
  %917 = load i32, ptr %34, align 4, !tbaa !9
  %918 = mul i32 %917, %916
  store i32 %918, ptr %34, align 4, !tbaa !9
  %919 = load ptr, ptr %5, align 8, !tbaa !5
  %920 = load i32, ptr %32, align 4, !tbaa !9
  %921 = load i32, ptr %33, align 4, !tbaa !9
  %922 = load i32, ptr %34, align 4, !tbaa !9
  %923 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %919, i32 noundef %920, i32 noundef %921, i32 noundef %922)
  store i32 %923, ptr %32, align 4, !tbaa !9
  br label %924

924:                                              ; preds = %900, %898
  %925 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %925, ptr %32, align 4, !tbaa !9
  %926 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %926, ptr %33, align 4, !tbaa !9
  %927 = load ptr, ptr %5, align 8, !tbaa !5
  %928 = getelementptr inbounds %struct.w2c_hermes, ptr %927, i32 0, i32 6
  %929 = load i32, ptr %32, align 4, !tbaa !9
  %930 = zext i32 %929 to i64
  %931 = add i64 %930, 180
  %932 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %928, i64 noundef %931, i32 noundef %932)
  br label %933

933:                                              ; preds = %924, %815
  %934 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %934, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %935 = load ptr, ptr %5, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.w2c_hermes, ptr %935, i32 0, i32 6
  %937 = load i32, ptr %32, align 4, !tbaa !9
  %938 = zext i32 %937 to i64
  %939 = add i64 %938, 116
  %940 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %936, i64 noundef %939, i32 noundef %940)
  br label %941

941:                                              ; preds = %933, %769
  %942 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %942, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %943 = load ptr, ptr %5, align 8, !tbaa !5
  %944 = getelementptr inbounds %struct.w2c_hermes, ptr %943, i32 0, i32 6
  %945 = load i32, ptr %32, align 4, !tbaa !9
  %946 = zext i32 %945 to i64
  %947 = add i64 %946, 236
  %948 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %944, i64 noundef %947, i32 noundef %948)
  br label %949

949:                                              ; preds = %941, %761, %476
  %950 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %950, ptr %32, align 4, !tbaa !9
  %951 = load ptr, ptr %5, align 8, !tbaa !5
  %952 = getelementptr inbounds %struct.w2c_hermes, ptr %951, i32 0, i32 6
  %953 = load i32, ptr %32, align 4, !tbaa !9
  %954 = zext i32 %953 to i64
  %955 = add i64 %954, 172
  %956 = call i32 @i32_load8_u(ptr noundef %952, i64 noundef %955)
  store i32 %956, ptr %32, align 4, !tbaa !9
  %957 = load i32, ptr %32, align 4, !tbaa !9
  %958 = icmp ne i32 %957, 0
  %959 = xor i1 %958, true
  %960 = zext i1 %959 to i32
  store i32 %960, ptr %32, align 4, !tbaa !9
  %961 = load i32, ptr %32, align 4, !tbaa !9
  %962 = icmp ne i32 %961, 0
  br i1 %962, label %963, label %964

963:                                              ; preds = %949
  br label %988

964:                                              ; preds = %949
  %965 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %965, ptr %32, align 4, !tbaa !9
  %966 = load ptr, ptr %5, align 8, !tbaa !5
  %967 = getelementptr inbounds %struct.w2c_hermes, ptr %966, i32 0, i32 6
  %968 = load i32, ptr %32, align 4, !tbaa !9
  %969 = zext i32 %968 to i64
  %970 = add i64 %969, 112
  %971 = call i32 @i32_load(ptr noundef %967, i64 noundef %970)
  store i32 %971, ptr %32, align 4, !tbaa !9
  %972 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %972, ptr %9, align 4, !tbaa !9
  %973 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %973, ptr %33, align 4, !tbaa !9
  store i32 124, ptr %34, align 4, !tbaa !9
  %974 = load i32, ptr %34, align 4, !tbaa !9
  %975 = load i32, ptr %33, align 4, !tbaa !9
  %976 = add i32 %975, %974
  store i32 %976, ptr %33, align 4, !tbaa !9
  %977 = load i32, ptr %32, align 4, !tbaa !9
  %978 = load i32, ptr %33, align 4, !tbaa !9
  %979 = icmp eq i32 %977, %978
  %980 = zext i1 %979 to i32
  store i32 %980, ptr %32, align 4, !tbaa !9
  %981 = load i32, ptr %32, align 4, !tbaa !9
  %982 = icmp ne i32 %981, 0
  br i1 %982, label %983, label %984

983:                                              ; preds = %964
  br label %988

984:                                              ; preds = %964
  %985 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %985, ptr %32, align 4, !tbaa !9
  %986 = load ptr, ptr %5, align 8, !tbaa !5
  %987 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %986, i32 noundef %987)
  br label %988

988:                                              ; preds = %984, %983, %963
  %989 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %989, ptr %32, align 4, !tbaa !9
  %990 = load ptr, ptr %5, align 8, !tbaa !5
  %991 = getelementptr inbounds %struct.w2c_hermes, ptr %990, i32 0, i32 6
  %992 = load i32, ptr %32, align 4, !tbaa !9
  %993 = zext i32 %992 to i64
  %994 = add i64 %993, 236
  %995 = call i32 @i32_load8_u(ptr noundef %991, i64 noundef %994)
  store i32 %995, ptr %32, align 4, !tbaa !9
  %996 = load i32, ptr %32, align 4, !tbaa !9
  %997 = icmp ne i32 %996, 0
  br i1 %997, label %998, label %999

998:                                              ; preds = %988
  br label %1001

999:                                              ; preds = %988
  store i32 -1, ptr %32, align 4, !tbaa !9
  %1000 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1000, ptr %9, align 4, !tbaa !9
  br label %5995

1001:                                             ; preds = %998, %407
  %1002 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1002, ptr %32, align 4, !tbaa !9
  %1003 = load ptr, ptr %5, align 8, !tbaa !5
  %1004 = getelementptr inbounds %struct.w2c_hermes, ptr %1003, i32 0, i32 6
  %1005 = load i32, ptr %32, align 4, !tbaa !9
  %1006 = zext i32 %1005 to i64
  %1007 = add i64 %1006, 180
  %1008 = call i32 @i32_load(ptr noundef %1004, i64 noundef %1007)
  store i32 %1008, ptr %32, align 4, !tbaa !9
  %1009 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1009, ptr %12, align 4, !tbaa !9
  %1010 = load i32, ptr %32, align 4, !tbaa !9
  %1011 = icmp ne i32 %1010, 0
  %1012 = xor i1 %1011, true
  %1013 = zext i1 %1012 to i32
  store i32 %1013, ptr %32, align 4, !tbaa !9
  %1014 = load i32, ptr %32, align 4, !tbaa !9
  %1015 = icmp ne i32 %1014, 0
  br i1 %1015, label %1016, label %1040

1016:                                             ; preds = %1001
  %1017 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1017, ptr %32, align 4, !tbaa !9
  %1018 = load i32, ptr %32, align 4, !tbaa !9
  %1019 = icmp ne i32 %1018, 0
  %1020 = xor i1 %1019, true
  %1021 = zext i1 %1020 to i32
  store i32 %1021, ptr %32, align 4, !tbaa !9
  %1022 = load i32, ptr %32, align 4, !tbaa !9
  %1023 = icmp ne i32 %1022, 0
  br i1 %1023, label %1024, label %1025

1024:                                             ; preds = %1016
  br label %1038

1025:                                             ; preds = %1016
  %1026 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1026, ptr %32, align 4, !tbaa !9
  %1027 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1027, ptr %33, align 4, !tbaa !9
  store i32 4, ptr %34, align 4, !tbaa !9
  %1028 = load ptr, ptr %5, align 8, !tbaa !5
  %1029 = load i32, ptr %32, align 4, !tbaa !9
  %1030 = load i32, ptr %33, align 4, !tbaa !9
  %1031 = load i32, ptr %34, align 4, !tbaa !9
  %1032 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AputNamedThrowOnError0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %1028, i32 noundef %1029, i32 noundef %1030, i32 noundef %1031)
  store i32 %1032, ptr %32, align 4, !tbaa !9
  %1033 = load i32, ptr %32, align 4, !tbaa !9
  %1034 = icmp ne i32 %1033, 0
  br i1 %1034, label %1035, label %1036

1035:                                             ; preds = %1025
  br label %1038

1036:                                             ; preds = %1025
  store i32 -1, ptr %32, align 4, !tbaa !9
  %1037 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1037, ptr %9, align 4, !tbaa !9
  br label %5959

1038:                                             ; preds = %1035, %1024
  store i32 67200, ptr %32, align 4, !tbaa !9
  %1039 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1039, ptr %9, align 4, !tbaa !9
  br label %5959

1040:                                             ; preds = %1001
  %1041 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1041, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %1042 = load i32, ptr %33, align 4, !tbaa !9
  %1043 = load i32, ptr %32, align 4, !tbaa !9
  %1044 = and i32 %1043, %1042
  store i32 %1044, ptr %32, align 4, !tbaa !9
  %1045 = load i32, ptr %32, align 4, !tbaa !9
  %1046 = icmp ne i32 %1045, 0
  br i1 %1046, label %1047, label %1150

1047:                                             ; preds = %1040
  %1048 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1048, ptr %32, align 4, !tbaa !9
  %1049 = load ptr, ptr %5, align 8, !tbaa !5
  %1050 = getelementptr inbounds %struct.w2c_hermes, ptr %1049, i32 0, i32 6
  %1051 = load i32, ptr %32, align 4, !tbaa !9
  %1052 = zext i32 %1051 to i64
  %1053 = add i64 %1052, 176
  %1054 = call i32 @i32_load(ptr noundef %1050, i64 noundef %1053)
  store i32 %1054, ptr %32, align 4, !tbaa !9
  %1055 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1055, ptr %9, align 4, !tbaa !9
  %1056 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1056, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %1057 = load i32, ptr %34, align 4, !tbaa !9
  %1058 = load i32, ptr %33, align 4, !tbaa !9
  %1059 = mul i32 %1058, %1057
  store i32 %1059, ptr %33, align 4, !tbaa !9
  %1060 = load i32, ptr %33, align 4, !tbaa !9
  %1061 = load i32, ptr %32, align 4, !tbaa !9
  %1062 = add i32 %1061, %1060
  store i32 %1062, ptr %32, align 4, !tbaa !9
  %1063 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1063, ptr %11, align 4, !tbaa !9
  br label %1064

1064:                                             ; preds = %1148, %1047
  %1065 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1065, ptr %32, align 4, !tbaa !9
  %1066 = load ptr, ptr %5, align 8, !tbaa !5
  %1067 = getelementptr inbounds %struct.w2c_hermes, ptr %1066, i32 0, i32 6
  %1068 = load i32, ptr %32, align 4, !tbaa !9
  %1069 = zext i32 %1068 to i64
  %1070 = add i64 %1069, 8
  %1071 = call i32 @i32_load8_u(ptr noundef %1067, i64 noundef %1070)
  store i32 %1071, ptr %32, align 4, !tbaa !9
  %1072 = load i32, ptr %32, align 4, !tbaa !9
  %1073 = icmp ne i32 %1072, 0
  br i1 %1073, label %1074, label %1135

1074:                                             ; preds = %1064
  %1075 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1075, ptr %32, align 4, !tbaa !9
  %1076 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1076, ptr %33, align 4, !tbaa !9
  %1077 = load ptr, ptr %5, align 8, !tbaa !5
  %1078 = getelementptr inbounds %struct.w2c_hermes, ptr %1077, i32 0, i32 6
  %1079 = load i32, ptr %33, align 4, !tbaa !9
  %1080 = zext i32 %1079 to i64
  %1081 = call i32 @i32_load(ptr noundef %1078, i64 noundef %1080)
  store i32 %1081, ptr %33, align 4, !tbaa !9
  %1082 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1082, ptr %14, align 4, !tbaa !9
  %1083 = load ptr, ptr %5, align 8, !tbaa !5
  %1084 = load i32, ptr %32, align 4, !tbaa !9
  %1085 = load i32, ptr %33, align 4, !tbaa !9
  %1086 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AgetStringIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %1083, i32 noundef %1084, i32 noundef %1085)
  store i32 %1086, ptr %32, align 4, !tbaa !9
  %1087 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1087, ptr %12, align 4, !tbaa !9
  %1088 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1088, ptr %32, align 4, !tbaa !9
  %1089 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1089, ptr %33, align 4, !tbaa !9
  %1090 = load ptr, ptr %5, align 8, !tbaa !5
  %1091 = getelementptr inbounds %struct.w2c_hermes, ptr %1090, i32 0, i32 6
  %1092 = load i32, ptr %33, align 4, !tbaa !9
  %1093 = zext i32 %1092 to i64
  %1094 = add i64 %1093, 4
  %1095 = call i32 @i32_load(ptr noundef %1091, i64 noundef %1094)
  store i32 %1095, ptr %33, align 4, !tbaa !9
  %1096 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1096, ptr %34, align 4, !tbaa !9
  %1097 = load i32, ptr %34, align 4, !tbaa !9
  %1098 = load i32, ptr %33, align 4, !tbaa !9
  %1099 = add i32 %1098, %1097
  store i32 %1099, ptr %33, align 4, !tbaa !9
  %1100 = load ptr, ptr %5, align 8, !tbaa !5
  %1101 = load i32, ptr %32, align 4, !tbaa !9
  %1102 = load i32, ptr %33, align 4, !tbaa !9
  %1103 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AgetStringIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %1100, i32 noundef %1101, i32 noundef %1102)
  store i32 %1103, ptr %32, align 4, !tbaa !9
  %1104 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1104, ptr %14, align 4, !tbaa !9
  %1105 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1105, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1106 = load ptr, ptr %5, align 8, !tbaa !5
  %1107 = getelementptr inbounds %struct.w2c_hermes, ptr %1106, i32 0, i32 6
  %1108 = load i32, ptr %32, align 4, !tbaa !9
  %1109 = zext i32 %1108 to i64
  %1110 = add i64 %1109, 8
  %1111 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1107, i64 noundef %1110, i32 noundef %1111)
  %1112 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1112, ptr %32, align 4, !tbaa !9
  %1113 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1113, ptr %33, align 4, !tbaa !9
  %1114 = load i32, ptr %33, align 4, !tbaa !9
  %1115 = zext i32 %1114 to i64
  store i64 %1115, ptr %41, align 8, !tbaa !11
  %1116 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1116, ptr %34, align 4, !tbaa !9
  %1117 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1117, ptr %35, align 4, !tbaa !9
  %1118 = load i32, ptr %35, align 4, !tbaa !9
  %1119 = load i32, ptr %34, align 4, !tbaa !9
  %1120 = sub i32 %1119, %1118
  store i32 %1120, ptr %34, align 4, !tbaa !9
  %1121 = load i32, ptr %34, align 4, !tbaa !9
  %1122 = zext i32 %1121 to i64
  store i64 %1122, ptr %42, align 8, !tbaa !11
  store i64 32, ptr %43, align 8, !tbaa !11
  %1123 = load i64, ptr %43, align 8, !tbaa !11
  %1124 = and i64 %1123, 63
  %1125 = load i64, ptr %42, align 8, !tbaa !11
  %1126 = shl i64 %1125, %1124
  store i64 %1126, ptr %42, align 8, !tbaa !11
  %1127 = load i64, ptr %42, align 8, !tbaa !11
  %1128 = load i64, ptr %41, align 8, !tbaa !11
  %1129 = or i64 %1128, %1127
  store i64 %1129, ptr %41, align 8, !tbaa !11
  %1130 = load ptr, ptr %5, align 8, !tbaa !5
  %1131 = getelementptr inbounds %struct.w2c_hermes, ptr %1130, i32 0, i32 6
  %1132 = load i32, ptr %32, align 4, !tbaa !9
  %1133 = zext i32 %1132 to i64
  %1134 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1131, i64 noundef %1133, i64 noundef %1134)
  br label %1135

1135:                                             ; preds = %1074, %1064
  %1136 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1136, ptr %32, align 4, !tbaa !9
  store i32 12, ptr %33, align 4, !tbaa !9
  %1137 = load i32, ptr %33, align 4, !tbaa !9
  %1138 = load i32, ptr %32, align 4, !tbaa !9
  %1139 = add i32 %1138, %1137
  store i32 %1139, ptr %32, align 4, !tbaa !9
  %1140 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1140, ptr %9, align 4, !tbaa !9
  %1141 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1141, ptr %33, align 4, !tbaa !9
  %1142 = load i32, ptr %32, align 4, !tbaa !9
  %1143 = load i32, ptr %33, align 4, !tbaa !9
  %1144 = icmp ne i32 %1142, %1143
  %1145 = zext i1 %1144 to i32
  store i32 %1145, ptr %32, align 4, !tbaa !9
  %1146 = load i32, ptr %32, align 4, !tbaa !9
  %1147 = icmp ne i32 %1146, 0
  br i1 %1147, label %1148, label %1149

1148:                                             ; preds = %1135
  br label %1064

1149:                                             ; preds = %1135
  br label %1150

1150:                                             ; preds = %1149, %1040
  %1151 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1151, ptr %32, align 4, !tbaa !9
  %1152 = load i32, ptr %32, align 4, !tbaa !9
  %1153 = icmp ne i32 %1152, 0
  %1154 = xor i1 %1153, true
  %1155 = zext i1 %1154 to i32
  store i32 %1155, ptr %32, align 4, !tbaa !9
  %1156 = load i32, ptr %32, align 4, !tbaa !9
  %1157 = icmp ne i32 %1156, 0
  br i1 %1157, label %1158, label %1159

1158:                                             ; preds = %1150
  br label %1297

1159:                                             ; preds = %1150
  %1160 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1160, ptr %32, align 4, !tbaa !9
  %1161 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1161, ptr %33, align 4, !tbaa !9
  %1162 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1162, ptr %34, align 4, !tbaa !9
  %1163 = load ptr, ptr %5, align 8, !tbaa !5
  %1164 = getelementptr inbounds %struct.w2c_hermes, ptr %1163, i32 0, i32 6
  %1165 = load i32, ptr %34, align 4, !tbaa !9
  %1166 = zext i32 %1165 to i64
  %1167 = add i64 %1166, 176
  %1168 = call i32 @i32_load(ptr noundef %1164, i64 noundef %1167)
  store i32 %1168, ptr %34, align 4, !tbaa !9
  %1169 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1169, ptr %9, align 4, !tbaa !9
  %1170 = load ptr, ptr %5, align 8, !tbaa !5
  %1171 = getelementptr inbounds %struct.w2c_hermes, ptr %1170, i32 0, i32 6
  %1172 = load i32, ptr %34, align 4, !tbaa !9
  %1173 = zext i32 %1172 to i64
  %1174 = add i64 %1173, 4
  %1175 = call i32 @i32_load(ptr noundef %1171, i64 noundef %1174)
  store i32 %1175, ptr %34, align 4, !tbaa !9
  %1176 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1176, ptr %35, align 4, !tbaa !9
  %1177 = load ptr, ptr %5, align 8, !tbaa !5
  %1178 = getelementptr inbounds %struct.w2c_hermes, ptr %1177, i32 0, i32 6
  %1179 = load i32, ptr %35, align 4, !tbaa !9
  %1180 = zext i32 %1179 to i64
  %1181 = call i32 @i32_load(ptr noundef %1178, i64 noundef %1180)
  store i32 %1181, ptr %35, align 4, !tbaa !9
  %1182 = load i32, ptr %35, align 4, !tbaa !9
  %1183 = load i32, ptr %34, align 4, !tbaa !9
  %1184 = add i32 %1183, %1182
  store i32 %1184, ptr %34, align 4, !tbaa !9
  %1185 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1185, ptr %9, align 4, !tbaa !9
  %1186 = load i32, ptr %34, align 4, !tbaa !9
  %1187 = uitofp i32 %1186 to double
  store double %1187, ptr %47, align 8, !tbaa !13
  %1188 = load double, ptr %47, align 8, !tbaa !13
  store double %1188, ptr %31, align 8, !tbaa !13
  %1189 = load double, ptr %47, align 8, !tbaa !13
  %1190 = call i64 @i64_reinterpret_f64(double noundef %1189)
  store i64 %1190, ptr %42, align 8, !tbaa !11
  %1191 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1191, ptr %35, align 4, !tbaa !9
  store i32 3, ptr %36, align 4, !tbaa !9
  %1192 = load i32, ptr %36, align 4, !tbaa !9
  %1193 = and i32 %1192, 31
  %1194 = load i32, ptr %35, align 4, !tbaa !9
  %1195 = shl i32 %1194, %1193
  store i32 %1195, ptr %35, align 4, !tbaa !9
  %1196 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %1196, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %36, align 4, !tbaa !9
  %1197 = load i32, ptr %35, align 4, !tbaa !9
  %1198 = load i32, ptr %36, align 4, !tbaa !9
  %1199 = and i32 %1198, 31
  %1200 = ashr i32 %1197, %1199
  store i32 %1200, ptr %35, align 4, !tbaa !9
  %1201 = load i32, ptr %35, align 4, !tbaa !9
  %1202 = sitofp i32 %1201 to double
  store double %1202, ptr %48, align 8, !tbaa !13
  %1203 = load double, ptr %48, align 8, !tbaa !13
  %1204 = call i64 @i64_reinterpret_f64(double noundef %1203)
  store i64 %1204, ptr %43, align 8, !tbaa !11
  %1205 = load i64, ptr %42, align 8, !tbaa !11
  %1206 = load i64, ptr %43, align 8, !tbaa !11
  %1207 = icmp eq i64 %1205, %1206
  %1208 = zext i1 %1207 to i32
  store i32 %1208, ptr %34, align 4, !tbaa !9
  %1209 = load i32, ptr %34, align 4, !tbaa !9
  %1210 = icmp ne i32 %1209, 0
  br i1 %1210, label %1211, label %1216

1211:                                             ; preds = %1159
  %1212 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1212, ptr %34, align 4, !tbaa !9
  store i32 4, ptr %35, align 4, !tbaa !9
  %1213 = load i32, ptr %35, align 4, !tbaa !9
  %1214 = load i32, ptr %34, align 4, !tbaa !9
  %1215 = or i32 %1214, %1213
  store i32 %1215, ptr %34, align 4, !tbaa !9
  br label %1286

1216:                                             ; preds = %1159
  %1217 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1217, ptr %34, align 4, !tbaa !9
  store i32 1368, ptr %35, align 4, !tbaa !9
  %1218 = load i32, ptr %35, align 4, !tbaa !9
  %1219 = load i32, ptr %34, align 4, !tbaa !9
  %1220 = add i32 %1219, %1218
  store i32 %1220, ptr %34, align 4, !tbaa !9
  %1221 = load ptr, ptr %5, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.w2c_hermes, ptr %1221, i32 0, i32 6
  %1223 = load i32, ptr %34, align 4, !tbaa !9
  %1224 = zext i32 %1223 to i64
  %1225 = call i32 @i32_load(ptr noundef %1222, i64 noundef %1224)
  store i32 %1225, ptr %34, align 4, !tbaa !9
  %1226 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1226, ptr %35, align 4, !tbaa !9
  store i32 1364, ptr %36, align 4, !tbaa !9
  %1227 = load i32, ptr %36, align 4, !tbaa !9
  %1228 = load i32, ptr %35, align 4, !tbaa !9
  %1229 = add i32 %1228, %1227
  store i32 %1229, ptr %35, align 4, !tbaa !9
  %1230 = load ptr, ptr %5, align 8, !tbaa !5
  %1231 = getelementptr inbounds %struct.w2c_hermes, ptr %1230, i32 0, i32 6
  %1232 = load i32, ptr %35, align 4, !tbaa !9
  %1233 = zext i32 %1232 to i64
  %1234 = call i32 @i32_load(ptr noundef %1231, i64 noundef %1233)
  store i32 %1234, ptr %35, align 4, !tbaa !9
  %1235 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %1235, ptr %9, align 4, !tbaa !9
  %1236 = load i32, ptr %35, align 4, !tbaa !9
  %1237 = load i32, ptr %34, align 4, !tbaa !9
  %1238 = sub i32 %1237, %1236
  store i32 %1238, ptr %34, align 4, !tbaa !9
  store i32 15, ptr %35, align 4, !tbaa !9
  %1239 = load i32, ptr %34, align 4, !tbaa !9
  %1240 = load i32, ptr %35, align 4, !tbaa !9
  %1241 = icmp ule i32 %1239, %1240
  %1242 = zext i1 %1241 to i32
  store i32 %1242, ptr %34, align 4, !tbaa !9
  %1243 = load i32, ptr %34, align 4, !tbaa !9
  %1244 = icmp ne i32 %1243, 0
  br i1 %1244, label %1245, label %1255

1245:                                             ; preds = %1216
  %1246 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1246, ptr %34, align 4, !tbaa !9
  store i32 808, ptr %35, align 4, !tbaa !9
  %1247 = load i32, ptr %35, align 4, !tbaa !9
  %1248 = load i32, ptr %34, align 4, !tbaa !9
  %1249 = add i32 %1248, %1247
  store i32 %1249, ptr %34, align 4, !tbaa !9
  store i32 16, ptr %35, align 4, !tbaa !9
  %1250 = load ptr, ptr %5, align 8, !tbaa !5
  %1251 = load i32, ptr %34, align 4, !tbaa !9
  %1252 = load i32, ptr %35, align 4, !tbaa !9
  %1253 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %1250, i32 noundef %1251, i32 noundef %1252)
  store i32 %1253, ptr %34, align 4, !tbaa !9
  %1254 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1254, ptr %9, align 4, !tbaa !9
  br label %1267

1255:                                             ; preds = %1216
  %1256 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1256, ptr %34, align 4, !tbaa !9
  %1257 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1257, ptr %35, align 4, !tbaa !9
  store i32 16, ptr %36, align 4, !tbaa !9
  %1258 = load i32, ptr %36, align 4, !tbaa !9
  %1259 = load i32, ptr %35, align 4, !tbaa !9
  %1260 = add i32 %1259, %1258
  store i32 %1260, ptr %35, align 4, !tbaa !9
  %1261 = load ptr, ptr %5, align 8, !tbaa !5
  %1262 = getelementptr inbounds %struct.w2c_hermes, ptr %1261, i32 0, i32 6
  %1263 = load i32, ptr %34, align 4, !tbaa !9
  %1264 = zext i32 %1263 to i64
  %1265 = add i64 %1264, 1364
  %1266 = load i32, ptr %35, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1262, i64 noundef %1265, i32 noundef %1266)
  br label %1267

1267:                                             ; preds = %1255, %1245
  %1268 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1268, ptr %34, align 4, !tbaa !9
  store i32 402653200, ptr %35, align 4, !tbaa !9
  %1269 = load ptr, ptr %5, align 8, !tbaa !5
  %1270 = getelementptr inbounds %struct.w2c_hermes, ptr %1269, i32 0, i32 6
  %1271 = load i32, ptr %34, align 4, !tbaa !9
  %1272 = zext i32 %1271 to i64
  %1273 = load i32, ptr %35, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1270, i64 noundef %1272, i32 noundef %1273)
  %1274 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1274, ptr %34, align 4, !tbaa !9
  %1275 = load double, ptr %31, align 8, !tbaa !13
  store double %1275, ptr %48, align 8, !tbaa !13
  %1276 = load ptr, ptr %5, align 8, !tbaa !5
  %1277 = getelementptr inbounds %struct.w2c_hermes, ptr %1276, i32 0, i32 6
  %1278 = load i32, ptr %34, align 4, !tbaa !9
  %1279 = zext i32 %1278 to i64
  %1280 = add i64 %1279, 8
  %1281 = load double, ptr %48, align 8, !tbaa !13
  call void @f64_store(ptr noundef %1277, i64 noundef %1280, double noundef %1281)
  %1282 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1282, ptr %34, align 4, !tbaa !9
  store i32 3, ptr %35, align 4, !tbaa !9
  %1283 = load i32, ptr %35, align 4, !tbaa !9
  %1284 = load i32, ptr %34, align 4, !tbaa !9
  %1285 = or i32 %1284, %1283
  store i32 %1285, ptr %34, align 4, !tbaa !9
  br label %1286

1286:                                             ; preds = %1267, %1211
  %1287 = load ptr, ptr %5, align 8, !tbaa !5
  %1288 = load i32, ptr %32, align 4, !tbaa !9
  %1289 = load i32, ptr %33, align 4, !tbaa !9
  %1290 = load i32, ptr %34, align 4, !tbaa !9
  %1291 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AputNamedThrowOnError0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %1287, i32 noundef %1288, i32 noundef %1289, i32 noundef %1290)
  store i32 %1291, ptr %32, align 4, !tbaa !9
  %1292 = load i32, ptr %32, align 4, !tbaa !9
  %1293 = icmp ne i32 %1292, 0
  br i1 %1293, label %1294, label %1295

1294:                                             ; preds = %1286
  br label %1297

1295:                                             ; preds = %1286
  store i32 -1, ptr %32, align 4, !tbaa !9
  %1296 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1296, ptr %9, align 4, !tbaa !9
  br label %5959

1297:                                             ; preds = %1294, %1158
  store i32 -1, ptr %32, align 4, !tbaa !9
  %1298 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1298, ptr %9, align 4, !tbaa !9
  %1299 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1299, ptr %32, align 4, !tbaa !9
  %1300 = load ptr, ptr %5, align 8, !tbaa !5
  %1301 = getelementptr inbounds %struct.w2c_hermes, ptr %1300, i32 0, i32 6
  %1302 = load i32, ptr %32, align 4, !tbaa !9
  %1303 = zext i32 %1302 to i64
  %1304 = add i64 %1303, 180
  %1305 = call i32 @i32_load(ptr noundef %1301, i64 noundef %1304)
  store i32 %1305, ptr %32, align 4, !tbaa !9
  %1306 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1306, ptr %12, align 4, !tbaa !9
  store i64 0, ptr %40, align 8, !tbaa !11
  %1307 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %1307, ptr %29, align 8, !tbaa !11
  %1308 = load ptr, ptr %5, align 8, !tbaa !5
  %1309 = getelementptr inbounds %struct.w2c_hermes, ptr %1308, i32 0, i32 3
  %1310 = load i32, ptr %1309, align 8, !tbaa !15
  store i32 %1310, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %1311 = load i32, ptr %33, align 4, !tbaa !9
  %1312 = load i32, ptr %32, align 4, !tbaa !9
  %1313 = sub i32 %1312, %1311
  store i32 %1313, ptr %32, align 4, !tbaa !9
  %1314 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1314, ptr %11, align 4, !tbaa !9
  %1315 = load i32, ptr %32, align 4, !tbaa !9
  %1316 = load ptr, ptr %5, align 8, !tbaa !5
  %1317 = getelementptr inbounds %struct.w2c_hermes, ptr %1316, i32 0, i32 3
  store i32 %1315, ptr %1317, align 8, !tbaa !15
  %1318 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1318, ptr %32, align 4, !tbaa !9
  %1319 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1319, ptr %33, align 4, !tbaa !9
  store i32 256, ptr %34, align 4, !tbaa !9
  %1320 = load i32, ptr %34, align 4, !tbaa !9
  %1321 = load i32, ptr %33, align 4, !tbaa !9
  %1322 = add i32 %1321, %1320
  store i32 %1322, ptr %33, align 4, !tbaa !9
  %1323 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1323, ptr %34, align 4, !tbaa !9
  store i32 568, ptr %35, align 4, !tbaa !9
  %1324 = load i32, ptr %35, align 4, !tbaa !9
  %1325 = load i32, ptr %34, align 4, !tbaa !9
  %1326 = add i32 %1325, %1324
  store i32 %1326, ptr %34, align 4, !tbaa !9
  %1327 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1327, ptr %13, align 4, !tbaa !9
  %1328 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1328, ptr %35, align 4, !tbaa !9
  %1329 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1329, ptr %36, align 4, !tbaa !9
  %1330 = load ptr, ptr %5, align 8, !tbaa !5
  %1331 = load i32, ptr %32, align 4, !tbaa !9
  %1332 = load i32, ptr %33, align 4, !tbaa !9
  %1333 = load i32, ptr %34, align 4, !tbaa !9
  %1334 = load i32, ptr %35, align 4, !tbaa !9
  %1335 = load i32, ptr %36, align 4, !tbaa !9
  %1336 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3AcreateNoAllocPropStorage0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %1330, i32 noundef %1331, i32 noundef %1332, i32 noundef %1333, i32 noundef %1334, i32 noundef %1335)
  store i32 %1336, ptr %32, align 4, !tbaa !9
  %1337 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1337, ptr %21, align 4, !tbaa !9
  store i32 -1, ptr %33, align 4, !tbaa !9
  %1338 = load i32, ptr %32, align 4, !tbaa !9
  %1339 = load i32, ptr %33, align 4, !tbaa !9
  %1340 = icmp eq i32 %1338, %1339
  %1341 = zext i1 %1340 to i32
  store i32 %1341, ptr %32, align 4, !tbaa !9
  %1342 = load i32, ptr %32, align 4, !tbaa !9
  %1343 = icmp ne i32 %1342, 0
  br i1 %1343, label %1344, label %1345

1344:                                             ; preds = %1297
  br label %1742

1345:                                             ; preds = %1297
  %1346 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1346, ptr %32, align 4, !tbaa !9
  %1347 = load ptr, ptr %5, align 8, !tbaa !5
  %1348 = getelementptr inbounds %struct.w2c_hermes, ptr %1347, i32 0, i32 6
  %1349 = load i32, ptr %32, align 4, !tbaa !9
  %1350 = zext i32 %1349 to i64
  %1351 = call i32 @i32_load(ptr noundef %1348, i64 noundef %1350)
  store i32 %1351, ptr %32, align 4, !tbaa !9
  %1352 = load ptr, ptr %5, align 8, !tbaa !5
  %1353 = getelementptr inbounds %struct.w2c_hermes, ptr %1352, i32 0, i32 6
  %1354 = load i32, ptr %32, align 4, !tbaa !9
  %1355 = zext i32 %1354 to i64
  %1356 = add i64 %1355, 12
  %1357 = call i32 @i32_load(ptr noundef %1353, i64 noundef %1356)
  store i32 %1357, ptr %32, align 4, !tbaa !9
  %1358 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1358, ptr %12, align 4, !tbaa !9
  store i32 6, ptr %33, align 4, !tbaa !9
  %1359 = load i32, ptr %32, align 4, !tbaa !9
  %1360 = load i32, ptr %33, align 4, !tbaa !9
  %1361 = icmp ult i32 %1359, %1360
  %1362 = zext i1 %1361 to i32
  store i32 %1362, ptr %32, align 4, !tbaa !9
  %1363 = load i32, ptr %32, align 4, !tbaa !9
  %1364 = icmp ne i32 %1363, 0
  br i1 %1364, label %1365, label %1366

1365:                                             ; preds = %1345
  br label %1742

1366:                                             ; preds = %1345
  %1367 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1367, ptr %32, align 4, !tbaa !9
  store i32 5, ptr %33, align 4, !tbaa !9
  %1368 = load i32, ptr %33, align 4, !tbaa !9
  %1369 = load i32, ptr %32, align 4, !tbaa !9
  %1370 = sub i32 %1369, %1368
  store i32 %1370, ptr %32, align 4, !tbaa !9
  %1371 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1371, ptr %13, align 4, !tbaa !9
  store i32 1027070, ptr %33, align 4, !tbaa !9
  %1372 = load i32, ptr %32, align 4, !tbaa !9
  %1373 = load i32, ptr %33, align 4, !tbaa !9
  %1374 = icmp ule i32 %1372, %1373
  %1375 = zext i1 %1374 to i32
  store i32 %1375, ptr %32, align 4, !tbaa !9
  %1376 = load i32, ptr %32, align 4, !tbaa !9
  %1377 = icmp ne i32 %1376, 0
  br i1 %1377, label %1378, label %1472

1378:                                             ; preds = %1366
  %1379 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1379, ptr %32, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  %1380 = load i32, ptr %33, align 4, !tbaa !9
  %1381 = and i32 %1380, 31
  %1382 = load i32, ptr %32, align 4, !tbaa !9
  %1383 = shl i32 %1382, %1381
  store i32 %1383, ptr %32, align 4, !tbaa !9
  store i32 15, ptr %33, align 4, !tbaa !9
  %1384 = load i32, ptr %33, align 4, !tbaa !9
  %1385 = load i32, ptr %32, align 4, !tbaa !9
  %1386 = add i32 %1385, %1384
  store i32 %1386, ptr %32, align 4, !tbaa !9
  %1387 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1387, ptr %16, align 4, !tbaa !9
  store i32 -8, ptr %33, align 4, !tbaa !9
  %1388 = load i32, ptr %33, align 4, !tbaa !9
  %1389 = load i32, ptr %32, align 4, !tbaa !9
  %1390 = and i32 %1389, %1388
  store i32 %1390, ptr %32, align 4, !tbaa !9
  %1391 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1391, ptr %14, align 4, !tbaa !9
  %1392 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1392, ptr %33, align 4, !tbaa !9
  store i32 1368, ptr %34, align 4, !tbaa !9
  %1393 = load i32, ptr %34, align 4, !tbaa !9
  %1394 = load i32, ptr %33, align 4, !tbaa !9
  %1395 = add i32 %1394, %1393
  store i32 %1395, ptr %33, align 4, !tbaa !9
  %1396 = load ptr, ptr %5, align 8, !tbaa !5
  %1397 = getelementptr inbounds %struct.w2c_hermes, ptr %1396, i32 0, i32 6
  %1398 = load i32, ptr %33, align 4, !tbaa !9
  %1399 = zext i32 %1398 to i64
  %1400 = call i32 @i32_load(ptr noundef %1397, i64 noundef %1399)
  store i32 %1400, ptr %33, align 4, !tbaa !9
  %1401 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1401, ptr %34, align 4, !tbaa !9
  store i32 1364, ptr %35, align 4, !tbaa !9
  %1402 = load i32, ptr %35, align 4, !tbaa !9
  %1403 = load i32, ptr %34, align 4, !tbaa !9
  %1404 = add i32 %1403, %1402
  store i32 %1404, ptr %34, align 4, !tbaa !9
  %1405 = load ptr, ptr %5, align 8, !tbaa !5
  %1406 = getelementptr inbounds %struct.w2c_hermes, ptr %1405, i32 0, i32 6
  %1407 = load i32, ptr %34, align 4, !tbaa !9
  %1408 = zext i32 %1407 to i64
  %1409 = call i32 @i32_load(ptr noundef %1406, i64 noundef %1408)
  store i32 %1409, ptr %34, align 4, !tbaa !9
  %1410 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %1410, ptr %12, align 4, !tbaa !9
  %1411 = load i32, ptr %34, align 4, !tbaa !9
  %1412 = load i32, ptr %33, align 4, !tbaa !9
  %1413 = sub i32 %1412, %1411
  store i32 %1413, ptr %33, align 4, !tbaa !9
  %1414 = load i32, ptr %32, align 4, !tbaa !9
  %1415 = load i32, ptr %33, align 4, !tbaa !9
  %1416 = icmp ugt i32 %1414, %1415
  %1417 = zext i1 %1416 to i32
  store i32 %1417, ptr %32, align 4, !tbaa !9
  %1418 = load i32, ptr %32, align 4, !tbaa !9
  %1419 = icmp ne i32 %1418, 0
  br i1 %1419, label %1420, label %1431

1420:                                             ; preds = %1378
  %1421 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1421, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %1422 = load i32, ptr %33, align 4, !tbaa !9
  %1423 = load i32, ptr %32, align 4, !tbaa !9
  %1424 = add i32 %1423, %1422
  store i32 %1424, ptr %32, align 4, !tbaa !9
  %1425 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1425, ptr %33, align 4, !tbaa !9
  %1426 = load ptr, ptr %5, align 8, !tbaa !5
  %1427 = load i32, ptr %32, align 4, !tbaa !9
  %1428 = load i32, ptr %33, align 4, !tbaa !9
  %1429 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %1426, i32 noundef %1427, i32 noundef %1428)
  store i32 %1429, ptr %32, align 4, !tbaa !9
  %1430 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1430, ptr %12, align 4, !tbaa !9
  br label %1444

1431:                                             ; preds = %1378
  %1432 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1432, ptr %32, align 4, !tbaa !9
  %1433 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1433, ptr %33, align 4, !tbaa !9
  %1434 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1434, ptr %34, align 4, !tbaa !9
  %1435 = load i32, ptr %34, align 4, !tbaa !9
  %1436 = load i32, ptr %33, align 4, !tbaa !9
  %1437 = add i32 %1436, %1435
  store i32 %1437, ptr %33, align 4, !tbaa !9
  %1438 = load ptr, ptr %5, align 8, !tbaa !5
  %1439 = getelementptr inbounds %struct.w2c_hermes, ptr %1438, i32 0, i32 6
  %1440 = load i32, ptr %32, align 4, !tbaa !9
  %1441 = zext i32 %1440 to i64
  %1442 = add i64 %1441, 1364
  %1443 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1439, i64 noundef %1442, i32 noundef %1443)
  br label %1444

1444:                                             ; preds = %1431, %1420
  %1445 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1445, ptr %32, align 4, !tbaa !9
  store i64 0, ptr %41, align 8, !tbaa !11
  %1446 = load ptr, ptr %5, align 8, !tbaa !5
  %1447 = getelementptr inbounds %struct.w2c_hermes, ptr %1446, i32 0, i32 6
  %1448 = load i32, ptr %32, align 4, !tbaa !9
  %1449 = zext i32 %1448 to i64
  %1450 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1447, i64 noundef %1449, i64 noundef %1450)
  %1451 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1451, ptr %32, align 4, !tbaa !9
  %1452 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1452, ptr %33, align 4, !tbaa !9
  store i32 16777208, ptr %34, align 4, !tbaa !9
  %1453 = load i32, ptr %34, align 4, !tbaa !9
  %1454 = load i32, ptr %33, align 4, !tbaa !9
  %1455 = and i32 %1454, %1453
  store i32 %1455, ptr %33, align 4, !tbaa !9
  store i32 251658240, ptr %34, align 4, !tbaa !9
  %1456 = load i32, ptr %34, align 4, !tbaa !9
  %1457 = load i32, ptr %33, align 4, !tbaa !9
  %1458 = or i32 %1457, %1456
  store i32 %1458, ptr %33, align 4, !tbaa !9
  %1459 = load ptr, ptr %5, align 8, !tbaa !5
  %1460 = getelementptr inbounds %struct.w2c_hermes, ptr %1459, i32 0, i32 6
  %1461 = load i32, ptr %32, align 4, !tbaa !9
  %1462 = zext i32 %1461 to i64
  %1463 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1460, i64 noundef %1462, i32 noundef %1463)
  %1464 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1464, ptr %32, align 4, !tbaa !9
  %1465 = load i32, ptr %32, align 4, !tbaa !9
  %1466 = zext i32 %1465 to i64
  store i64 %1466, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %1467 = load i64, ptr %41, align 8, !tbaa !11
  %1468 = load i64, ptr %40, align 8, !tbaa !11
  %1469 = or i64 %1468, %1467
  store i64 %1469, ptr %40, align 8, !tbaa !11
  %1470 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %1470, ptr %29, align 8, !tbaa !11
  store i32 1, ptr %32, align 4, !tbaa !9
  %1471 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1471, ptr %16, align 4, !tbaa !9
  br label %1488

1472:                                             ; preds = %1366
  %1473 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1473, ptr %32, align 4, !tbaa !9
  %1474 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1474, ptr %33, align 4, !tbaa !9
  %1475 = load ptr, ptr %5, align 8, !tbaa !5
  %1476 = load i32, ptr %32, align 4, !tbaa !9
  %1477 = load i32, ptr %33, align 4, !tbaa !9
  %1478 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %1475, i32 noundef %1476, i32 noundef %1477)
  store i32 %1478, ptr %32, align 4, !tbaa !9
  %1479 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1479, ptr %16, align 4, !tbaa !9
  %1480 = load i32, ptr %32, align 4, !tbaa !9
  %1481 = icmp ne i32 %1480, 0
  %1482 = xor i1 %1481, true
  %1483 = zext i1 %1482 to i32
  store i32 %1483, ptr %32, align 4, !tbaa !9
  %1484 = load i32, ptr %32, align 4, !tbaa !9
  %1485 = icmp ne i32 %1484, 0
  br i1 %1485, label %1486, label %1487

1486:                                             ; preds = %1472
  br label %1665

1487:                                             ; preds = %1472
  br label %1488

1488:                                             ; preds = %1487, %1444
  %1489 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1489, ptr %32, align 4, !tbaa !9
  %1490 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %1490, ptr %41, align 8, !tbaa !11
  %1491 = load i64, ptr %41, align 8, !tbaa !11
  %1492 = trunc i64 %1491 to i32
  store i32 %1492, ptr %33, align 4, !tbaa !9
  %1493 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1493, ptr %14, align 4, !tbaa !9
  %1494 = load ptr, ptr %5, align 8, !tbaa !5
  %1495 = getelementptr inbounds %struct.w2c_hermes, ptr %1494, i32 0, i32 6
  %1496 = load i32, ptr %33, align 4, !tbaa !9
  %1497 = zext i32 %1496 to i64
  %1498 = add i64 %1497, 4
  %1499 = call i32 @i32_load(ptr noundef %1495, i64 noundef %1498)
  store i32 %1499, ptr %33, align 4, !tbaa !9
  %1500 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1500, ptr %12, align 4, !tbaa !9
  %1501 = load i32, ptr %32, align 4, !tbaa !9
  %1502 = load i32, ptr %33, align 4, !tbaa !9
  %1503 = icmp ugt i32 %1501, %1502
  %1504 = zext i1 %1503 to i32
  store i32 %1504, ptr %32, align 4, !tbaa !9
  %1505 = load i32, ptr %32, align 4, !tbaa !9
  %1506 = icmp ne i32 %1505, 0
  br i1 %1506, label %1507, label %1553

1507:                                             ; preds = %1488
  %1508 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1508, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %1509 = load i32, ptr %33, align 4, !tbaa !9
  %1510 = load i32, ptr %32, align 4, !tbaa !9
  %1511 = add i32 %1510, %1509
  store i32 %1511, ptr %32, align 4, !tbaa !9
  %1512 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1512, ptr %19, align 4, !tbaa !9
  %1513 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1513, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %1514 = load i32, ptr %34, align 4, !tbaa !9
  %1515 = and i32 %1514, 31
  %1516 = load i32, ptr %33, align 4, !tbaa !9
  %1517 = shl i32 %1516, %1515
  store i32 %1517, ptr %33, align 4, !tbaa !9
  %1518 = load i32, ptr %33, align 4, !tbaa !9
  %1519 = load i32, ptr %32, align 4, !tbaa !9
  %1520 = add i32 %1519, %1518
  store i32 %1520, ptr %32, align 4, !tbaa !9
  %1521 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1521, ptr %18, align 4, !tbaa !9
  %1522 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1522, ptr %32, align 4, !tbaa !9
  %1523 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1523, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %1524 = load i32, ptr %34, align 4, !tbaa !9
  %1525 = and i32 %1524, 31
  %1526 = load i32, ptr %33, align 4, !tbaa !9
  %1527 = shl i32 %1526, %1525
  store i32 %1527, ptr %33, align 4, !tbaa !9
  %1528 = load i32, ptr %33, align 4, !tbaa !9
  %1529 = load i32, ptr %32, align 4, !tbaa !9
  %1530 = add i32 %1529, %1528
  store i32 %1530, ptr %32, align 4, !tbaa !9
  %1531 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1531, ptr %12, align 4, !tbaa !9
  br label %1532

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

1551:                                             ; preds = %1532
  br label %1532

1552:                                             ; preds = %1532
  br label %1641

1553:                                             ; preds = %1488
  %1554 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1554, ptr %32, align 4, !tbaa !9
  %1555 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1555, ptr %33, align 4, !tbaa !9
  %1556 = load i32, ptr %32, align 4, !tbaa !9
  %1557 = load i32, ptr %33, align 4, !tbaa !9
  %1558 = icmp ule i32 %1556, %1557
  %1559 = zext i1 %1558 to i32
  store i32 %1559, ptr %32, align 4, !tbaa !9
  %1560 = load i32, ptr %32, align 4, !tbaa !9
  %1561 = icmp ne i32 %1560, 0
  br i1 %1561, label %1562, label %1563

1562:                                             ; preds = %1553
  br label %1641

1563:                                             ; preds = %1553
  %1564 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1564, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %1565 = load i32, ptr %33, align 4, !tbaa !9
  %1566 = load i32, ptr %32, align 4, !tbaa !9
  %1567 = add i32 %1566, %1565
  store i32 %1567, ptr %32, align 4, !tbaa !9
  %1568 = load ptr, ptr %5, align 8, !tbaa !5
  %1569 = getelementptr inbounds %struct.w2c_hermes, ptr %1568, i32 0, i32 6
  %1570 = load i32, ptr %32, align 4, !tbaa !9
  %1571 = zext i32 %1570 to i64
  %1572 = call i32 @i32_load(ptr noundef %1569, i64 noundef %1571)
  store i32 %1572, ptr %32, align 4, !tbaa !9
  %1573 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1573, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %1574 = load i32, ptr %34, align 4, !tbaa !9
  %1575 = load i32, ptr %33, align 4, !tbaa !9
  %1576 = add i32 %1575, %1574
  store i32 %1576, ptr %33, align 4, !tbaa !9
  %1577 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1577, ptr %18, align 4, !tbaa !9
  %1578 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1578, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %1579 = load i32, ptr %35, align 4, !tbaa !9
  %1580 = and i32 %1579, 31
  %1581 = load i32, ptr %34, align 4, !tbaa !9
  %1582 = shl i32 %1581, %1580
  store i32 %1582, ptr %34, align 4, !tbaa !9
  %1583 = load i32, ptr %34, align 4, !tbaa !9
  %1584 = load i32, ptr %33, align 4, !tbaa !9
  %1585 = add i32 %1584, %1583
  store i32 %1585, ptr %33, align 4, !tbaa !9
  %1586 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1586, ptr %19, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %1587 = load i32, ptr %34, align 4, !tbaa !9
  %1588 = load i32, ptr %33, align 4, !tbaa !9
  %1589 = and i32 %1588, %1587
  store i32 %1589, ptr %33, align 4, !tbaa !9
  %1590 = load i32, ptr %32, align 4, !tbaa !9
  %1591 = load i32, ptr %33, align 4, !tbaa !9
  %1592 = icmp eq i32 %1590, %1591
  %1593 = zext i1 %1592 to i32
  store i32 %1593, ptr %32, align 4, !tbaa !9
  %1594 = load i32, ptr %32, align 4, !tbaa !9
  %1595 = icmp ne i32 %1594, 0
  br i1 %1595, label %1596, label %1597

1596:                                             ; preds = %1563
  br label %1641

1597:                                             ; preds = %1563
  %1598 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1598, ptr %32, align 4, !tbaa !9
  store i32 4813, ptr %33, align 4, !tbaa !9
  %1599 = load i32, ptr %33, align 4, !tbaa !9
  %1600 = load i32, ptr %32, align 4, !tbaa !9
  %1601 = add i32 %1600, %1599
  store i32 %1601, ptr %32, align 4, !tbaa !9
  %1602 = load ptr, ptr %5, align 8, !tbaa !5
  %1603 = getelementptr inbounds %struct.w2c_hermes, ptr %1602, i32 0, i32 6
  %1604 = load i32, ptr %32, align 4, !tbaa !9
  %1605 = zext i32 %1604 to i64
  %1606 = call i32 @i32_load8_u(ptr noundef %1603, i64 noundef %1605)
  store i32 %1606, ptr %32, align 4, !tbaa !9
  %1607 = load i32, ptr %32, align 4, !tbaa !9
  %1608 = icmp ne i32 %1607, 0
  %1609 = xor i1 %1608, true
  %1610 = zext i1 %1609 to i32
  store i32 %1610, ptr %32, align 4, !tbaa !9
  %1611 = load i32, ptr %32, align 4, !tbaa !9
  %1612 = icmp ne i32 %1611, 0
  br i1 %1612, label %1613, label %1614

1613:                                             ; preds = %1597
  br label %1641

1614:                                             ; preds = %1597
  %1615 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1615, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %1616 = load i32, ptr %33, align 4, !tbaa !9
  %1617 = load i32, ptr %32, align 4, !tbaa !9
  %1618 = add i32 %1617, %1616
  store i32 %1618, ptr %32, align 4, !tbaa !9
  %1619 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1619, ptr %33, align 4, !tbaa !9
  %1620 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1620, ptr %34, align 4, !tbaa !9
  %1621 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1621, ptr %35, align 4, !tbaa !9
  store i32 2, ptr %36, align 4, !tbaa !9
  %1622 = load i32, ptr %36, align 4, !tbaa !9
  %1623 = and i32 %1622, 31
  %1624 = load i32, ptr %35, align 4, !tbaa !9
  %1625 = shl i32 %1624, %1623
  store i32 %1625, ptr %35, align 4, !tbaa !9
  %1626 = load i32, ptr %35, align 4, !tbaa !9
  %1627 = load i32, ptr %34, align 4, !tbaa !9
  %1628 = add i32 %1627, %1626
  store i32 %1628, ptr %34, align 4, !tbaa !9
  %1629 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1629, ptr %35, align 4, !tbaa !9
  %1630 = load i32, ptr %35, align 4, !tbaa !9
  %1631 = load i32, ptr %34, align 4, !tbaa !9
  %1632 = sub i32 %1631, %1630
  store i32 %1632, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %1633 = load i32, ptr %34, align 4, !tbaa !9
  %1634 = load i32, ptr %35, align 4, !tbaa !9
  %1635 = and i32 %1634, 31
  %1636 = ashr i32 %1633, %1635
  store i32 %1636, ptr %34, align 4, !tbaa !9
  %1637 = load ptr, ptr %5, align 8, !tbaa !5
  %1638 = load i32, ptr %32, align 4, !tbaa !9
  %1639 = load i32, ptr %33, align 4, !tbaa !9
  %1640 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AsnapshotWriteBarrierRangeSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef %1637, i32 noundef %1638, i32 noundef %1639, i32 noundef %1640)
  br label %1641

1641:                                             ; preds = %1614, %1613, %1596, %1562, %1552
  %1642 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1642, ptr %32, align 4, !tbaa !9
  %1643 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1643, ptr %33, align 4, !tbaa !9
  %1644 = load ptr, ptr %5, align 8, !tbaa !5
  %1645 = getelementptr inbounds %struct.w2c_hermes, ptr %1644, i32 0, i32 6
  %1646 = load i32, ptr %32, align 4, !tbaa !9
  %1647 = zext i32 %1646 to i64
  %1648 = add i64 %1647, 4
  %1649 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1645, i64 noundef %1648, i32 noundef %1649)
  %1650 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1650, ptr %32, align 4, !tbaa !9
  %1651 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %1651, ptr %41, align 8, !tbaa !11
  %1652 = load ptr, ptr %5, align 8, !tbaa !5
  %1653 = getelementptr inbounds %struct.w2c_hermes, ptr %1652, i32 0, i32 6
  %1654 = load i32, ptr %32, align 4, !tbaa !9
  %1655 = zext i32 %1654 to i64
  %1656 = add i64 %1655, 8
  %1657 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1653, i64 noundef %1656, i64 noundef %1657)
  %1658 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1658, ptr %32, align 4, !tbaa !9
  %1659 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1659, ptr %33, align 4, !tbaa !9
  %1660 = load ptr, ptr %5, align 8, !tbaa !5
  %1661 = getelementptr inbounds %struct.w2c_hermes, ptr %1660, i32 0, i32 6
  %1662 = load i32, ptr %32, align 4, !tbaa !9
  %1663 = zext i32 %1662 to i64
  %1664 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1661, i64 noundef %1663, i32 noundef %1664)
  br label %1672

1665:                                             ; preds = %1486
  %1666 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1666, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %1667 = load ptr, ptr %5, align 8, !tbaa !5
  %1668 = getelementptr inbounds %struct.w2c_hermes, ptr %1667, i32 0, i32 6
  %1669 = load i32, ptr %32, align 4, !tbaa !9
  %1670 = zext i32 %1669 to i64
  %1671 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1668, i64 noundef %1670, i32 noundef %1671)
  br label %1672

1672:                                             ; preds = %1665, %1641
  %1673 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1673, ptr %32, align 4, !tbaa !9
  %1674 = load ptr, ptr %5, align 8, !tbaa !5
  %1675 = getelementptr inbounds %struct.w2c_hermes, ptr %1674, i32 0, i32 6
  %1676 = load i32, ptr %32, align 4, !tbaa !9
  %1677 = zext i32 %1676 to i64
  %1678 = call i32 @i32_load(ptr noundef %1675, i64 noundef %1677)
  store i32 %1678, ptr %32, align 4, !tbaa !9
  %1679 = load i32, ptr %32, align 4, !tbaa !9
  %1680 = icmp ne i32 %1679, 0
  %1681 = xor i1 %1680, true
  %1682 = zext i1 %1681 to i32
  store i32 %1682, ptr %32, align 4, !tbaa !9
  %1683 = load i32, ptr %32, align 4, !tbaa !9
  %1684 = icmp ne i32 %1683, 0
  br i1 %1684, label %1685, label %1686

1685:                                             ; preds = %1672
  br label %1751

1686:                                             ; preds = %1672
  %1687 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1687, ptr %32, align 4, !tbaa !9
  %1688 = load ptr, ptr %5, align 8, !tbaa !5
  %1689 = getelementptr inbounds %struct.w2c_hermes, ptr %1688, i32 0, i32 6
  %1690 = load i32, ptr %32, align 4, !tbaa !9
  %1691 = zext i32 %1690 to i64
  %1692 = add i64 %1691, 8
  %1693 = call i32 @i32_load(ptr noundef %1689, i64 noundef %1692)
  store i32 %1693, ptr %32, align 4, !tbaa !9
  %1694 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1694, ptr %12, align 4, !tbaa !9
  %1695 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1695, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %1696 = load i32, ptr %33, align 4, !tbaa !9
  %1697 = load i32, ptr %32, align 4, !tbaa !9
  %1698 = add i32 %1697, %1696
  store i32 %1698, ptr %32, align 4, !tbaa !9
  %1699 = load ptr, ptr %5, align 8, !tbaa !5
  %1700 = getelementptr inbounds %struct.w2c_hermes, ptr %1699, i32 0, i32 6
  %1701 = load i32, ptr %32, align 4, !tbaa !9
  %1702 = zext i32 %1701 to i64
  %1703 = call i32 @i32_load(ptr noundef %1700, i64 noundef %1702)
  store i32 %1703, ptr %32, align 4, !tbaa !9
  %1704 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1704, ptr %33, align 4, !tbaa !9
  %1705 = load ptr, ptr %5, align 8, !tbaa !5
  %1706 = getelementptr inbounds %struct.w2c_hermes, ptr %1705, i32 0, i32 6
  %1707 = load i32, ptr %33, align 4, !tbaa !9
  %1708 = zext i32 %1707 to i64
  %1709 = call i32 @i32_load(ptr noundef %1706, i64 noundef %1708)
  store i32 %1709, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %1710 = load i32, ptr %34, align 4, !tbaa !9
  %1711 = load i32, ptr %33, align 4, !tbaa !9
  %1712 = add i32 %1711, %1710
  store i32 %1712, ptr %33, align 4, !tbaa !9
  %1713 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1713, ptr %13, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %1714 = load i32, ptr %34, align 4, !tbaa !9
  %1715 = load i32, ptr %33, align 4, !tbaa !9
  %1716 = and i32 %1715, %1714
  store i32 %1716, ptr %33, align 4, !tbaa !9
  %1717 = load i32, ptr %32, align 4, !tbaa !9
  %1718 = load i32, ptr %33, align 4, !tbaa !9
  %1719 = icmp ne i32 %1717, %1718
  %1720 = zext i1 %1719 to i32
  store i32 %1720, ptr %32, align 4, !tbaa !9
  %1721 = load i32, ptr %32, align 4, !tbaa !9
  %1722 = icmp ne i32 %1721, 0
  br i1 %1722, label %1723, label %1734

1723:                                             ; preds = %1686
  %1724 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1724, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %1725 = load i32, ptr %33, align 4, !tbaa !9
  %1726 = load i32, ptr %32, align 4, !tbaa !9
  %1727 = add i32 %1726, %1725
  store i32 %1727, ptr %32, align 4, !tbaa !9
  %1728 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1728, ptr %33, align 4, !tbaa !9
  %1729 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1729, ptr %34, align 4, !tbaa !9
  %1730 = load ptr, ptr %5, align 8, !tbaa !5
  %1731 = load i32, ptr %32, align 4, !tbaa !9
  %1732 = load i32, ptr %33, align 4, !tbaa !9
  %1733 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %1730, i32 noundef %1731, i32 noundef %1732, i32 noundef %1733)
  br label %1734

1734:                                             ; preds = %1723, %1686
  %1735 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1735, ptr %32, align 4, !tbaa !9
  %1736 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1736, ptr %33, align 4, !tbaa !9
  %1737 = load ptr, ptr %5, align 8, !tbaa !5
  %1738 = getelementptr inbounds %struct.w2c_hermes, ptr %1737, i32 0, i32 6
  %1739 = load i32, ptr %32, align 4, !tbaa !9
  %1740 = zext i32 %1739 to i64
  %1741 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1738, i64 noundef %1740, i32 noundef %1741)
  br label %1742

1742:                                             ; preds = %1734, %1365, %1344
  %1743 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1743, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %1744 = load i32, ptr %33, align 4, !tbaa !9
  %1745 = load i32, ptr %32, align 4, !tbaa !9
  %1746 = add i32 %1745, %1744
  store i32 %1746, ptr %32, align 4, !tbaa !9
  %1747 = load i32, ptr %32, align 4, !tbaa !9
  %1748 = load ptr, ptr %5, align 8, !tbaa !5
  %1749 = getelementptr inbounds %struct.w2c_hermes, ptr %1748, i32 0, i32 3
  store i32 %1747, ptr %1749, align 8, !tbaa !15
  %1750 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1750, ptr %32, align 4, !tbaa !9
  br label %1754

1751:                                             ; preds = %1685
  store i32 40743, ptr %32, align 4, !tbaa !9
  %1752 = load ptr, ptr %5, align 8, !tbaa !5
  %1753 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %1752, i32 noundef %1753)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1754:                                             ; preds = %1742
  %1755 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1755, ptr %12, align 4, !tbaa !9
  store i32 -1, ptr %33, align 4, !tbaa !9
  %1756 = load i32, ptr %32, align 4, !tbaa !9
  %1757 = load i32, ptr %33, align 4, !tbaa !9
  %1758 = icmp eq i32 %1756, %1757
  %1759 = zext i1 %1758 to i32
  store i32 %1759, ptr %32, align 4, !tbaa !9
  %1760 = load i32, ptr %32, align 4, !tbaa !9
  %1761 = icmp ne i32 %1760, 0
  br i1 %1761, label %1762, label %1763

1762:                                             ; preds = %1754
  br label %5959

1763:                                             ; preds = %1754
  %1764 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1764, ptr %32, align 4, !tbaa !9
  %1765 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1765, ptr %33, align 4, !tbaa !9
  %1766 = load ptr, ptr %5, align 8, !tbaa !5
  %1767 = getelementptr inbounds %struct.w2c_hermes, ptr %1766, i32 0, i32 6
  %1768 = load i32, ptr %33, align 4, !tbaa !9
  %1769 = zext i32 %1768 to i64
  %1770 = call i64 @i64_load32_u(ptr noundef %1767, i64 noundef %1769)
  store i64 %1770, ptr %41, align 8, !tbaa !11
  store i64 -281474976710656, ptr %42, align 8, !tbaa !11
  %1771 = load i64, ptr %42, align 8, !tbaa !11
  %1772 = load i64, ptr %41, align 8, !tbaa !11
  %1773 = or i64 %1772, %1771
  store i64 %1773, ptr %41, align 8, !tbaa !11
  %1774 = load ptr, ptr %5, align 8, !tbaa !5
  %1775 = getelementptr inbounds %struct.w2c_hermes, ptr %1774, i32 0, i32 6
  %1776 = load i32, ptr %32, align 4, !tbaa !9
  %1777 = zext i32 %1776 to i64
  %1778 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1775, i64 noundef %1777, i64 noundef %1778)
  %1779 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1779, ptr %32, align 4, !tbaa !9
  store i64 -4294967296, ptr %41, align 8, !tbaa !11
  %1780 = load ptr, ptr %5, align 8, !tbaa !5
  %1781 = getelementptr inbounds %struct.w2c_hermes, ptr %1780, i32 0, i32 6
  %1782 = load i32, ptr %32, align 4, !tbaa !9
  %1783 = zext i32 %1782 to i64
  %1784 = add i64 %1783, 104
  %1785 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1781, i64 noundef %1784, i64 noundef %1785)
  %1786 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1786, ptr %32, align 4, !tbaa !9
  %1787 = load ptr, ptr %5, align 8, !tbaa !5
  %1788 = getelementptr inbounds %struct.w2c_hermes, ptr %1787, i32 0, i32 6
  %1789 = load i32, ptr %32, align 4, !tbaa !9
  %1790 = zext i32 %1789 to i64
  %1791 = call i32 @i32_load(ptr noundef %1788, i64 noundef %1790)
  store i32 %1791, ptr %32, align 4, !tbaa !9
  %1792 = load ptr, ptr %5, align 8, !tbaa !5
  %1793 = getelementptr inbounds %struct.w2c_hermes, ptr %1792, i32 0, i32 6
  %1794 = load i32, ptr %32, align 4, !tbaa !9
  %1795 = zext i32 %1794 to i64
  %1796 = add i64 %1795, 12
  %1797 = call i32 @i32_load(ptr noundef %1793, i64 noundef %1796)
  store i32 %1797, ptr %32, align 4, !tbaa !9
  %1798 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1798, ptr %9, align 4, !tbaa !9
  %1799 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1799, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1800 = load ptr, ptr %5, align 8, !tbaa !5
  %1801 = getelementptr inbounds %struct.w2c_hermes, ptr %1800, i32 0, i32 6
  %1802 = load i32, ptr %32, align 4, !tbaa !9
  %1803 = zext i32 %1802 to i64
  %1804 = add i64 %1803, 34
  %1805 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1801, i64 noundef %1804, i32 noundef %1805)
  %1806 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1806, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1807 = load ptr, ptr %5, align 8, !tbaa !5
  %1808 = getelementptr inbounds %struct.w2c_hermes, ptr %1807, i32 0, i32 6
  %1809 = load i32, ptr %32, align 4, !tbaa !9
  %1810 = zext i32 %1809 to i64
  %1811 = add i64 %1810, 456
  %1812 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1808, i64 noundef %1811, i32 noundef %1812)
  %1813 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1813, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %1814 = load i32, ptr %33, align 4, !tbaa !9
  %1815 = load i32, ptr %32, align 4, !tbaa !9
  %1816 = add i32 %1815, %1814
  store i32 %1816, ptr %32, align 4, !tbaa !9
  %1817 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1817, ptr %33, align 4, !tbaa !9
  %1818 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1818, ptr %34, align 4, !tbaa !9
  store i32 329, ptr %35, align 4, !tbaa !9
  %1819 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1819, ptr %36, align 4, !tbaa !9
  store i32 34, ptr %37, align 4, !tbaa !9
  %1820 = load i32, ptr %37, align 4, !tbaa !9
  %1821 = load i32, ptr %36, align 4, !tbaa !9
  %1822 = add i32 %1821, %1820
  store i32 %1822, ptr %36, align 4, !tbaa !9
  %1823 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1823, ptr %37, align 4, !tbaa !9
  store i32 104, ptr %38, align 4, !tbaa !9
  %1824 = load i32, ptr %38, align 4, !tbaa !9
  %1825 = load i32, ptr %37, align 4, !tbaa !9
  %1826 = add i32 %1825, %1824
  store i32 %1826, ptr %37, align 4, !tbaa !9
  %1827 = load ptr, ptr %5, align 8, !tbaa !5
  %1828 = load i32, ptr %32, align 4, !tbaa !9
  %1829 = load i32, ptr %33, align 4, !tbaa !9
  %1830 = load i32, ptr %34, align 4, !tbaa !9
  %1831 = load i32, ptr %35, align 4, !tbaa !9
  %1832 = load i32, ptr %36, align 4, !tbaa !9
  %1833 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef %1827, i32 noundef %1828, i32 noundef %1829, i32 noundef %1830, i32 noundef %1831, i32 noundef %1832, i32 noundef %1833)
  %1834 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1834, ptr %32, align 4, !tbaa !9
  %1835 = load ptr, ptr %5, align 8, !tbaa !5
  %1836 = getelementptr inbounds %struct.w2c_hermes, ptr %1835, i32 0, i32 6
  %1837 = load i32, ptr %32, align 4, !tbaa !9
  %1838 = zext i32 %1837 to i64
  %1839 = add i64 %1838, 176
  %1840 = call i32 @i32_load(ptr noundef %1836, i64 noundef %1839)
  store i32 %1840, ptr %32, align 4, !tbaa !9
  %1841 = load ptr, ptr %5, align 8, !tbaa !5
  %1842 = getelementptr inbounds %struct.w2c_hermes, ptr %1841, i32 0, i32 6
  %1843 = load i32, ptr %32, align 4, !tbaa !9
  %1844 = zext i32 %1843 to i64
  %1845 = call i32 @i32_load(ptr noundef %1842, i64 noundef %1844)
  store i32 %1845, ptr %32, align 4, !tbaa !9
  %1846 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1846, ptr %9, align 4, !tbaa !9
  %1847 = load i32, ptr %32, align 4, !tbaa !9
  %1848 = uitofp i32 %1847 to double
  store double %1848, ptr %45, align 8, !tbaa !13
  %1849 = load double, ptr %45, align 8, !tbaa !13
  store double %1849, ptr %31, align 8, !tbaa !13
  %1850 = load double, ptr %45, align 8, !tbaa !13
  %1851 = call i64 @i64_reinterpret_f64(double noundef %1850)
  store i64 %1851, ptr %40, align 8, !tbaa !11
  %1852 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1852, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %1853 = load i32, ptr %34, align 4, !tbaa !9
  %1854 = and i32 %1853, 31
  %1855 = load i32, ptr %33, align 4, !tbaa !9
  %1856 = shl i32 %1855, %1854
  store i32 %1856, ptr %33, align 4, !tbaa !9
  %1857 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1857, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %1858 = load i32, ptr %33, align 4, !tbaa !9
  %1859 = load i32, ptr %34, align 4, !tbaa !9
  %1860 = and i32 %1859, 31
  %1861 = ashr i32 %1858, %1860
  store i32 %1861, ptr %33, align 4, !tbaa !9
  %1862 = load i32, ptr %33, align 4, !tbaa !9
  %1863 = sitofp i32 %1862 to double
  store double %1863, ptr %46, align 8, !tbaa !13
  %1864 = load double, ptr %46, align 8, !tbaa !13
  %1865 = call i64 @i64_reinterpret_f64(double noundef %1864)
  store i64 %1865, ptr %41, align 8, !tbaa !11
  %1866 = load i64, ptr %40, align 8, !tbaa !11
  %1867 = load i64, ptr %41, align 8, !tbaa !11
  %1868 = icmp eq i64 %1866, %1867
  %1869 = zext i1 %1868 to i32
  store i32 %1869, ptr %32, align 4, !tbaa !9
  %1870 = load i32, ptr %32, align 4, !tbaa !9
  %1871 = icmp ne i32 %1870, 0
  br i1 %1871, label %1872, label %1877

1872:                                             ; preds = %1763
  %1873 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1873, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %1874 = load i32, ptr %33, align 4, !tbaa !9
  %1875 = load i32, ptr %32, align 4, !tbaa !9
  %1876 = or i32 %1875, %1874
  store i32 %1876, ptr %32, align 4, !tbaa !9
  br label %1947

1877:                                             ; preds = %1763
  %1878 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1878, ptr %32, align 4, !tbaa !9
  store i32 1368, ptr %33, align 4, !tbaa !9
  %1879 = load i32, ptr %33, align 4, !tbaa !9
  %1880 = load i32, ptr %32, align 4, !tbaa !9
  %1881 = add i32 %1880, %1879
  store i32 %1881, ptr %32, align 4, !tbaa !9
  %1882 = load ptr, ptr %5, align 8, !tbaa !5
  %1883 = getelementptr inbounds %struct.w2c_hermes, ptr %1882, i32 0, i32 6
  %1884 = load i32, ptr %32, align 4, !tbaa !9
  %1885 = zext i32 %1884 to i64
  %1886 = call i32 @i32_load(ptr noundef %1883, i64 noundef %1885)
  store i32 %1886, ptr %32, align 4, !tbaa !9
  %1887 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1887, ptr %33, align 4, !tbaa !9
  store i32 1364, ptr %34, align 4, !tbaa !9
  %1888 = load i32, ptr %34, align 4, !tbaa !9
  %1889 = load i32, ptr %33, align 4, !tbaa !9
  %1890 = add i32 %1889, %1888
  store i32 %1890, ptr %33, align 4, !tbaa !9
  %1891 = load ptr, ptr %5, align 8, !tbaa !5
  %1892 = getelementptr inbounds %struct.w2c_hermes, ptr %1891, i32 0, i32 6
  %1893 = load i32, ptr %33, align 4, !tbaa !9
  %1894 = zext i32 %1893 to i64
  %1895 = call i32 @i32_load(ptr noundef %1892, i64 noundef %1894)
  store i32 %1895, ptr %33, align 4, !tbaa !9
  %1896 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1896, ptr %9, align 4, !tbaa !9
  %1897 = load i32, ptr %33, align 4, !tbaa !9
  %1898 = load i32, ptr %32, align 4, !tbaa !9
  %1899 = sub i32 %1898, %1897
  store i32 %1899, ptr %32, align 4, !tbaa !9
  store i32 15, ptr %33, align 4, !tbaa !9
  %1900 = load i32, ptr %32, align 4, !tbaa !9
  %1901 = load i32, ptr %33, align 4, !tbaa !9
  %1902 = icmp ule i32 %1900, %1901
  %1903 = zext i1 %1902 to i32
  store i32 %1903, ptr %32, align 4, !tbaa !9
  %1904 = load i32, ptr %32, align 4, !tbaa !9
  %1905 = icmp ne i32 %1904, 0
  br i1 %1905, label %1906, label %1916

1906:                                             ; preds = %1877
  %1907 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1907, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %1908 = load i32, ptr %33, align 4, !tbaa !9
  %1909 = load i32, ptr %32, align 4, !tbaa !9
  %1910 = add i32 %1909, %1908
  store i32 %1910, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %1911 = load ptr, ptr %5, align 8, !tbaa !5
  %1912 = load i32, ptr %32, align 4, !tbaa !9
  %1913 = load i32, ptr %33, align 4, !tbaa !9
  %1914 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %1911, i32 noundef %1912, i32 noundef %1913)
  store i32 %1914, ptr %32, align 4, !tbaa !9
  %1915 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1915, ptr %9, align 4, !tbaa !9
  br label %1928

1916:                                             ; preds = %1877
  %1917 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1917, ptr %32, align 4, !tbaa !9
  %1918 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1918, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %1919 = load i32, ptr %34, align 4, !tbaa !9
  %1920 = load i32, ptr %33, align 4, !tbaa !9
  %1921 = add i32 %1920, %1919
  store i32 %1921, ptr %33, align 4, !tbaa !9
  %1922 = load ptr, ptr %5, align 8, !tbaa !5
  %1923 = getelementptr inbounds %struct.w2c_hermes, ptr %1922, i32 0, i32 6
  %1924 = load i32, ptr %32, align 4, !tbaa !9
  %1925 = zext i32 %1924 to i64
  %1926 = add i64 %1925, 1364
  %1927 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1923, i64 noundef %1926, i32 noundef %1927)
  br label %1928

1928:                                             ; preds = %1916, %1906
  %1929 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1929, ptr %32, align 4, !tbaa !9
  store i32 402653200, ptr %33, align 4, !tbaa !9
  %1930 = load ptr, ptr %5, align 8, !tbaa !5
  %1931 = getelementptr inbounds %struct.w2c_hermes, ptr %1930, i32 0, i32 6
  %1932 = load i32, ptr %32, align 4, !tbaa !9
  %1933 = zext i32 %1932 to i64
  %1934 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1931, i64 noundef %1933, i32 noundef %1934)
  %1935 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1935, ptr %32, align 4, !tbaa !9
  %1936 = load double, ptr %31, align 8, !tbaa !13
  store double %1936, ptr %46, align 8, !tbaa !13
  %1937 = load ptr, ptr %5, align 8, !tbaa !5
  %1938 = getelementptr inbounds %struct.w2c_hermes, ptr %1937, i32 0, i32 6
  %1939 = load i32, ptr %32, align 4, !tbaa !9
  %1940 = zext i32 %1939 to i64
  %1941 = add i64 %1940, 8
  %1942 = load double, ptr %46, align 8, !tbaa !13
  call void @f64_store(ptr noundef %1938, i64 noundef %1941, double noundef %1942)
  %1943 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1943, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %1944 = load i32, ptr %33, align 4, !tbaa !9
  %1945 = load i32, ptr %32, align 4, !tbaa !9
  %1946 = or i32 %1945, %1944
  store i32 %1946, ptr %32, align 4, !tbaa !9
  br label %1947

1947:                                             ; preds = %1928, %1872
  %1948 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1948, ptr %9, align 4, !tbaa !9
  %1949 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1949, ptr %32, align 4, !tbaa !9
  %1950 = load ptr, ptr %5, align 8, !tbaa !5
  %1951 = getelementptr inbounds %struct.w2c_hermes, ptr %1950, i32 0, i32 6
  %1952 = load i32, ptr %32, align 4, !tbaa !9
  %1953 = zext i32 %1952 to i64
  %1954 = call i32 @i32_load(ptr noundef %1951, i64 noundef %1953)
  store i32 %1954, ptr %32, align 4, !tbaa !9
  %1955 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1955, ptr %12, align 4, !tbaa !9
  %1956 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1956, ptr %32, align 4, !tbaa !9
  %1957 = load ptr, ptr %5, align 8, !tbaa !5
  %1958 = getelementptr inbounds %struct.w2c_hermes, ptr %1957, i32 0, i32 6
  %1959 = load i32, ptr %32, align 4, !tbaa !9
  %1960 = zext i32 %1959 to i64
  %1961 = add i64 %1960, 108
  %1962 = call i32 @i32_load(ptr noundef %1958, i64 noundef %1961)
  store i32 %1962, ptr %32, align 4, !tbaa !9
  %1963 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1963, ptr %13, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %1964 = load i32, ptr %32, align 4, !tbaa !9
  %1965 = load i32, ptr %33, align 4, !tbaa !9
  %1966 = icmp ule i32 %1964, %1965
  %1967 = zext i1 %1966 to i32
  store i32 %1967, ptr %32, align 4, !tbaa !9
  %1968 = load i32, ptr %32, align 4, !tbaa !9
  %1969 = icmp ne i32 %1968, 0
  br i1 %1969, label %1970, label %2004

1970:                                             ; preds = %1947
  %1971 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1971, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %1972 = load i32, ptr %33, align 4, !tbaa !9
  %1973 = load i32, ptr %32, align 4, !tbaa !9
  %1974 = add i32 %1973, %1972
  store i32 %1974, ptr %32, align 4, !tbaa !9
  %1975 = load ptr, ptr %5, align 8, !tbaa !5
  %1976 = getelementptr inbounds %struct.w2c_hermes, ptr %1975, i32 0, i32 6
  %1977 = load i32, ptr %32, align 4, !tbaa !9
  %1978 = zext i32 %1977 to i64
  %1979 = call i32 @i32_load(ptr noundef %1976, i64 noundef %1978)
  store i32 %1979, ptr %32, align 4, !tbaa !9
  %1980 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1980, ptr %33, align 4, !tbaa !9
  %1981 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1981, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %1982 = load i32, ptr %35, align 4, !tbaa !9
  %1983 = and i32 %1982, 31
  %1984 = load i32, ptr %34, align 4, !tbaa !9
  %1985 = shl i32 %1984, %1983
  store i32 %1985, ptr %34, align 4, !tbaa !9
  %1986 = load i32, ptr %34, align 4, !tbaa !9
  %1987 = load i32, ptr %33, align 4, !tbaa !9
  %1988 = add i32 %1987, %1986
  store i32 %1988, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %1989 = load i32, ptr %34, align 4, !tbaa !9
  %1990 = load i32, ptr %33, align 4, !tbaa !9
  %1991 = add i32 %1990, %1989
  store i32 %1991, ptr %33, align 4, !tbaa !9
  %1992 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1992, ptr %12, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %1993 = load i32, ptr %34, align 4, !tbaa !9
  %1994 = load i32, ptr %33, align 4, !tbaa !9
  %1995 = and i32 %1994, %1993
  store i32 %1995, ptr %33, align 4, !tbaa !9
  %1996 = load i32, ptr %32, align 4, !tbaa !9
  %1997 = load i32, ptr %33, align 4, !tbaa !9
  %1998 = icmp ne i32 %1996, %1997
  %1999 = zext i1 %1998 to i32
  store i32 %1999, ptr %32, align 4, !tbaa !9
  %2000 = load i32, ptr %32, align 4, !tbaa !9
  %2001 = icmp ne i32 %2000, 0
  br i1 %2001, label %2002, label %2003

2002:                                             ; preds = %1970
  br label %2044

2003:                                             ; preds = %1970
  br label %2055

2004:                                             ; preds = %1947
  %2005 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2005, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %2006 = load i32, ptr %33, align 4, !tbaa !9
  %2007 = load i32, ptr %32, align 4, !tbaa !9
  %2008 = add i32 %2007, %2006
  store i32 %2008, ptr %32, align 4, !tbaa !9
  %2009 = load ptr, ptr %5, align 8, !tbaa !5
  %2010 = getelementptr inbounds %struct.w2c_hermes, ptr %2009, i32 0, i32 6
  %2011 = load i32, ptr %32, align 4, !tbaa !9
  %2012 = zext i32 %2011 to i64
  %2013 = call i32 @i32_load(ptr noundef %2010, i64 noundef %2012)
  store i32 %2013, ptr %32, align 4, !tbaa !9
  %2014 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2014, ptr %33, align 4, !tbaa !9
  %2015 = load ptr, ptr %5, align 8, !tbaa !5
  %2016 = getelementptr inbounds %struct.w2c_hermes, ptr %2015, i32 0, i32 6
  %2017 = load i32, ptr %33, align 4, !tbaa !9
  %2018 = zext i32 %2017 to i64
  %2019 = add i64 %2018, 16
  %2020 = call i32 @i32_load(ptr noundef %2016, i64 noundef %2019)
  store i32 %2020, ptr %33, align 4, !tbaa !9
  %2021 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2021, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %2022 = load i32, ptr %35, align 4, !tbaa !9
  %2023 = and i32 %2022, 31
  %2024 = load i32, ptr %34, align 4, !tbaa !9
  %2025 = shl i32 %2024, %2023
  store i32 %2025, ptr %34, align 4, !tbaa !9
  %2026 = load i32, ptr %34, align 4, !tbaa !9
  %2027 = load i32, ptr %33, align 4, !tbaa !9
  %2028 = add i32 %2027, %2026
  store i32 %2028, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %2029 = load i32, ptr %34, align 4, !tbaa !9
  %2030 = load i32, ptr %33, align 4, !tbaa !9
  %2031 = sub i32 %2030, %2029
  store i32 %2031, ptr %33, align 4, !tbaa !9
  %2032 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2032, ptr %12, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %2033 = load i32, ptr %34, align 4, !tbaa !9
  %2034 = load i32, ptr %33, align 4, !tbaa !9
  %2035 = and i32 %2034, %2033
  store i32 %2035, ptr %33, align 4, !tbaa !9
  %2036 = load i32, ptr %32, align 4, !tbaa !9
  %2037 = load i32, ptr %33, align 4, !tbaa !9
  %2038 = icmp eq i32 %2036, %2037
  %2039 = zext i1 %2038 to i32
  store i32 %2039, ptr %32, align 4, !tbaa !9
  %2040 = load i32, ptr %32, align 4, !tbaa !9
  %2041 = icmp ne i32 %2040, 0
  br i1 %2041, label %2042, label %2043

2042:                                             ; preds = %2004
  br label %2055

2043:                                             ; preds = %2004
  br label %2044

2044:                                             ; preds = %2043, %2002
  %2045 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2045, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %2046 = load i32, ptr %33, align 4, !tbaa !9
  %2047 = load i32, ptr %32, align 4, !tbaa !9
  %2048 = add i32 %2047, %2046
  store i32 %2048, ptr %32, align 4, !tbaa !9
  %2049 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2049, ptr %33, align 4, !tbaa !9
  %2050 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2050, ptr %34, align 4, !tbaa !9
  %2051 = load ptr, ptr %5, align 8, !tbaa !5
  %2052 = load i32, ptr %32, align 4, !tbaa !9
  %2053 = load i32, ptr %33, align 4, !tbaa !9
  %2054 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %2051, i32 noundef %2052, i32 noundef %2053, i32 noundef %2054)
  br label %2055

2055:                                             ; preds = %2044, %2042, %2003
  %2056 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2056, ptr %32, align 4, !tbaa !9
  %2057 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2057, ptr %33, align 4, !tbaa !9
  %2058 = load ptr, ptr %5, align 8, !tbaa !5
  %2059 = getelementptr inbounds %struct.w2c_hermes, ptr %2058, i32 0, i32 6
  %2060 = load i32, ptr %32, align 4, !tbaa !9
  %2061 = zext i32 %2060 to i64
  %2062 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2059, i64 noundef %2061, i32 noundef %2062)
  %2063 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2063, ptr %32, align 4, !tbaa !9
  store i64 -4294967296, ptr %41, align 8, !tbaa !11
  %2064 = load ptr, ptr %5, align 8, !tbaa !5
  %2065 = getelementptr inbounds %struct.w2c_hermes, ptr %2064, i32 0, i32 6
  %2066 = load i32, ptr %32, align 4, !tbaa !9
  %2067 = zext i32 %2066 to i64
  %2068 = add i64 %2067, 96
  %2069 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2065, i64 noundef %2068, i64 noundef %2069)
  %2070 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2070, ptr %32, align 4, !tbaa !9
  %2071 = load ptr, ptr %5, align 8, !tbaa !5
  %2072 = getelementptr inbounds %struct.w2c_hermes, ptr %2071, i32 0, i32 6
  %2073 = load i32, ptr %32, align 4, !tbaa !9
  %2074 = zext i32 %2073 to i64
  %2075 = call i32 @i32_load(ptr noundef %2072, i64 noundef %2074)
  store i32 %2075, ptr %32, align 4, !tbaa !9
  %2076 = load ptr, ptr %5, align 8, !tbaa !5
  %2077 = getelementptr inbounds %struct.w2c_hermes, ptr %2076, i32 0, i32 6
  %2078 = load i32, ptr %32, align 4, !tbaa !9
  %2079 = zext i32 %2078 to i64
  %2080 = add i64 %2079, 12
  %2081 = call i32 @i32_load(ptr noundef %2077, i64 noundef %2080)
  store i32 %2081, ptr %32, align 4, !tbaa !9
  %2082 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2082, ptr %9, align 4, !tbaa !9
  %2083 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2083, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2084 = load ptr, ptr %5, align 8, !tbaa !5
  %2085 = getelementptr inbounds %struct.w2c_hermes, ptr %2084, i32 0, i32 6
  %2086 = load i32, ptr %32, align 4, !tbaa !9
  %2087 = zext i32 %2086 to i64
  %2088 = add i64 %2087, 32
  %2089 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2085, i64 noundef %2088, i32 noundef %2089)
  %2090 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2090, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2091 = load ptr, ptr %5, align 8, !tbaa !5
  %2092 = getelementptr inbounds %struct.w2c_hermes, ptr %2091, i32 0, i32 6
  %2093 = load i32, ptr %32, align 4, !tbaa !9
  %2094 = zext i32 %2093 to i64
  %2095 = add i64 %2094, 456
  %2096 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2092, i64 noundef %2095, i32 noundef %2096)
  %2097 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2097, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %2098 = load i32, ptr %33, align 4, !tbaa !9
  %2099 = load i32, ptr %32, align 4, !tbaa !9
  %2100 = add i32 %2099, %2098
  store i32 %2100, ptr %32, align 4, !tbaa !9
  %2101 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2101, ptr %33, align 4, !tbaa !9
  %2102 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2102, ptr %34, align 4, !tbaa !9
  store i32 330, ptr %35, align 4, !tbaa !9
  %2103 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2103, ptr %36, align 4, !tbaa !9
  store i32 32, ptr %37, align 4, !tbaa !9
  %2104 = load i32, ptr %37, align 4, !tbaa !9
  %2105 = load i32, ptr %36, align 4, !tbaa !9
  %2106 = add i32 %2105, %2104
  store i32 %2106, ptr %36, align 4, !tbaa !9
  %2107 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2107, ptr %37, align 4, !tbaa !9
  store i32 96, ptr %38, align 4, !tbaa !9
  %2108 = load i32, ptr %38, align 4, !tbaa !9
  %2109 = load i32, ptr %37, align 4, !tbaa !9
  %2110 = add i32 %2109, %2108
  store i32 %2110, ptr %37, align 4, !tbaa !9
  %2111 = load ptr, ptr %5, align 8, !tbaa !5
  %2112 = load i32, ptr %32, align 4, !tbaa !9
  %2113 = load i32, ptr %33, align 4, !tbaa !9
  %2114 = load i32, ptr %34, align 4, !tbaa !9
  %2115 = load i32, ptr %35, align 4, !tbaa !9
  %2116 = load i32, ptr %36, align 4, !tbaa !9
  %2117 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef %2111, i32 noundef %2112, i32 noundef %2113, i32 noundef %2114, i32 noundef %2115, i32 noundef %2116, i32 noundef %2117)
  %2118 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2118, ptr %32, align 4, !tbaa !9
  %2119 = load ptr, ptr %5, align 8, !tbaa !5
  %2120 = getelementptr inbounds %struct.w2c_hermes, ptr %2119, i32 0, i32 6
  %2121 = load i32, ptr %32, align 4, !tbaa !9
  %2122 = zext i32 %2121 to i64
  %2123 = call i32 @i32_load(ptr noundef %2120, i64 noundef %2122)
  store i32 %2123, ptr %32, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  %2124 = load i32, ptr %33, align 4, !tbaa !9
  %2125 = load i32, ptr %32, align 4, !tbaa !9
  %2126 = or i32 %2125, %2124
  store i32 %2126, ptr %32, align 4, !tbaa !9
  %2127 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2127, ptr %12, align 4, !tbaa !9
  %2128 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2128, ptr %32, align 4, !tbaa !9
  %2129 = load ptr, ptr %5, align 8, !tbaa !5
  %2130 = getelementptr inbounds %struct.w2c_hermes, ptr %2129, i32 0, i32 6
  %2131 = load i32, ptr %32, align 4, !tbaa !9
  %2132 = zext i32 %2131 to i64
  %2133 = call i32 @i32_load(ptr noundef %2130, i64 noundef %2132)
  store i32 %2133, ptr %32, align 4, !tbaa !9
  %2134 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2134, ptr %9, align 4, !tbaa !9
  %2135 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2135, ptr %32, align 4, !tbaa !9
  %2136 = load ptr, ptr %5, align 8, !tbaa !5
  %2137 = getelementptr inbounds %struct.w2c_hermes, ptr %2136, i32 0, i32 6
  %2138 = load i32, ptr %32, align 4, !tbaa !9
  %2139 = zext i32 %2138 to i64
  %2140 = add i64 %2139, 100
  %2141 = call i32 @i32_load(ptr noundef %2137, i64 noundef %2140)
  store i32 %2141, ptr %32, align 4, !tbaa !9
  %2142 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2142, ptr %13, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %2143 = load i32, ptr %32, align 4, !tbaa !9
  %2144 = load i32, ptr %33, align 4, !tbaa !9
  %2145 = icmp ule i32 %2143, %2144
  %2146 = zext i1 %2145 to i32
  store i32 %2146, ptr %32, align 4, !tbaa !9
  %2147 = load i32, ptr %32, align 4, !tbaa !9
  %2148 = icmp ne i32 %2147, 0
  br i1 %2148, label %2149, label %2183

2149:                                             ; preds = %2055
  %2150 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2150, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %2151 = load i32, ptr %33, align 4, !tbaa !9
  %2152 = load i32, ptr %32, align 4, !tbaa !9
  %2153 = add i32 %2152, %2151
  store i32 %2153, ptr %32, align 4, !tbaa !9
  %2154 = load ptr, ptr %5, align 8, !tbaa !5
  %2155 = getelementptr inbounds %struct.w2c_hermes, ptr %2154, i32 0, i32 6
  %2156 = load i32, ptr %32, align 4, !tbaa !9
  %2157 = zext i32 %2156 to i64
  %2158 = call i32 @i32_load(ptr noundef %2155, i64 noundef %2157)
  store i32 %2158, ptr %32, align 4, !tbaa !9
  %2159 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2159, ptr %33, align 4, !tbaa !9
  %2160 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2160, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %2161 = load i32, ptr %35, align 4, !tbaa !9
  %2162 = and i32 %2161, 31
  %2163 = load i32, ptr %34, align 4, !tbaa !9
  %2164 = shl i32 %2163, %2162
  store i32 %2164, ptr %34, align 4, !tbaa !9
  %2165 = load i32, ptr %34, align 4, !tbaa !9
  %2166 = load i32, ptr %33, align 4, !tbaa !9
  %2167 = add i32 %2166, %2165
  store i32 %2167, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %2168 = load i32, ptr %34, align 4, !tbaa !9
  %2169 = load i32, ptr %33, align 4, !tbaa !9
  %2170 = add i32 %2169, %2168
  store i32 %2170, ptr %33, align 4, !tbaa !9
  %2171 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2171, ptr %9, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %2172 = load i32, ptr %34, align 4, !tbaa !9
  %2173 = load i32, ptr %33, align 4, !tbaa !9
  %2174 = and i32 %2173, %2172
  store i32 %2174, ptr %33, align 4, !tbaa !9
  %2175 = load i32, ptr %32, align 4, !tbaa !9
  %2176 = load i32, ptr %33, align 4, !tbaa !9
  %2177 = icmp ne i32 %2175, %2176
  %2178 = zext i1 %2177 to i32
  store i32 %2178, ptr %32, align 4, !tbaa !9
  %2179 = load i32, ptr %32, align 4, !tbaa !9
  %2180 = icmp ne i32 %2179, 0
  br i1 %2180, label %2181, label %2182

2181:                                             ; preds = %2149
  br label %2223

2182:                                             ; preds = %2149
  br label %2234

2183:                                             ; preds = %2055
  %2184 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2184, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %2185 = load i32, ptr %33, align 4, !tbaa !9
  %2186 = load i32, ptr %32, align 4, !tbaa !9
  %2187 = add i32 %2186, %2185
  store i32 %2187, ptr %32, align 4, !tbaa !9
  %2188 = load ptr, ptr %5, align 8, !tbaa !5
  %2189 = getelementptr inbounds %struct.w2c_hermes, ptr %2188, i32 0, i32 6
  %2190 = load i32, ptr %32, align 4, !tbaa !9
  %2191 = zext i32 %2190 to i64
  %2192 = call i32 @i32_load(ptr noundef %2189, i64 noundef %2191)
  store i32 %2192, ptr %32, align 4, !tbaa !9
  %2193 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2193, ptr %33, align 4, !tbaa !9
  %2194 = load ptr, ptr %5, align 8, !tbaa !5
  %2195 = getelementptr inbounds %struct.w2c_hermes, ptr %2194, i32 0, i32 6
  %2196 = load i32, ptr %33, align 4, !tbaa !9
  %2197 = zext i32 %2196 to i64
  %2198 = add i64 %2197, 16
  %2199 = call i32 @i32_load(ptr noundef %2195, i64 noundef %2198)
  store i32 %2199, ptr %33, align 4, !tbaa !9
  %2200 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2200, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %2201 = load i32, ptr %35, align 4, !tbaa !9
  %2202 = and i32 %2201, 31
  %2203 = load i32, ptr %34, align 4, !tbaa !9
  %2204 = shl i32 %2203, %2202
  store i32 %2204, ptr %34, align 4, !tbaa !9
  %2205 = load i32, ptr %34, align 4, !tbaa !9
  %2206 = load i32, ptr %33, align 4, !tbaa !9
  %2207 = add i32 %2206, %2205
  store i32 %2207, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %2208 = load i32, ptr %34, align 4, !tbaa !9
  %2209 = load i32, ptr %33, align 4, !tbaa !9
  %2210 = sub i32 %2209, %2208
  store i32 %2210, ptr %33, align 4, !tbaa !9
  %2211 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2211, ptr %9, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %2212 = load i32, ptr %34, align 4, !tbaa !9
  %2213 = load i32, ptr %33, align 4, !tbaa !9
  %2214 = and i32 %2213, %2212
  store i32 %2214, ptr %33, align 4, !tbaa !9
  %2215 = load i32, ptr %32, align 4, !tbaa !9
  %2216 = load i32, ptr %33, align 4, !tbaa !9
  %2217 = icmp eq i32 %2215, %2216
  %2218 = zext i1 %2217 to i32
  store i32 %2218, ptr %32, align 4, !tbaa !9
  %2219 = load i32, ptr %32, align 4, !tbaa !9
  %2220 = icmp ne i32 %2219, 0
  br i1 %2220, label %2221, label %2222

2221:                                             ; preds = %2183
  br label %2234

2222:                                             ; preds = %2183
  br label %2223

2223:                                             ; preds = %2222, %2181
  %2224 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2224, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %2225 = load i32, ptr %33, align 4, !tbaa !9
  %2226 = load i32, ptr %32, align 4, !tbaa !9
  %2227 = add i32 %2226, %2225
  store i32 %2227, ptr %32, align 4, !tbaa !9
  %2228 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2228, ptr %33, align 4, !tbaa !9
  %2229 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2229, ptr %34, align 4, !tbaa !9
  %2230 = load ptr, ptr %5, align 8, !tbaa !5
  %2231 = load i32, ptr %32, align 4, !tbaa !9
  %2232 = load i32, ptr %33, align 4, !tbaa !9
  %2233 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %2230, i32 noundef %2231, i32 noundef %2232, i32 noundef %2233)
  br label %2234

2234:                                             ; preds = %2223, %2221, %2182
  %2235 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2235, ptr %32, align 4, !tbaa !9
  %2236 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2236, ptr %33, align 4, !tbaa !9
  %2237 = load ptr, ptr %5, align 8, !tbaa !5
  %2238 = getelementptr inbounds %struct.w2c_hermes, ptr %2237, i32 0, i32 6
  %2239 = load i32, ptr %32, align 4, !tbaa !9
  %2240 = zext i32 %2239 to i64
  %2241 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2238, i64 noundef %2240, i32 noundef %2241)
  %2242 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2242, ptr %32, align 4, !tbaa !9
  %2243 = load ptr, ptr %5, align 8, !tbaa !5
  %2244 = getelementptr inbounds %struct.w2c_hermes, ptr %2243, i32 0, i32 6
  %2245 = load i32, ptr %32, align 4, !tbaa !9
  %2246 = zext i32 %2245 to i64
  %2247 = call i32 @i32_load(ptr noundef %2244, i64 noundef %2246)
  store i32 %2247, ptr %32, align 4, !tbaa !9
  %2248 = load ptr, ptr %5, align 8, !tbaa !5
  %2249 = getelementptr inbounds %struct.w2c_hermes, ptr %2248, i32 0, i32 6
  %2250 = load i32, ptr %32, align 4, !tbaa !9
  %2251 = zext i32 %2250 to i64
  %2252 = add i64 %2251, 36
  %2253 = call i32 @i32_load(ptr noundef %2249, i64 noundef %2252)
  store i32 %2253, ptr %32, align 4, !tbaa !9
  %2254 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2254, ptr %6, align 4, !tbaa !9
  %2255 = load i32, ptr %32, align 4, !tbaa !9
  %2256 = icmp ne i32 %2255, 0
  br i1 %2256, label %2257, label %2321

2257:                                             ; preds = %2234
  %2258 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2258, ptr %32, align 4, !tbaa !9
  %2259 = load i32, ptr %32, align 4, !tbaa !9
  %2260 = zext i32 %2259 to i64
  store i64 %2260, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %2261 = load i64, ptr %41, align 8, !tbaa !11
  %2262 = load i64, ptr %40, align 8, !tbaa !11
  %2263 = or i64 %2262, %2261
  store i64 %2263, ptr %40, align 8, !tbaa !11
  %2264 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %2264, ptr %29, align 8, !tbaa !11
  %2265 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2265, ptr %32, align 4, !tbaa !9
  %2266 = load ptr, ptr %5, align 8, !tbaa !5
  %2267 = getelementptr inbounds %struct.w2c_hermes, ptr %2266, i32 0, i32 6
  %2268 = load i32, ptr %32, align 4, !tbaa !9
  %2269 = zext i32 %2268 to i64
  %2270 = add i64 %2269, 4
  %2271 = call i32 @i32_load(ptr noundef %2267, i64 noundef %2270)
  store i32 %2271, ptr %32, align 4, !tbaa !9
  %2272 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2272, ptr %6, align 4, !tbaa !9
  %2273 = load ptr, ptr %5, align 8, !tbaa !5
  %2274 = getelementptr inbounds %struct.w2c_hermes, ptr %2273, i32 0, i32 6
  %2275 = load i32, ptr %32, align 4, !tbaa !9
  %2276 = zext i32 %2275 to i64
  %2277 = add i64 %2276, 164
  %2278 = call i32 @i32_load(ptr noundef %2274, i64 noundef %2277)
  store i32 %2278, ptr %32, align 4, !tbaa !9
  %2279 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2279, ptr %9, align 4, !tbaa !9
  %2280 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2280, ptr %33, align 4, !tbaa !9
  %2281 = load ptr, ptr %5, align 8, !tbaa !5
  %2282 = getelementptr inbounds %struct.w2c_hermes, ptr %2281, i32 0, i32 6
  %2283 = load i32, ptr %33, align 4, !tbaa !9
  %2284 = zext i32 %2283 to i64
  %2285 = add i64 %2284, 168
  %2286 = call i32 @i32_load(ptr noundef %2282, i64 noundef %2285)
  store i32 %2286, ptr %33, align 4, !tbaa !9
  %2287 = load i32, ptr %32, align 4, !tbaa !9
  %2288 = load i32, ptr %33, align 4, !tbaa !9
  %2289 = icmp ult i32 %2287, %2288
  %2290 = zext i1 %2289 to i32
  store i32 %2290, ptr %32, align 4, !tbaa !9
  %2291 = load i32, ptr %32, align 4, !tbaa !9
  %2292 = icmp ne i32 %2291, 0
  br i1 %2292, label %2293, label %2313

2293:                                             ; preds = %2257
  %2294 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2294, ptr %32, align 4, !tbaa !9
  %2295 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2295, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %2296 = load i32, ptr %34, align 4, !tbaa !9
  %2297 = load i32, ptr %33, align 4, !tbaa !9
  %2298 = add i32 %2297, %2296
  store i32 %2298, ptr %33, align 4, !tbaa !9
  %2299 = load ptr, ptr %5, align 8, !tbaa !5
  %2300 = getelementptr inbounds %struct.w2c_hermes, ptr %2299, i32 0, i32 6
  %2301 = load i32, ptr %32, align 4, !tbaa !9
  %2302 = zext i32 %2301 to i64
  %2303 = add i64 %2302, 164
  %2304 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2300, i64 noundef %2303, i32 noundef %2304)
  %2305 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2305, ptr %32, align 4, !tbaa !9
  %2306 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2306, ptr %41, align 8, !tbaa !11
  %2307 = load ptr, ptr %5, align 8, !tbaa !5
  %2308 = getelementptr inbounds %struct.w2c_hermes, ptr %2307, i32 0, i32 6
  %2309 = load i32, ptr %32, align 4, !tbaa !9
  %2310 = zext i32 %2309 to i64
  %2311 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2308, i64 noundef %2310, i64 noundef %2311)
  %2312 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2312, ptr %32, align 4, !tbaa !9
  br label %2320

2313:                                             ; preds = %2257
  %2314 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2314, ptr %32, align 4, !tbaa !9
  %2315 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2315, ptr %41, align 8, !tbaa !11
  %2316 = load ptr, ptr %5, align 8, !tbaa !5
  %2317 = load i32, ptr %32, align 4, !tbaa !9
  %2318 = load i64, ptr %41, align 8, !tbaa !11
  %2319 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2316, i32 noundef %2317, i64 noundef %2318)
  store i32 %2319, ptr %32, align 4, !tbaa !9
  br label %2320

2320:                                             ; preds = %2313, %2293
  br label %2322

2321:                                             ; preds = %2234
  store i32 67200, ptr %32, align 4, !tbaa !9
  br label %2322

2322:                                             ; preds = %2321, %2320
  %2323 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2323, ptr %21, align 4, !tbaa !9
  %2324 = load ptr, ptr %5, align 8, !tbaa !5
  %2325 = getelementptr inbounds %struct.w2c_hermes, ptr %2324, i32 0, i32 6
  %2326 = load i32, ptr %32, align 4, !tbaa !9
  %2327 = zext i32 %2326 to i64
  %2328 = call i64 @i64_load(ptr noundef %2325, i64 noundef %2327)
  store i64 %2328, ptr %40, align 8, !tbaa !11
  %2329 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %2329, ptr %30, align 8, !tbaa !11
  %2330 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2330, ptr %32, align 4, !tbaa !9
  %2331 = load ptr, ptr %5, align 8, !tbaa !5
  %2332 = getelementptr inbounds %struct.w2c_hermes, ptr %2331, i32 0, i32 6
  %2333 = load i32, ptr %32, align 4, !tbaa !9
  %2334 = zext i32 %2333 to i64
  %2335 = add i64 %2334, 180
  %2336 = call i32 @i32_load(ptr noundef %2332, i64 noundef %2335)
  store i32 %2336, ptr %32, align 4, !tbaa !9
  %2337 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2337, ptr %6, align 4, !tbaa !9
  %2338 = load i32, ptr %32, align 4, !tbaa !9
  %2339 = icmp ne i32 %2338, 0
  br i1 %2339, label %2340, label %2593

2340:                                             ; preds = %2322
  %2341 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2341, ptr %32, align 4, !tbaa !9
  %2342 = load ptr, ptr %5, align 8, !tbaa !5
  %2343 = getelementptr inbounds %struct.w2c_hermes, ptr %2342, i32 0, i32 6
  %2344 = load i32, ptr %32, align 4, !tbaa !9
  %2345 = zext i32 %2344 to i64
  %2346 = add i64 %2345, 176
  %2347 = call i32 @i32_load(ptr noundef %2343, i64 noundef %2346)
  store i32 %2347, ptr %32, align 4, !tbaa !9
  %2348 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2348, ptr %9, align 4, !tbaa !9
  %2349 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2349, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %2350 = load i32, ptr %34, align 4, !tbaa !9
  %2351 = load i32, ptr %33, align 4, !tbaa !9
  %2352 = mul i32 %2351, %2350
  store i32 %2352, ptr %33, align 4, !tbaa !9
  %2353 = load i32, ptr %33, align 4, !tbaa !9
  %2354 = load i32, ptr %32, align 4, !tbaa !9
  %2355 = add i32 %2354, %2353
  store i32 %2355, ptr %32, align 4, !tbaa !9
  %2356 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2356, ptr %13, align 4, !tbaa !9
  %2357 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2357, ptr %32, align 4, !tbaa !9
  %2358 = load ptr, ptr %5, align 8, !tbaa !5
  %2359 = getelementptr inbounds %struct.w2c_hermes, ptr %2358, i32 0, i32 6
  %2360 = load i32, ptr %32, align 4, !tbaa !9
  %2361 = zext i32 %2360 to i64
  %2362 = add i64 %2361, 436
  %2363 = call i32 @i32_load(ptr noundef %2359, i64 noundef %2362)
  store i32 %2363, ptr %32, align 4, !tbaa !9
  %2364 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2364, ptr %14, align 4, !tbaa !9
  %2365 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2365, ptr %32, align 4, !tbaa !9
  %2366 = load ptr, ptr %5, align 8, !tbaa !5
  %2367 = getelementptr inbounds %struct.w2c_hermes, ptr %2366, i32 0, i32 6
  %2368 = load i32, ptr %32, align 4, !tbaa !9
  %2369 = zext i32 %2368 to i64
  %2370 = add i64 %2369, 444
  %2371 = call i32 @i32_load(ptr noundef %2367, i64 noundef %2370)
  store i32 %2371, ptr %32, align 4, !tbaa !9
  %2372 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2372, ptr %16, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  %2373 = load i32, ptr %33, align 4, !tbaa !9
  %2374 = and i32 %2373, 31
  %2375 = load i32, ptr %32, align 4, !tbaa !9
  %2376 = shl i32 %2375, %2374
  store i32 %2376, ptr %32, align 4, !tbaa !9
  %2377 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2377, ptr %19, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %2378 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2378, ptr %12, align 4, !tbaa !9
  br label %2379

2379:                                             ; preds = %2591, %2340
  %2380 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2380, ptr %32, align 4, !tbaa !9
  %2381 = load ptr, ptr %5, align 8, !tbaa !5
  %2382 = getelementptr inbounds %struct.w2c_hermes, ptr %2381, i32 0, i32 6
  %2383 = load i32, ptr %32, align 4, !tbaa !9
  %2384 = zext i32 %2383 to i64
  %2385 = add i64 %2384, 408
  %2386 = call i32 @i32_load(ptr noundef %2382, i64 noundef %2385)
  store i32 %2386, ptr %32, align 4, !tbaa !9
  %2387 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2387, ptr %33, align 4, !tbaa !9
  %2388 = load i32, ptr %33, align 4, !tbaa !9
  %2389 = load i32, ptr %32, align 4, !tbaa !9
  %2390 = add i32 %2389, %2388
  store i32 %2390, ptr %32, align 4, !tbaa !9
  %2391 = load ptr, ptr %5, align 8, !tbaa !5
  %2392 = getelementptr inbounds %struct.w2c_hermes, ptr %2391, i32 0, i32 6
  %2393 = load i32, ptr %32, align 4, !tbaa !9
  %2394 = zext i32 %2393 to i64
  %2395 = call i32 @i32_load(ptr noundef %2392, i64 noundef %2394)
  store i32 %2395, ptr %32, align 4, !tbaa !9
  %2396 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2396, ptr %6, align 4, !tbaa !9
  %2397 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2397, ptr %32, align 4, !tbaa !9
  %2398 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2398, ptr %33, align 4, !tbaa !9
  %2399 = load ptr, ptr %5, align 8, !tbaa !5
  %2400 = getelementptr inbounds %struct.w2c_hermes, ptr %2399, i32 0, i32 6
  %2401 = load i32, ptr %32, align 4, !tbaa !9
  %2402 = zext i32 %2401 to i64
  %2403 = add i64 %2402, 444
  %2404 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2400, i64 noundef %2403, i32 noundef %2404)
  %2405 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2405, ptr %32, align 4, !tbaa !9
  %2406 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2406, ptr %33, align 4, !tbaa !9
  %2407 = load ptr, ptr %5, align 8, !tbaa !5
  %2408 = getelementptr inbounds %struct.w2c_hermes, ptr %2407, i32 0, i32 6
  %2409 = load i32, ptr %32, align 4, !tbaa !9
  %2410 = zext i32 %2409 to i64
  %2411 = add i64 %2410, 436
  %2412 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2408, i64 noundef %2411, i32 noundef %2412)
  %2413 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2413, ptr %32, align 4, !tbaa !9
  %2414 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2414, ptr %33, align 4, !tbaa !9
  store i32 128, ptr %34, align 4, !tbaa !9
  %2415 = load i32, ptr %34, align 4, !tbaa !9
  %2416 = load i32, ptr %33, align 4, !tbaa !9
  %2417 = add i32 %2416, %2415
  store i32 %2417, ptr %33, align 4, !tbaa !9
  %2418 = load ptr, ptr %5, align 8, !tbaa !5
  %2419 = getelementptr inbounds %struct.w2c_hermes, ptr %2418, i32 0, i32 6
  %2420 = load i32, ptr %32, align 4, !tbaa !9
  %2421 = zext i32 %2420 to i64
  %2422 = add i64 %2421, 440
  %2423 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2419, i64 noundef %2422, i32 noundef %2423)
  %2424 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2424, ptr %32, align 4, !tbaa !9
  %2425 = load ptr, ptr %5, align 8, !tbaa !5
  %2426 = getelementptr inbounds %struct.w2c_hermes, ptr %2425, i32 0, i32 6
  %2427 = load i32, ptr %32, align 4, !tbaa !9
  %2428 = zext i32 %2427 to i64
  %2429 = add i64 %2428, 8
  %2430 = call i32 @i32_load8_u(ptr noundef %2426, i64 noundef %2429)
  store i32 %2430, ptr %32, align 4, !tbaa !9
  %2431 = load i32, ptr %32, align 4, !tbaa !9
  %2432 = icmp ne i32 %2431, 0
  %2433 = xor i1 %2432, true
  %2434 = zext i1 %2433 to i32
  store i32 %2434, ptr %32, align 4, !tbaa !9
  %2435 = load i32, ptr %32, align 4, !tbaa !9
  %2436 = icmp ne i32 %2435, 0
  br i1 %2436, label %2437, label %2451

2437:                                             ; preds = %2379
  %2438 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2438, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %2439 = load i32, ptr %33, align 4, !tbaa !9
  %2440 = load i32, ptr %32, align 4, !tbaa !9
  %2441 = add i32 %2440, %2439
  store i32 %2441, ptr %32, align 4, !tbaa !9
  %2442 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2442, ptr %33, align 4, !tbaa !9
  %2443 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2443, ptr %34, align 4, !tbaa !9
  %2444 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2444, ptr %35, align 4, !tbaa !9
  store i32 67208, ptr %36, align 4, !tbaa !9
  %2445 = load ptr, ptr %5, align 8, !tbaa !5
  %2446 = load i32, ptr %32, align 4, !tbaa !9
  %2447 = load i32, ptr %33, align 4, !tbaa !9
  %2448 = load i32, ptr %34, align 4, !tbaa !9
  %2449 = load i32, ptr %35, align 4, !tbaa !9
  %2450 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %2445, i32 noundef %2446, i32 noundef %2447, i32 noundef %2448, i32 noundef %2449, i32 noundef %2450)
  br label %2573

2451:                                             ; preds = %2379
  %2452 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2452, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %2453 = load i32, ptr %33, align 4, !tbaa !9
  %2454 = load i32, ptr %32, align 4, !tbaa !9
  %2455 = add i32 %2454, %2453
  store i32 %2455, ptr %32, align 4, !tbaa !9
  %2456 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2456, ptr %33, align 4, !tbaa !9
  %2457 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2457, ptr %34, align 4, !tbaa !9
  %2458 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2458, ptr %35, align 4, !tbaa !9
  %2459 = load ptr, ptr %5, align 8, !tbaa !5
  %2460 = getelementptr inbounds %struct.w2c_hermes, ptr %2459, i32 0, i32 6
  %2461 = load i32, ptr %35, align 4, !tbaa !9
  %2462 = zext i32 %2461 to i64
  %2463 = call i32 @i32_load(ptr noundef %2460, i64 noundef %2462)
  store i32 %2463, ptr %35, align 4, !tbaa !9
  %2464 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2464, ptr %36, align 4, !tbaa !9
  %2465 = load ptr, ptr %5, align 8, !tbaa !5
  %2466 = getelementptr inbounds %struct.w2c_hermes, ptr %2465, i32 0, i32 6
  %2467 = load i32, ptr %36, align 4, !tbaa !9
  %2468 = zext i32 %2467 to i64
  %2469 = add i64 %2468, 4
  %2470 = call i32 @i32_load(ptr noundef %2466, i64 noundef %2469)
  store i32 %2470, ptr %36, align 4, !tbaa !9
  %2471 = load ptr, ptr %5, align 8, !tbaa !5
  %2472 = load i32, ptr %32, align 4, !tbaa !9
  %2473 = load i32, ptr %33, align 4, !tbaa !9
  %2474 = load i32, ptr %34, align 4, !tbaa !9
  %2475 = load i32, ptr %35, align 4, !tbaa !9
  %2476 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3A0x3Aslice0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2471, i32 noundef %2472, i32 noundef %2473, i32 noundef %2474, i32 noundef %2475, i32 noundef %2476)
  %2477 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2477, ptr %32, align 4, !tbaa !9
  %2478 = load ptr, ptr %5, align 8, !tbaa !5
  %2479 = getelementptr inbounds %struct.w2c_hermes, ptr %2478, i32 0, i32 6
  %2480 = load i32, ptr %32, align 4, !tbaa !9
  %2481 = zext i32 %2480 to i64
  %2482 = add i64 %2481, 112
  %2483 = call i32 @i32_load(ptr noundef %2479, i64 noundef %2482)
  store i32 %2483, ptr %32, align 4, !tbaa !9
  %2484 = load i32, ptr %32, align 4, !tbaa !9
  %2485 = icmp ne i32 %2484, 0
  %2486 = xor i1 %2485, true
  %2487 = zext i1 %2486 to i32
  store i32 %2487, ptr %32, align 4, !tbaa !9
  %2488 = load i32, ptr %32, align 4, !tbaa !9
  %2489 = icmp ne i32 %2488, 0
  br i1 %2489, label %2490, label %2491

2490:                                             ; preds = %2451
  br label %5957

2491:                                             ; preds = %2451
  %2492 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2492, ptr %32, align 4, !tbaa !9
  %2493 = load ptr, ptr %5, align 8, !tbaa !5
  %2494 = getelementptr inbounds %struct.w2c_hermes, ptr %2493, i32 0, i32 6
  %2495 = load i32, ptr %32, align 4, !tbaa !9
  %2496 = zext i32 %2495 to i64
  %2497 = add i64 %2496, 120
  %2498 = call i64 @i64_load32_u(ptr noundef %2494, i64 noundef %2497)
  store i64 %2498, ptr %40, align 8, !tbaa !11
  store i64 -844424930131968, ptr %41, align 8, !tbaa !11
  %2499 = load i64, ptr %41, align 8, !tbaa !11
  %2500 = load i64, ptr %40, align 8, !tbaa !11
  %2501 = or i64 %2500, %2499
  store i64 %2501, ptr %40, align 8, !tbaa !11
  %2502 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %2502, ptr %29, align 8, !tbaa !11
  %2503 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2503, ptr %32, align 4, !tbaa !9
  %2504 = load ptr, ptr %5, align 8, !tbaa !5
  %2505 = getelementptr inbounds %struct.w2c_hermes, ptr %2504, i32 0, i32 6
  %2506 = load i32, ptr %32, align 4, !tbaa !9
  %2507 = zext i32 %2506 to i64
  %2508 = add i64 %2507, 4
  %2509 = call i32 @i32_load(ptr noundef %2505, i64 noundef %2508)
  store i32 %2509, ptr %32, align 4, !tbaa !9
  %2510 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2510, ptr %6, align 4, !tbaa !9
  %2511 = load ptr, ptr %5, align 8, !tbaa !5
  %2512 = getelementptr inbounds %struct.w2c_hermes, ptr %2511, i32 0, i32 6
  %2513 = load i32, ptr %32, align 4, !tbaa !9
  %2514 = zext i32 %2513 to i64
  %2515 = add i64 %2514, 164
  %2516 = call i32 @i32_load(ptr noundef %2512, i64 noundef %2515)
  store i32 %2516, ptr %32, align 4, !tbaa !9
  %2517 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2517, ptr %11, align 4, !tbaa !9
  %2518 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2518, ptr %33, align 4, !tbaa !9
  %2519 = load ptr, ptr %5, align 8, !tbaa !5
  %2520 = getelementptr inbounds %struct.w2c_hermes, ptr %2519, i32 0, i32 6
  %2521 = load i32, ptr %33, align 4, !tbaa !9
  %2522 = zext i32 %2521 to i64
  %2523 = add i64 %2522, 168
  %2524 = call i32 @i32_load(ptr noundef %2520, i64 noundef %2523)
  store i32 %2524, ptr %33, align 4, !tbaa !9
  %2525 = load i32, ptr %32, align 4, !tbaa !9
  %2526 = load i32, ptr %33, align 4, !tbaa !9
  %2527 = icmp ult i32 %2525, %2526
  %2528 = zext i1 %2527 to i32
  store i32 %2528, ptr %32, align 4, !tbaa !9
  %2529 = load i32, ptr %32, align 4, !tbaa !9
  %2530 = icmp ne i32 %2529, 0
  br i1 %2530, label %2531, label %2550

2531:                                             ; preds = %2491
  %2532 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2532, ptr %32, align 4, !tbaa !9
  %2533 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2533, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %2534 = load i32, ptr %34, align 4, !tbaa !9
  %2535 = load i32, ptr %33, align 4, !tbaa !9
  %2536 = add i32 %2535, %2534
  store i32 %2536, ptr %33, align 4, !tbaa !9
  %2537 = load ptr, ptr %5, align 8, !tbaa !5
  %2538 = getelementptr inbounds %struct.w2c_hermes, ptr %2537, i32 0, i32 6
  %2539 = load i32, ptr %32, align 4, !tbaa !9
  %2540 = zext i32 %2539 to i64
  %2541 = add i64 %2540, 164
  %2542 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2538, i64 noundef %2541, i32 noundef %2542)
  %2543 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2543, ptr %32, align 4, !tbaa !9
  %2544 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2544, ptr %41, align 8, !tbaa !11
  %2545 = load ptr, ptr %5, align 8, !tbaa !5
  %2546 = getelementptr inbounds %struct.w2c_hermes, ptr %2545, i32 0, i32 6
  %2547 = load i32, ptr %32, align 4, !tbaa !9
  %2548 = zext i32 %2547 to i64
  %2549 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2546, i64 noundef %2548, i64 noundef %2549)
  br label %2558

2550:                                             ; preds = %2491
  %2551 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2551, ptr %32, align 4, !tbaa !9
  %2552 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2552, ptr %41, align 8, !tbaa !11
  %2553 = load ptr, ptr %5, align 8, !tbaa !5
  %2554 = load i32, ptr %32, align 4, !tbaa !9
  %2555 = load i64, ptr %41, align 8, !tbaa !11
  %2556 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2553, i32 noundef %2554, i64 noundef %2555)
  store i32 %2556, ptr %32, align 4, !tbaa !9
  %2557 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2557, ptr %11, align 4, !tbaa !9
  br label %2558

2558:                                             ; preds = %2550, %2531
  %2559 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2559, ptr %32, align 4, !tbaa !9
  store i32 456, ptr %33, align 4, !tbaa !9
  %2560 = load i32, ptr %33, align 4, !tbaa !9
  %2561 = load i32, ptr %32, align 4, !tbaa !9
  %2562 = add i32 %2561, %2560
  store i32 %2562, ptr %32, align 4, !tbaa !9
  %2563 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2563, ptr %33, align 4, !tbaa !9
  %2564 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2564, ptr %34, align 4, !tbaa !9
  %2565 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2565, ptr %35, align 4, !tbaa !9
  %2566 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2566, ptr %36, align 4, !tbaa !9
  %2567 = load ptr, ptr %5, align 8, !tbaa !5
  %2568 = load i32, ptr %32, align 4, !tbaa !9
  %2569 = load i32, ptr %33, align 4, !tbaa !9
  %2570 = load i32, ptr %34, align 4, !tbaa !9
  %2571 = load i32, ptr %35, align 4, !tbaa !9
  %2572 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %2567, i32 noundef %2568, i32 noundef %2569, i32 noundef %2570, i32 noundef %2571, i32 noundef %2572)
  br label %2573

2573:                                             ; preds = %2558, %2437
  %2574 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2574, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2575 = load i32, ptr %33, align 4, !tbaa !9
  %2576 = load i32, ptr %32, align 4, !tbaa !9
  %2577 = add i32 %2576, %2575
  store i32 %2577, ptr %32, align 4, !tbaa !9
  %2578 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2578, ptr %12, align 4, !tbaa !9
  %2579 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2579, ptr %32, align 4, !tbaa !9
  store i32 12, ptr %33, align 4, !tbaa !9
  %2580 = load i32, ptr %33, align 4, !tbaa !9
  %2581 = load i32, ptr %32, align 4, !tbaa !9
  %2582 = add i32 %2581, %2580
  store i32 %2582, ptr %32, align 4, !tbaa !9
  %2583 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2583, ptr %9, align 4, !tbaa !9
  %2584 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2584, ptr %33, align 4, !tbaa !9
  %2585 = load i32, ptr %32, align 4, !tbaa !9
  %2586 = load i32, ptr %33, align 4, !tbaa !9
  %2587 = icmp ne i32 %2585, %2586
  %2588 = zext i1 %2587 to i32
  store i32 %2588, ptr %32, align 4, !tbaa !9
  %2589 = load i32, ptr %32, align 4, !tbaa !9
  %2590 = icmp ne i32 %2589, 0
  br i1 %2590, label %2591, label %2592

2591:                                             ; preds = %2573
  br label %2379

2592:                                             ; preds = %2573
  br label %2593

2593:                                             ; preds = %2592, %2322
  %2594 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2594, ptr %32, align 4, !tbaa !9
  store i32 64, ptr %33, align 4, !tbaa !9
  %2595 = load i32, ptr %33, align 4, !tbaa !9
  %2596 = load i32, ptr %32, align 4, !tbaa !9
  %2597 = and i32 %2596, %2595
  store i32 %2597, ptr %32, align 4, !tbaa !9
  %2598 = load i32, ptr %32, align 4, !tbaa !9
  %2599 = icmp ne i32 %2598, 0
  br i1 %2599, label %2600, label %4843

2600:                                             ; preds = %2593
  %2601 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2601, ptr %32, align 4, !tbaa !9
  store i64 17179869184, ptr %41, align 8, !tbaa !11
  %2602 = load ptr, ptr %5, align 8, !tbaa !5
  %2603 = getelementptr inbounds %struct.w2c_hermes, ptr %2602, i32 0, i32 6
  %2604 = load i32, ptr %32, align 4, !tbaa !9
  %2605 = zext i32 %2604 to i64
  %2606 = add i64 %2605, 40
  %2607 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2603, i64 noundef %2606, i64 noundef %2607)
  %2608 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2608, ptr %32, align 4, !tbaa !9
  %2609 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2609, ptr %33, align 4, !tbaa !9
  store i32 48, ptr %34, align 4, !tbaa !9
  %2610 = load i32, ptr %34, align 4, !tbaa !9
  %2611 = load i32, ptr %33, align 4, !tbaa !9
  %2612 = add i32 %2611, %2610
  store i32 %2612, ptr %33, align 4, !tbaa !9
  %2613 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2613, ptr %19, align 4, !tbaa !9
  %2614 = load ptr, ptr %5, align 8, !tbaa !5
  %2615 = getelementptr inbounds %struct.w2c_hermes, ptr %2614, i32 0, i32 6
  %2616 = load i32, ptr %32, align 4, !tbaa !9
  %2617 = zext i32 %2616 to i64
  %2618 = add i64 %2617, 36
  %2619 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2615, i64 noundef %2618, i32 noundef %2619)
  %2620 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2620, ptr %32, align 4, !tbaa !9
  %2621 = load ptr, ptr %5, align 8, !tbaa !5
  %2622 = getelementptr inbounds %struct.w2c_hermes, ptr %2621, i32 0, i32 6
  %2623 = load i32, ptr %32, align 4, !tbaa !9
  %2624 = zext i32 %2623 to i64
  %2625 = add i64 %2624, 180
  %2626 = call i32 @i32_load(ptr noundef %2622, i64 noundef %2625)
  store i32 %2626, ptr %32, align 4, !tbaa !9
  %2627 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2627, ptr %13, align 4, !tbaa !9
  %2628 = load i32, ptr %32, align 4, !tbaa !9
  %2629 = icmp ne i32 %2628, 0
  br i1 %2629, label %2630, label %2702

2630:                                             ; preds = %2600
  %2631 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2631, ptr %32, align 4, !tbaa !9
  %2632 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2632, ptr %9, align 4, !tbaa !9
  store i32 5, ptr %33, align 4, !tbaa !9
  %2633 = load i32, ptr %32, align 4, !tbaa !9
  %2634 = load i32, ptr %33, align 4, !tbaa !9
  %2635 = icmp uge i32 %2633, %2634
  %2636 = zext i1 %2635 to i32
  store i32 %2636, ptr %32, align 4, !tbaa !9
  %2637 = load i32, ptr %32, align 4, !tbaa !9
  %2638 = icmp ne i32 %2637, 0
  br i1 %2638, label %2639, label %2674

2639:                                             ; preds = %2630
  %2640 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2640, ptr %32, align 4, !tbaa !9
  store i32 36, ptr %33, align 4, !tbaa !9
  %2641 = load i32, ptr %33, align 4, !tbaa !9
  %2642 = load i32, ptr %32, align 4, !tbaa !9
  %2643 = add i32 %2642, %2641
  store i32 %2643, ptr %32, align 4, !tbaa !9
  %2644 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2644, ptr %33, align 4, !tbaa !9
  %2645 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2645, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %2646 = load ptr, ptr %5, align 8, !tbaa !5
  %2647 = load i32, ptr %32, align 4, !tbaa !9
  %2648 = load i32, ptr %33, align 4, !tbaa !9
  %2649 = load i32, ptr %34, align 4, !tbaa !9
  %2650 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2646, i32 noundef %2647, i32 noundef %2648, i32 noundef %2649, i32 noundef %2650)
  %2651 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2651, ptr %32, align 4, !tbaa !9
  %2652 = load ptr, ptr %5, align 8, !tbaa !5
  %2653 = getelementptr inbounds %struct.w2c_hermes, ptr %2652, i32 0, i32 6
  %2654 = load i32, ptr %32, align 4, !tbaa !9
  %2655 = zext i32 %2654 to i64
  %2656 = add i64 %2655, 180
  %2657 = call i32 @i32_load(ptr noundef %2653, i64 noundef %2656)
  store i32 %2657, ptr %32, align 4, !tbaa !9
  %2658 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2658, ptr %9, align 4, !tbaa !9
  %2659 = load i32, ptr %32, align 4, !tbaa !9
  %2660 = icmp ne i32 %2659, 0
  %2661 = xor i1 %2660, true
  %2662 = zext i1 %2661 to i32
  store i32 %2662, ptr %32, align 4, !tbaa !9
  %2663 = load i32, ptr %32, align 4, !tbaa !9
  %2664 = icmp ne i32 %2663, 0
  br i1 %2664, label %2665, label %2666

2665:                                             ; preds = %2639
  br label %2693

2666:                                             ; preds = %2639
  %2667 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2667, ptr %32, align 4, !tbaa !9
  %2668 = load ptr, ptr %5, align 8, !tbaa !5
  %2669 = getelementptr inbounds %struct.w2c_hermes, ptr %2668, i32 0, i32 6
  %2670 = load i32, ptr %32, align 4, !tbaa !9
  %2671 = zext i32 %2670 to i64
  %2672 = add i64 %2671, 36
  %2673 = call i32 @i32_load(ptr noundef %2669, i64 noundef %2672)
  store i32 %2673, ptr %32, align 4, !tbaa !9
  br label %2676

2674:                                             ; preds = %2630
  %2675 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2675, ptr %32, align 4, !tbaa !9
  br label %2676

2676:                                             ; preds = %2674, %2666
  %2677 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2677, ptr %33, align 4, !tbaa !9
  %2678 = load ptr, ptr %5, align 8, !tbaa !5
  %2679 = getelementptr inbounds %struct.w2c_hermes, ptr %2678, i32 0, i32 6
  %2680 = load i32, ptr %33, align 4, !tbaa !9
  %2681 = zext i32 %2680 to i64
  %2682 = add i64 %2681, 176
  %2683 = call i32 @i32_load(ptr noundef %2679, i64 noundef %2682)
  store i32 %2683, ptr %33, align 4, !tbaa !9
  %2684 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2684, ptr %34, align 4, !tbaa !9
  store i32 12, ptr %35, align 4, !tbaa !9
  %2685 = load i32, ptr %35, align 4, !tbaa !9
  %2686 = load i32, ptr %34, align 4, !tbaa !9
  %2687 = mul i32 %2686, %2685
  store i32 %2687, ptr %34, align 4, !tbaa !9
  %2688 = load ptr, ptr %5, align 8, !tbaa !5
  %2689 = load i32, ptr %32, align 4, !tbaa !9
  %2690 = load i32, ptr %33, align 4, !tbaa !9
  %2691 = load i32, ptr %34, align 4, !tbaa !9
  %2692 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %2688, i32 noundef %2689, i32 noundef %2690, i32 noundef %2691)
  store i32 %2692, ptr %32, align 4, !tbaa !9
  br label %2693

2693:                                             ; preds = %2676, %2665
  %2694 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2694, ptr %32, align 4, !tbaa !9
  %2695 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2695, ptr %33, align 4, !tbaa !9
  %2696 = load ptr, ptr %5, align 8, !tbaa !5
  %2697 = getelementptr inbounds %struct.w2c_hermes, ptr %2696, i32 0, i32 6
  %2698 = load i32, ptr %32, align 4, !tbaa !9
  %2699 = zext i32 %2698 to i64
  %2700 = add i64 %2699, 40
  %2701 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2697, i64 noundef %2700, i32 noundef %2701)
  br label %2702

2702:                                             ; preds = %2693, %2600
  store i32 -1, ptr %32, align 4, !tbaa !9
  %2703 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2703, ptr %33, align 4, !tbaa !9
  %2704 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2704, ptr %34, align 4, !tbaa !9
  %2705 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2705, ptr %35, align 4, !tbaa !9
  %2706 = load ptr, ptr %5, align 8, !tbaa !5
  %2707 = load i32, ptr %33, align 4, !tbaa !9
  %2708 = load i32, ptr %34, align 4, !tbaa !9
  %2709 = load i32, ptr %35, align 4, !tbaa !9
  %2710 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %2706, i32 noundef %2707, i32 noundef %2708, i32 noundef %2709)
  store i32 %2710, ptr %33, align 4, !tbaa !9
  %2711 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2711, ptr %6, align 4, !tbaa !9
  store i32 -1, ptr %34, align 4, !tbaa !9
  %2712 = load i32, ptr %33, align 4, !tbaa !9
  %2713 = load i32, ptr %34, align 4, !tbaa !9
  %2714 = icmp eq i32 %2712, %2713
  %2715 = zext i1 %2714 to i32
  store i32 %2715, ptr %33, align 4, !tbaa !9
  %2716 = load i32, ptr %33, align 4, !tbaa !9
  %2717 = icmp ne i32 %2716, 0
  br i1 %2717, label %2718, label %2719

2718:                                             ; preds = %2702
  br label %4745

2719:                                             ; preds = %2702
  %2720 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2720, ptr %32, align 4, !tbaa !9
  %2721 = load ptr, ptr %5, align 8, !tbaa !5
  %2722 = getelementptr inbounds %struct.w2c_hermes, ptr %2721, i32 0, i32 6
  %2723 = load i32, ptr %32, align 4, !tbaa !9
  %2724 = zext i32 %2723 to i64
  %2725 = call i64 @i64_load32_u(ptr noundef %2722, i64 noundef %2724)
  store i64 %2725, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %2726 = load i64, ptr %41, align 8, !tbaa !11
  %2727 = load i64, ptr %40, align 8, !tbaa !11
  %2728 = or i64 %2727, %2726
  store i64 %2728, ptr %40, align 8, !tbaa !11
  %2729 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %2729, ptr %29, align 8, !tbaa !11
  %2730 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2730, ptr %32, align 4, !tbaa !9
  %2731 = load ptr, ptr %5, align 8, !tbaa !5
  %2732 = getelementptr inbounds %struct.w2c_hermes, ptr %2731, i32 0, i32 6
  %2733 = load i32, ptr %32, align 4, !tbaa !9
  %2734 = zext i32 %2733 to i64
  %2735 = add i64 %2734, 4
  %2736 = call i32 @i32_load(ptr noundef %2732, i64 noundef %2735)
  store i32 %2736, ptr %32, align 4, !tbaa !9
  %2737 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2737, ptr %8, align 4, !tbaa !9
  %2738 = load ptr, ptr %5, align 8, !tbaa !5
  %2739 = getelementptr inbounds %struct.w2c_hermes, ptr %2738, i32 0, i32 6
  %2740 = load i32, ptr %32, align 4, !tbaa !9
  %2741 = zext i32 %2740 to i64
  %2742 = add i64 %2741, 164
  %2743 = call i32 @i32_load(ptr noundef %2739, i64 noundef %2742)
  store i32 %2743, ptr %32, align 4, !tbaa !9
  %2744 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2744, ptr %6, align 4, !tbaa !9
  %2745 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2745, ptr %33, align 4, !tbaa !9
  %2746 = load ptr, ptr %5, align 8, !tbaa !5
  %2747 = getelementptr inbounds %struct.w2c_hermes, ptr %2746, i32 0, i32 6
  %2748 = load i32, ptr %33, align 4, !tbaa !9
  %2749 = zext i32 %2748 to i64
  %2750 = add i64 %2749, 168
  %2751 = call i32 @i32_load(ptr noundef %2747, i64 noundef %2750)
  store i32 %2751, ptr %33, align 4, !tbaa !9
  %2752 = load i32, ptr %32, align 4, !tbaa !9
  %2753 = load i32, ptr %33, align 4, !tbaa !9
  %2754 = icmp ult i32 %2752, %2753
  %2755 = zext i1 %2754 to i32
  store i32 %2755, ptr %32, align 4, !tbaa !9
  %2756 = load i32, ptr %32, align 4, !tbaa !9
  %2757 = icmp ne i32 %2756, 0
  br i1 %2757, label %2758, label %2777

2758:                                             ; preds = %2719
  %2759 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2759, ptr %32, align 4, !tbaa !9
  %2760 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2760, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %2761 = load i32, ptr %34, align 4, !tbaa !9
  %2762 = load i32, ptr %33, align 4, !tbaa !9
  %2763 = add i32 %2762, %2761
  store i32 %2763, ptr %33, align 4, !tbaa !9
  %2764 = load ptr, ptr %5, align 8, !tbaa !5
  %2765 = getelementptr inbounds %struct.w2c_hermes, ptr %2764, i32 0, i32 6
  %2766 = load i32, ptr %32, align 4, !tbaa !9
  %2767 = zext i32 %2766 to i64
  %2768 = add i64 %2767, 164
  %2769 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2765, i64 noundef %2768, i32 noundef %2769)
  %2770 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2770, ptr %32, align 4, !tbaa !9
  %2771 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2771, ptr %41, align 8, !tbaa !11
  %2772 = load ptr, ptr %5, align 8, !tbaa !5
  %2773 = getelementptr inbounds %struct.w2c_hermes, ptr %2772, i32 0, i32 6
  %2774 = load i32, ptr %32, align 4, !tbaa !9
  %2775 = zext i32 %2774 to i64
  %2776 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2773, i64 noundef %2775, i64 noundef %2776)
  br label %2785

2777:                                             ; preds = %2719
  %2778 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2778, ptr %32, align 4, !tbaa !9
  %2779 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2779, ptr %41, align 8, !tbaa !11
  %2780 = load ptr, ptr %5, align 8, !tbaa !5
  %2781 = load i32, ptr %32, align 4, !tbaa !9
  %2782 = load i64, ptr %41, align 8, !tbaa !11
  %2783 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2780, i32 noundef %2781, i64 noundef %2782)
  store i32 %2783, ptr %32, align 4, !tbaa !9
  %2784 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2784, ptr %6, align 4, !tbaa !9
  br label %2785

2785:                                             ; preds = %2777, %2758
  %2786 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2786, ptr %32, align 4, !tbaa !9
  %2787 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2787, ptr %33, align 4, !tbaa !9
  %2788 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2788, ptr %34, align 4, !tbaa !9
  %2789 = load ptr, ptr %5, align 8, !tbaa !5
  %2790 = getelementptr inbounds %struct.w2c_hermes, ptr %2789, i32 0, i32 6
  %2791 = load i32, ptr %34, align 4, !tbaa !9
  %2792 = zext i32 %2791 to i64
  %2793 = add i64 %2792, 40
  %2794 = call i32 @i32_load(ptr noundef %2790, i64 noundef %2793)
  store i32 %2794, ptr %34, align 4, !tbaa !9
  %2795 = load ptr, ptr %5, align 8, !tbaa !5
  %2796 = load i32, ptr %32, align 4, !tbaa !9
  %2797 = load i32, ptr %33, align 4, !tbaa !9
  %2798 = load i32, ptr %34, align 4, !tbaa !9
  %2799 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3AsetStorageEndIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayImpl0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %2795, i32 noundef %2796, i32 noundef %2797, i32 noundef %2798)
  store i32 %2799, ptr %32, align 4, !tbaa !9
  %2800 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2800, ptr %32, align 4, !tbaa !9
  %2801 = load ptr, ptr %5, align 8, !tbaa !5
  %2802 = getelementptr inbounds %struct.w2c_hermes, ptr %2801, i32 0, i32 6
  %2803 = load i32, ptr %32, align 4, !tbaa !9
  %2804 = zext i32 %2803 to i64
  %2805 = add i64 %2804, 4
  %2806 = call i32 @i32_load(ptr noundef %2802, i64 noundef %2805)
  store i32 %2806, ptr %32, align 4, !tbaa !9
  %2807 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2807, ptr %8, align 4, !tbaa !9
  %2808 = load ptr, ptr %5, align 8, !tbaa !5
  %2809 = getelementptr inbounds %struct.w2c_hermes, ptr %2808, i32 0, i32 6
  %2810 = load i32, ptr %32, align 4, !tbaa !9
  %2811 = zext i32 %2810 to i64
  %2812 = add i64 %2811, 164
  %2813 = call i32 @i32_load(ptr noundef %2809, i64 noundef %2812)
  store i32 %2813, ptr %32, align 4, !tbaa !9
  %2814 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2814, ptr %15, align 4, !tbaa !9
  %2815 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2815, ptr %33, align 4, !tbaa !9
  %2816 = load ptr, ptr %5, align 8, !tbaa !5
  %2817 = getelementptr inbounds %struct.w2c_hermes, ptr %2816, i32 0, i32 6
  %2818 = load i32, ptr %33, align 4, !tbaa !9
  %2819 = zext i32 %2818 to i64
  %2820 = add i64 %2819, 168
  %2821 = call i32 @i32_load(ptr noundef %2817, i64 noundef %2820)
  store i32 %2821, ptr %33, align 4, !tbaa !9
  %2822 = load i32, ptr %32, align 4, !tbaa !9
  %2823 = load i32, ptr %33, align 4, !tbaa !9
  %2824 = icmp ult i32 %2822, %2823
  %2825 = zext i1 %2824 to i32
  store i32 %2825, ptr %32, align 4, !tbaa !9
  %2826 = load i32, ptr %32, align 4, !tbaa !9
  %2827 = icmp ne i32 %2826, 0
  br i1 %2827, label %2828, label %2846

2828:                                             ; preds = %2785
  %2829 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2829, ptr %32, align 4, !tbaa !9
  %2830 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2830, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %2831 = load i32, ptr %34, align 4, !tbaa !9
  %2832 = load i32, ptr %33, align 4, !tbaa !9
  %2833 = add i32 %2832, %2831
  store i32 %2833, ptr %33, align 4, !tbaa !9
  %2834 = load ptr, ptr %5, align 8, !tbaa !5
  %2835 = getelementptr inbounds %struct.w2c_hermes, ptr %2834, i32 0, i32 6
  %2836 = load i32, ptr %32, align 4, !tbaa !9
  %2837 = zext i32 %2836 to i64
  %2838 = add i64 %2837, 164
  %2839 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2835, i64 noundef %2838, i32 noundef %2839)
  %2840 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2840, ptr %32, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %41, align 8, !tbaa !11
  %2841 = load ptr, ptr %5, align 8, !tbaa !5
  %2842 = getelementptr inbounds %struct.w2c_hermes, ptr %2841, i32 0, i32 6
  %2843 = load i32, ptr %32, align 4, !tbaa !9
  %2844 = zext i32 %2843 to i64
  %2845 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2842, i64 noundef %2844, i64 noundef %2845)
  br label %2853

2846:                                             ; preds = %2785
  %2847 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2847, ptr %32, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %41, align 8, !tbaa !11
  %2848 = load ptr, ptr %5, align 8, !tbaa !5
  %2849 = load i32, ptr %32, align 4, !tbaa !9
  %2850 = load i64, ptr %41, align 8, !tbaa !11
  %2851 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2848, i32 noundef %2849, i64 noundef %2850)
  store i32 %2851, ptr %32, align 4, !tbaa !9
  %2852 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2852, ptr %15, align 4, !tbaa !9
  br label %2853

2853:                                             ; preds = %2846, %2828
  %2854 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2854, ptr %32, align 4, !tbaa !9
  %2855 = load i32, ptr %32, align 4, !tbaa !9
  %2856 = icmp ne i32 %2855, 0
  br i1 %2856, label %2857, label %3794

2857:                                             ; preds = %2853
  %2858 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2858, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %2859 = load i32, ptr %33, align 4, !tbaa !9
  %2860 = load i32, ptr %32, align 4, !tbaa !9
  %2861 = add i32 %2860, %2859
  store i32 %2861, ptr %32, align 4, !tbaa !9
  %2862 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2862, ptr %14, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %2863 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2863, ptr %12, align 4, !tbaa !9
  br label %2864

2864:                                             ; preds = %3792, %2857
  %2865 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2865, ptr %32, align 4, !tbaa !9
  %2866 = load ptr, ptr %5, align 8, !tbaa !5
  %2867 = getelementptr inbounds %struct.w2c_hermes, ptr %2866, i32 0, i32 6
  %2868 = load i32, ptr %32, align 4, !tbaa !9
  %2869 = zext i32 %2868 to i64
  %2870 = add i64 %2869, 36
  %2871 = call i32 @i32_load(ptr noundef %2867, i64 noundef %2870)
  store i32 %2871, ptr %32, align 4, !tbaa !9
  %2872 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2872, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %2873 = load i32, ptr %34, align 4, !tbaa !9
  %2874 = load i32, ptr %33, align 4, !tbaa !9
  %2875 = mul i32 %2874, %2873
  store i32 %2875, ptr %33, align 4, !tbaa !9
  %2876 = load i32, ptr %33, align 4, !tbaa !9
  %2877 = load i32, ptr %32, align 4, !tbaa !9
  %2878 = add i32 %2877, %2876
  store i32 %2878, ptr %32, align 4, !tbaa !9
  %2879 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2879, ptr %8, align 4, !tbaa !9
  %2880 = load ptr, ptr %5, align 8, !tbaa !5
  %2881 = getelementptr inbounds %struct.w2c_hermes, ptr %2880, i32 0, i32 6
  %2882 = load i32, ptr %32, align 4, !tbaa !9
  %2883 = zext i32 %2882 to i64
  %2884 = add i64 %2883, 4
  %2885 = call i32 @i32_load(ptr noundef %2881, i64 noundef %2884)
  store i32 %2885, ptr %32, align 4, !tbaa !9
  %2886 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2886, ptr %20, align 4, !tbaa !9
  %2887 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2887, ptr %32, align 4, !tbaa !9
  %2888 = load ptr, ptr %5, align 8, !tbaa !5
  %2889 = getelementptr inbounds %struct.w2c_hermes, ptr %2888, i32 0, i32 6
  %2890 = load i32, ptr %32, align 4, !tbaa !9
  %2891 = zext i32 %2890 to i64
  %2892 = call i32 @i32_load(ptr noundef %2889, i64 noundef %2891)
  store i32 %2892, ptr %32, align 4, !tbaa !9
  %2893 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2893, ptr %11, align 4, !tbaa !9
  store i32 67208, ptr %32, align 4, !tbaa !9
  %2894 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2894, ptr %9, align 4, !tbaa !9
  %2895 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2895, ptr %32, align 4, !tbaa !9
  %2896 = load ptr, ptr %5, align 8, !tbaa !5
  %2897 = getelementptr inbounds %struct.w2c_hermes, ptr %2896, i32 0, i32 6
  %2898 = load i32, ptr %32, align 4, !tbaa !9
  %2899 = zext i32 %2898 to i64
  %2900 = add i64 %2899, 8
  %2901 = call i32 @i32_load8_u(ptr noundef %2897, i64 noundef %2900)
  store i32 %2901, ptr %32, align 4, !tbaa !9
  %2902 = load i32, ptr %32, align 4, !tbaa !9
  %2903 = icmp ne i32 %2902, 0
  br i1 %2903, label %2904, label %3424

2904:                                             ; preds = %2864
  store i32 -1, ptr %32, align 4, !tbaa !9
  %2905 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2905, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %2906 = load ptr, ptr %5, align 8, !tbaa !5
  %2907 = load i32, ptr %33, align 4, !tbaa !9
  %2908 = load i32, ptr %34, align 4, !tbaa !9
  %2909 = load i32, ptr %35, align 4, !tbaa !9
  %2910 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %2906, i32 noundef %2907, i32 noundef %2908, i32 noundef %2909)
  store i32 %2910, ptr %33, align 4, !tbaa !9
  %2911 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2911, ptr %8, align 4, !tbaa !9
  store i32 -1, ptr %34, align 4, !tbaa !9
  %2912 = load i32, ptr %33, align 4, !tbaa !9
  %2913 = load i32, ptr %34, align 4, !tbaa !9
  %2914 = icmp eq i32 %2912, %2913
  %2915 = zext i1 %2914 to i32
  store i32 %2915, ptr %33, align 4, !tbaa !9
  %2916 = load i32, ptr %33, align 4, !tbaa !9
  %2917 = icmp ne i32 %2916, 0
  br i1 %2917, label %2918, label %2919

2918:                                             ; preds = %2904
  br label %4745

2919:                                             ; preds = %2904
  %2920 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2920, ptr %32, align 4, !tbaa !9
  %2921 = load ptr, ptr %5, align 8, !tbaa !5
  %2922 = getelementptr inbounds %struct.w2c_hermes, ptr %2921, i32 0, i32 6
  %2923 = load i32, ptr %32, align 4, !tbaa !9
  %2924 = zext i32 %2923 to i64
  %2925 = call i64 @i64_load32_u(ptr noundef %2922, i64 noundef %2924)
  store i64 %2925, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %2926 = load i64, ptr %41, align 8, !tbaa !11
  %2927 = load i64, ptr %40, align 8, !tbaa !11
  %2928 = or i64 %2927, %2926
  store i64 %2928, ptr %40, align 8, !tbaa !11
  %2929 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %2929, ptr %29, align 8, !tbaa !11
  %2930 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2930, ptr %32, align 4, !tbaa !9
  %2931 = load ptr, ptr %5, align 8, !tbaa !5
  %2932 = getelementptr inbounds %struct.w2c_hermes, ptr %2931, i32 0, i32 6
  %2933 = load i32, ptr %32, align 4, !tbaa !9
  %2934 = zext i32 %2933 to i64
  %2935 = add i64 %2934, 4
  %2936 = call i32 @i32_load(ptr noundef %2932, i64 noundef %2935)
  store i32 %2936, ptr %32, align 4, !tbaa !9
  %2937 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2937, ptr %8, align 4, !tbaa !9
  %2938 = load ptr, ptr %5, align 8, !tbaa !5
  %2939 = getelementptr inbounds %struct.w2c_hermes, ptr %2938, i32 0, i32 6
  %2940 = load i32, ptr %32, align 4, !tbaa !9
  %2941 = zext i32 %2940 to i64
  %2942 = add i64 %2941, 164
  %2943 = call i32 @i32_load(ptr noundef %2939, i64 noundef %2942)
  store i32 %2943, ptr %32, align 4, !tbaa !9
  %2944 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2944, ptr %9, align 4, !tbaa !9
  %2945 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2945, ptr %33, align 4, !tbaa !9
  %2946 = load ptr, ptr %5, align 8, !tbaa !5
  %2947 = getelementptr inbounds %struct.w2c_hermes, ptr %2946, i32 0, i32 6
  %2948 = load i32, ptr %33, align 4, !tbaa !9
  %2949 = zext i32 %2948 to i64
  %2950 = add i64 %2949, 168
  %2951 = call i32 @i32_load(ptr noundef %2947, i64 noundef %2950)
  store i32 %2951, ptr %33, align 4, !tbaa !9
  %2952 = load i32, ptr %32, align 4, !tbaa !9
  %2953 = load i32, ptr %33, align 4, !tbaa !9
  %2954 = icmp ult i32 %2952, %2953
  %2955 = zext i1 %2954 to i32
  store i32 %2955, ptr %32, align 4, !tbaa !9
  %2956 = load i32, ptr %32, align 4, !tbaa !9
  %2957 = icmp ne i32 %2956, 0
  br i1 %2957, label %2958, label %2977

2958:                                             ; preds = %2919
  %2959 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2959, ptr %32, align 4, !tbaa !9
  %2960 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2960, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %2961 = load i32, ptr %34, align 4, !tbaa !9
  %2962 = load i32, ptr %33, align 4, !tbaa !9
  %2963 = add i32 %2962, %2961
  store i32 %2963, ptr %33, align 4, !tbaa !9
  %2964 = load ptr, ptr %5, align 8, !tbaa !5
  %2965 = getelementptr inbounds %struct.w2c_hermes, ptr %2964, i32 0, i32 6
  %2966 = load i32, ptr %32, align 4, !tbaa !9
  %2967 = zext i32 %2966 to i64
  %2968 = add i64 %2967, 164
  %2969 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2965, i64 noundef %2968, i32 noundef %2969)
  %2970 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2970, ptr %32, align 4, !tbaa !9
  %2971 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2971, ptr %41, align 8, !tbaa !11
  %2972 = load ptr, ptr %5, align 8, !tbaa !5
  %2973 = getelementptr inbounds %struct.w2c_hermes, ptr %2972, i32 0, i32 6
  %2974 = load i32, ptr %32, align 4, !tbaa !9
  %2975 = zext i32 %2974 to i64
  %2976 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2973, i64 noundef %2975, i64 noundef %2976)
  br label %2985

2977:                                             ; preds = %2919
  %2978 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2978, ptr %32, align 4, !tbaa !9
  %2979 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %2979, ptr %41, align 8, !tbaa !11
  %2980 = load ptr, ptr %5, align 8, !tbaa !5
  %2981 = load i32, ptr %32, align 4, !tbaa !9
  %2982 = load i64, ptr %41, align 8, !tbaa !11
  %2983 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %2980, i32 noundef %2981, i64 noundef %2982)
  store i32 %2983, ptr %32, align 4, !tbaa !9
  %2984 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2984, ptr %9, align 4, !tbaa !9
  br label %2985

2985:                                             ; preds = %2977, %2958
  %2986 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2986, ptr %32, align 4, !tbaa !9
  %2987 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2987, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %2988 = load ptr, ptr %5, align 8, !tbaa !5
  %2989 = load i32, ptr %32, align 4, !tbaa !9
  %2990 = load i32, ptr %33, align 4, !tbaa !9
  %2991 = load i32, ptr %34, align 4, !tbaa !9
  %2992 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3AsetStorageEndIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayImpl0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %2988, i32 noundef %2989, i32 noundef %2990, i32 noundef %2991)
  store i32 %2992, ptr %32, align 4, !tbaa !9
  %2993 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2993, ptr %32, align 4, !tbaa !9
  %2994 = load i32, ptr %32, align 4, !tbaa !9
  %2995 = uitofp i32 %2994 to double
  store double %2995, ptr %45, align 8, !tbaa !13
  %2996 = load double, ptr %45, align 8, !tbaa !13
  store double %2996, ptr %31, align 8, !tbaa !13
  %2997 = load double, ptr %45, align 8, !tbaa !13
  %2998 = call i64 @i64_reinterpret_f64(double noundef %2997)
  store i64 %2998, ptr %40, align 8, !tbaa !11
  %2999 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2999, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %3000 = load i32, ptr %34, align 4, !tbaa !9
  %3001 = and i32 %3000, 31
  %3002 = load i32, ptr %33, align 4, !tbaa !9
  %3003 = shl i32 %3002, %3001
  store i32 %3003, ptr %33, align 4, !tbaa !9
  %3004 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3004, ptr %8, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %3005 = load i32, ptr %33, align 4, !tbaa !9
  %3006 = load i32, ptr %34, align 4, !tbaa !9
  %3007 = and i32 %3006, 31
  %3008 = ashr i32 %3005, %3007
  store i32 %3008, ptr %33, align 4, !tbaa !9
  %3009 = load i32, ptr %33, align 4, !tbaa !9
  %3010 = sitofp i32 %3009 to double
  store double %3010, ptr %46, align 8, !tbaa !13
  %3011 = load double, ptr %46, align 8, !tbaa !13
  %3012 = call i64 @i64_reinterpret_f64(double noundef %3011)
  store i64 %3012, ptr %41, align 8, !tbaa !11
  %3013 = load i64, ptr %40, align 8, !tbaa !11
  %3014 = load i64, ptr %41, align 8, !tbaa !11
  %3015 = icmp eq i64 %3013, %3014
  %3016 = zext i1 %3015 to i32
  store i32 %3016, ptr %32, align 4, !tbaa !9
  %3017 = load i32, ptr %32, align 4, !tbaa !9
  %3018 = icmp ne i32 %3017, 0
  br i1 %3018, label %3019, label %3024

3019:                                             ; preds = %2985
  %3020 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3020, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %3021 = load i32, ptr %33, align 4, !tbaa !9
  %3022 = load i32, ptr %32, align 4, !tbaa !9
  %3023 = or i32 %3022, %3021
  store i32 %3023, ptr %32, align 4, !tbaa !9
  br label %3087

3024:                                             ; preds = %2985
  %3025 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3025, ptr %32, align 4, !tbaa !9
  %3026 = load ptr, ptr %5, align 8, !tbaa !5
  %3027 = getelementptr inbounds %struct.w2c_hermes, ptr %3026, i32 0, i32 6
  %3028 = load i32, ptr %32, align 4, !tbaa !9
  %3029 = zext i32 %3028 to i64
  %3030 = add i64 %3029, 1368
  %3031 = call i32 @i32_load(ptr noundef %3027, i64 noundef %3030)
  store i32 %3031, ptr %32, align 4, !tbaa !9
  %3032 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3032, ptr %33, align 4, !tbaa !9
  %3033 = load ptr, ptr %5, align 8, !tbaa !5
  %3034 = getelementptr inbounds %struct.w2c_hermes, ptr %3033, i32 0, i32 6
  %3035 = load i32, ptr %33, align 4, !tbaa !9
  %3036 = zext i32 %3035 to i64
  %3037 = add i64 %3036, 1364
  %3038 = call i32 @i32_load(ptr noundef %3034, i64 noundef %3037)
  store i32 %3038, ptr %33, align 4, !tbaa !9
  %3039 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3039, ptr %8, align 4, !tbaa !9
  %3040 = load i32, ptr %33, align 4, !tbaa !9
  %3041 = load i32, ptr %32, align 4, !tbaa !9
  %3042 = sub i32 %3041, %3040
  store i32 %3042, ptr %32, align 4, !tbaa !9
  store i32 15, ptr %33, align 4, !tbaa !9
  %3043 = load i32, ptr %32, align 4, !tbaa !9
  %3044 = load i32, ptr %33, align 4, !tbaa !9
  %3045 = icmp ule i32 %3043, %3044
  %3046 = zext i1 %3045 to i32
  store i32 %3046, ptr %32, align 4, !tbaa !9
  %3047 = load i32, ptr %32, align 4, !tbaa !9
  %3048 = icmp ne i32 %3047, 0
  br i1 %3048, label %3049, label %3056

3049:                                             ; preds = %3024
  %3050 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3050, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %3051 = load ptr, ptr %5, align 8, !tbaa !5
  %3052 = load i32, ptr %32, align 4, !tbaa !9
  %3053 = load i32, ptr %33, align 4, !tbaa !9
  %3054 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %3051, i32 noundef %3052, i32 noundef %3053)
  store i32 %3054, ptr %32, align 4, !tbaa !9
  %3055 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3055, ptr %8, align 4, !tbaa !9
  br label %3068

3056:                                             ; preds = %3024
  %3057 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3057, ptr %32, align 4, !tbaa !9
  %3058 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3058, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %3059 = load i32, ptr %34, align 4, !tbaa !9
  %3060 = load i32, ptr %33, align 4, !tbaa !9
  %3061 = add i32 %3060, %3059
  store i32 %3061, ptr %33, align 4, !tbaa !9
  %3062 = load ptr, ptr %5, align 8, !tbaa !5
  %3063 = getelementptr inbounds %struct.w2c_hermes, ptr %3062, i32 0, i32 6
  %3064 = load i32, ptr %32, align 4, !tbaa !9
  %3065 = zext i32 %3064 to i64
  %3066 = add i64 %3065, 1364
  %3067 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3063, i64 noundef %3066, i32 noundef %3067)
  br label %3068

3068:                                             ; preds = %3056, %3049
  %3069 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3069, ptr %32, align 4, !tbaa !9
  store i32 402653200, ptr %33, align 4, !tbaa !9
  %3070 = load ptr, ptr %5, align 8, !tbaa !5
  %3071 = getelementptr inbounds %struct.w2c_hermes, ptr %3070, i32 0, i32 6
  %3072 = load i32, ptr %32, align 4, !tbaa !9
  %3073 = zext i32 %3072 to i64
  %3074 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3071, i64 noundef %3073, i32 noundef %3074)
  %3075 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3075, ptr %32, align 4, !tbaa !9
  %3076 = load double, ptr %31, align 8, !tbaa !13
  store double %3076, ptr %46, align 8, !tbaa !13
  %3077 = load ptr, ptr %5, align 8, !tbaa !5
  %3078 = getelementptr inbounds %struct.w2c_hermes, ptr %3077, i32 0, i32 6
  %3079 = load i32, ptr %32, align 4, !tbaa !9
  %3080 = zext i32 %3079 to i64
  %3081 = add i64 %3080, 8
  %3082 = load double, ptr %46, align 8, !tbaa !13
  call void @f64_store(ptr noundef %3078, i64 noundef %3081, double noundef %3082)
  %3083 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3083, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %3084 = load i32, ptr %33, align 4, !tbaa !9
  %3085 = load i32, ptr %32, align 4, !tbaa !9
  %3086 = or i32 %3085, %3084
  store i32 %3086, ptr %32, align 4, !tbaa !9
  br label %3087

3087:                                             ; preds = %3068, %3019
  %3088 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3088, ptr %8, align 4, !tbaa !9
  %3089 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3089, ptr %32, align 4, !tbaa !9
  %3090 = load ptr, ptr %5, align 8, !tbaa !5
  %3091 = getelementptr inbounds %struct.w2c_hermes, ptr %3090, i32 0, i32 6
  %3092 = load i32, ptr %32, align 4, !tbaa !9
  %3093 = zext i32 %3092 to i64
  %3094 = call i32 @i32_load(ptr noundef %3091, i64 noundef %3093)
  store i32 %3094, ptr %32, align 4, !tbaa !9
  %3095 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3095, ptr %18, align 4, !tbaa !9
  %3096 = load ptr, ptr %5, align 8, !tbaa !5
  %3097 = getelementptr inbounds %struct.w2c_hermes, ptr %3096, i32 0, i32 6
  %3098 = load i32, ptr %32, align 4, !tbaa !9
  %3099 = zext i32 %3098 to i64
  %3100 = add i64 %3099, 28
  %3101 = call i32 @i32_load(ptr noundef %3097, i64 noundef %3100)
  store i32 %3101, ptr %32, align 4, !tbaa !9
  %3102 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3102, ptr %16, align 4, !tbaa !9
  %3103 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3103, ptr %32, align 4, !tbaa !9
  %3104 = load ptr, ptr %5, align 8, !tbaa !5
  %3105 = getelementptr inbounds %struct.w2c_hermes, ptr %3104, i32 0, i32 6
  %3106 = load i32, ptr %32, align 4, !tbaa !9
  %3107 = zext i32 %3106 to i64
  %3108 = add i64 %3107, 1356
  %3109 = call i32 @i32_load(ptr noundef %3105, i64 noundef %3108)
  store i32 %3109, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %3110 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3110, ptr %34, align 4, !tbaa !9
  %3111 = load ptr, ptr %5, align 8, !tbaa !5
  %3112 = getelementptr inbounds %struct.w2c_hermes, ptr %3111, i32 0, i32 6
  %3113 = load i32, ptr %34, align 4, !tbaa !9
  %3114 = zext i32 %3113 to i64
  %3115 = add i64 %3114, 20
  %3116 = call i32 @i32_load(ptr noundef %3112, i64 noundef %3115)
  store i32 %3116, ptr %34, align 4, !tbaa !9
  %3117 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3117, ptr %24, align 4, !tbaa !9
  %3118 = load i32, ptr %34, align 4, !tbaa !9
  %3119 = load i32, ptr %33, align 4, !tbaa !9
  %3120 = sub i32 %3119, %3118
  store i32 %3120, ptr %33, align 4, !tbaa !9
  %3121 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3121, ptr %18, align 4, !tbaa !9
  store i32 4095, ptr %34, align 4, !tbaa !9
  %3122 = load i32, ptr %33, align 4, !tbaa !9
  %3123 = load i32, ptr %34, align 4, !tbaa !9
  %3124 = icmp ule i32 %3122, %3123
  %3125 = zext i1 %3124 to i32
  store i32 %3125, ptr %33, align 4, !tbaa !9
  %3126 = load i32, ptr %33, align 4, !tbaa !9
  %3127 = icmp ne i32 %3126, 0
  br i1 %3127, label %3128, label %3141

3128:                                             ; preds = %3087
  %3129 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3129, ptr %33, align 4, !tbaa !9
  %3130 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3130, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3131 = load i32, ptr %35, align 4, !tbaa !9
  %3132 = and i32 %3131, 31
  %3133 = load i32, ptr %34, align 4, !tbaa !9
  %3134 = shl i32 %3133, %3132
  store i32 %3134, ptr %34, align 4, !tbaa !9
  %3135 = load i32, ptr %34, align 4, !tbaa !9
  %3136 = load i32, ptr %33, align 4, !tbaa !9
  %3137 = add i32 %3136, %3135
  store i32 %3137, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3138 = load i32, ptr %34, align 4, !tbaa !9
  %3139 = load i32, ptr %33, align 4, !tbaa !9
  %3140 = add i32 %3139, %3138
  store i32 %3140, ptr %33, align 4, !tbaa !9
  br label %3179

3141:                                             ; preds = %3087
  %3142 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3142, ptr %33, align 4, !tbaa !9
  store i32 -4096, ptr %34, align 4, !tbaa !9
  %3143 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3143, ptr %35, align 4, !tbaa !9
  %3144 = load i32, ptr %35, align 4, !tbaa !9
  %3145 = load i32, ptr %34, align 4, !tbaa !9
  %3146 = sub i32 %3145, %3144
  store i32 %3146, ptr %34, align 4, !tbaa !9
  store i32 8, ptr %35, align 4, !tbaa !9
  %3147 = load i32, ptr %35, align 4, !tbaa !9
  %3148 = and i32 %3147, 31
  %3149 = load i32, ptr %34, align 4, !tbaa !9
  %3150 = lshr i32 %3149, %3148
  store i32 %3150, ptr %34, align 4, !tbaa !9
  store i32 16777212, ptr %35, align 4, !tbaa !9
  %3151 = load i32, ptr %35, align 4, !tbaa !9
  %3152 = load i32, ptr %34, align 4, !tbaa !9
  %3153 = and i32 %3152, %3151
  store i32 %3153, ptr %34, align 4, !tbaa !9
  %3154 = load i32, ptr %34, align 4, !tbaa !9
  %3155 = load i32, ptr %33, align 4, !tbaa !9
  %3156 = add i32 %3155, %3154
  store i32 %3156, ptr %33, align 4, !tbaa !9
  store i32 16392, ptr %34, align 4, !tbaa !9
  %3157 = load i32, ptr %34, align 4, !tbaa !9
  %3158 = load i32, ptr %33, align 4, !tbaa !9
  %3159 = add i32 %3158, %3157
  store i32 %3159, ptr %33, align 4, !tbaa !9
  %3160 = load ptr, ptr %5, align 8, !tbaa !5
  %3161 = getelementptr inbounds %struct.w2c_hermes, ptr %3160, i32 0, i32 6
  %3162 = load i32, ptr %33, align 4, !tbaa !9
  %3163 = zext i32 %3162 to i64
  %3164 = call i32 @i32_load(ptr noundef %3161, i64 noundef %3163)
  store i32 %3164, ptr %33, align 4, !tbaa !9
  %3165 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3165, ptr %34, align 4, !tbaa !9
  store i32 1023, ptr %35, align 4, !tbaa !9
  %3166 = load i32, ptr %35, align 4, !tbaa !9
  %3167 = load i32, ptr %34, align 4, !tbaa !9
  %3168 = and i32 %3167, %3166
  store i32 %3168, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3169 = load i32, ptr %35, align 4, !tbaa !9
  %3170 = and i32 %3169, 31
  %3171 = load i32, ptr %34, align 4, !tbaa !9
  %3172 = shl i32 %3171, %3170
  store i32 %3172, ptr %34, align 4, !tbaa !9
  %3173 = load i32, ptr %34, align 4, !tbaa !9
  %3174 = load i32, ptr %33, align 4, !tbaa !9
  %3175 = add i32 %3174, %3173
  store i32 %3175, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3176 = load i32, ptr %34, align 4, !tbaa !9
  %3177 = load i32, ptr %33, align 4, !tbaa !9
  %3178 = add i32 %3177, %3176
  store i32 %3178, ptr %33, align 4, !tbaa !9
  br label %3179

3179:                                             ; preds = %3141, %3128
  %3180 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3180, ptr %16, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %3181 = load i32, ptr %34, align 4, !tbaa !9
  %3182 = load i32, ptr %33, align 4, !tbaa !9
  %3183 = and i32 %3182, %3181
  store i32 %3183, ptr %33, align 4, !tbaa !9
  %3184 = load i32, ptr %32, align 4, !tbaa !9
  %3185 = load i32, ptr %33, align 4, !tbaa !9
  %3186 = icmp ne i32 %3184, %3185
  %3187 = zext i1 %3186 to i32
  store i32 %3187, ptr %32, align 4, !tbaa !9
  %3188 = load i32, ptr %32, align 4, !tbaa !9
  %3189 = icmp ne i32 %3188, 0
  br i1 %3189, label %3190, label %3198

3190:                                             ; preds = %3179
  %3191 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3191, ptr %32, align 4, !tbaa !9
  %3192 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3192, ptr %33, align 4, !tbaa !9
  %3193 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3193, ptr %34, align 4, !tbaa !9
  %3194 = load ptr, ptr %5, align 8, !tbaa !5
  %3195 = load i32, ptr %32, align 4, !tbaa !9
  %3196 = load i32, ptr %33, align 4, !tbaa !9
  %3197 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %3194, i32 noundef %3195, i32 noundef %3196, i32 noundef %3197)
  br label %3198

3198:                                             ; preds = %3190, %3179
  %3199 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3199, ptr %32, align 4, !tbaa !9
  %3200 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3200, ptr %33, align 4, !tbaa !9
  %3201 = load ptr, ptr %5, align 8, !tbaa !5
  %3202 = getelementptr inbounds %struct.w2c_hermes, ptr %3201, i32 0, i32 6
  %3203 = load i32, ptr %32, align 4, !tbaa !9
  %3204 = zext i32 %3203 to i64
  %3205 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3202, i64 noundef %3204, i32 noundef %3205)
  %3206 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3206, ptr %32, align 4, !tbaa !9
  %3207 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %3207, ptr %33, align 4, !tbaa !9
  %3208 = load i32, ptr %33, align 4, !tbaa !9
  %3209 = load i32, ptr %32, align 4, !tbaa !9
  %3210 = add i32 %3209, %3208
  store i32 %3210, ptr %32, align 4, !tbaa !9
  %3211 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3211, ptr %8, align 4, !tbaa !9
  %3212 = load i32, ptr %32, align 4, !tbaa !9
  %3213 = uitofp i32 %3212 to double
  store double %3213, ptr %45, align 8, !tbaa !13
  %3214 = load double, ptr %45, align 8, !tbaa !13
  store double %3214, ptr %31, align 8, !tbaa !13
  %3215 = load double, ptr %45, align 8, !tbaa !13
  %3216 = call i64 @i64_reinterpret_f64(double noundef %3215)
  store i64 %3216, ptr %40, align 8, !tbaa !11
  %3217 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3217, ptr %33, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %3218 = load i32, ptr %34, align 4, !tbaa !9
  %3219 = and i32 %3218, 31
  %3220 = load i32, ptr %33, align 4, !tbaa !9
  %3221 = shl i32 %3220, %3219
  store i32 %3221, ptr %33, align 4, !tbaa !9
  %3222 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3222, ptr %8, align 4, !tbaa !9
  store i32 3, ptr %34, align 4, !tbaa !9
  %3223 = load i32, ptr %33, align 4, !tbaa !9
  %3224 = load i32, ptr %34, align 4, !tbaa !9
  %3225 = and i32 %3224, 31
  %3226 = ashr i32 %3223, %3225
  store i32 %3226, ptr %33, align 4, !tbaa !9
  %3227 = load i32, ptr %33, align 4, !tbaa !9
  %3228 = sitofp i32 %3227 to double
  store double %3228, ptr %46, align 8, !tbaa !13
  %3229 = load double, ptr %46, align 8, !tbaa !13
  %3230 = call i64 @i64_reinterpret_f64(double noundef %3229)
  store i64 %3230, ptr %41, align 8, !tbaa !11
  %3231 = load i64, ptr %40, align 8, !tbaa !11
  %3232 = load i64, ptr %41, align 8, !tbaa !11
  %3233 = icmp eq i64 %3231, %3232
  %3234 = zext i1 %3233 to i32
  store i32 %3234, ptr %32, align 4, !tbaa !9
  %3235 = load i32, ptr %32, align 4, !tbaa !9
  %3236 = icmp ne i32 %3235, 0
  br i1 %3236, label %3237, label %3242

3237:                                             ; preds = %3198
  %3238 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3238, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %3239 = load i32, ptr %33, align 4, !tbaa !9
  %3240 = load i32, ptr %32, align 4, !tbaa !9
  %3241 = or i32 %3240, %3239
  store i32 %3241, ptr %32, align 4, !tbaa !9
  br label %3305

3242:                                             ; preds = %3198
  %3243 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3243, ptr %32, align 4, !tbaa !9
  %3244 = load ptr, ptr %5, align 8, !tbaa !5
  %3245 = getelementptr inbounds %struct.w2c_hermes, ptr %3244, i32 0, i32 6
  %3246 = load i32, ptr %32, align 4, !tbaa !9
  %3247 = zext i32 %3246 to i64
  %3248 = add i64 %3247, 1368
  %3249 = call i32 @i32_load(ptr noundef %3245, i64 noundef %3248)
  store i32 %3249, ptr %32, align 4, !tbaa !9
  %3250 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3250, ptr %33, align 4, !tbaa !9
  %3251 = load ptr, ptr %5, align 8, !tbaa !5
  %3252 = getelementptr inbounds %struct.w2c_hermes, ptr %3251, i32 0, i32 6
  %3253 = load i32, ptr %33, align 4, !tbaa !9
  %3254 = zext i32 %3253 to i64
  %3255 = add i64 %3254, 1364
  %3256 = call i32 @i32_load(ptr noundef %3252, i64 noundef %3255)
  store i32 %3256, ptr %33, align 4, !tbaa !9
  %3257 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3257, ptr %11, align 4, !tbaa !9
  %3258 = load i32, ptr %33, align 4, !tbaa !9
  %3259 = load i32, ptr %32, align 4, !tbaa !9
  %3260 = sub i32 %3259, %3258
  store i32 %3260, ptr %32, align 4, !tbaa !9
  store i32 15, ptr %33, align 4, !tbaa !9
  %3261 = load i32, ptr %32, align 4, !tbaa !9
  %3262 = load i32, ptr %33, align 4, !tbaa !9
  %3263 = icmp ule i32 %3261, %3262
  %3264 = zext i1 %3263 to i32
  store i32 %3264, ptr %32, align 4, !tbaa !9
  %3265 = load i32, ptr %32, align 4, !tbaa !9
  %3266 = icmp ne i32 %3265, 0
  br i1 %3266, label %3267, label %3274

3267:                                             ; preds = %3242
  %3268 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3268, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %3269 = load ptr, ptr %5, align 8, !tbaa !5
  %3270 = load i32, ptr %32, align 4, !tbaa !9
  %3271 = load i32, ptr %33, align 4, !tbaa !9
  %3272 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %3269, i32 noundef %3270, i32 noundef %3271)
  store i32 %3272, ptr %32, align 4, !tbaa !9
  %3273 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3273, ptr %11, align 4, !tbaa !9
  br label %3286

3274:                                             ; preds = %3242
  %3275 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3275, ptr %32, align 4, !tbaa !9
  %3276 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3276, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %3277 = load i32, ptr %34, align 4, !tbaa !9
  %3278 = load i32, ptr %33, align 4, !tbaa !9
  %3279 = add i32 %3278, %3277
  store i32 %3279, ptr %33, align 4, !tbaa !9
  %3280 = load ptr, ptr %5, align 8, !tbaa !5
  %3281 = getelementptr inbounds %struct.w2c_hermes, ptr %3280, i32 0, i32 6
  %3282 = load i32, ptr %32, align 4, !tbaa !9
  %3283 = zext i32 %3282 to i64
  %3284 = add i64 %3283, 1364
  %3285 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3281, i64 noundef %3284, i32 noundef %3285)
  br label %3286

3286:                                             ; preds = %3274, %3267
  %3287 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3287, ptr %32, align 4, !tbaa !9
  store i32 402653200, ptr %33, align 4, !tbaa !9
  %3288 = load ptr, ptr %5, align 8, !tbaa !5
  %3289 = getelementptr inbounds %struct.w2c_hermes, ptr %3288, i32 0, i32 6
  %3290 = load i32, ptr %32, align 4, !tbaa !9
  %3291 = zext i32 %3290 to i64
  %3292 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3289, i64 noundef %3291, i32 noundef %3292)
  %3293 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3293, ptr %32, align 4, !tbaa !9
  %3294 = load double, ptr %31, align 8, !tbaa !13
  store double %3294, ptr %46, align 8, !tbaa !13
  %3295 = load ptr, ptr %5, align 8, !tbaa !5
  %3296 = getelementptr inbounds %struct.w2c_hermes, ptr %3295, i32 0, i32 6
  %3297 = load i32, ptr %32, align 4, !tbaa !9
  %3298 = zext i32 %3297 to i64
  %3299 = add i64 %3298, 8
  %3300 = load double, ptr %46, align 8, !tbaa !13
  call void @f64_store(ptr noundef %3296, i64 noundef %3299, double noundef %3300)
  %3301 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3301, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %3302 = load i32, ptr %33, align 4, !tbaa !9
  %3303 = load i32, ptr %32, align 4, !tbaa !9
  %3304 = or i32 %3303, %3302
  store i32 %3304, ptr %32, align 4, !tbaa !9
  br label %3305

3305:                                             ; preds = %3286, %3237
  %3306 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3306, ptr %8, align 4, !tbaa !9
  %3307 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3307, ptr %32, align 4, !tbaa !9
  %3308 = load ptr, ptr %5, align 8, !tbaa !5
  %3309 = getelementptr inbounds %struct.w2c_hermes, ptr %3308, i32 0, i32 6
  %3310 = load i32, ptr %32, align 4, !tbaa !9
  %3311 = zext i32 %3310 to i64
  %3312 = call i32 @i32_load(ptr noundef %3309, i64 noundef %3311)
  store i32 %3312, ptr %32, align 4, !tbaa !9
  %3313 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3313, ptr %16, align 4, !tbaa !9
  %3314 = load ptr, ptr %5, align 8, !tbaa !5
  %3315 = getelementptr inbounds %struct.w2c_hermes, ptr %3314, i32 0, i32 6
  %3316 = load i32, ptr %32, align 4, !tbaa !9
  %3317 = zext i32 %3316 to i64
  %3318 = add i64 %3317, 28
  %3319 = call i32 @i32_load(ptr noundef %3315, i64 noundef %3318)
  store i32 %3319, ptr %32, align 4, !tbaa !9
  %3320 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3320, ptr %11, align 4, !tbaa !9
  %3321 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3321, ptr %32, align 4, !tbaa !9
  %3322 = load ptr, ptr %5, align 8, !tbaa !5
  %3323 = getelementptr inbounds %struct.w2c_hermes, ptr %3322, i32 0, i32 6
  %3324 = load i32, ptr %32, align 4, !tbaa !9
  %3325 = zext i32 %3324 to i64
  %3326 = add i64 %3325, 1356
  %3327 = call i32 @i32_load(ptr noundef %3323, i64 noundef %3326)
  store i32 %3327, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %3328 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3328, ptr %34, align 4, !tbaa !9
  %3329 = load ptr, ptr %5, align 8, !tbaa !5
  %3330 = getelementptr inbounds %struct.w2c_hermes, ptr %3329, i32 0, i32 6
  %3331 = load i32, ptr %34, align 4, !tbaa !9
  %3332 = zext i32 %3331 to i64
  %3333 = add i64 %3332, 20
  %3334 = call i32 @i32_load(ptr noundef %3330, i64 noundef %3333)
  store i32 %3334, ptr %34, align 4, !tbaa !9
  %3335 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %3335, ptr %18, align 4, !tbaa !9
  %3336 = load i32, ptr %34, align 4, !tbaa !9
  %3337 = load i32, ptr %33, align 4, !tbaa !9
  %3338 = sub i32 %3337, %3336
  store i32 %3338, ptr %33, align 4, !tbaa !9
  %3339 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3339, ptr %16, align 4, !tbaa !9
  store i32 4095, ptr %34, align 4, !tbaa !9
  %3340 = load i32, ptr %33, align 4, !tbaa !9
  %3341 = load i32, ptr %34, align 4, !tbaa !9
  %3342 = icmp ule i32 %3340, %3341
  %3343 = zext i1 %3342 to i32
  store i32 %3343, ptr %33, align 4, !tbaa !9
  %3344 = load i32, ptr %33, align 4, !tbaa !9
  %3345 = icmp ne i32 %3344, 0
  br i1 %3345, label %3346, label %3359

3346:                                             ; preds = %3305
  %3347 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3347, ptr %33, align 4, !tbaa !9
  %3348 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3348, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3349 = load i32, ptr %35, align 4, !tbaa !9
  %3350 = and i32 %3349, 31
  %3351 = load i32, ptr %34, align 4, !tbaa !9
  %3352 = shl i32 %3351, %3350
  store i32 %3352, ptr %34, align 4, !tbaa !9
  %3353 = load i32, ptr %34, align 4, !tbaa !9
  %3354 = load i32, ptr %33, align 4, !tbaa !9
  %3355 = add i32 %3354, %3353
  store i32 %3355, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3356 = load i32, ptr %34, align 4, !tbaa !9
  %3357 = load i32, ptr %33, align 4, !tbaa !9
  %3358 = add i32 %3357, %3356
  store i32 %3358, ptr %33, align 4, !tbaa !9
  br label %3397

3359:                                             ; preds = %3305
  %3360 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3360, ptr %33, align 4, !tbaa !9
  store i32 -4095, ptr %34, align 4, !tbaa !9
  %3361 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3361, ptr %35, align 4, !tbaa !9
  %3362 = load i32, ptr %35, align 4, !tbaa !9
  %3363 = load i32, ptr %34, align 4, !tbaa !9
  %3364 = sub i32 %3363, %3362
  store i32 %3364, ptr %34, align 4, !tbaa !9
  store i32 8, ptr %35, align 4, !tbaa !9
  %3365 = load i32, ptr %35, align 4, !tbaa !9
  %3366 = and i32 %3365, 31
  %3367 = load i32, ptr %34, align 4, !tbaa !9
  %3368 = lshr i32 %3367, %3366
  store i32 %3368, ptr %34, align 4, !tbaa !9
  store i32 16777212, ptr %35, align 4, !tbaa !9
  %3369 = load i32, ptr %35, align 4, !tbaa !9
  %3370 = load i32, ptr %34, align 4, !tbaa !9
  %3371 = and i32 %3370, %3369
  store i32 %3371, ptr %34, align 4, !tbaa !9
  %3372 = load i32, ptr %34, align 4, !tbaa !9
  %3373 = load i32, ptr %33, align 4, !tbaa !9
  %3374 = add i32 %3373, %3372
  store i32 %3374, ptr %33, align 4, !tbaa !9
  store i32 16392, ptr %34, align 4, !tbaa !9
  %3375 = load i32, ptr %34, align 4, !tbaa !9
  %3376 = load i32, ptr %33, align 4, !tbaa !9
  %3377 = add i32 %3376, %3375
  store i32 %3377, ptr %33, align 4, !tbaa !9
  %3378 = load ptr, ptr %5, align 8, !tbaa !5
  %3379 = getelementptr inbounds %struct.w2c_hermes, ptr %3378, i32 0, i32 6
  %3380 = load i32, ptr %33, align 4, !tbaa !9
  %3381 = zext i32 %3380 to i64
  %3382 = call i32 @i32_load(ptr noundef %3379, i64 noundef %3381)
  store i32 %3382, ptr %33, align 4, !tbaa !9
  %3383 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3383, ptr %34, align 4, !tbaa !9
  store i32 1023, ptr %35, align 4, !tbaa !9
  %3384 = load i32, ptr %35, align 4, !tbaa !9
  %3385 = load i32, ptr %34, align 4, !tbaa !9
  %3386 = and i32 %3385, %3384
  store i32 %3386, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3387 = load i32, ptr %35, align 4, !tbaa !9
  %3388 = and i32 %3387, 31
  %3389 = load i32, ptr %34, align 4, !tbaa !9
  %3390 = shl i32 %3389, %3388
  store i32 %3390, ptr %34, align 4, !tbaa !9
  %3391 = load i32, ptr %34, align 4, !tbaa !9
  %3392 = load i32, ptr %33, align 4, !tbaa !9
  %3393 = add i32 %3392, %3391
  store i32 %3393, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3394 = load i32, ptr %34, align 4, !tbaa !9
  %3395 = load i32, ptr %33, align 4, !tbaa !9
  %3396 = add i32 %3395, %3394
  store i32 %3396, ptr %33, align 4, !tbaa !9
  br label %3397

3397:                                             ; preds = %3359, %3346
  %3398 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3398, ptr %11, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %3399 = load i32, ptr %34, align 4, !tbaa !9
  %3400 = load i32, ptr %33, align 4, !tbaa !9
  %3401 = and i32 %3400, %3399
  store i32 %3401, ptr %33, align 4, !tbaa !9
  %3402 = load i32, ptr %32, align 4, !tbaa !9
  %3403 = load i32, ptr %33, align 4, !tbaa !9
  %3404 = icmp ne i32 %3402, %3403
  %3405 = zext i1 %3404 to i32
  store i32 %3405, ptr %32, align 4, !tbaa !9
  %3406 = load i32, ptr %32, align 4, !tbaa !9
  %3407 = icmp ne i32 %3406, 0
  br i1 %3407, label %3408, label %3416

3408:                                             ; preds = %3397
  %3409 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3409, ptr %32, align 4, !tbaa !9
  %3410 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3410, ptr %33, align 4, !tbaa !9
  %3411 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3411, ptr %34, align 4, !tbaa !9
  %3412 = load ptr, ptr %5, align 8, !tbaa !5
  %3413 = load i32, ptr %32, align 4, !tbaa !9
  %3414 = load i32, ptr %33, align 4, !tbaa !9
  %3415 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %3412, i32 noundef %3413, i32 noundef %3414, i32 noundef %3415)
  br label %3416

3416:                                             ; preds = %3408, %3397
  %3417 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3417, ptr %32, align 4, !tbaa !9
  %3418 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3418, ptr %33, align 4, !tbaa !9
  %3419 = load ptr, ptr %5, align 8, !tbaa !5
  %3420 = getelementptr inbounds %struct.w2c_hermes, ptr %3419, i32 0, i32 6
  %3421 = load i32, ptr %32, align 4, !tbaa !9
  %3422 = zext i32 %3421 to i64
  %3423 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3420, i64 noundef %3422, i32 noundef %3423)
  br label %3424

3424:                                             ; preds = %3416, %2864
  %3425 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3425, ptr %32, align 4, !tbaa !9
  %3426 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3426, ptr %33, align 4, !tbaa !9
  %3427 = load ptr, ptr %5, align 8, !tbaa !5
  %3428 = getelementptr inbounds %struct.w2c_hermes, ptr %3427, i32 0, i32 6
  %3429 = load i32, ptr %33, align 4, !tbaa !9
  %3430 = zext i32 %3429 to i64
  %3431 = call i64 @i64_load(ptr noundef %3428, i64 noundef %3430)
  store i64 %3431, ptr %41, align 8, !tbaa !11
  %3432 = load i64, ptr %41, align 8, !tbaa !11
  store i64 %3432, ptr %29, align 8, !tbaa !11
  %3433 = load ptr, ptr %5, align 8, !tbaa !5
  %3434 = getelementptr inbounds %struct.w2c_hermes, ptr %3433, i32 0, i32 6
  %3435 = load i32, ptr %32, align 4, !tbaa !9
  %3436 = zext i32 %3435 to i64
  %3437 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3434, i64 noundef %3436, i64 noundef %3437)
  store i32 7, ptr %32, align 4, !tbaa !9
  %3438 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3438, ptr %11, align 4, !tbaa !9
  %3439 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3439, ptr %40, align 8, !tbaa !11
  store i64 47, ptr %41, align 8, !tbaa !11
  %3440 = load i64, ptr %40, align 8, !tbaa !11
  %3441 = load i64, ptr %41, align 8, !tbaa !11
  %3442 = and i64 %3441, 63
  %3443 = ashr i64 %3440, %3442
  store i64 %3443, ptr %40, align 8, !tbaa !11
  %3444 = load i64, ptr %40, align 8, !tbaa !11
  %3445 = trunc i64 %3444 to i32
  store i32 %3445, ptr %32, align 4, !tbaa !9
  store i32 14, ptr %33, align 4, !tbaa !9
  %3446 = load i32, ptr %33, align 4, !tbaa !9
  %3447 = load i32, ptr %32, align 4, !tbaa !9
  %3448 = add i32 %3447, %3446
  store i32 %3448, ptr %32, align 4, !tbaa !9
  %3449 = load i32, ptr %32, align 4, !tbaa !9
  switch i32 %3449, label %3464 [
    i32 0, label %3450
    i32 1, label %3451
    i32 2, label %3452
    i32 3, label %3453
    i32 4, label %3454
    i32 5, label %3455
    i32 6, label %3456
    i32 7, label %3457
    i32 8, label %3458
    i32 9, label %3459
    i32 10, label %3460
    i32 11, label %3461
    i32 12, label %3462
    i32 13, label %3463
  ]

3450:                                             ; preds = %3424
  br label %3662

3451:                                             ; preds = %3424
  br label %3520

3452:                                             ; preds = %3424
  br label %3465

3453:                                             ; preds = %3424
  br label %3467

3454:                                             ; preds = %3424
  br label %3469

3455:                                             ; preds = %3424
  br label %3487

3456:                                             ; preds = %3424
  br label %3520

3457:                                             ; preds = %3424
  br label %3520

3458:                                             ; preds = %3424
  br label %3499

3459:                                             ; preds = %3424
  br label %3499

3460:                                             ; preds = %3424
  br label %3507

3461:                                             ; preds = %3424
  br label %3507

3462:                                             ; preds = %3424
  br label %3515

3463:                                             ; preds = %3424
  br label %3515

3464:                                             ; preds = %3424
  br label %3520

3465:                                             ; preds = %3452
  store i32 14, ptr %32, align 4, !tbaa !9
  %3466 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3466, ptr %11, align 4, !tbaa !9
  br label %3662

3467:                                             ; preds = %3453
  store i32 15, ptr %32, align 4, !tbaa !9
  %3468 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3468, ptr %11, align 4, !tbaa !9
  br label %3662

3469:                                             ; preds = %3454
  store i32 6, ptr %32, align 4, !tbaa !9
  store i32 22, ptr %33, align 4, !tbaa !9
  %3470 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3470, ptr %42, align 8, !tbaa !11
  store i64 1, ptr %43, align 8, !tbaa !11
  %3471 = load i64, ptr %43, align 8, !tbaa !11
  %3472 = load i64, ptr %42, align 8, !tbaa !11
  %3473 = and i64 %3472, %3471
  store i64 %3473, ptr %42, align 8, !tbaa !11
  %3474 = load i64, ptr %42, align 8, !tbaa !11
  %3475 = icmp ne i64 %3474, 0
  %3476 = xor i1 %3475, true
  %3477 = zext i1 %3476 to i32
  store i32 %3477, ptr %34, align 4, !tbaa !9
  %3478 = load i32, ptr %34, align 4, !tbaa !9
  %3479 = icmp ne i32 %3478, 0
  br i1 %3479, label %3480, label %3482

3480:                                             ; preds = %3469
  %3481 = load i32, ptr %32, align 4, !tbaa !9
  br label %3484

3482:                                             ; preds = %3469
  %3483 = load i32, ptr %33, align 4, !tbaa !9
  br label %3484

3484:                                             ; preds = %3482, %3480
  %3485 = phi i32 [ %3481, %3480 ], [ %3483, %3482 ]
  store i32 %3485, ptr %32, align 4, !tbaa !9
  %3486 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3486, ptr %11, align 4, !tbaa !9
  br label %3662

3487:                                             ; preds = %3455
  %3488 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3488, ptr %40, align 8, !tbaa !11
  %3489 = load i64, ptr %40, align 8, !tbaa !11
  %3490 = trunc i64 %3489 to i32
  store i32 %3490, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %3491 = load i32, ptr %33, align 4, !tbaa !9
  %3492 = and i32 %3491, 31
  %3493 = load i32, ptr %32, align 4, !tbaa !9
  %3494 = shl i32 %3493, %3492
  store i32 %3494, ptr %32, align 4, !tbaa !9
  store i32 5, ptr %33, align 4, !tbaa !9
  %3495 = load i32, ptr %33, align 4, !tbaa !9
  %3496 = load i32, ptr %32, align 4, !tbaa !9
  %3497 = or i32 %3496, %3495
  store i32 %3497, ptr %32, align 4, !tbaa !9
  %3498 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3498, ptr %11, align 4, !tbaa !9
  br label %3662

3499:                                             ; preds = %3459, %3458
  %3500 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3500, ptr %40, align 8, !tbaa !11
  %3501 = load i64, ptr %40, align 8, !tbaa !11
  %3502 = trunc i64 %3501 to i32
  store i32 %3502, ptr %32, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  %3503 = load i32, ptr %33, align 4, !tbaa !9
  %3504 = load i32, ptr %32, align 4, !tbaa !9
  %3505 = or i32 %3504, %3503
  store i32 %3505, ptr %32, align 4, !tbaa !9
  %3506 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3506, ptr %11, align 4, !tbaa !9
  br label %3662

3507:                                             ; preds = %3461, %3460
  %3508 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3508, ptr %40, align 8, !tbaa !11
  %3509 = load i64, ptr %40, align 8, !tbaa !11
  %3510 = trunc i64 %3509 to i32
  store i32 %3510, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %3511 = load i32, ptr %33, align 4, !tbaa !9
  %3512 = load i32, ptr %32, align 4, !tbaa !9
  %3513 = or i32 %3512, %3511
  store i32 %3513, ptr %32, align 4, !tbaa !9
  %3514 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3514, ptr %11, align 4, !tbaa !9
  br label %3662

3515:                                             ; preds = %3463, %3462
  %3516 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3516, ptr %40, align 8, !tbaa !11
  %3517 = load i64, ptr %40, align 8, !tbaa !11
  %3518 = trunc i64 %3517 to i32
  store i32 %3518, ptr %32, align 4, !tbaa !9
  %3519 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3519, ptr %11, align 4, !tbaa !9
  br label %3662

3520:                                             ; preds = %3464, %3457, %3456, %3451
  %3521 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3521, ptr %40, align 8, !tbaa !11
  %3522 = load i64, ptr %40, align 8, !tbaa !11
  %3523 = call double @f64_reinterpret_i64(i64 noundef %3522)
  store double %3523, ptr %45, align 8, !tbaa !13
  %3524 = load double, ptr %45, align 8, !tbaa !13
  store double %3524, ptr %31, align 8, !tbaa !13
  %3525 = load double, ptr %45, align 8, !tbaa !13
  %3526 = call double @wasm_fabs(double noundef %3525)
  store double %3526, ptr %45, align 8, !tbaa !13
  store double 0x41E0000000000000, ptr %46, align 8, !tbaa !13
  %3527 = load double, ptr %45, align 8, !tbaa !13
  %3528 = load double, ptr %46, align 8, !tbaa !13
  %3529 = fcmp olt double %3527, %3528
  %3530 = zext i1 %3529 to i32
  store i32 %3530, ptr %32, align 4, !tbaa !9
  %3531 = load i32, ptr %32, align 4, !tbaa !9
  %3532 = icmp ne i32 %3531, 0
  br i1 %3532, label %3533, label %3570

3533:                                             ; preds = %3520
  %3534 = load double, ptr %31, align 8, !tbaa !13
  store double %3534, ptr %45, align 8, !tbaa !13
  %3535 = load double, ptr %45, align 8, !tbaa !13
  %3536 = load double, ptr %45, align 8, !tbaa !13
  %3537 = fcmp une double %3535, %3536
  %3538 = xor i1 %3537, true
  %3539 = xor i1 %3538, true
  %3540 = zext i1 %3539 to i32
  %3541 = sext i32 %3540 to i64
  %3542 = call i64 @llvm.expect.i64(i64 %3541, i64 0)
  %3543 = icmp ne i64 %3542, 0
  br i1 %3543, label %3544, label %3546

3544:                                             ; preds = %3533
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

3545:                                             ; No predecessors!
  br label %3568

3546:                                             ; preds = %3533
  %3547 = load double, ptr %45, align 8, !tbaa !13
  %3548 = fcmp ogt double %3547, 0xC1E0000000200000
  br i1 %3548, label %3549, label %3552

3549:                                             ; preds = %3546
  %3550 = load double, ptr %45, align 8, !tbaa !13
  %3551 = fcmp olt double %3550, 0x41E0000000000000
  br label %3552

3552:                                             ; preds = %3549, %3546
  %3553 = phi i1 [ false, %3546 ], [ %3551, %3549 ]
  %3554 = xor i1 %3553, true
  %3555 = xor i1 %3554, true
  %3556 = xor i1 %3555, true
  %3557 = zext i1 %3556 to i32
  %3558 = sext i32 %3557 to i64
  %3559 = call i64 @llvm.expect.i64(i64 %3558, i64 0)
  %3560 = icmp ne i64 %3559, 0
  br i1 %3560, label %3561, label %3563

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

3562:                                             ; No predecessors!
  br label %3566

3563:                                             ; preds = %3552
  %3564 = load double, ptr %45, align 8, !tbaa !13
  %3565 = fptosi double %3564 to i32
  br label %3566

3566:                                             ; preds = %3563, %3562
  %3567 = phi i32 [ 0, %3562 ], [ %3565, %3563 ]
  br label %3568

3568:                                             ; preds = %3566, %3545
  %3569 = phi i32 [ 0, %3545 ], [ %3567, %3566 ]
  store i32 %3569, ptr %32, align 4, !tbaa !9
  br label %3571

3570:                                             ; preds = %3520
  store i32 -2147483648, ptr %32, align 4, !tbaa !9
  br label %3571

3571:                                             ; preds = %3570, %3568
  store i32 3, ptr %33, align 4, !tbaa !9
  %3572 = load i32, ptr %33, align 4, !tbaa !9
  %3573 = and i32 %3572, 31
  %3574 = load i32, ptr %32, align 4, !tbaa !9
  %3575 = shl i32 %3574, %3573
  store i32 %3575, ptr %32, align 4, !tbaa !9
  %3576 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3576, ptr %8, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %3577 = load i32, ptr %32, align 4, !tbaa !9
  %3578 = load i32, ptr %33, align 4, !tbaa !9
  %3579 = and i32 %3578, 31
  %3580 = ashr i32 %3577, %3579
  store i32 %3580, ptr %32, align 4, !tbaa !9
  %3581 = load i32, ptr %32, align 4, !tbaa !9
  %3582 = sitofp i32 %3581 to double
  store double %3582, ptr %45, align 8, !tbaa !13
  %3583 = load double, ptr %45, align 8, !tbaa !13
  %3584 = call i64 @i64_reinterpret_f64(double noundef %3583)
  store i64 %3584, ptr %40, align 8, !tbaa !11
  %3585 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3585, ptr %41, align 8, !tbaa !11
  %3586 = load i64, ptr %40, align 8, !tbaa !11
  %3587 = load i64, ptr %41, align 8, !tbaa !11
  %3588 = icmp eq i64 %3586, %3587
  %3589 = zext i1 %3588 to i32
  store i32 %3589, ptr %32, align 4, !tbaa !9
  %3590 = load i32, ptr %32, align 4, !tbaa !9
  %3591 = icmp ne i32 %3590, 0
  br i1 %3591, label %3592, label %3598

3592:                                             ; preds = %3571
  %3593 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3593, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %3594 = load i32, ptr %33, align 4, !tbaa !9
  %3595 = load i32, ptr %32, align 4, !tbaa !9
  %3596 = or i32 %3595, %3594
  store i32 %3596, ptr %32, align 4, !tbaa !9
  %3597 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3597, ptr %11, align 4, !tbaa !9
  br label %3662

3598:                                             ; preds = %3571
  %3599 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3599, ptr %32, align 4, !tbaa !9
  %3600 = load ptr, ptr %5, align 8, !tbaa !5
  %3601 = getelementptr inbounds %struct.w2c_hermes, ptr %3600, i32 0, i32 6
  %3602 = load i32, ptr %32, align 4, !tbaa !9
  %3603 = zext i32 %3602 to i64
  %3604 = add i64 %3603, 1368
  %3605 = call i32 @i32_load(ptr noundef %3601, i64 noundef %3604)
  store i32 %3605, ptr %32, align 4, !tbaa !9
  %3606 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3606, ptr %33, align 4, !tbaa !9
  %3607 = load ptr, ptr %5, align 8, !tbaa !5
  %3608 = getelementptr inbounds %struct.w2c_hermes, ptr %3607, i32 0, i32 6
  %3609 = load i32, ptr %33, align 4, !tbaa !9
  %3610 = zext i32 %3609 to i64
  %3611 = add i64 %3610, 1364
  %3612 = call i32 @i32_load(ptr noundef %3608, i64 noundef %3611)
  store i32 %3612, ptr %33, align 4, !tbaa !9
  %3613 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3613, ptr %9, align 4, !tbaa !9
  %3614 = load i32, ptr %33, align 4, !tbaa !9
  %3615 = load i32, ptr %32, align 4, !tbaa !9
  %3616 = sub i32 %3615, %3614
  store i32 %3616, ptr %32, align 4, !tbaa !9
  store i32 15, ptr %33, align 4, !tbaa !9
  %3617 = load i32, ptr %32, align 4, !tbaa !9
  %3618 = load i32, ptr %33, align 4, !tbaa !9
  %3619 = icmp ule i32 %3617, %3618
  %3620 = zext i1 %3619 to i32
  store i32 %3620, ptr %32, align 4, !tbaa !9
  %3621 = load i32, ptr %32, align 4, !tbaa !9
  %3622 = icmp ne i32 %3621, 0
  br i1 %3622, label %3623, label %3630

3623:                                             ; preds = %3598
  %3624 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3624, ptr %32, align 4, !tbaa !9
  store i32 16, ptr %33, align 4, !tbaa !9
  %3625 = load ptr, ptr %5, align 8, !tbaa !5
  %3626 = load i32, ptr %32, align 4, !tbaa !9
  %3627 = load i32, ptr %33, align 4, !tbaa !9
  %3628 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %3625, i32 noundef %3626, i32 noundef %3627)
  store i32 %3628, ptr %32, align 4, !tbaa !9
  %3629 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3629, ptr %9, align 4, !tbaa !9
  br label %3642

3630:                                             ; preds = %3598
  %3631 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3631, ptr %32, align 4, !tbaa !9
  %3632 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3632, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %3633 = load i32, ptr %34, align 4, !tbaa !9
  %3634 = load i32, ptr %33, align 4, !tbaa !9
  %3635 = add i32 %3634, %3633
  store i32 %3635, ptr %33, align 4, !tbaa !9
  %3636 = load ptr, ptr %5, align 8, !tbaa !5
  %3637 = getelementptr inbounds %struct.w2c_hermes, ptr %3636, i32 0, i32 6
  %3638 = load i32, ptr %32, align 4, !tbaa !9
  %3639 = zext i32 %3638 to i64
  %3640 = add i64 %3639, 1364
  %3641 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3637, i64 noundef %3640, i32 noundef %3641)
  br label %3642

3642:                                             ; preds = %3630, %3623
  %3643 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3643, ptr %32, align 4, !tbaa !9
  store i32 402653200, ptr %33, align 4, !tbaa !9
  %3644 = load ptr, ptr %5, align 8, !tbaa !5
  %3645 = getelementptr inbounds %struct.w2c_hermes, ptr %3644, i32 0, i32 6
  %3646 = load i32, ptr %32, align 4, !tbaa !9
  %3647 = zext i32 %3646 to i64
  %3648 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3645, i64 noundef %3647, i32 noundef %3648)
  %3649 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3649, ptr %32, align 4, !tbaa !9
  %3650 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3650, ptr %41, align 8, !tbaa !11
  %3651 = load ptr, ptr %5, align 8, !tbaa !5
  %3652 = getelementptr inbounds %struct.w2c_hermes, ptr %3651, i32 0, i32 6
  %3653 = load i32, ptr %32, align 4, !tbaa !9
  %3654 = zext i32 %3653 to i64
  %3655 = add i64 %3654, 8
  %3656 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3652, i64 noundef %3655, i64 noundef %3656)
  %3657 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3657, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %3658 = load i32, ptr %33, align 4, !tbaa !9
  %3659 = load i32, ptr %32, align 4, !tbaa !9
  %3660 = or i32 %3659, %3658
  store i32 %3660, ptr %32, align 4, !tbaa !9
  %3661 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3661, ptr %11, align 4, !tbaa !9
  br label %3662

3662:                                             ; preds = %3642, %3592, %3515, %3507, %3499, %3487, %3484, %3467, %3465, %3450
  %3663 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3663, ptr %32, align 4, !tbaa !9
  %3664 = load ptr, ptr %5, align 8, !tbaa !5
  %3665 = getelementptr inbounds %struct.w2c_hermes, ptr %3664, i32 0, i32 6
  %3666 = load i32, ptr %32, align 4, !tbaa !9
  %3667 = zext i32 %3666 to i64
  %3668 = call i32 @i32_load(ptr noundef %3665, i64 noundef %3667)
  store i32 %3668, ptr %32, align 4, !tbaa !9
  %3669 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3669, ptr %8, align 4, !tbaa !9
  %3670 = load ptr, ptr %5, align 8, !tbaa !5
  %3671 = getelementptr inbounds %struct.w2c_hermes, ptr %3670, i32 0, i32 6
  %3672 = load i32, ptr %32, align 4, !tbaa !9
  %3673 = zext i32 %3672 to i64
  %3674 = add i64 %3673, 28
  %3675 = call i32 @i32_load(ptr noundef %3671, i64 noundef %3674)
  store i32 %3675, ptr %32, align 4, !tbaa !9
  %3676 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3676, ptr %9, align 4, !tbaa !9
  %3677 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3677, ptr %32, align 4, !tbaa !9
  %3678 = load ptr, ptr %5, align 8, !tbaa !5
  %3679 = getelementptr inbounds %struct.w2c_hermes, ptr %3678, i32 0, i32 6
  %3680 = load i32, ptr %32, align 4, !tbaa !9
  %3681 = zext i32 %3680 to i64
  %3682 = add i64 %3681, 1356
  %3683 = call i32 @i32_load(ptr noundef %3679, i64 noundef %3682)
  store i32 %3683, ptr %32, align 4, !tbaa !9
  %3684 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3684, ptr %33, align 4, !tbaa !9
  %3685 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3685, ptr %34, align 4, !tbaa !9
  %3686 = load ptr, ptr %5, align 8, !tbaa !5
  %3687 = getelementptr inbounds %struct.w2c_hermes, ptr %3686, i32 0, i32 6
  %3688 = load i32, ptr %34, align 4, !tbaa !9
  %3689 = zext i32 %3688 to i64
  %3690 = add i64 %3689, 20
  %3691 = call i32 @i32_load(ptr noundef %3687, i64 noundef %3690)
  store i32 %3691, ptr %34, align 4, !tbaa !9
  %3692 = load i32, ptr %34, align 4, !tbaa !9
  %3693 = load i32, ptr %33, align 4, !tbaa !9
  %3694 = sub i32 %3693, %3692
  store i32 %3694, ptr %33, align 4, !tbaa !9
  %3695 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3695, ptr %8, align 4, !tbaa !9
  store i32 4095, ptr %34, align 4, !tbaa !9
  %3696 = load i32, ptr %33, align 4, !tbaa !9
  %3697 = load i32, ptr %34, align 4, !tbaa !9
  %3698 = icmp ule i32 %3696, %3697
  %3699 = zext i1 %3698 to i32
  store i32 %3699, ptr %33, align 4, !tbaa !9
  %3700 = load i32, ptr %33, align 4, !tbaa !9
  %3701 = icmp ne i32 %3700, 0
  br i1 %3701, label %3702, label %3715

3702:                                             ; preds = %3662
  %3703 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3703, ptr %33, align 4, !tbaa !9
  %3704 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3704, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3705 = load i32, ptr %35, align 4, !tbaa !9
  %3706 = and i32 %3705, 31
  %3707 = load i32, ptr %34, align 4, !tbaa !9
  %3708 = shl i32 %3707, %3706
  store i32 %3708, ptr %34, align 4, !tbaa !9
  %3709 = load i32, ptr %34, align 4, !tbaa !9
  %3710 = load i32, ptr %33, align 4, !tbaa !9
  %3711 = add i32 %3710, %3709
  store i32 %3711, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3712 = load i32, ptr %34, align 4, !tbaa !9
  %3713 = load i32, ptr %33, align 4, !tbaa !9
  %3714 = add i32 %3713, %3712
  store i32 %3714, ptr %33, align 4, !tbaa !9
  br label %3753

3715:                                             ; preds = %3662
  %3716 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3716, ptr %33, align 4, !tbaa !9
  %3717 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3717, ptr %34, align 4, !tbaa !9
  store i32 4096, ptr %35, align 4, !tbaa !9
  %3718 = load i32, ptr %35, align 4, !tbaa !9
  %3719 = load i32, ptr %34, align 4, !tbaa !9
  %3720 = sub i32 %3719, %3718
  store i32 %3720, ptr %34, align 4, !tbaa !9
  store i32 8, ptr %35, align 4, !tbaa !9
  %3721 = load i32, ptr %35, align 4, !tbaa !9
  %3722 = and i32 %3721, 31
  %3723 = load i32, ptr %34, align 4, !tbaa !9
  %3724 = lshr i32 %3723, %3722
  store i32 %3724, ptr %34, align 4, !tbaa !9
  store i32 16777212, ptr %35, align 4, !tbaa !9
  %3725 = load i32, ptr %35, align 4, !tbaa !9
  %3726 = load i32, ptr %34, align 4, !tbaa !9
  %3727 = and i32 %3726, %3725
  store i32 %3727, ptr %34, align 4, !tbaa !9
  %3728 = load i32, ptr %34, align 4, !tbaa !9
  %3729 = load i32, ptr %33, align 4, !tbaa !9
  %3730 = add i32 %3729, %3728
  store i32 %3730, ptr %33, align 4, !tbaa !9
  store i32 16392, ptr %34, align 4, !tbaa !9
  %3731 = load i32, ptr %34, align 4, !tbaa !9
  %3732 = load i32, ptr %33, align 4, !tbaa !9
  %3733 = add i32 %3732, %3731
  store i32 %3733, ptr %33, align 4, !tbaa !9
  %3734 = load ptr, ptr %5, align 8, !tbaa !5
  %3735 = getelementptr inbounds %struct.w2c_hermes, ptr %3734, i32 0, i32 6
  %3736 = load i32, ptr %33, align 4, !tbaa !9
  %3737 = zext i32 %3736 to i64
  %3738 = call i32 @i32_load(ptr noundef %3735, i64 noundef %3737)
  store i32 %3738, ptr %33, align 4, !tbaa !9
  %3739 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3739, ptr %34, align 4, !tbaa !9
  store i32 1023, ptr %35, align 4, !tbaa !9
  %3740 = load i32, ptr %35, align 4, !tbaa !9
  %3741 = load i32, ptr %34, align 4, !tbaa !9
  %3742 = and i32 %3741, %3740
  store i32 %3742, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %3743 = load i32, ptr %35, align 4, !tbaa !9
  %3744 = and i32 %3743, 31
  %3745 = load i32, ptr %34, align 4, !tbaa !9
  %3746 = shl i32 %3745, %3744
  store i32 %3746, ptr %34, align 4, !tbaa !9
  %3747 = load i32, ptr %34, align 4, !tbaa !9
  %3748 = load i32, ptr %33, align 4, !tbaa !9
  %3749 = add i32 %3748, %3747
  store i32 %3749, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3750 = load i32, ptr %34, align 4, !tbaa !9
  %3751 = load i32, ptr %33, align 4, !tbaa !9
  %3752 = add i32 %3751, %3750
  store i32 %3752, ptr %33, align 4, !tbaa !9
  br label %3753

3753:                                             ; preds = %3715, %3702
  %3754 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3754, ptr %8, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %3755 = load i32, ptr %34, align 4, !tbaa !9
  %3756 = load i32, ptr %33, align 4, !tbaa !9
  %3757 = and i32 %3756, %3755
  store i32 %3757, ptr %33, align 4, !tbaa !9
  %3758 = load i32, ptr %32, align 4, !tbaa !9
  %3759 = load i32, ptr %33, align 4, !tbaa !9
  %3760 = icmp ne i32 %3758, %3759
  %3761 = zext i1 %3760 to i32
  store i32 %3761, ptr %32, align 4, !tbaa !9
  %3762 = load i32, ptr %32, align 4, !tbaa !9
  %3763 = icmp ne i32 %3762, 0
  br i1 %3763, label %3764, label %3772

3764:                                             ; preds = %3753
  %3765 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3765, ptr %32, align 4, !tbaa !9
  %3766 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3766, ptr %33, align 4, !tbaa !9
  %3767 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3767, ptr %34, align 4, !tbaa !9
  %3768 = load ptr, ptr %5, align 8, !tbaa !5
  %3769 = load i32, ptr %32, align 4, !tbaa !9
  %3770 = load i32, ptr %33, align 4, !tbaa !9
  %3771 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %3768, i32 noundef %3769, i32 noundef %3770, i32 noundef %3771)
  br label %3772

3772:                                             ; preds = %3764, %3753
  %3773 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3773, ptr %32, align 4, !tbaa !9
  %3774 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3774, ptr %33, align 4, !tbaa !9
  %3775 = load ptr, ptr %5, align 8, !tbaa !5
  %3776 = getelementptr inbounds %struct.w2c_hermes, ptr %3775, i32 0, i32 6
  %3777 = load i32, ptr %32, align 4, !tbaa !9
  %3778 = zext i32 %3777 to i64
  %3779 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3776, i64 noundef %3778, i32 noundef %3779)
  %3780 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3780, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %3781 = load i32, ptr %33, align 4, !tbaa !9
  %3782 = load i32, ptr %32, align 4, !tbaa !9
  %3783 = add i32 %3782, %3781
  store i32 %3783, ptr %32, align 4, !tbaa !9
  %3784 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3784, ptr %12, align 4, !tbaa !9
  %3785 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3785, ptr %33, align 4, !tbaa !9
  %3786 = load i32, ptr %32, align 4, !tbaa !9
  %3787 = load i32, ptr %33, align 4, !tbaa !9
  %3788 = icmp ne i32 %3786, %3787
  %3789 = zext i1 %3788 to i32
  store i32 %3789, ptr %32, align 4, !tbaa !9
  %3790 = load i32, ptr %32, align 4, !tbaa !9
  %3791 = icmp ne i32 %3790, 0
  br i1 %3791, label %3792, label %3793

3792:                                             ; preds = %3772
  br label %2864

3793:                                             ; preds = %3772
  br label %3794

3794:                                             ; preds = %3793, %2853
  %3795 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %3795, ptr %40, align 8, !tbaa !11
  %3796 = load i64, ptr %40, align 8, !tbaa !11
  %3797 = trunc i64 %3796 to i32
  store i32 %3797, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %3798 = load i32, ptr %32, align 4, !tbaa !9
  %3799 = load i32, ptr %33, align 4, !tbaa !9
  %3800 = icmp ne i32 %3798, %3799
  %3801 = zext i1 %3800 to i32
  store i32 %3801, ptr %32, align 4, !tbaa !9
  %3802 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %3802, ptr %41, align 8, !tbaa !11
  store i64 -844424930131969, ptr %42, align 8, !tbaa !11
  %3803 = load i64, ptr %41, align 8, !tbaa !11
  %3804 = load i64, ptr %42, align 8, !tbaa !11
  %3805 = icmp ugt i64 %3803, %3804
  %3806 = zext i1 %3805 to i32
  store i32 %3806, ptr %33, align 4, !tbaa !9
  %3807 = load i32, ptr %33, align 4, !tbaa !9
  %3808 = load i32, ptr %32, align 4, !tbaa !9
  %3809 = and i32 %3808, %3807
  store i32 %3809, ptr %32, align 4, !tbaa !9
  %3810 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3810, ptr %9, align 4, !tbaa !9
  %3811 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3811, ptr %32, align 4, !tbaa !9
  %3812 = load ptr, ptr %5, align 8, !tbaa !5
  %3813 = getelementptr inbounds %struct.w2c_hermes, ptr %3812, i32 0, i32 6
  %3814 = load i32, ptr %32, align 4, !tbaa !9
  %3815 = zext i32 %3814 to i64
  %3816 = add i64 %3815, 4
  %3817 = call i32 @i32_load(ptr noundef %3813, i64 noundef %3816)
  store i32 %3817, ptr %32, align 4, !tbaa !9
  %3818 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3818, ptr %8, align 4, !tbaa !9
  %3819 = load ptr, ptr %5, align 8, !tbaa !5
  %3820 = getelementptr inbounds %struct.w2c_hermes, ptr %3819, i32 0, i32 6
  %3821 = load i32, ptr %32, align 4, !tbaa !9
  %3822 = zext i32 %3821 to i64
  %3823 = add i64 %3822, 164
  %3824 = call i32 @i32_load(ptr noundef %3820, i64 noundef %3823)
  store i32 %3824, ptr %32, align 4, !tbaa !9
  %3825 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3825, ptr %12, align 4, !tbaa !9
  %3826 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3826, ptr %33, align 4, !tbaa !9
  %3827 = load ptr, ptr %5, align 8, !tbaa !5
  %3828 = getelementptr inbounds %struct.w2c_hermes, ptr %3827, i32 0, i32 6
  %3829 = load i32, ptr %33, align 4, !tbaa !9
  %3830 = zext i32 %3829 to i64
  %3831 = add i64 %3830, 168
  %3832 = call i32 @i32_load(ptr noundef %3828, i64 noundef %3831)
  store i32 %3832, ptr %33, align 4, !tbaa !9
  %3833 = load i32, ptr %32, align 4, !tbaa !9
  %3834 = load i32, ptr %33, align 4, !tbaa !9
  %3835 = icmp ult i32 %3833, %3834
  %3836 = zext i1 %3835 to i32
  store i32 %3836, ptr %32, align 4, !tbaa !9
  %3837 = load i32, ptr %32, align 4, !tbaa !9
  %3838 = icmp ne i32 %3837, 0
  br i1 %3838, label %3839, label %3857

3839:                                             ; preds = %3794
  %3840 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3840, ptr %32, align 4, !tbaa !9
  %3841 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3841, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3842 = load i32, ptr %34, align 4, !tbaa !9
  %3843 = load i32, ptr %33, align 4, !tbaa !9
  %3844 = add i32 %3843, %3842
  store i32 %3844, ptr %33, align 4, !tbaa !9
  %3845 = load ptr, ptr %5, align 8, !tbaa !5
  %3846 = getelementptr inbounds %struct.w2c_hermes, ptr %3845, i32 0, i32 6
  %3847 = load i32, ptr %32, align 4, !tbaa !9
  %3848 = zext i32 %3847 to i64
  %3849 = add i64 %3848, 164
  %3850 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3846, i64 noundef %3849, i32 noundef %3850)
  %3851 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3851, ptr %32, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %41, align 8, !tbaa !11
  %3852 = load ptr, ptr %5, align 8, !tbaa !5
  %3853 = getelementptr inbounds %struct.w2c_hermes, ptr %3852, i32 0, i32 6
  %3854 = load i32, ptr %32, align 4, !tbaa !9
  %3855 = zext i32 %3854 to i64
  %3856 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3853, i64 noundef %3855, i64 noundef %3856)
  br label %3864

3857:                                             ; preds = %3794
  %3858 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3858, ptr %32, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %41, align 8, !tbaa !11
  %3859 = load ptr, ptr %5, align 8, !tbaa !5
  %3860 = load i32, ptr %32, align 4, !tbaa !9
  %3861 = load i64, ptr %41, align 8, !tbaa !11
  %3862 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %3859, i32 noundef %3860, i64 noundef %3861)
  store i32 %3862, ptr %32, align 4, !tbaa !9
  %3863 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3863, ptr %12, align 4, !tbaa !9
  br label %3864

3864:                                             ; preds = %3857, %3839
  store i32 67208, ptr %32, align 4, !tbaa !9
  %3865 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3865, ptr %8, align 4, !tbaa !9
  %3866 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3866, ptr %32, align 4, !tbaa !9
  %3867 = load i32, ptr %32, align 4, !tbaa !9
  %3868 = icmp ne i32 %3867, 0
  br i1 %3868, label %3869, label %4665

3869:                                             ; preds = %3864
  %3870 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3870, ptr %32, align 4, !tbaa !9
  %3871 = load ptr, ptr %5, align 8, !tbaa !5
  %3872 = getelementptr inbounds %struct.w2c_hermes, ptr %3871, i32 0, i32 6
  %3873 = load i32, ptr %32, align 4, !tbaa !9
  %3874 = zext i32 %3873 to i64
  %3875 = call i32 @i32_load(ptr noundef %3872, i64 noundef %3874)
  store i32 %3875, ptr %32, align 4, !tbaa !9
  %3876 = load ptr, ptr %5, align 8, !tbaa !5
  %3877 = getelementptr inbounds %struct.w2c_hermes, ptr %3876, i32 0, i32 6
  %3878 = load i32, ptr %32, align 4, !tbaa !9
  %3879 = zext i32 %3878 to i64
  %3880 = add i64 %3879, 12
  %3881 = call i64 @i64_load32_u(ptr noundef %3877, i64 noundef %3880)
  store i64 %3881, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %3882 = load i64, ptr %41, align 8, !tbaa !11
  %3883 = load i64, ptr %40, align 8, !tbaa !11
  %3884 = or i64 %3883, %3882
  store i64 %3884, ptr %40, align 8, !tbaa !11
  %3885 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %3885, ptr %29, align 8, !tbaa !11
  %3886 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3886, ptr %32, align 4, !tbaa !9
  %3887 = load ptr, ptr %5, align 8, !tbaa !5
  %3888 = getelementptr inbounds %struct.w2c_hermes, ptr %3887, i32 0, i32 6
  %3889 = load i32, ptr %32, align 4, !tbaa !9
  %3890 = zext i32 %3889 to i64
  %3891 = add i64 %3890, 4
  %3892 = call i32 @i32_load(ptr noundef %3888, i64 noundef %3891)
  store i32 %3892, ptr %32, align 4, !tbaa !9
  %3893 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3893, ptr %8, align 4, !tbaa !9
  %3894 = load ptr, ptr %5, align 8, !tbaa !5
  %3895 = getelementptr inbounds %struct.w2c_hermes, ptr %3894, i32 0, i32 6
  %3896 = load i32, ptr %32, align 4, !tbaa !9
  %3897 = zext i32 %3896 to i64
  %3898 = add i64 %3897, 164
  %3899 = call i32 @i32_load(ptr noundef %3895, i64 noundef %3898)
  store i32 %3899, ptr %32, align 4, !tbaa !9
  %3900 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3900, ptr %9, align 4, !tbaa !9
  %3901 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3901, ptr %33, align 4, !tbaa !9
  %3902 = load ptr, ptr %5, align 8, !tbaa !5
  %3903 = getelementptr inbounds %struct.w2c_hermes, ptr %3902, i32 0, i32 6
  %3904 = load i32, ptr %33, align 4, !tbaa !9
  %3905 = zext i32 %3904 to i64
  %3906 = add i64 %3905, 168
  %3907 = call i32 @i32_load(ptr noundef %3903, i64 noundef %3906)
  store i32 %3907, ptr %33, align 4, !tbaa !9
  %3908 = load i32, ptr %32, align 4, !tbaa !9
  %3909 = load i32, ptr %33, align 4, !tbaa !9
  %3910 = icmp ult i32 %3908, %3909
  %3911 = zext i1 %3910 to i32
  store i32 %3911, ptr %32, align 4, !tbaa !9
  %3912 = load i32, ptr %32, align 4, !tbaa !9
  %3913 = icmp ne i32 %3912, 0
  br i1 %3913, label %3914, label %3933

3914:                                             ; preds = %3869
  %3915 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3915, ptr %32, align 4, !tbaa !9
  %3916 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3916, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3917 = load i32, ptr %34, align 4, !tbaa !9
  %3918 = load i32, ptr %33, align 4, !tbaa !9
  %3919 = add i32 %3918, %3917
  store i32 %3919, ptr %33, align 4, !tbaa !9
  %3920 = load ptr, ptr %5, align 8, !tbaa !5
  %3921 = getelementptr inbounds %struct.w2c_hermes, ptr %3920, i32 0, i32 6
  %3922 = load i32, ptr %32, align 4, !tbaa !9
  %3923 = zext i32 %3922 to i64
  %3924 = add i64 %3923, 164
  %3925 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3921, i64 noundef %3924, i32 noundef %3925)
  %3926 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3926, ptr %32, align 4, !tbaa !9
  %3927 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3927, ptr %41, align 8, !tbaa !11
  %3928 = load ptr, ptr %5, align 8, !tbaa !5
  %3929 = getelementptr inbounds %struct.w2c_hermes, ptr %3928, i32 0, i32 6
  %3930 = load i32, ptr %32, align 4, !tbaa !9
  %3931 = zext i32 %3930 to i64
  %3932 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3929, i64 noundef %3931, i64 noundef %3932)
  br label %3941

3933:                                             ; preds = %3869
  %3934 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3934, ptr %32, align 4, !tbaa !9
  %3935 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3935, ptr %41, align 8, !tbaa !11
  %3936 = load ptr, ptr %5, align 8, !tbaa !5
  %3937 = load i32, ptr %32, align 4, !tbaa !9
  %3938 = load i64, ptr %41, align 8, !tbaa !11
  %3939 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %3936, i32 noundef %3937, i64 noundef %3938)
  store i32 %3939, ptr %32, align 4, !tbaa !9
  %3940 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3940, ptr %9, align 4, !tbaa !9
  br label %3941

3941:                                             ; preds = %3933, %3914
  %3942 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3942, ptr %32, align 4, !tbaa !9
  %3943 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3943, ptr %33, align 4, !tbaa !9
  %3944 = load ptr, ptr %5, align 8, !tbaa !5
  %3945 = load i32, ptr %32, align 4, !tbaa !9
  %3946 = load i32, ptr %33, align 4, !tbaa !9
  %3947 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x29(ptr noundef %3944, i32 noundef %3945, i32 noundef %3946)
  store i32 %3947, ptr %32, align 4, !tbaa !9
  %3948 = load i32, ptr %32, align 4, !tbaa !9
  %3949 = zext i32 %3948 to i64
  store i64 %3949, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %3950 = load i64, ptr %41, align 8, !tbaa !11
  %3951 = load i64, ptr %40, align 8, !tbaa !11
  %3952 = or i64 %3951, %3950
  store i64 %3952, ptr %40, align 8, !tbaa !11
  %3953 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %3953, ptr %29, align 8, !tbaa !11
  %3954 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3954, ptr %32, align 4, !tbaa !9
  %3955 = load ptr, ptr %5, align 8, !tbaa !5
  %3956 = getelementptr inbounds %struct.w2c_hermes, ptr %3955, i32 0, i32 6
  %3957 = load i32, ptr %32, align 4, !tbaa !9
  %3958 = zext i32 %3957 to i64
  %3959 = add i64 %3958, 4
  %3960 = call i32 @i32_load(ptr noundef %3956, i64 noundef %3959)
  store i32 %3960, ptr %32, align 4, !tbaa !9
  %3961 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3961, ptr %13, align 4, !tbaa !9
  %3962 = load ptr, ptr %5, align 8, !tbaa !5
  %3963 = getelementptr inbounds %struct.w2c_hermes, ptr %3962, i32 0, i32 6
  %3964 = load i32, ptr %32, align 4, !tbaa !9
  %3965 = zext i32 %3964 to i64
  %3966 = add i64 %3965, 164
  %3967 = call i32 @i32_load(ptr noundef %3963, i64 noundef %3966)
  store i32 %3967, ptr %32, align 4, !tbaa !9
  %3968 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3968, ptr %8, align 4, !tbaa !9
  %3969 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3969, ptr %33, align 4, !tbaa !9
  %3970 = load ptr, ptr %5, align 8, !tbaa !5
  %3971 = getelementptr inbounds %struct.w2c_hermes, ptr %3970, i32 0, i32 6
  %3972 = load i32, ptr %33, align 4, !tbaa !9
  %3973 = zext i32 %3972 to i64
  %3974 = add i64 %3973, 168
  %3975 = call i32 @i32_load(ptr noundef %3971, i64 noundef %3974)
  store i32 %3975, ptr %33, align 4, !tbaa !9
  %3976 = load i32, ptr %32, align 4, !tbaa !9
  %3977 = load i32, ptr %33, align 4, !tbaa !9
  %3978 = icmp ult i32 %3976, %3977
  %3979 = zext i1 %3978 to i32
  store i32 %3979, ptr %32, align 4, !tbaa !9
  %3980 = load i32, ptr %32, align 4, !tbaa !9
  %3981 = icmp ne i32 %3980, 0
  br i1 %3981, label %3982, label %4001

3982:                                             ; preds = %3941
  %3983 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3983, ptr %32, align 4, !tbaa !9
  %3984 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3984, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %3985 = load i32, ptr %34, align 4, !tbaa !9
  %3986 = load i32, ptr %33, align 4, !tbaa !9
  %3987 = add i32 %3986, %3985
  store i32 %3987, ptr %33, align 4, !tbaa !9
  %3988 = load ptr, ptr %5, align 8, !tbaa !5
  %3989 = getelementptr inbounds %struct.w2c_hermes, ptr %3988, i32 0, i32 6
  %3990 = load i32, ptr %32, align 4, !tbaa !9
  %3991 = zext i32 %3990 to i64
  %3992 = add i64 %3991, 164
  %3993 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3989, i64 noundef %3992, i32 noundef %3993)
  %3994 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3994, ptr %32, align 4, !tbaa !9
  %3995 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %3995, ptr %41, align 8, !tbaa !11
  %3996 = load ptr, ptr %5, align 8, !tbaa !5
  %3997 = getelementptr inbounds %struct.w2c_hermes, ptr %3996, i32 0, i32 6
  %3998 = load i32, ptr %32, align 4, !tbaa !9
  %3999 = zext i32 %3998 to i64
  %4000 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %3997, i64 noundef %3999, i64 noundef %4000)
  br label %4009

4001:                                             ; preds = %3941
  %4002 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4002, ptr %32, align 4, !tbaa !9
  %4003 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %4003, ptr %41, align 8, !tbaa !11
  %4004 = load ptr, ptr %5, align 8, !tbaa !5
  %4005 = load i32, ptr %32, align 4, !tbaa !9
  %4006 = load i64, ptr %41, align 8, !tbaa !11
  %4007 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %4004, i32 noundef %4005, i64 noundef %4006)
  store i32 %4007, ptr %32, align 4, !tbaa !9
  %4008 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4008, ptr %8, align 4, !tbaa !9
  br label %4009

4009:                                             ; preds = %4001, %3982
  %4010 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4010, ptr %32, align 4, !tbaa !9
  %4011 = load ptr, ptr %5, align 8, !tbaa !5
  %4012 = getelementptr inbounds %struct.w2c_hermes, ptr %4011, i32 0, i32 6
  %4013 = load i32, ptr %32, align 4, !tbaa !9
  %4014 = zext i32 %4013 to i64
  %4015 = call i32 @i32_load(ptr noundef %4012, i64 noundef %4014)
  store i32 %4015, ptr %32, align 4, !tbaa !9
  %4016 = load ptr, ptr %5, align 8, !tbaa !5
  %4017 = getelementptr inbounds %struct.w2c_hermes, ptr %4016, i32 0, i32 6
  %4018 = load i32, ptr %32, align 4, !tbaa !9
  %4019 = zext i32 %4018 to i64
  %4020 = add i64 %4019, 16
  %4021 = call i32 @i32_load(ptr noundef %4017, i64 noundef %4020)
  store i32 %4021, ptr %32, align 4, !tbaa !9
  %4022 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4022, ptr %13, align 4, !tbaa !9
  %4023 = load i32, ptr %32, align 4, !tbaa !9
  %4024 = icmp ne i32 %4023, 0
  br i1 %4024, label %4025, label %4027

4025:                                             ; preds = %4009
  %4026 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4026, ptr %32, align 4, !tbaa !9
  br label %4045

4027:                                             ; preds = %4009
  %4028 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4028, ptr %32, align 4, !tbaa !9
  %4029 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4029, ptr %33, align 4, !tbaa !9
  %4030 = load ptr, ptr %5, align 8, !tbaa !5
  %4031 = load i32, ptr %32, align 4, !tbaa !9
  %4032 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AinitializeMissingPropertyMap0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %4030, i32 noundef %4031, i32 noundef %4032)
  %4033 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4033, ptr %32, align 4, !tbaa !9
  %4034 = load ptr, ptr %5, align 8, !tbaa !5
  %4035 = getelementptr inbounds %struct.w2c_hermes, ptr %4034, i32 0, i32 6
  %4036 = load i32, ptr %32, align 4, !tbaa !9
  %4037 = zext i32 %4036 to i64
  %4038 = call i32 @i32_load(ptr noundef %4035, i64 noundef %4037)
  store i32 %4038, ptr %32, align 4, !tbaa !9
  %4039 = load ptr, ptr %5, align 8, !tbaa !5
  %4040 = getelementptr inbounds %struct.w2c_hermes, ptr %4039, i32 0, i32 6
  %4041 = load i32, ptr %32, align 4, !tbaa !9
  %4042 = zext i32 %4041 to i64
  %4043 = add i64 %4042, 16
  %4044 = call i32 @i32_load(ptr noundef %4040, i64 noundef %4043)
  store i32 %4044, ptr %32, align 4, !tbaa !9
  br label %4045

4045:                                             ; preds = %4027, %4025
  %4046 = load i32, ptr %32, align 4, !tbaa !9
  %4047 = zext i32 %4046 to i64
  store i64 %4047, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %4048 = load i64, ptr %41, align 8, !tbaa !11
  %4049 = load i64, ptr %40, align 8, !tbaa !11
  %4050 = or i64 %4049, %4048
  store i64 %4050, ptr %40, align 8, !tbaa !11
  %4051 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %4051, ptr %29, align 8, !tbaa !11
  %4052 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4052, ptr %32, align 4, !tbaa !9
  %4053 = load ptr, ptr %5, align 8, !tbaa !5
  %4054 = getelementptr inbounds %struct.w2c_hermes, ptr %4053, i32 0, i32 6
  %4055 = load i32, ptr %32, align 4, !tbaa !9
  %4056 = zext i32 %4055 to i64
  %4057 = add i64 %4056, 4
  %4058 = call i32 @i32_load(ptr noundef %4054, i64 noundef %4057)
  store i32 %4058, ptr %32, align 4, !tbaa !9
  %4059 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4059, ptr %9, align 4, !tbaa !9
  %4060 = load ptr, ptr %5, align 8, !tbaa !5
  %4061 = getelementptr inbounds %struct.w2c_hermes, ptr %4060, i32 0, i32 6
  %4062 = load i32, ptr %32, align 4, !tbaa !9
  %4063 = zext i32 %4062 to i64
  %4064 = add i64 %4063, 164
  %4065 = call i32 @i32_load(ptr noundef %4061, i64 noundef %4064)
  store i32 %4065, ptr %32, align 4, !tbaa !9
  %4066 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4066, ptr %15, align 4, !tbaa !9
  %4067 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4067, ptr %33, align 4, !tbaa !9
  %4068 = load ptr, ptr %5, align 8, !tbaa !5
  %4069 = getelementptr inbounds %struct.w2c_hermes, ptr %4068, i32 0, i32 6
  %4070 = load i32, ptr %33, align 4, !tbaa !9
  %4071 = zext i32 %4070 to i64
  %4072 = add i64 %4071, 168
  %4073 = call i32 @i32_load(ptr noundef %4069, i64 noundef %4072)
  store i32 %4073, ptr %33, align 4, !tbaa !9
  %4074 = load i32, ptr %32, align 4, !tbaa !9
  %4075 = load i32, ptr %33, align 4, !tbaa !9
  %4076 = icmp ult i32 %4074, %4075
  %4077 = zext i1 %4076 to i32
  store i32 %4077, ptr %32, align 4, !tbaa !9
  %4078 = load i32, ptr %32, align 4, !tbaa !9
  %4079 = icmp ne i32 %4078, 0
  br i1 %4079, label %4080, label %4099

4080:                                             ; preds = %4045
  %4081 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4081, ptr %32, align 4, !tbaa !9
  %4082 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4082, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %4083 = load i32, ptr %34, align 4, !tbaa !9
  %4084 = load i32, ptr %33, align 4, !tbaa !9
  %4085 = add i32 %4084, %4083
  store i32 %4085, ptr %33, align 4, !tbaa !9
  %4086 = load ptr, ptr %5, align 8, !tbaa !5
  %4087 = getelementptr inbounds %struct.w2c_hermes, ptr %4086, i32 0, i32 6
  %4088 = load i32, ptr %32, align 4, !tbaa !9
  %4089 = zext i32 %4088 to i64
  %4090 = add i64 %4089, 164
  %4091 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4087, i64 noundef %4090, i32 noundef %4091)
  %4092 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4092, ptr %32, align 4, !tbaa !9
  %4093 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %4093, ptr %41, align 8, !tbaa !11
  %4094 = load ptr, ptr %5, align 8, !tbaa !5
  %4095 = getelementptr inbounds %struct.w2c_hermes, ptr %4094, i32 0, i32 6
  %4096 = load i32, ptr %32, align 4, !tbaa !9
  %4097 = zext i32 %4096 to i64
  %4098 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4095, i64 noundef %4097, i64 noundef %4098)
  br label %4113

4099:                                             ; preds = %4045
  %4100 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4100, ptr %32, align 4, !tbaa !9
  %4101 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %4101, ptr %41, align 8, !tbaa !11
  %4102 = load ptr, ptr %5, align 8, !tbaa !5
  %4103 = load i32, ptr %32, align 4, !tbaa !9
  %4104 = load i64, ptr %41, align 8, !tbaa !11
  %4105 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %4102, i32 noundef %4103, i64 noundef %4104)
  store i32 %4105, ptr %32, align 4, !tbaa !9
  %4106 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4106, ptr %15, align 4, !tbaa !9
  %4107 = load ptr, ptr %5, align 8, !tbaa !5
  %4108 = getelementptr inbounds %struct.w2c_hermes, ptr %4107, i32 0, i32 6
  %4109 = load i32, ptr %32, align 4, !tbaa !9
  %4110 = zext i32 %4109 to i64
  %4111 = call i64 @i64_load(ptr noundef %4108, i64 noundef %4110)
  store i64 %4111, ptr %40, align 8, !tbaa !11
  %4112 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %4112, ptr %29, align 8, !tbaa !11
  br label %4113

4113:                                             ; preds = %4099, %4080
  %4114 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4114, ptr %32, align 4, !tbaa !9
  %4115 = load ptr, ptr %5, align 8, !tbaa !5
  %4116 = getelementptr inbounds %struct.w2c_hermes, ptr %4115, i32 0, i32 6
  %4117 = load i32, ptr %32, align 4, !tbaa !9
  %4118 = zext i32 %4117 to i64
  %4119 = add i64 %4118, 4
  %4120 = call i32 @i32_load(ptr noundef %4116, i64 noundef %4119)
  store i32 %4120, ptr %32, align 4, !tbaa !9
  %4121 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4121, ptr %13, align 4, !tbaa !9
  %4122 = load ptr, ptr %5, align 8, !tbaa !5
  %4123 = getelementptr inbounds %struct.w2c_hermes, ptr %4122, i32 0, i32 6
  %4124 = load i32, ptr %32, align 4, !tbaa !9
  %4125 = zext i32 %4124 to i64
  %4126 = add i64 %4125, 172
  %4127 = call i32 @i32_load(ptr noundef %4123, i64 noundef %4126)
  store i32 %4127, ptr %32, align 4, !tbaa !9
  %4128 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4128, ptr %16, align 4, !tbaa !9
  %4129 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4129, ptr %32, align 4, !tbaa !9
  %4130 = load ptr, ptr %5, align 8, !tbaa !5
  %4131 = getelementptr inbounds %struct.w2c_hermes, ptr %4130, i32 0, i32 6
  %4132 = load i32, ptr %32, align 4, !tbaa !9
  %4133 = zext i32 %4132 to i64
  %4134 = add i64 %4133, 164
  %4135 = call i32 @i32_load(ptr noundef %4131, i64 noundef %4134)
  store i32 %4135, ptr %32, align 4, !tbaa !9
  %4136 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4136, ptr %18, align 4, !tbaa !9
  %4137 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %4137, ptr %40, align 8, !tbaa !11
  %4138 = load i64, ptr %40, align 8, !tbaa !11
  %4139 = trunc i64 %4138 to i32
  store i32 %4139, ptr %32, align 4, !tbaa !9
  %4140 = load ptr, ptr %5, align 8, !tbaa !5
  %4141 = getelementptr inbounds %struct.w2c_hermes, ptr %4140, i32 0, i32 6
  %4142 = load i32, ptr %32, align 4, !tbaa !9
  %4143 = zext i32 %4142 to i64
  %4144 = add i64 %4143, 12
  %4145 = call i32 @i32_load(ptr noundef %4141, i64 noundef %4144)
  store i32 %4145, ptr %32, align 4, !tbaa !9
  %4146 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4146, ptr %25, align 4, !tbaa !9
  %4147 = load i32, ptr %32, align 4, !tbaa !9
  %4148 = icmp ne i32 %4147, 0
  br i1 %4148, label %4149, label %4616

4149:                                             ; preds = %4113
  %4150 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4150, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %4151 = load i32, ptr %33, align 4, !tbaa !9
  %4152 = load i32, ptr %32, align 4, !tbaa !9
  %4153 = add i32 %4152, %4151
  store i32 %4153, ptr %32, align 4, !tbaa !9
  %4154 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4154, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %4155 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4155, ptr %9, align 4, !tbaa !9
  br label %4156

4156:                                             ; preds = %4614, %4149
  %4157 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4157, ptr %32, align 4, !tbaa !9
  %4158 = load ptr, ptr %5, align 8, !tbaa !5
  %4159 = getelementptr inbounds %struct.w2c_hermes, ptr %4158, i32 0, i32 6
  %4160 = load i32, ptr %32, align 4, !tbaa !9
  %4161 = zext i32 %4160 to i64
  %4162 = call i32 @i32_load(ptr noundef %4159, i64 noundef %4161)
  store i32 %4162, ptr %32, align 4, !tbaa !9
  store i32 28, ptr %33, align 4, !tbaa !9
  %4163 = load i32, ptr %33, align 4, !tbaa !9
  %4164 = load i32, ptr %32, align 4, !tbaa !9
  %4165 = add i32 %4164, %4163
  store i32 %4165, ptr %32, align 4, !tbaa !9
  %4166 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4166, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %4167 = load i32, ptr %34, align 4, !tbaa !9
  %4168 = load i32, ptr %33, align 4, !tbaa !9
  %4169 = mul i32 %4168, %4167
  store i32 %4169, ptr %33, align 4, !tbaa !9
  %4170 = load i32, ptr %33, align 4, !tbaa !9
  %4171 = load i32, ptr %32, align 4, !tbaa !9
  %4172 = add i32 %4171, %4170
  store i32 %4172, ptr %32, align 4, !tbaa !9
  %4173 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4173, ptr %11, align 4, !tbaa !9
  %4174 = load ptr, ptr %5, align 8, !tbaa !5
  %4175 = getelementptr inbounds %struct.w2c_hermes, ptr %4174, i32 0, i32 6
  %4176 = load i32, ptr %32, align 4, !tbaa !9
  %4177 = zext i32 %4176 to i64
  %4178 = call i32 @i32_load(ptr noundef %4175, i64 noundef %4177)
  store i32 %4178, ptr %32, align 4, !tbaa !9
  store i32 536870909, ptr %33, align 4, !tbaa !9
  %4179 = load i32, ptr %32, align 4, !tbaa !9
  %4180 = load i32, ptr %33, align 4, !tbaa !9
  %4181 = icmp ule i32 %4179, %4180
  %4182 = zext i1 %4181 to i32
  store i32 %4182, ptr %32, align 4, !tbaa !9
  %4183 = load i32, ptr %32, align 4, !tbaa !9
  %4184 = icmp ne i32 %4183, 0
  br i1 %4184, label %4185, label %4601

4185:                                             ; preds = %4156
  %4186 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %4186, ptr %32, align 4, !tbaa !9
  %4187 = load ptr, ptr %5, align 8, !tbaa !5
  %4188 = getelementptr inbounds %struct.w2c_hermes, ptr %4187, i32 0, i32 6
  %4189 = load i32, ptr %32, align 4, !tbaa !9
  %4190 = zext i32 %4189 to i64
  %4191 = call i32 @i32_load(ptr noundef %4188, i64 noundef %4190)
  store i32 %4191, ptr %32, align 4, !tbaa !9
  %4192 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4192, ptr %20, align 4, !tbaa !9
  %4193 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4193, ptr %32, align 4, !tbaa !9
  %4194 = load ptr, ptr %5, align 8, !tbaa !5
  %4195 = getelementptr inbounds %struct.w2c_hermes, ptr %4194, i32 0, i32 6
  %4196 = load i32, ptr %32, align 4, !tbaa !9
  %4197 = zext i32 %4196 to i64
  %4198 = call i32 @i32_load(ptr noundef %4195, i64 noundef %4197)
  store i32 %4198, ptr %32, align 4, !tbaa !9
  %4199 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4199, ptr %24, align 4, !tbaa !9
  store i32 7, ptr %32, align 4, !tbaa !9
  %4200 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4200, ptr %14, align 4, !tbaa !9
  %4201 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4201, ptr %32, align 4, !tbaa !9
  %4202 = load ptr, ptr %5, align 8, !tbaa !5
  %4203 = getelementptr inbounds %struct.w2c_hermes, ptr %4202, i32 0, i32 6
  %4204 = load i32, ptr %32, align 4, !tbaa !9
  %4205 = zext i32 %4204 to i64
  %4206 = add i64 %4205, 8
  %4207 = call i32 @i32_load(ptr noundef %4203, i64 noundef %4206)
  store i32 %4207, ptr %32, align 4, !tbaa !9
  %4208 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4208, ptr %11, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %4209 = load i32, ptr %32, align 4, !tbaa !9
  %4210 = load i32, ptr %33, align 4, !tbaa !9
  %4211 = icmp ugt i32 %4209, %4210
  %4212 = zext i1 %4211 to i32
  store i32 %4212, ptr %32, align 4, !tbaa !9
  %4213 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4213, ptr %27, align 4, !tbaa !9
  %4214 = load i32, ptr %32, align 4, !tbaa !9
  %4215 = icmp ne i32 %4214, 0
  %4216 = xor i1 %4215, true
  %4217 = zext i1 %4216 to i32
  store i32 %4217, ptr %32, align 4, !tbaa !9
  %4218 = load i32, ptr %32, align 4, !tbaa !9
  %4219 = icmp ne i32 %4218, 0
  br i1 %4219, label %4220, label %4233

4220:                                             ; preds = %4185
  %4221 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4221, ptr %32, align 4, !tbaa !9
  %4222 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4222, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4223 = load i32, ptr %34, align 4, !tbaa !9
  %4224 = and i32 %4223, 31
  %4225 = load i32, ptr %33, align 4, !tbaa !9
  %4226 = shl i32 %4225, %4224
  store i32 %4226, ptr %33, align 4, !tbaa !9
  %4227 = load i32, ptr %33, align 4, !tbaa !9
  %4228 = load i32, ptr %32, align 4, !tbaa !9
  %4229 = add i32 %4228, %4227
  store i32 %4229, ptr %32, align 4, !tbaa !9
  store i32 20, ptr %33, align 4, !tbaa !9
  %4230 = load i32, ptr %33, align 4, !tbaa !9
  %4231 = load i32, ptr %32, align 4, !tbaa !9
  %4232 = add i32 %4231, %4230
  store i32 %4232, ptr %32, align 4, !tbaa !9
  br label %4252

4233:                                             ; preds = %4185
  %4234 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4234, ptr %32, align 4, !tbaa !9
  %4235 = load ptr, ptr %5, align 8, !tbaa !5
  %4236 = getelementptr inbounds %struct.w2c_hermes, ptr %4235, i32 0, i32 6
  %4237 = load i32, ptr %32, align 4, !tbaa !9
  %4238 = zext i32 %4237 to i64
  %4239 = add i64 %4238, 16
  %4240 = call i32 @i32_load(ptr noundef %4236, i64 noundef %4239)
  store i32 %4240, ptr %32, align 4, !tbaa !9
  %4241 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4241, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4242 = load i32, ptr %34, align 4, !tbaa !9
  %4243 = and i32 %4242, 31
  %4244 = load i32, ptr %33, align 4, !tbaa !9
  %4245 = shl i32 %4244, %4243
  store i32 %4245, ptr %33, align 4, !tbaa !9
  %4246 = load i32, ptr %33, align 4, !tbaa !9
  %4247 = load i32, ptr %32, align 4, !tbaa !9
  %4248 = add i32 %4247, %4246
  store i32 %4248, ptr %32, align 4, !tbaa !9
  store i32 12, ptr %33, align 4, !tbaa !9
  %4249 = load i32, ptr %33, align 4, !tbaa !9
  %4250 = load i32, ptr %32, align 4, !tbaa !9
  %4251 = sub i32 %4250, %4249
  store i32 %4251, ptr %32, align 4, !tbaa !9
  br label %4252

4252:                                             ; preds = %4233, %4220
  %4253 = load ptr, ptr %5, align 8, !tbaa !5
  %4254 = getelementptr inbounds %struct.w2c_hermes, ptr %4253, i32 0, i32 6
  %4255 = load i32, ptr %32, align 4, !tbaa !9
  %4256 = zext i32 %4255 to i64
  %4257 = call i32 @i32_load(ptr noundef %4254, i64 noundef %4256)
  store i32 %4257, ptr %32, align 4, !tbaa !9
  %4258 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4258, ptr %20, align 4, !tbaa !9
  store i32 7, ptr %33, align 4, !tbaa !9
  %4259 = load i32, ptr %33, align 4, !tbaa !9
  %4260 = load i32, ptr %32, align 4, !tbaa !9
  %4261 = and i32 %4260, %4259
  store i32 %4261, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %4262 = load i32, ptr %32, align 4, !tbaa !9
  %4263 = load i32, ptr %33, align 4, !tbaa !9
  %4264 = icmp eq i32 %4262, %4263
  %4265 = zext i1 %4264 to i32
  store i32 %4265, ptr %32, align 4, !tbaa !9
  %4266 = load i32, ptr %32, align 4, !tbaa !9
  %4267 = icmp ne i32 %4266, 0
  br i1 %4267, label %4268, label %4276

4268:                                             ; preds = %4252
  %4269 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4269, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %4270 = load i32, ptr %32, align 4, !tbaa !9
  %4271 = load i32, ptr %33, align 4, !tbaa !9
  %4272 = and i32 %4271, 31
  %4273 = ashr i32 %4270, %4272
  store i32 %4273, ptr %32, align 4, !tbaa !9
  %4274 = load i32, ptr %32, align 4, !tbaa !9
  %4275 = sitofp i32 %4274 to double
  store double %4275, ptr %45, align 8, !tbaa !13
  br label %4287

4276:                                             ; preds = %4252
  %4277 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4277, ptr %32, align 4, !tbaa !9
  store i32 -8, ptr %33, align 4, !tbaa !9
  %4278 = load i32, ptr %33, align 4, !tbaa !9
  %4279 = load i32, ptr %32, align 4, !tbaa !9
  %4280 = and i32 %4279, %4278
  store i32 %4280, ptr %32, align 4, !tbaa !9
  %4281 = load ptr, ptr %5, align 8, !tbaa !5
  %4282 = getelementptr inbounds %struct.w2c_hermes, ptr %4281, i32 0, i32 6
  %4283 = load i32, ptr %32, align 4, !tbaa !9
  %4284 = zext i32 %4283 to i64
  %4285 = add i64 %4284, 8
  %4286 = call double @f64_load(ptr noundef %4282, i64 noundef %4285)
  store double %4286, ptr %45, align 8, !tbaa !13
  br label %4287

4287:                                             ; preds = %4276, %4268
  %4288 = load double, ptr %45, align 8, !tbaa !13
  store double %4288, ptr %31, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %46, align 8, !tbaa !13
  %4289 = load double, ptr %45, align 8, !tbaa !13
  %4290 = load double, ptr %46, align 8, !tbaa !13
  %4291 = fcmp olt double %4289, %4290
  %4292 = zext i1 %4291 to i32
  store i32 %4292, ptr %32, align 4, !tbaa !9
  %4293 = load double, ptr %31, align 8, !tbaa !13
  store double %4293, ptr %46, align 8, !tbaa !13
  store double 0.000000e+00, ptr %47, align 8, !tbaa !13
  %4294 = load double, ptr %46, align 8, !tbaa !13
  %4295 = load double, ptr %47, align 8, !tbaa !13
  %4296 = fcmp oge double %4294, %4295
  %4297 = zext i1 %4296 to i32
  store i32 %4297, ptr %33, align 4, !tbaa !9
  %4298 = load i32, ptr %33, align 4, !tbaa !9
  %4299 = load i32, ptr %32, align 4, !tbaa !9
  %4300 = and i32 %4299, %4298
  store i32 %4300, ptr %32, align 4, !tbaa !9
  %4301 = load i32, ptr %32, align 4, !tbaa !9
  %4302 = icmp ne i32 %4301, 0
  br i1 %4302, label %4303, label %4340

4303:                                             ; preds = %4287
  %4304 = load double, ptr %31, align 8, !tbaa !13
  store double %4304, ptr %45, align 8, !tbaa !13
  %4305 = load double, ptr %45, align 8, !tbaa !13
  %4306 = load double, ptr %45, align 8, !tbaa !13
  %4307 = fcmp une double %4305, %4306
  %4308 = xor i1 %4307, true
  %4309 = xor i1 %4308, true
  %4310 = zext i1 %4309 to i32
  %4311 = sext i32 %4310 to i64
  %4312 = call i64 @llvm.expect.i64(i64 %4311, i64 0)
  %4313 = icmp ne i64 %4312, 0
  br i1 %4313, label %4314, label %4316

4314:                                             ; preds = %4303
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

4315:                                             ; No predecessors!
  br label %4338

4316:                                             ; preds = %4303
  %4317 = load double, ptr %45, align 8, !tbaa !13
  %4318 = fcmp ogt double %4317, -1.000000e+00
  br i1 %4318, label %4319, label %4322

4319:                                             ; preds = %4316
  %4320 = load double, ptr %45, align 8, !tbaa !13
  %4321 = fcmp olt double %4320, 0x41F0000000000000
  br label %4322

4322:                                             ; preds = %4319, %4316
  %4323 = phi i1 [ false, %4316 ], [ %4321, %4319 ]
  %4324 = xor i1 %4323, true
  %4325 = xor i1 %4324, true
  %4326 = xor i1 %4325, true
  %4327 = zext i1 %4326 to i32
  %4328 = sext i32 %4327 to i64
  %4329 = call i64 @llvm.expect.i64(i64 %4328, i64 0)
  %4330 = icmp ne i64 %4329, 0
  br i1 %4330, label %4331, label %4333

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

4332:                                             ; No predecessors!
  br label %4336

4333:                                             ; preds = %4322
  %4334 = load double, ptr %45, align 8, !tbaa !13
  %4335 = fptoui double %4334 to i32
  br label %4336

4336:                                             ; preds = %4333, %4332
  %4337 = phi i32 [ 0, %4332 ], [ %4335, %4333 ]
  br label %4338

4338:                                             ; preds = %4336, %4315
  %4339 = phi i32 [ 0, %4315 ], [ %4337, %4336 ]
  store i32 %4339, ptr %32, align 4, !tbaa !9
  br label %4341

4340:                                             ; preds = %4287
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %4341

4341:                                             ; preds = %4340, %4338
  %4342 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4342, ptr %20, align 4, !tbaa !9
  %4343 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4343, ptr %33, align 4, !tbaa !9
  %4344 = load ptr, ptr %5, align 8, !tbaa !5
  %4345 = getelementptr inbounds %struct.w2c_hermes, ptr %4344, i32 0, i32 6
  %4346 = load i32, ptr %33, align 4, !tbaa !9
  %4347 = zext i32 %4346 to i64
  %4348 = call i32 @i32_load(ptr noundef %4345, i64 noundef %4347)
  store i32 %4348, ptr %33, align 4, !tbaa !9
  %4349 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4349, ptr %22, align 4, !tbaa !9
  %4350 = load ptr, ptr %5, align 8, !tbaa !5
  %4351 = getelementptr inbounds %struct.w2c_hermes, ptr %4350, i32 0, i32 6
  %4352 = load i32, ptr %33, align 4, !tbaa !9
  %4353 = zext i32 %4352 to i64
  %4354 = add i64 %4353, 20
  %4355 = call i32 @i32_load(ptr noundef %4351, i64 noundef %4354)
  store i32 %4355, ptr %33, align 4, !tbaa !9
  %4356 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4356, ptr %28, align 4, !tbaa !9
  %4357 = load i32, ptr %32, align 4, !tbaa !9
  %4358 = load i32, ptr %33, align 4, !tbaa !9
  %4359 = icmp ult i32 %4357, %4358
  %4360 = zext i1 %4359 to i32
  store i32 %4360, ptr %32, align 4, !tbaa !9
  %4361 = load i32, ptr %32, align 4, !tbaa !9
  %4362 = icmp ne i32 %4361, 0
  br i1 %4362, label %4363, label %4364

4363:                                             ; preds = %4341
  br label %4459

4364:                                             ; preds = %4341
  %4365 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4365, ptr %32, align 4, !tbaa !9
  %4366 = load ptr, ptr %5, align 8, !tbaa !5
  %4367 = getelementptr inbounds %struct.w2c_hermes, ptr %4366, i32 0, i32 6
  %4368 = load i32, ptr %32, align 4, !tbaa !9
  %4369 = zext i32 %4368 to i64
  %4370 = add i64 %4369, 24
  %4371 = call i32 @i32_load(ptr noundef %4367, i64 noundef %4370)
  store i32 %4371, ptr %32, align 4, !tbaa !9
  %4372 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4372, ptr %33, align 4, !tbaa !9
  %4373 = load i32, ptr %32, align 4, !tbaa !9
  %4374 = load i32, ptr %33, align 4, !tbaa !9
  %4375 = icmp ule i32 %4373, %4374
  %4376 = zext i1 %4375 to i32
  store i32 %4376, ptr %32, align 4, !tbaa !9
  %4377 = load i32, ptr %32, align 4, !tbaa !9
  %4378 = icmp ne i32 %4377, 0
  br i1 %4378, label %4379, label %4380

4379:                                             ; preds = %4364
  br label %4459

4380:                                             ; preds = %4364
  %4381 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4381, ptr %32, align 4, !tbaa !9
  %4382 = load ptr, ptr %5, align 8, !tbaa !5
  %4383 = getelementptr inbounds %struct.w2c_hermes, ptr %4382, i32 0, i32 6
  %4384 = load i32, ptr %32, align 4, !tbaa !9
  %4385 = zext i32 %4384 to i64
  %4386 = add i64 %4385, 28
  %4387 = call i32 @i32_load(ptr noundef %4383, i64 noundef %4386)
  store i32 %4387, ptr %32, align 4, !tbaa !9
  %4388 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4388, ptr %22, align 4, !tbaa !9
  %4389 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4389, ptr %32, align 4, !tbaa !9
  %4390 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %4390, ptr %33, align 4, !tbaa !9
  %4391 = load i32, ptr %33, align 4, !tbaa !9
  %4392 = load i32, ptr %32, align 4, !tbaa !9
  %4393 = sub i32 %4392, %4391
  store i32 %4393, ptr %32, align 4, !tbaa !9
  %4394 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4394, ptr %14, align 4, !tbaa !9
  store i32 4095, ptr %33, align 4, !tbaa !9
  %4395 = load i32, ptr %32, align 4, !tbaa !9
  %4396 = load i32, ptr %33, align 4, !tbaa !9
  %4397 = icmp ule i32 %4395, %4396
  %4398 = zext i1 %4397 to i32
  store i32 %4398, ptr %32, align 4, !tbaa !9
  %4399 = load i32, ptr %32, align 4, !tbaa !9
  %4400 = icmp ne i32 %4399, 0
  br i1 %4400, label %4401, label %4414

4401:                                             ; preds = %4380
  %4402 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4402, ptr %32, align 4, !tbaa !9
  %4403 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4403, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4404 = load i32, ptr %34, align 4, !tbaa !9
  %4405 = and i32 %4404, 31
  %4406 = load i32, ptr %33, align 4, !tbaa !9
  %4407 = shl i32 %4406, %4405
  store i32 %4407, ptr %33, align 4, !tbaa !9
  %4408 = load i32, ptr %33, align 4, !tbaa !9
  %4409 = load i32, ptr %32, align 4, !tbaa !9
  %4410 = add i32 %4409, %4408
  store i32 %4410, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %4411 = load i32, ptr %33, align 4, !tbaa !9
  %4412 = load i32, ptr %32, align 4, !tbaa !9
  %4413 = add i32 %4412, %4411
  store i32 %4413, ptr %32, align 4, !tbaa !9
  br label %4452

4414:                                             ; preds = %4380
  %4415 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %4415, ptr %32, align 4, !tbaa !9
  %4416 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4416, ptr %33, align 4, !tbaa !9
  store i32 4096, ptr %34, align 4, !tbaa !9
  %4417 = load i32, ptr %34, align 4, !tbaa !9
  %4418 = load i32, ptr %33, align 4, !tbaa !9
  %4419 = sub i32 %4418, %4417
  store i32 %4419, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %4420 = load i32, ptr %34, align 4, !tbaa !9
  %4421 = and i32 %4420, 31
  %4422 = load i32, ptr %33, align 4, !tbaa !9
  %4423 = lshr i32 %4422, %4421
  store i32 %4423, ptr %33, align 4, !tbaa !9
  store i32 16777212, ptr %34, align 4, !tbaa !9
  %4424 = load i32, ptr %34, align 4, !tbaa !9
  %4425 = load i32, ptr %33, align 4, !tbaa !9
  %4426 = and i32 %4425, %4424
  store i32 %4426, ptr %33, align 4, !tbaa !9
  %4427 = load i32, ptr %33, align 4, !tbaa !9
  %4428 = load i32, ptr %32, align 4, !tbaa !9
  %4429 = add i32 %4428, %4427
  store i32 %4429, ptr %32, align 4, !tbaa !9
  store i32 16392, ptr %33, align 4, !tbaa !9
  %4430 = load i32, ptr %33, align 4, !tbaa !9
  %4431 = load i32, ptr %32, align 4, !tbaa !9
  %4432 = add i32 %4431, %4430
  store i32 %4432, ptr %32, align 4, !tbaa !9
  %4433 = load ptr, ptr %5, align 8, !tbaa !5
  %4434 = getelementptr inbounds %struct.w2c_hermes, ptr %4433, i32 0, i32 6
  %4435 = load i32, ptr %32, align 4, !tbaa !9
  %4436 = zext i32 %4435 to i64
  %4437 = call i32 @i32_load(ptr noundef %4434, i64 noundef %4436)
  store i32 %4437, ptr %32, align 4, !tbaa !9
  %4438 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4438, ptr %33, align 4, !tbaa !9
  store i32 1023, ptr %34, align 4, !tbaa !9
  %4439 = load i32, ptr %34, align 4, !tbaa !9
  %4440 = load i32, ptr %33, align 4, !tbaa !9
  %4441 = and i32 %4440, %4439
  store i32 %4441, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4442 = load i32, ptr %34, align 4, !tbaa !9
  %4443 = and i32 %4442, 31
  %4444 = load i32, ptr %33, align 4, !tbaa !9
  %4445 = shl i32 %4444, %4443
  store i32 %4445, ptr %33, align 4, !tbaa !9
  %4446 = load i32, ptr %33, align 4, !tbaa !9
  %4447 = load i32, ptr %32, align 4, !tbaa !9
  %4448 = add i32 %4447, %4446
  store i32 %4448, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %4449 = load i32, ptr %33, align 4, !tbaa !9
  %4450 = load i32, ptr %32, align 4, !tbaa !9
  %4451 = add i32 %4450, %4449
  store i32 %4451, ptr %32, align 4, !tbaa !9
  br label %4452

4452:                                             ; preds = %4414, %4401
  %4453 = load ptr, ptr %5, align 8, !tbaa !5
  %4454 = getelementptr inbounds %struct.w2c_hermes, ptr %4453, i32 0, i32 6
  %4455 = load i32, ptr %32, align 4, !tbaa !9
  %4456 = zext i32 %4455 to i64
  %4457 = call i32 @i32_load(ptr noundef %4454, i64 noundef %4456)
  store i32 %4457, ptr %32, align 4, !tbaa !9
  %4458 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4458, ptr %14, align 4, !tbaa !9
  br label %4459

4459:                                             ; preds = %4452, %4379, %4363
  %4460 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %4460, ptr %32, align 4, !tbaa !9
  %4461 = load i32, ptr %32, align 4, !tbaa !9
  %4462 = icmp ne i32 %4461, 0
  %4463 = xor i1 %4462, true
  %4464 = zext i1 %4463 to i32
  store i32 %4464, ptr %32, align 4, !tbaa !9
  %4465 = load i32, ptr %32, align 4, !tbaa !9
  %4466 = icmp ne i32 %4465, 0
  br i1 %4466, label %4467, label %4499

4467:                                             ; preds = %4459
  %4468 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4468, ptr %32, align 4, !tbaa !9
  %4469 = load ptr, ptr %5, align 8, !tbaa !5
  %4470 = getelementptr inbounds %struct.w2c_hermes, ptr %4469, i32 0, i32 6
  %4471 = load i32, ptr %32, align 4, !tbaa !9
  %4472 = zext i32 %4471 to i64
  %4473 = add i64 %4472, 1356
  %4474 = call i32 @i32_load(ptr noundef %4470, i64 noundef %4473)
  store i32 %4474, ptr %32, align 4, !tbaa !9
  %4475 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4475, ptr %33, align 4, !tbaa !9
  %4476 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4476, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %4477 = load i32, ptr %35, align 4, !tbaa !9
  %4478 = and i32 %4477, 31
  %4479 = load i32, ptr %34, align 4, !tbaa !9
  %4480 = shl i32 %4479, %4478
  store i32 %4480, ptr %34, align 4, !tbaa !9
  %4481 = load i32, ptr %34, align 4, !tbaa !9
  %4482 = load i32, ptr %33, align 4, !tbaa !9
  %4483 = add i32 %4482, %4481
  store i32 %4483, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %4484 = load i32, ptr %34, align 4, !tbaa !9
  %4485 = load i32, ptr %33, align 4, !tbaa !9
  %4486 = add i32 %4485, %4484
  store i32 %4486, ptr %33, align 4, !tbaa !9
  %4487 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4487, ptr %11, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %4488 = load i32, ptr %34, align 4, !tbaa !9
  %4489 = load i32, ptr %33, align 4, !tbaa !9
  %4490 = and i32 %4489, %4488
  store i32 %4490, ptr %33, align 4, !tbaa !9
  %4491 = load i32, ptr %32, align 4, !tbaa !9
  %4492 = load i32, ptr %33, align 4, !tbaa !9
  %4493 = icmp ne i32 %4491, %4492
  %4494 = zext i1 %4493 to i32
  store i32 %4494, ptr %32, align 4, !tbaa !9
  %4495 = load i32, ptr %32, align 4, !tbaa !9
  %4496 = icmp ne i32 %4495, 0
  br i1 %4496, label %4497, label %4498

4497:                                             ; preds = %4467
  br label %4537

4498:                                             ; preds = %4467
  br label %4545

4499:                                             ; preds = %4459
  %4500 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4500, ptr %32, align 4, !tbaa !9
  %4501 = load ptr, ptr %5, align 8, !tbaa !5
  %4502 = getelementptr inbounds %struct.w2c_hermes, ptr %4501, i32 0, i32 6
  %4503 = load i32, ptr %32, align 4, !tbaa !9
  %4504 = zext i32 %4503 to i64
  %4505 = add i64 %4504, 1356
  %4506 = call i32 @i32_load(ptr noundef %4502, i64 noundef %4505)
  store i32 %4506, ptr %32, align 4, !tbaa !9
  %4507 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4507, ptr %33, align 4, !tbaa !9
  %4508 = load ptr, ptr %5, align 8, !tbaa !5
  %4509 = getelementptr inbounds %struct.w2c_hermes, ptr %4508, i32 0, i32 6
  %4510 = load i32, ptr %33, align 4, !tbaa !9
  %4511 = zext i32 %4510 to i64
  %4512 = add i64 %4511, 16
  %4513 = call i32 @i32_load(ptr noundef %4509, i64 noundef %4512)
  store i32 %4513, ptr %33, align 4, !tbaa !9
  %4514 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4514, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %4515 = load i32, ptr %35, align 4, !tbaa !9
  %4516 = and i32 %4515, 31
  %4517 = load i32, ptr %34, align 4, !tbaa !9
  %4518 = shl i32 %4517, %4516
  store i32 %4518, ptr %34, align 4, !tbaa !9
  %4519 = load i32, ptr %34, align 4, !tbaa !9
  %4520 = load i32, ptr %33, align 4, !tbaa !9
  %4521 = add i32 %4520, %4519
  store i32 %4521, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %4522 = load i32, ptr %34, align 4, !tbaa !9
  %4523 = load i32, ptr %33, align 4, !tbaa !9
  %4524 = sub i32 %4523, %4522
  store i32 %4524, ptr %33, align 4, !tbaa !9
  %4525 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4525, ptr %11, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %4526 = load i32, ptr %34, align 4, !tbaa !9
  %4527 = load i32, ptr %33, align 4, !tbaa !9
  %4528 = and i32 %4527, %4526
  store i32 %4528, ptr %33, align 4, !tbaa !9
  %4529 = load i32, ptr %32, align 4, !tbaa !9
  %4530 = load i32, ptr %33, align 4, !tbaa !9
  %4531 = icmp eq i32 %4529, %4530
  %4532 = zext i1 %4531 to i32
  store i32 %4532, ptr %32, align 4, !tbaa !9
  %4533 = load i32, ptr %32, align 4, !tbaa !9
  %4534 = icmp ne i32 %4533, 0
  br i1 %4534, label %4535, label %4536

4535:                                             ; preds = %4499
  br label %4545

4536:                                             ; preds = %4499
  br label %4537

4537:                                             ; preds = %4536, %4497
  %4538 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %4538, ptr %32, align 4, !tbaa !9
  %4539 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4539, ptr %33, align 4, !tbaa !9
  %4540 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4540, ptr %34, align 4, !tbaa !9
  %4541 = load ptr, ptr %5, align 8, !tbaa !5
  %4542 = load i32, ptr %32, align 4, !tbaa !9
  %4543 = load i32, ptr %33, align 4, !tbaa !9
  %4544 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %4541, i32 noundef %4542, i32 noundef %4543, i32 noundef %4544)
  br label %4545

4545:                                             ; preds = %4537, %4535, %4498
  %4546 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4546, ptr %32, align 4, !tbaa !9
  %4547 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4547, ptr %33, align 4, !tbaa !9
  %4548 = load ptr, ptr %5, align 8, !tbaa !5
  %4549 = getelementptr inbounds %struct.w2c_hermes, ptr %4548, i32 0, i32 6
  %4550 = load i32, ptr %32, align 4, !tbaa !9
  %4551 = zext i32 %4550 to i64
  %4552 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4549, i64 noundef %4551, i32 noundef %4552)
  %4553 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4553, ptr %32, align 4, !tbaa !9
  %4554 = load ptr, ptr %5, align 8, !tbaa !5
  %4555 = getelementptr inbounds %struct.w2c_hermes, ptr %4554, i32 0, i32 6
  %4556 = load i32, ptr %32, align 4, !tbaa !9
  %4557 = zext i32 %4556 to i64
  %4558 = add i64 %4557, 136
  %4559 = call i32 @i32_load(ptr noundef %4555, i64 noundef %4558)
  store i32 %4559, ptr %32, align 4, !tbaa !9
  %4560 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4560, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4561 = load i32, ptr %34, align 4, !tbaa !9
  %4562 = and i32 %4561, 31
  %4563 = load i32, ptr %33, align 4, !tbaa !9
  %4564 = shl i32 %4563, %4562
  store i32 %4564, ptr %33, align 4, !tbaa !9
  %4565 = load i32, ptr %33, align 4, !tbaa !9
  %4566 = load i32, ptr %32, align 4, !tbaa !9
  %4567 = add i32 %4566, %4565
  store i32 %4567, ptr %32, align 4, !tbaa !9
  %4568 = load ptr, ptr %5, align 8, !tbaa !5
  %4569 = getelementptr inbounds %struct.w2c_hermes, ptr %4568, i32 0, i32 6
  %4570 = load i32, ptr %32, align 4, !tbaa !9
  %4571 = zext i32 %4570 to i64
  %4572 = call i32 @i32_load(ptr noundef %4569, i64 noundef %4571)
  store i32 %4572, ptr %32, align 4, !tbaa !9
  %4573 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4573, ptr %11, align 4, !tbaa !9
  %4574 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4574, ptr %32, align 4, !tbaa !9
  %4575 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4575, ptr %33, align 4, !tbaa !9
  %4576 = load ptr, ptr %5, align 8, !tbaa !5
  %4577 = getelementptr inbounds %struct.w2c_hermes, ptr %4576, i32 0, i32 6
  %4578 = load i32, ptr %32, align 4, !tbaa !9
  %4579 = zext i32 %4578 to i64
  %4580 = add i64 %4579, 172
  %4581 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4577, i64 noundef %4580, i32 noundef %4581)
  %4582 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4582, ptr %32, align 4, !tbaa !9
  %4583 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4583, ptr %33, align 4, !tbaa !9
  %4584 = load ptr, ptr %5, align 8, !tbaa !5
  %4585 = getelementptr inbounds %struct.w2c_hermes, ptr %4584, i32 0, i32 6
  %4586 = load i32, ptr %32, align 4, !tbaa !9
  %4587 = zext i32 %4586 to i64
  %4588 = add i64 %4587, 164
  %4589 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4585, i64 noundef %4588, i32 noundef %4589)
  %4590 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4590, ptr %32, align 4, !tbaa !9
  %4591 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4591, ptr %33, align 4, !tbaa !9
  store i32 128, ptr %34, align 4, !tbaa !9
  %4592 = load i32, ptr %34, align 4, !tbaa !9
  %4593 = load i32, ptr %33, align 4, !tbaa !9
  %4594 = add i32 %4593, %4592
  store i32 %4594, ptr %33, align 4, !tbaa !9
  %4595 = load ptr, ptr %5, align 8, !tbaa !5
  %4596 = getelementptr inbounds %struct.w2c_hermes, ptr %4595, i32 0, i32 6
  %4597 = load i32, ptr %32, align 4, !tbaa !9
  %4598 = zext i32 %4597 to i64
  %4599 = add i64 %4598, 168
  %4600 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4596, i64 noundef %4599, i32 noundef %4600)
  br label %4601

4601:                                             ; preds = %4545, %4156
  %4602 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4602, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %4603 = load i32, ptr %33, align 4, !tbaa !9
  %4604 = load i32, ptr %32, align 4, !tbaa !9
  %4605 = add i32 %4604, %4603
  store i32 %4605, ptr %32, align 4, !tbaa !9
  %4606 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4606, ptr %9, align 4, !tbaa !9
  %4607 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %4607, ptr %33, align 4, !tbaa !9
  %4608 = load i32, ptr %32, align 4, !tbaa !9
  %4609 = load i32, ptr %33, align 4, !tbaa !9
  %4610 = icmp ne i32 %4608, %4609
  %4611 = zext i1 %4610 to i32
  store i32 %4611, ptr %32, align 4, !tbaa !9
  %4612 = load i32, ptr %32, align 4, !tbaa !9
  %4613 = icmp ne i32 %4612, 0
  br i1 %4613, label %4614, label %4615

4614:                                             ; preds = %4601
  br label %4156

4615:                                             ; preds = %4601
  br label %4616

4616:                                             ; preds = %4615, %4113
  %4617 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4617, ptr %32, align 4, !tbaa !9
  %4618 = load ptr, ptr %5, align 8, !tbaa !5
  %4619 = getelementptr inbounds %struct.w2c_hermes, ptr %4618, i32 0, i32 6
  %4620 = load i32, ptr %32, align 4, !tbaa !9
  %4621 = zext i32 %4620 to i64
  %4622 = add i64 %4621, 136
  %4623 = call i32 @i32_load(ptr noundef %4619, i64 noundef %4622)
  store i32 %4623, ptr %32, align 4, !tbaa !9
  %4624 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4624, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %4625 = load i32, ptr %34, align 4, !tbaa !9
  %4626 = and i32 %4625, 31
  %4627 = load i32, ptr %33, align 4, !tbaa !9
  %4628 = shl i32 %4627, %4626
  store i32 %4628, ptr %33, align 4, !tbaa !9
  %4629 = load i32, ptr %33, align 4, !tbaa !9
  %4630 = load i32, ptr %32, align 4, !tbaa !9
  %4631 = add i32 %4630, %4629
  store i32 %4631, ptr %32, align 4, !tbaa !9
  %4632 = load ptr, ptr %5, align 8, !tbaa !5
  %4633 = getelementptr inbounds %struct.w2c_hermes, ptr %4632, i32 0, i32 6
  %4634 = load i32, ptr %32, align 4, !tbaa !9
  %4635 = zext i32 %4634 to i64
  %4636 = call i32 @i32_load(ptr noundef %4633, i64 noundef %4635)
  store i32 %4636, ptr %32, align 4, !tbaa !9
  %4637 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4637, ptr %9, align 4, !tbaa !9
  %4638 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4638, ptr %32, align 4, !tbaa !9
  %4639 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4639, ptr %33, align 4, !tbaa !9
  %4640 = load ptr, ptr %5, align 8, !tbaa !5
  %4641 = getelementptr inbounds %struct.w2c_hermes, ptr %4640, i32 0, i32 6
  %4642 = load i32, ptr %32, align 4, !tbaa !9
  %4643 = zext i32 %4642 to i64
  %4644 = add i64 %4643, 172
  %4645 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4641, i64 noundef %4644, i32 noundef %4645)
  %4646 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4646, ptr %32, align 4, !tbaa !9
  %4647 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4647, ptr %33, align 4, !tbaa !9
  %4648 = load ptr, ptr %5, align 8, !tbaa !5
  %4649 = getelementptr inbounds %struct.w2c_hermes, ptr %4648, i32 0, i32 6
  %4650 = load i32, ptr %32, align 4, !tbaa !9
  %4651 = zext i32 %4650 to i64
  %4652 = add i64 %4651, 164
  %4653 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4649, i64 noundef %4652, i32 noundef %4653)
  %4654 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4654, ptr %32, align 4, !tbaa !9
  %4655 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4655, ptr %33, align 4, !tbaa !9
  store i32 128, ptr %34, align 4, !tbaa !9
  %4656 = load i32, ptr %34, align 4, !tbaa !9
  %4657 = load i32, ptr %33, align 4, !tbaa !9
  %4658 = add i32 %4657, %4656
  store i32 %4658, ptr %33, align 4, !tbaa !9
  %4659 = load ptr, ptr %5, align 8, !tbaa !5
  %4660 = getelementptr inbounds %struct.w2c_hermes, ptr %4659, i32 0, i32 6
  %4661 = load i32, ptr %32, align 4, !tbaa !9
  %4662 = zext i32 %4661 to i64
  %4663 = add i64 %4662, 168
  %4664 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4660, i64 noundef %4663, i32 noundef %4664)
  br label %4665

4665:                                             ; preds = %4616, %3864
  %4666 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4666, ptr %32, align 4, !tbaa !9
  %4667 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4667, ptr %33, align 4, !tbaa !9
  %4668 = load ptr, ptr %5, align 8, !tbaa !5
  %4669 = getelementptr inbounds %struct.w2c_hermes, ptr %4668, i32 0, i32 6
  %4670 = load i32, ptr %33, align 4, !tbaa !9
  %4671 = zext i32 %4670 to i64
  %4672 = call i64 @i64_load(ptr noundef %4669, i64 noundef %4671)
  store i64 %4672, ptr %41, align 8, !tbaa !11
  %4673 = load ptr, ptr %5, align 8, !tbaa !5
  %4674 = getelementptr inbounds %struct.w2c_hermes, ptr %4673, i32 0, i32 6
  %4675 = load i32, ptr %32, align 4, !tbaa !9
  %4676 = zext i32 %4675 to i64
  %4677 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4674, i64 noundef %4676, i64 noundef %4677)
  %4678 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4678, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %4679 = load ptr, ptr %5, align 8, !tbaa !5
  %4680 = getelementptr inbounds %struct.w2c_hermes, ptr %4679, i32 0, i32 6
  %4681 = load i32, ptr %32, align 4, !tbaa !9
  %4682 = zext i32 %4681 to i64
  %4683 = add i64 %4682, 28
  %4684 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4680, i64 noundef %4683, i32 noundef %4684)
  %4685 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4685, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %4686 = load ptr, ptr %5, align 8, !tbaa !5
  %4687 = getelementptr inbounds %struct.w2c_hermes, ptr %4686, i32 0, i32 6
  %4688 = load i32, ptr %32, align 4, !tbaa !9
  %4689 = zext i32 %4688 to i64
  %4690 = add i64 %4689, 24
  %4691 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4687, i64 noundef %4690, i32 noundef %4691)
  %4692 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4692, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %4693 = load ptr, ptr %5, align 8, !tbaa !5
  %4694 = getelementptr inbounds %struct.w2c_hermes, ptr %4693, i32 0, i32 6
  %4695 = load i32, ptr %32, align 4, !tbaa !9
  %4696 = zext i32 %4695 to i64
  %4697 = add i64 %4696, 112
  %4698 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4694, i64 noundef %4697, i32 noundef %4698)
  %4699 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4699, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %4700 = load ptr, ptr %5, align 8, !tbaa !5
  %4701 = getelementptr inbounds %struct.w2c_hermes, ptr %4700, i32 0, i32 6
  %4702 = load i32, ptr %32, align 4, !tbaa !9
  %4703 = zext i32 %4702 to i64
  %4704 = add i64 %4703, 456
  %4705 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4701, i64 noundef %4704, i32 noundef %4705)
  %4706 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4706, ptr %32, align 4, !tbaa !9
  store i32 452, ptr %33, align 4, !tbaa !9
  %4707 = load i32, ptr %33, align 4, !tbaa !9
  %4708 = load i32, ptr %32, align 4, !tbaa !9
  %4709 = add i32 %4708, %4707
  store i32 %4709, ptr %32, align 4, !tbaa !9
  %4710 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4710, ptr %33, align 4, !tbaa !9
  %4711 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4711, ptr %34, align 4, !tbaa !9
  store i32 334, ptr %35, align 4, !tbaa !9
  %4712 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4712, ptr %36, align 4, !tbaa !9
  store i32 28, ptr %37, align 4, !tbaa !9
  %4713 = load i32, ptr %37, align 4, !tbaa !9
  %4714 = load i32, ptr %36, align 4, !tbaa !9
  %4715 = add i32 %4714, %4713
  store i32 %4715, ptr %36, align 4, !tbaa !9
  %4716 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4716, ptr %37, align 4, !tbaa !9
  %4717 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4717, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %4718 = load i32, ptr %39, align 4, !tbaa !9
  %4719 = load i32, ptr %38, align 4, !tbaa !9
  %4720 = add i32 %4719, %4718
  store i32 %4720, ptr %38, align 4, !tbaa !9
  %4721 = load ptr, ptr %5, align 8, !tbaa !5
  %4722 = load i32, ptr %32, align 4, !tbaa !9
  %4723 = load i32, ptr %33, align 4, !tbaa !9
  %4724 = load i32, ptr %34, align 4, !tbaa !9
  %4725 = load i32, ptr %35, align 4, !tbaa !9
  %4726 = load i32, ptr %36, align 4, !tbaa !9
  %4727 = load i32, ptr %37, align 4, !tbaa !9
  %4728 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnPropertyInternal0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %4721, i32 noundef %4722, i32 noundef %4723, i32 noundef %4724, i32 noundef %4725, i32 noundef %4726, i32 noundef %4727, i32 noundef %4728)
  %4729 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4729, ptr %32, align 4, !tbaa !9
  store i32 -1, ptr %33, align 4, !tbaa !9
  %4730 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4730, ptr %34, align 4, !tbaa !9
  %4731 = load ptr, ptr %5, align 8, !tbaa !5
  %4732 = getelementptr inbounds %struct.w2c_hermes, ptr %4731, i32 0, i32 6
  %4733 = load i32, ptr %34, align 4, !tbaa !9
  %4734 = zext i32 %4733 to i64
  %4735 = add i64 %4734, 452
  %4736 = call i32 @i32_load8_u(ptr noundef %4732, i64 noundef %4735)
  store i32 %4736, ptr %34, align 4, !tbaa !9
  %4737 = load i32, ptr %34, align 4, !tbaa !9
  %4738 = icmp ne i32 %4737, 0
  br i1 %4738, label %4739, label %4741

4739:                                             ; preds = %4665
  %4740 = load i32, ptr %32, align 4, !tbaa !9
  br label %4743

4741:                                             ; preds = %4665
  %4742 = load i32, ptr %33, align 4, !tbaa !9
  br label %4743

4743:                                             ; preds = %4741, %4739
  %4744 = phi i32 [ %4740, %4739 ], [ %4742, %4741 ]
  store i32 %4744, ptr %32, align 4, !tbaa !9
  br label %4745

4745:                                             ; preds = %4743, %2918, %2718
  %4746 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4746, ptr %6, align 4, !tbaa !9
  %4747 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4747, ptr %32, align 4, !tbaa !9
  %4748 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4748, ptr %33, align 4, !tbaa !9
  %4749 = load ptr, ptr %5, align 8, !tbaa !5
  %4750 = getelementptr inbounds %struct.w2c_hermes, ptr %4749, i32 0, i32 6
  %4751 = load i32, ptr %33, align 4, !tbaa !9
  %4752 = zext i32 %4751 to i64
  %4753 = add i64 %4752, 36
  %4754 = call i32 @i32_load(ptr noundef %4750, i64 noundef %4753)
  store i32 %4754, ptr %33, align 4, !tbaa !9
  %4755 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4755, ptr %8, align 4, !tbaa !9
  %4756 = load i32, ptr %32, align 4, !tbaa !9
  %4757 = load i32, ptr %33, align 4, !tbaa !9
  %4758 = icmp ne i32 %4756, %4757
  %4759 = zext i1 %4758 to i32
  store i32 %4759, ptr %32, align 4, !tbaa !9
  %4760 = load i32, ptr %32, align 4, !tbaa !9
  %4761 = icmp ne i32 %4760, 0
  br i1 %4761, label %4762, label %4766

4762:                                             ; preds = %4745
  %4763 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4763, ptr %32, align 4, !tbaa !9
  %4764 = load ptr, ptr %5, align 8, !tbaa !5
  %4765 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4764, i32 noundef %4765)
  br label %4766

4766:                                             ; preds = %4762, %4745
  store i32 -1, ptr %32, align 4, !tbaa !9
  %4767 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4767, ptr %9, align 4, !tbaa !9
  %4768 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4768, ptr %32, align 4, !tbaa !9
  store i32 -1, ptr %33, align 4, !tbaa !9
  %4769 = load i32, ptr %32, align 4, !tbaa !9
  %4770 = load i32, ptr %33, align 4, !tbaa !9
  %4771 = icmp eq i32 %4769, %4770
  %4772 = zext i1 %4771 to i32
  store i32 %4772, ptr %32, align 4, !tbaa !9
  %4773 = load i32, ptr %32, align 4, !tbaa !9
  %4774 = icmp ne i32 %4773, 0
  br i1 %4774, label %4775, label %4776

4775:                                             ; preds = %4766
  br label %5959

4776:                                             ; preds = %4766
  %4777 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4777, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %4778 = load ptr, ptr %5, align 8, !tbaa !5
  %4779 = getelementptr inbounds %struct.w2c_hermes, ptr %4778, i32 0, i32 6
  %4780 = load i32, ptr %32, align 4, !tbaa !9
  %4781 = zext i32 %4780 to i64
  %4782 = add i64 %4781, 20
  %4783 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4779, i64 noundef %4782, i32 noundef %4783)
  %4784 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4784, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %4785 = load ptr, ptr %5, align 8, !tbaa !5
  %4786 = getelementptr inbounds %struct.w2c_hermes, ptr %4785, i32 0, i32 6
  %4787 = load i32, ptr %32, align 4, !tbaa !9
  %4788 = zext i32 %4787 to i64
  %4789 = add i64 %4788, 16
  %4790 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4786, i64 noundef %4789, i32 noundef %4790)
  %4791 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4791, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %4792 = load ptr, ptr %5, align 8, !tbaa !5
  %4793 = getelementptr inbounds %struct.w2c_hermes, ptr %4792, i32 0, i32 6
  %4794 = load i32, ptr %32, align 4, !tbaa !9
  %4795 = zext i32 %4794 to i64
  %4796 = add i64 %4795, 112
  %4797 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4793, i64 noundef %4796, i32 noundef %4797)
  %4798 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4798, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %4799 = load ptr, ptr %5, align 8, !tbaa !5
  %4800 = getelementptr inbounds %struct.w2c_hermes, ptr %4799, i32 0, i32 6
  %4801 = load i32, ptr %32, align 4, !tbaa !9
  %4802 = zext i32 %4801 to i64
  %4803 = add i64 %4802, 456
  %4804 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4800, i64 noundef %4803, i32 noundef %4804)
  %4805 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4805, ptr %32, align 4, !tbaa !9
  store i32 452, ptr %33, align 4, !tbaa !9
  %4806 = load i32, ptr %33, align 4, !tbaa !9
  %4807 = load i32, ptr %32, align 4, !tbaa !9
  %4808 = add i32 %4807, %4806
  store i32 %4808, ptr %32, align 4, !tbaa !9
  %4809 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4809, ptr %33, align 4, !tbaa !9
  %4810 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4810, ptr %34, align 4, !tbaa !9
  store i32 340, ptr %35, align 4, !tbaa !9
  %4811 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4811, ptr %36, align 4, !tbaa !9
  store i32 20, ptr %37, align 4, !tbaa !9
  %4812 = load i32, ptr %37, align 4, !tbaa !9
  %4813 = load i32, ptr %36, align 4, !tbaa !9
  %4814 = add i32 %4813, %4812
  store i32 %4814, ptr %36, align 4, !tbaa !9
  %4815 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4815, ptr %37, align 4, !tbaa !9
  %4816 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4816, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %4817 = load i32, ptr %39, align 4, !tbaa !9
  %4818 = load i32, ptr %38, align 4, !tbaa !9
  %4819 = add i32 %4818, %4817
  store i32 %4819, ptr %38, align 4, !tbaa !9
  %4820 = load ptr, ptr %5, align 8, !tbaa !5
  %4821 = load i32, ptr %32, align 4, !tbaa !9
  %4822 = load i32, ptr %33, align 4, !tbaa !9
  %4823 = load i32, ptr %34, align 4, !tbaa !9
  %4824 = load i32, ptr %35, align 4, !tbaa !9
  %4825 = load i32, ptr %36, align 4, !tbaa !9
  %4826 = load i32, ptr %37, align 4, !tbaa !9
  %4827 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnPropertyInternal0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %4820, i32 noundef %4821, i32 noundef %4822, i32 noundef %4823, i32 noundef %4824, i32 noundef %4825, i32 noundef %4826, i32 noundef %4827)
  %4828 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4828, ptr %32, align 4, !tbaa !9
  %4829 = load ptr, ptr %5, align 8, !tbaa !5
  %4830 = getelementptr inbounds %struct.w2c_hermes, ptr %4829, i32 0, i32 6
  %4831 = load i32, ptr %32, align 4, !tbaa !9
  %4832 = zext i32 %4831 to i64
  %4833 = add i64 %4832, 452
  %4834 = call i32 @i32_load8_u(ptr noundef %4830, i64 noundef %4833)
  store i32 %4834, ptr %32, align 4, !tbaa !9
  %4835 = load i32, ptr %32, align 4, !tbaa !9
  %4836 = icmp ne i32 %4835, 0
  %4837 = xor i1 %4836, true
  %4838 = zext i1 %4837 to i32
  store i32 %4838, ptr %32, align 4, !tbaa !9
  %4839 = load i32, ptr %32, align 4, !tbaa !9
  %4840 = icmp ne i32 %4839, 0
  br i1 %4840, label %4841, label %4842

4841:                                             ; preds = %4776
  br label %5959

4842:                                             ; preds = %4776
  br label %4843

4843:                                             ; preds = %4842, %2593
  %4844 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4844, ptr %32, align 4, !tbaa !9
  store i64 -4294967296, ptr %41, align 8, !tbaa !11
  %4845 = load ptr, ptr %5, align 8, !tbaa !5
  %4846 = getelementptr inbounds %struct.w2c_hermes, ptr %4845, i32 0, i32 6
  %4847 = load i32, ptr %32, align 4, !tbaa !9
  %4848 = zext i32 %4847 to i64
  %4849 = add i64 %4848, 456
  %4850 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4846, i64 noundef %4849, i64 noundef %4850)
  %4851 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4851, ptr %32, align 4, !tbaa !9
  %4852 = load ptr, ptr %5, align 8, !tbaa !5
  %4853 = getelementptr inbounds %struct.w2c_hermes, ptr %4852, i32 0, i32 6
  %4854 = load i32, ptr %32, align 4, !tbaa !9
  %4855 = zext i32 %4854 to i64
  %4856 = call i32 @i32_load(ptr noundef %4853, i64 noundef %4855)
  store i32 %4856, ptr %32, align 4, !tbaa !9
  %4857 = load ptr, ptr %5, align 8, !tbaa !5
  %4858 = getelementptr inbounds %struct.w2c_hermes, ptr %4857, i32 0, i32 6
  %4859 = load i32, ptr %32, align 4, !tbaa !9
  %4860 = zext i32 %4859 to i64
  %4861 = add i64 %4860, 12
  %4862 = call i32 @i32_load(ptr noundef %4858, i64 noundef %4861)
  store i32 %4862, ptr %32, align 4, !tbaa !9
  %4863 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4863, ptr %6, align 4, !tbaa !9
  %4864 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4864, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %4865 = load ptr, ptr %5, align 8, !tbaa !5
  %4866 = getelementptr inbounds %struct.w2c_hermes, ptr %4865, i32 0, i32 6
  %4867 = load i32, ptr %32, align 4, !tbaa !9
  %4868 = zext i32 %4867 to i64
  %4869 = add i64 %4868, 14
  %4870 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4866, i64 noundef %4869, i32 noundef %4870)
  %4871 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4871, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %4872 = load ptr, ptr %5, align 8, !tbaa !5
  %4873 = getelementptr inbounds %struct.w2c_hermes, ptr %4872, i32 0, i32 6
  %4874 = load i32, ptr %32, align 4, !tbaa !9
  %4875 = zext i32 %4874 to i64
  %4876 = add i64 %4875, 452
  %4877 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4873, i64 noundef %4876, i32 noundef %4877)
  %4878 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4878, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %4879 = load i32, ptr %33, align 4, !tbaa !9
  %4880 = load i32, ptr %32, align 4, !tbaa !9
  %4881 = add i32 %4880, %4879
  store i32 %4881, ptr %32, align 4, !tbaa !9
  %4882 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4882, ptr %33, align 4, !tbaa !9
  %4883 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4883, ptr %34, align 4, !tbaa !9
  store i32 334, ptr %35, align 4, !tbaa !9
  %4884 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4884, ptr %36, align 4, !tbaa !9
  store i32 14, ptr %37, align 4, !tbaa !9
  %4885 = load i32, ptr %37, align 4, !tbaa !9
  %4886 = load i32, ptr %36, align 4, !tbaa !9
  %4887 = add i32 %4886, %4885
  store i32 %4887, ptr %36, align 4, !tbaa !9
  %4888 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4888, ptr %37, align 4, !tbaa !9
  store i32 456, ptr %38, align 4, !tbaa !9
  %4889 = load i32, ptr %38, align 4, !tbaa !9
  %4890 = load i32, ptr %37, align 4, !tbaa !9
  %4891 = add i32 %4890, %4889
  store i32 %4891, ptr %37, align 4, !tbaa !9
  %4892 = load ptr, ptr %5, align 8, !tbaa !5
  %4893 = load i32, ptr %32, align 4, !tbaa !9
  %4894 = load i32, ptr %33, align 4, !tbaa !9
  %4895 = load i32, ptr %34, align 4, !tbaa !9
  %4896 = load i32, ptr %35, align 4, !tbaa !9
  %4897 = load i32, ptr %36, align 4, !tbaa !9
  %4898 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef %4892, i32 noundef %4893, i32 noundef %4894, i32 noundef %4895, i32 noundef %4896, i32 noundef %4897, i32 noundef %4898)
  %4899 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %4899, ptr %32, align 4, !tbaa !9
  %4900 = load ptr, ptr %5, align 8, !tbaa !5
  %4901 = getelementptr inbounds %struct.w2c_hermes, ptr %4900, i32 0, i32 6
  %4902 = load i32, ptr %32, align 4, !tbaa !9
  %4903 = zext i32 %4902 to i64
  %4904 = call i64 @i64_load(ptr noundef %4901, i64 noundef %4903)
  store i64 %4904, ptr %40, align 8, !tbaa !11
  %4905 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %4905, ptr %29, align 8, !tbaa !11
  store i64 -844424930131968, ptr %41, align 8, !tbaa !11
  %4906 = load i64, ptr %40, align 8, !tbaa !11
  %4907 = load i64, ptr %41, align 8, !tbaa !11
  %4908 = icmp uge i64 %4906, %4907
  %4909 = zext i1 %4908 to i32
  store i32 %4909, ptr %32, align 4, !tbaa !9
  %4910 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %4910, ptr %41, align 8, !tbaa !11
  store i64 4294967295, ptr %42, align 8, !tbaa !11
  %4911 = load i64, ptr %42, align 8, !tbaa !11
  %4912 = load i64, ptr %41, align 8, !tbaa !11
  %4913 = and i64 %4912, %4911
  store i64 %4913, ptr %41, align 8, !tbaa !11
  store i64 0, ptr %42, align 8, !tbaa !11
  %4914 = load i64, ptr %41, align 8, !tbaa !11
  %4915 = load i64, ptr %42, align 8, !tbaa !11
  %4916 = icmp ne i64 %4914, %4915
  %4917 = zext i1 %4916 to i32
  store i32 %4917, ptr %33, align 4, !tbaa !9
  %4918 = load i32, ptr %33, align 4, !tbaa !9
  %4919 = load i32, ptr %32, align 4, !tbaa !9
  %4920 = and i32 %4919, %4918
  store i32 %4920, ptr %32, align 4, !tbaa !9
  %4921 = load i32, ptr %32, align 4, !tbaa !9
  %4922 = icmp ne i32 %4921, 0
  %4923 = xor i1 %4922, true
  %4924 = zext i1 %4923 to i32
  store i32 %4924, ptr %32, align 4, !tbaa !9
  %4925 = load i32, ptr %32, align 4, !tbaa !9
  %4926 = icmp ne i32 %4925, 0
  br i1 %4926, label %4927, label %5040

4927:                                             ; preds = %4843
  %4928 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4928, ptr %32, align 4, !tbaa !9
  %4929 = load ptr, ptr %5, align 8, !tbaa !5
  %4930 = getelementptr inbounds %struct.w2c_hermes, ptr %4929, i32 0, i32 6
  %4931 = load i32, ptr %32, align 4, !tbaa !9
  %4932 = zext i32 %4931 to i64
  %4933 = call i32 @i32_load(ptr noundef %4930, i64 noundef %4932)
  store i32 %4933, ptr %32, align 4, !tbaa !9
  %4934 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4934, ptr %6, align 4, !tbaa !9
  %4935 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4935, ptr %32, align 4, !tbaa !9
  %4936 = load ptr, ptr %5, align 8, !tbaa !5
  %4937 = getelementptr inbounds %struct.w2c_hermes, ptr %4936, i32 0, i32 6
  %4938 = load i32, ptr %32, align 4, !tbaa !9
  %4939 = zext i32 %4938 to i64
  %4940 = add i64 %4939, 460
  %4941 = call i32 @i32_load(ptr noundef %4937, i64 noundef %4940)
  store i32 %4941, ptr %32, align 4, !tbaa !9
  %4942 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %4942, ptr %8, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %4943 = load i32, ptr %32, align 4, !tbaa !9
  %4944 = load i32, ptr %33, align 4, !tbaa !9
  %4945 = icmp ule i32 %4943, %4944
  %4946 = zext i1 %4945 to i32
  store i32 %4946, ptr %32, align 4, !tbaa !9
  %4947 = load i32, ptr %32, align 4, !tbaa !9
  %4948 = icmp ne i32 %4947, 0
  br i1 %4948, label %4949, label %4983

4949:                                             ; preds = %4927
  %4950 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4950, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %4951 = load i32, ptr %33, align 4, !tbaa !9
  %4952 = load i32, ptr %32, align 4, !tbaa !9
  %4953 = add i32 %4952, %4951
  store i32 %4953, ptr %32, align 4, !tbaa !9
  %4954 = load ptr, ptr %5, align 8, !tbaa !5
  %4955 = getelementptr inbounds %struct.w2c_hermes, ptr %4954, i32 0, i32 6
  %4956 = load i32, ptr %32, align 4, !tbaa !9
  %4957 = zext i32 %4956 to i64
  %4958 = call i32 @i32_load(ptr noundef %4955, i64 noundef %4957)
  store i32 %4958, ptr %32, align 4, !tbaa !9
  %4959 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4959, ptr %33, align 4, !tbaa !9
  %4960 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4960, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %4961 = load i32, ptr %35, align 4, !tbaa !9
  %4962 = and i32 %4961, 31
  %4963 = load i32, ptr %34, align 4, !tbaa !9
  %4964 = shl i32 %4963, %4962
  store i32 %4964, ptr %34, align 4, !tbaa !9
  %4965 = load i32, ptr %34, align 4, !tbaa !9
  %4966 = load i32, ptr %33, align 4, !tbaa !9
  %4967 = add i32 %4966, %4965
  store i32 %4967, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %4968 = load i32, ptr %34, align 4, !tbaa !9
  %4969 = load i32, ptr %33, align 4, !tbaa !9
  %4970 = add i32 %4969, %4968
  store i32 %4970, ptr %33, align 4, !tbaa !9
  %4971 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4971, ptr %9, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %4972 = load i32, ptr %34, align 4, !tbaa !9
  %4973 = load i32, ptr %33, align 4, !tbaa !9
  %4974 = and i32 %4973, %4972
  store i32 %4974, ptr %33, align 4, !tbaa !9
  %4975 = load i32, ptr %32, align 4, !tbaa !9
  %4976 = load i32, ptr %33, align 4, !tbaa !9
  %4977 = icmp ne i32 %4975, %4976
  %4978 = zext i1 %4977 to i32
  store i32 %4978, ptr %32, align 4, !tbaa !9
  %4979 = load i32, ptr %32, align 4, !tbaa !9
  %4980 = icmp ne i32 %4979, 0
  br i1 %4980, label %4981, label %4982

4981:                                             ; preds = %4949
  br label %5023

4982:                                             ; preds = %4949
  br label %5033

4983:                                             ; preds = %4927
  %4984 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4984, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %4985 = load i32, ptr %33, align 4, !tbaa !9
  %4986 = load i32, ptr %32, align 4, !tbaa !9
  %4987 = add i32 %4986, %4985
  store i32 %4987, ptr %32, align 4, !tbaa !9
  %4988 = load ptr, ptr %5, align 8, !tbaa !5
  %4989 = getelementptr inbounds %struct.w2c_hermes, ptr %4988, i32 0, i32 6
  %4990 = load i32, ptr %32, align 4, !tbaa !9
  %4991 = zext i32 %4990 to i64
  %4992 = call i32 @i32_load(ptr noundef %4989, i64 noundef %4991)
  store i32 %4992, ptr %32, align 4, !tbaa !9
  %4993 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4993, ptr %33, align 4, !tbaa !9
  %4994 = load ptr, ptr %5, align 8, !tbaa !5
  %4995 = getelementptr inbounds %struct.w2c_hermes, ptr %4994, i32 0, i32 6
  %4996 = load i32, ptr %33, align 4, !tbaa !9
  %4997 = zext i32 %4996 to i64
  %4998 = add i64 %4997, 16
  %4999 = call i32 @i32_load(ptr noundef %4995, i64 noundef %4998)
  store i32 %4999, ptr %33, align 4, !tbaa !9
  %5000 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5000, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %5001 = load i32, ptr %35, align 4, !tbaa !9
  %5002 = and i32 %5001, 31
  %5003 = load i32, ptr %34, align 4, !tbaa !9
  %5004 = shl i32 %5003, %5002
  store i32 %5004, ptr %34, align 4, !tbaa !9
  %5005 = load i32, ptr %34, align 4, !tbaa !9
  %5006 = load i32, ptr %33, align 4, !tbaa !9
  %5007 = add i32 %5006, %5005
  store i32 %5007, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %5008 = load i32, ptr %34, align 4, !tbaa !9
  %5009 = load i32, ptr %33, align 4, !tbaa !9
  %5010 = sub i32 %5009, %5008
  store i32 %5010, ptr %33, align 4, !tbaa !9
  %5011 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5011, ptr %9, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %5012 = load i32, ptr %34, align 4, !tbaa !9
  %5013 = load i32, ptr %33, align 4, !tbaa !9
  %5014 = and i32 %5013, %5012
  store i32 %5014, ptr %33, align 4, !tbaa !9
  %5015 = load i32, ptr %32, align 4, !tbaa !9
  %5016 = load i32, ptr %33, align 4, !tbaa !9
  %5017 = icmp eq i32 %5015, %5016
  %5018 = zext i1 %5017 to i32
  store i32 %5018, ptr %32, align 4, !tbaa !9
  %5019 = load i32, ptr %32, align 4, !tbaa !9
  %5020 = icmp ne i32 %5019, 0
  br i1 %5020, label %5021, label %5022

5021:                                             ; preds = %4983
  br label %5033

5022:                                             ; preds = %4983
  br label %5023

5023:                                             ; preds = %5022, %4981
  %5024 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5024, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %5025 = load i32, ptr %33, align 4, !tbaa !9
  %5026 = load i32, ptr %32, align 4, !tbaa !9
  %5027 = add i32 %5026, %5025
  store i32 %5027, ptr %32, align 4, !tbaa !9
  %5028 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5028, ptr %33, align 4, !tbaa !9
  store i32 14, ptr %34, align 4, !tbaa !9
  %5029 = load ptr, ptr %5, align 8, !tbaa !5
  %5030 = load i32, ptr %32, align 4, !tbaa !9
  %5031 = load i32, ptr %33, align 4, !tbaa !9
  %5032 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %5029, i32 noundef %5030, i32 noundef %5031, i32 noundef %5032)
  br label %5033

5033:                                             ; preds = %5023, %5021, %4982
  %5034 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5034, ptr %32, align 4, !tbaa !9
  store i32 14, ptr %33, align 4, !tbaa !9
  %5035 = load ptr, ptr %5, align 8, !tbaa !5
  %5036 = getelementptr inbounds %struct.w2c_hermes, ptr %5035, i32 0, i32 6
  %5037 = load i32, ptr %32, align 4, !tbaa !9
  %5038 = zext i32 %5037 to i64
  %5039 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5036, i64 noundef %5038, i32 noundef %5039)
  br label %5954

5040:                                             ; preds = %4843
  %5041 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5041, ptr %40, align 8, !tbaa !11
  %5042 = load i64, ptr %40, align 8, !tbaa !11
  %5043 = trunc i64 %5042 to i32
  store i32 %5043, ptr %32, align 4, !tbaa !9
  %5044 = load ptr, ptr %5, align 8, !tbaa !5
  %5045 = getelementptr inbounds %struct.w2c_hermes, ptr %5044, i32 0, i32 6
  %5046 = load i32, ptr %32, align 4, !tbaa !9
  %5047 = zext i32 %5046 to i64
  %5048 = add i64 %5047, 12
  %5049 = call i64 @i64_load32_u(ptr noundef %5045, i64 noundef %5048)
  store i64 %5049, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %5050 = load i64, ptr %41, align 8, !tbaa !11
  %5051 = load i64, ptr %40, align 8, !tbaa !11
  %5052 = or i64 %5051, %5050
  store i64 %5052, ptr %40, align 8, !tbaa !11
  %5053 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %5053, ptr %29, align 8, !tbaa !11
  %5054 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5054, ptr %32, align 4, !tbaa !9
  %5055 = load ptr, ptr %5, align 8, !tbaa !5
  %5056 = getelementptr inbounds %struct.w2c_hermes, ptr %5055, i32 0, i32 6
  %5057 = load i32, ptr %32, align 4, !tbaa !9
  %5058 = zext i32 %5057 to i64
  %5059 = add i64 %5058, 4
  %5060 = call i32 @i32_load(ptr noundef %5056, i64 noundef %5059)
  store i32 %5060, ptr %32, align 4, !tbaa !9
  %5061 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5061, ptr %6, align 4, !tbaa !9
  %5062 = load ptr, ptr %5, align 8, !tbaa !5
  %5063 = getelementptr inbounds %struct.w2c_hermes, ptr %5062, i32 0, i32 6
  %5064 = load i32, ptr %32, align 4, !tbaa !9
  %5065 = zext i32 %5064 to i64
  %5066 = add i64 %5065, 164
  %5067 = call i32 @i32_load(ptr noundef %5063, i64 noundef %5066)
  store i32 %5067, ptr %32, align 4, !tbaa !9
  %5068 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5068, ptr %9, align 4, !tbaa !9
  %5069 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5069, ptr %33, align 4, !tbaa !9
  %5070 = load ptr, ptr %5, align 8, !tbaa !5
  %5071 = getelementptr inbounds %struct.w2c_hermes, ptr %5070, i32 0, i32 6
  %5072 = load i32, ptr %33, align 4, !tbaa !9
  %5073 = zext i32 %5072 to i64
  %5074 = add i64 %5073, 168
  %5075 = call i32 @i32_load(ptr noundef %5071, i64 noundef %5074)
  store i32 %5075, ptr %33, align 4, !tbaa !9
  %5076 = load i32, ptr %32, align 4, !tbaa !9
  %5077 = load i32, ptr %33, align 4, !tbaa !9
  %5078 = icmp ult i32 %5076, %5077
  %5079 = zext i1 %5078 to i32
  store i32 %5079, ptr %32, align 4, !tbaa !9
  %5080 = load i32, ptr %32, align 4, !tbaa !9
  %5081 = icmp ne i32 %5080, 0
  br i1 %5081, label %5082, label %5101

5082:                                             ; preds = %5040
  %5083 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5083, ptr %32, align 4, !tbaa !9
  %5084 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5084, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %5085 = load i32, ptr %34, align 4, !tbaa !9
  %5086 = load i32, ptr %33, align 4, !tbaa !9
  %5087 = add i32 %5086, %5085
  store i32 %5087, ptr %33, align 4, !tbaa !9
  %5088 = load ptr, ptr %5, align 8, !tbaa !5
  %5089 = getelementptr inbounds %struct.w2c_hermes, ptr %5088, i32 0, i32 6
  %5090 = load i32, ptr %32, align 4, !tbaa !9
  %5091 = zext i32 %5090 to i64
  %5092 = add i64 %5091, 164
  %5093 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5089, i64 noundef %5092, i32 noundef %5093)
  %5094 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5094, ptr %32, align 4, !tbaa !9
  %5095 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5095, ptr %41, align 8, !tbaa !11
  %5096 = load ptr, ptr %5, align 8, !tbaa !5
  %5097 = getelementptr inbounds %struct.w2c_hermes, ptr %5096, i32 0, i32 6
  %5098 = load i32, ptr %32, align 4, !tbaa !9
  %5099 = zext i32 %5098 to i64
  %5100 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5097, i64 noundef %5099, i64 noundef %5100)
  br label %5109

5101:                                             ; preds = %5040
  %5102 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5102, ptr %32, align 4, !tbaa !9
  %5103 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5103, ptr %41, align 8, !tbaa !11
  %5104 = load ptr, ptr %5, align 8, !tbaa !5
  %5105 = load i32, ptr %32, align 4, !tbaa !9
  %5106 = load i64, ptr %41, align 8, !tbaa !11
  %5107 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %5104, i32 noundef %5105, i64 noundef %5106)
  store i32 %5107, ptr %32, align 4, !tbaa !9
  %5108 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5108, ptr %9, align 4, !tbaa !9
  br label %5109

5109:                                             ; preds = %5101, %5082
  %5110 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5110, ptr %32, align 4, !tbaa !9
  %5111 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5111, ptr %33, align 4, !tbaa !9
  %5112 = load ptr, ptr %5, align 8, !tbaa !5
  %5113 = load i32, ptr %32, align 4, !tbaa !9
  %5114 = load i32, ptr %33, align 4, !tbaa !9
  %5115 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x29(ptr noundef %5112, i32 noundef %5113, i32 noundef %5114)
  store i32 %5115, ptr %32, align 4, !tbaa !9
  %5116 = load i32, ptr %32, align 4, !tbaa !9
  %5117 = zext i32 %5116 to i64
  store i64 %5117, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %5118 = load i64, ptr %41, align 8, !tbaa !11
  %5119 = load i64, ptr %40, align 8, !tbaa !11
  %5120 = or i64 %5119, %5118
  store i64 %5120, ptr %40, align 8, !tbaa !11
  %5121 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %5121, ptr %29, align 8, !tbaa !11
  %5122 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5122, ptr %32, align 4, !tbaa !9
  %5123 = load ptr, ptr %5, align 8, !tbaa !5
  %5124 = getelementptr inbounds %struct.w2c_hermes, ptr %5123, i32 0, i32 6
  %5125 = load i32, ptr %32, align 4, !tbaa !9
  %5126 = zext i32 %5125 to i64
  %5127 = add i64 %5126, 4
  %5128 = call i32 @i32_load(ptr noundef %5124, i64 noundef %5127)
  store i32 %5128, ptr %32, align 4, !tbaa !9
  %5129 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5129, ptr %6, align 4, !tbaa !9
  %5130 = load ptr, ptr %5, align 8, !tbaa !5
  %5131 = getelementptr inbounds %struct.w2c_hermes, ptr %5130, i32 0, i32 6
  %5132 = load i32, ptr %32, align 4, !tbaa !9
  %5133 = zext i32 %5132 to i64
  %5134 = add i64 %5133, 164
  %5135 = call i32 @i32_load(ptr noundef %5131, i64 noundef %5134)
  store i32 %5135, ptr %32, align 4, !tbaa !9
  %5136 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5136, ptr %8, align 4, !tbaa !9
  %5137 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5137, ptr %33, align 4, !tbaa !9
  %5138 = load ptr, ptr %5, align 8, !tbaa !5
  %5139 = getelementptr inbounds %struct.w2c_hermes, ptr %5138, i32 0, i32 6
  %5140 = load i32, ptr %33, align 4, !tbaa !9
  %5141 = zext i32 %5140 to i64
  %5142 = add i64 %5141, 168
  %5143 = call i32 @i32_load(ptr noundef %5139, i64 noundef %5142)
  store i32 %5143, ptr %33, align 4, !tbaa !9
  %5144 = load i32, ptr %32, align 4, !tbaa !9
  %5145 = load i32, ptr %33, align 4, !tbaa !9
  %5146 = icmp ult i32 %5144, %5145
  %5147 = zext i1 %5146 to i32
  store i32 %5147, ptr %32, align 4, !tbaa !9
  %5148 = load i32, ptr %32, align 4, !tbaa !9
  %5149 = icmp ne i32 %5148, 0
  br i1 %5149, label %5150, label %5169

5150:                                             ; preds = %5109
  %5151 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5151, ptr %32, align 4, !tbaa !9
  %5152 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5152, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %5153 = load i32, ptr %34, align 4, !tbaa !9
  %5154 = load i32, ptr %33, align 4, !tbaa !9
  %5155 = add i32 %5154, %5153
  store i32 %5155, ptr %33, align 4, !tbaa !9
  %5156 = load ptr, ptr %5, align 8, !tbaa !5
  %5157 = getelementptr inbounds %struct.w2c_hermes, ptr %5156, i32 0, i32 6
  %5158 = load i32, ptr %32, align 4, !tbaa !9
  %5159 = zext i32 %5158 to i64
  %5160 = add i64 %5159, 164
  %5161 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5157, i64 noundef %5160, i32 noundef %5161)
  %5162 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5162, ptr %32, align 4, !tbaa !9
  %5163 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5163, ptr %41, align 8, !tbaa !11
  %5164 = load ptr, ptr %5, align 8, !tbaa !5
  %5165 = getelementptr inbounds %struct.w2c_hermes, ptr %5164, i32 0, i32 6
  %5166 = load i32, ptr %32, align 4, !tbaa !9
  %5167 = zext i32 %5166 to i64
  %5168 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5165, i64 noundef %5167, i64 noundef %5168)
  br label %5177

5169:                                             ; preds = %5109
  %5170 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5170, ptr %32, align 4, !tbaa !9
  %5171 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5171, ptr %41, align 8, !tbaa !11
  %5172 = load ptr, ptr %5, align 8, !tbaa !5
  %5173 = load i32, ptr %32, align 4, !tbaa !9
  %5174 = load i64, ptr %41, align 8, !tbaa !11
  %5175 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %5172, i32 noundef %5173, i64 noundef %5174)
  store i32 %5175, ptr %32, align 4, !tbaa !9
  %5176 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5176, ptr %8, align 4, !tbaa !9
  br label %5177

5177:                                             ; preds = %5169, %5150
  %5178 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5178, ptr %32, align 4, !tbaa !9
  %5179 = load ptr, ptr %5, align 8, !tbaa !5
  %5180 = getelementptr inbounds %struct.w2c_hermes, ptr %5179, i32 0, i32 6
  %5181 = load i32, ptr %32, align 4, !tbaa !9
  %5182 = zext i32 %5181 to i64
  %5183 = call i32 @i32_load(ptr noundef %5180, i64 noundef %5182)
  store i32 %5183, ptr %32, align 4, !tbaa !9
  %5184 = load ptr, ptr %5, align 8, !tbaa !5
  %5185 = getelementptr inbounds %struct.w2c_hermes, ptr %5184, i32 0, i32 6
  %5186 = load i32, ptr %32, align 4, !tbaa !9
  %5187 = zext i32 %5186 to i64
  %5188 = add i64 %5187, 16
  %5189 = call i32 @i32_load(ptr noundef %5185, i64 noundef %5188)
  store i32 %5189, ptr %32, align 4, !tbaa !9
  %5190 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5190, ptr %6, align 4, !tbaa !9
  %5191 = load i32, ptr %32, align 4, !tbaa !9
  %5192 = icmp ne i32 %5191, 0
  br i1 %5192, label %5193, label %5195

5193:                                             ; preds = %5177
  %5194 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5194, ptr %32, align 4, !tbaa !9
  br label %5213

5195:                                             ; preds = %5177
  %5196 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5196, ptr %32, align 4, !tbaa !9
  %5197 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5197, ptr %33, align 4, !tbaa !9
  %5198 = load ptr, ptr %5, align 8, !tbaa !5
  %5199 = load i32, ptr %32, align 4, !tbaa !9
  %5200 = load i32, ptr %33, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AinitializeMissingPropertyMap0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %5198, i32 noundef %5199, i32 noundef %5200)
  %5201 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5201, ptr %32, align 4, !tbaa !9
  %5202 = load ptr, ptr %5, align 8, !tbaa !5
  %5203 = getelementptr inbounds %struct.w2c_hermes, ptr %5202, i32 0, i32 6
  %5204 = load i32, ptr %32, align 4, !tbaa !9
  %5205 = zext i32 %5204 to i64
  %5206 = call i32 @i32_load(ptr noundef %5203, i64 noundef %5205)
  store i32 %5206, ptr %32, align 4, !tbaa !9
  %5207 = load ptr, ptr %5, align 8, !tbaa !5
  %5208 = getelementptr inbounds %struct.w2c_hermes, ptr %5207, i32 0, i32 6
  %5209 = load i32, ptr %32, align 4, !tbaa !9
  %5210 = zext i32 %5209 to i64
  %5211 = add i64 %5210, 16
  %5212 = call i32 @i32_load(ptr noundef %5208, i64 noundef %5211)
  store i32 %5212, ptr %32, align 4, !tbaa !9
  br label %5213

5213:                                             ; preds = %5195, %5193
  %5214 = load i32, ptr %32, align 4, !tbaa !9
  %5215 = zext i32 %5214 to i64
  store i64 %5215, ptr %40, align 8, !tbaa !11
  store i64 -281474976710656, ptr %41, align 8, !tbaa !11
  %5216 = load i64, ptr %41, align 8, !tbaa !11
  %5217 = load i64, ptr %40, align 8, !tbaa !11
  %5218 = or i64 %5217, %5216
  store i64 %5218, ptr %40, align 8, !tbaa !11
  %5219 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %5219, ptr %29, align 8, !tbaa !11
  %5220 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5220, ptr %32, align 4, !tbaa !9
  %5221 = load ptr, ptr %5, align 8, !tbaa !5
  %5222 = getelementptr inbounds %struct.w2c_hermes, ptr %5221, i32 0, i32 6
  %5223 = load i32, ptr %32, align 4, !tbaa !9
  %5224 = zext i32 %5223 to i64
  %5225 = add i64 %5224, 4
  %5226 = call i32 @i32_load(ptr noundef %5222, i64 noundef %5225)
  store i32 %5226, ptr %32, align 4, !tbaa !9
  %5227 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5227, ptr %6, align 4, !tbaa !9
  %5228 = load ptr, ptr %5, align 8, !tbaa !5
  %5229 = getelementptr inbounds %struct.w2c_hermes, ptr %5228, i32 0, i32 6
  %5230 = load i32, ptr %32, align 4, !tbaa !9
  %5231 = zext i32 %5230 to i64
  %5232 = add i64 %5231, 164
  %5233 = call i32 @i32_load(ptr noundef %5229, i64 noundef %5232)
  store i32 %5233, ptr %32, align 4, !tbaa !9
  %5234 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5234, ptr %12, align 4, !tbaa !9
  %5235 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5235, ptr %33, align 4, !tbaa !9
  %5236 = load ptr, ptr %5, align 8, !tbaa !5
  %5237 = getelementptr inbounds %struct.w2c_hermes, ptr %5236, i32 0, i32 6
  %5238 = load i32, ptr %33, align 4, !tbaa !9
  %5239 = zext i32 %5238 to i64
  %5240 = add i64 %5239, 168
  %5241 = call i32 @i32_load(ptr noundef %5237, i64 noundef %5240)
  store i32 %5241, ptr %33, align 4, !tbaa !9
  %5242 = load i32, ptr %32, align 4, !tbaa !9
  %5243 = load i32, ptr %33, align 4, !tbaa !9
  %5244 = icmp ult i32 %5242, %5243
  %5245 = zext i1 %5244 to i32
  store i32 %5245, ptr %32, align 4, !tbaa !9
  %5246 = load i32, ptr %32, align 4, !tbaa !9
  %5247 = icmp ne i32 %5246, 0
  br i1 %5247, label %5248, label %5267

5248:                                             ; preds = %5213
  %5249 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5249, ptr %32, align 4, !tbaa !9
  %5250 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5250, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %5251 = load i32, ptr %34, align 4, !tbaa !9
  %5252 = load i32, ptr %33, align 4, !tbaa !9
  %5253 = add i32 %5252, %5251
  store i32 %5253, ptr %33, align 4, !tbaa !9
  %5254 = load ptr, ptr %5, align 8, !tbaa !5
  %5255 = getelementptr inbounds %struct.w2c_hermes, ptr %5254, i32 0, i32 6
  %5256 = load i32, ptr %32, align 4, !tbaa !9
  %5257 = zext i32 %5256 to i64
  %5258 = add i64 %5257, 164
  %5259 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5255, i64 noundef %5258, i32 noundef %5259)
  %5260 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5260, ptr %32, align 4, !tbaa !9
  %5261 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5261, ptr %41, align 8, !tbaa !11
  %5262 = load ptr, ptr %5, align 8, !tbaa !5
  %5263 = getelementptr inbounds %struct.w2c_hermes, ptr %5262, i32 0, i32 6
  %5264 = load i32, ptr %32, align 4, !tbaa !9
  %5265 = zext i32 %5264 to i64
  %5266 = load i64, ptr %41, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5263, i64 noundef %5265, i64 noundef %5266)
  br label %5281

5267:                                             ; preds = %5213
  %5268 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5268, ptr %32, align 4, !tbaa !9
  %5269 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5269, ptr %41, align 8, !tbaa !11
  %5270 = load ptr, ptr %5, align 8, !tbaa !5
  %5271 = load i32, ptr %32, align 4, !tbaa !9
  %5272 = load i64, ptr %41, align 8, !tbaa !11
  %5273 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %5270, i32 noundef %5271, i64 noundef %5272)
  store i32 %5273, ptr %32, align 4, !tbaa !9
  %5274 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5274, ptr %12, align 4, !tbaa !9
  %5275 = load ptr, ptr %5, align 8, !tbaa !5
  %5276 = getelementptr inbounds %struct.w2c_hermes, ptr %5275, i32 0, i32 6
  %5277 = load i32, ptr %32, align 4, !tbaa !9
  %5278 = zext i32 %5277 to i64
  %5279 = call i64 @i64_load(ptr noundef %5276, i64 noundef %5278)
  store i64 %5279, ptr %40, align 8, !tbaa !11
  %5280 = load i64, ptr %40, align 8, !tbaa !11
  store i64 %5280, ptr %29, align 8, !tbaa !11
  br label %5281

5281:                                             ; preds = %5267, %5248
  %5282 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5282, ptr %32, align 4, !tbaa !9
  %5283 = load ptr, ptr %5, align 8, !tbaa !5
  %5284 = getelementptr inbounds %struct.w2c_hermes, ptr %5283, i32 0, i32 6
  %5285 = load i32, ptr %32, align 4, !tbaa !9
  %5286 = zext i32 %5285 to i64
  %5287 = add i64 %5286, 4
  %5288 = call i32 @i32_load(ptr noundef %5284, i64 noundef %5287)
  store i32 %5288, ptr %32, align 4, !tbaa !9
  %5289 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5289, ptr %6, align 4, !tbaa !9
  %5290 = load ptr, ptr %5, align 8, !tbaa !5
  %5291 = getelementptr inbounds %struct.w2c_hermes, ptr %5290, i32 0, i32 6
  %5292 = load i32, ptr %32, align 4, !tbaa !9
  %5293 = zext i32 %5292 to i64
  %5294 = add i64 %5293, 172
  %5295 = call i32 @i32_load(ptr noundef %5291, i64 noundef %5294)
  store i32 %5295, ptr %32, align 4, !tbaa !9
  %5296 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5296, ptr %13, align 4, !tbaa !9
  %5297 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5297, ptr %32, align 4, !tbaa !9
  %5298 = load ptr, ptr %5, align 8, !tbaa !5
  %5299 = getelementptr inbounds %struct.w2c_hermes, ptr %5298, i32 0, i32 6
  %5300 = load i32, ptr %32, align 4, !tbaa !9
  %5301 = zext i32 %5300 to i64
  %5302 = add i64 %5301, 164
  %5303 = call i32 @i32_load(ptr noundef %5299, i64 noundef %5302)
  store i32 %5303, ptr %32, align 4, !tbaa !9
  %5304 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5304, ptr %16, align 4, !tbaa !9
  %5305 = load i64, ptr %29, align 8, !tbaa !11
  store i64 %5305, ptr %40, align 8, !tbaa !11
  %5306 = load i64, ptr %40, align 8, !tbaa !11
  %5307 = trunc i64 %5306 to i32
  store i32 %5307, ptr %32, align 4, !tbaa !9
  %5308 = load ptr, ptr %5, align 8, !tbaa !5
  %5309 = getelementptr inbounds %struct.w2c_hermes, ptr %5308, i32 0, i32 6
  %5310 = load i32, ptr %32, align 4, !tbaa !9
  %5311 = zext i32 %5310 to i64
  %5312 = add i64 %5311, 12
  %5313 = call i32 @i32_load(ptr noundef %5309, i64 noundef %5312)
  store i32 %5313, ptr %32, align 4, !tbaa !9
  %5314 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5314, ptr %20, align 4, !tbaa !9
  %5315 = load i32, ptr %32, align 4, !tbaa !9
  %5316 = icmp ne i32 %5315, 0
  br i1 %5316, label %5317, label %5784

5317:                                             ; preds = %5281
  %5318 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5318, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %5319 = load i32, ptr %33, align 4, !tbaa !9
  %5320 = load i32, ptr %32, align 4, !tbaa !9
  %5321 = add i32 %5320, %5319
  store i32 %5321, ptr %32, align 4, !tbaa !9
  %5322 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5322, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %5323 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5323, ptr %9, align 4, !tbaa !9
  br label %5324

5324:                                             ; preds = %5782, %5317
  %5325 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5325, ptr %32, align 4, !tbaa !9
  %5326 = load ptr, ptr %5, align 8, !tbaa !5
  %5327 = getelementptr inbounds %struct.w2c_hermes, ptr %5326, i32 0, i32 6
  %5328 = load i32, ptr %32, align 4, !tbaa !9
  %5329 = zext i32 %5328 to i64
  %5330 = call i32 @i32_load(ptr noundef %5327, i64 noundef %5329)
  store i32 %5330, ptr %32, align 4, !tbaa !9
  store i32 28, ptr %33, align 4, !tbaa !9
  %5331 = load i32, ptr %33, align 4, !tbaa !9
  %5332 = load i32, ptr %32, align 4, !tbaa !9
  %5333 = add i32 %5332, %5331
  store i32 %5333, ptr %32, align 4, !tbaa !9
  %5334 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5334, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %5335 = load i32, ptr %34, align 4, !tbaa !9
  %5336 = load i32, ptr %33, align 4, !tbaa !9
  %5337 = mul i32 %5336, %5335
  store i32 %5337, ptr %33, align 4, !tbaa !9
  %5338 = load i32, ptr %33, align 4, !tbaa !9
  %5339 = load i32, ptr %32, align 4, !tbaa !9
  %5340 = add i32 %5339, %5338
  store i32 %5340, ptr %32, align 4, !tbaa !9
  %5341 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5341, ptr %11, align 4, !tbaa !9
  %5342 = load ptr, ptr %5, align 8, !tbaa !5
  %5343 = getelementptr inbounds %struct.w2c_hermes, ptr %5342, i32 0, i32 6
  %5344 = load i32, ptr %32, align 4, !tbaa !9
  %5345 = zext i32 %5344 to i64
  %5346 = call i32 @i32_load(ptr noundef %5343, i64 noundef %5345)
  store i32 %5346, ptr %32, align 4, !tbaa !9
  store i32 536870909, ptr %33, align 4, !tbaa !9
  %5347 = load i32, ptr %32, align 4, !tbaa !9
  %5348 = load i32, ptr %33, align 4, !tbaa !9
  %5349 = icmp ule i32 %5347, %5348
  %5350 = zext i1 %5349 to i32
  store i32 %5350, ptr %32, align 4, !tbaa !9
  %5351 = load i32, ptr %32, align 4, !tbaa !9
  %5352 = icmp ne i32 %5351, 0
  br i1 %5352, label %5353, label %5769

5353:                                             ; preds = %5324
  %5354 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %5354, ptr %32, align 4, !tbaa !9
  %5355 = load ptr, ptr %5, align 8, !tbaa !5
  %5356 = getelementptr inbounds %struct.w2c_hermes, ptr %5355, i32 0, i32 6
  %5357 = load i32, ptr %32, align 4, !tbaa !9
  %5358 = zext i32 %5357 to i64
  %5359 = call i32 @i32_load(ptr noundef %5356, i64 noundef %5358)
  store i32 %5359, ptr %32, align 4, !tbaa !9
  %5360 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5360, ptr %15, align 4, !tbaa !9
  %5361 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5361, ptr %32, align 4, !tbaa !9
  %5362 = load ptr, ptr %5, align 8, !tbaa !5
  %5363 = getelementptr inbounds %struct.w2c_hermes, ptr %5362, i32 0, i32 6
  %5364 = load i32, ptr %32, align 4, !tbaa !9
  %5365 = zext i32 %5364 to i64
  %5366 = call i32 @i32_load(ptr noundef %5363, i64 noundef %5365)
  store i32 %5366, ptr %32, align 4, !tbaa !9
  %5367 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5367, ptr %19, align 4, !tbaa !9
  store i32 7, ptr %32, align 4, !tbaa !9
  %5368 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5368, ptr %14, align 4, !tbaa !9
  %5369 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5369, ptr %32, align 4, !tbaa !9
  %5370 = load ptr, ptr %5, align 8, !tbaa !5
  %5371 = getelementptr inbounds %struct.w2c_hermes, ptr %5370, i32 0, i32 6
  %5372 = load i32, ptr %32, align 4, !tbaa !9
  %5373 = zext i32 %5372 to i64
  %5374 = add i64 %5373, 8
  %5375 = call i32 @i32_load(ptr noundef %5371, i64 noundef %5374)
  store i32 %5375, ptr %32, align 4, !tbaa !9
  %5376 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5376, ptr %11, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %5377 = load i32, ptr %32, align 4, !tbaa !9
  %5378 = load i32, ptr %33, align 4, !tbaa !9
  %5379 = icmp ugt i32 %5377, %5378
  %5380 = zext i1 %5379 to i32
  store i32 %5380, ptr %32, align 4, !tbaa !9
  %5381 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5381, ptr %22, align 4, !tbaa !9
  %5382 = load i32, ptr %32, align 4, !tbaa !9
  %5383 = icmp ne i32 %5382, 0
  %5384 = xor i1 %5383, true
  %5385 = zext i1 %5384 to i32
  store i32 %5385, ptr %32, align 4, !tbaa !9
  %5386 = load i32, ptr %32, align 4, !tbaa !9
  %5387 = icmp ne i32 %5386, 0
  br i1 %5387, label %5388, label %5401

5388:                                             ; preds = %5353
  %5389 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5389, ptr %32, align 4, !tbaa !9
  %5390 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5390, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5391 = load i32, ptr %34, align 4, !tbaa !9
  %5392 = and i32 %5391, 31
  %5393 = load i32, ptr %33, align 4, !tbaa !9
  %5394 = shl i32 %5393, %5392
  store i32 %5394, ptr %33, align 4, !tbaa !9
  %5395 = load i32, ptr %33, align 4, !tbaa !9
  %5396 = load i32, ptr %32, align 4, !tbaa !9
  %5397 = add i32 %5396, %5395
  store i32 %5397, ptr %32, align 4, !tbaa !9
  store i32 20, ptr %33, align 4, !tbaa !9
  %5398 = load i32, ptr %33, align 4, !tbaa !9
  %5399 = load i32, ptr %32, align 4, !tbaa !9
  %5400 = add i32 %5399, %5398
  store i32 %5400, ptr %32, align 4, !tbaa !9
  br label %5420

5401:                                             ; preds = %5353
  %5402 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5402, ptr %32, align 4, !tbaa !9
  %5403 = load ptr, ptr %5, align 8, !tbaa !5
  %5404 = getelementptr inbounds %struct.w2c_hermes, ptr %5403, i32 0, i32 6
  %5405 = load i32, ptr %32, align 4, !tbaa !9
  %5406 = zext i32 %5405 to i64
  %5407 = add i64 %5406, 16
  %5408 = call i32 @i32_load(ptr noundef %5404, i64 noundef %5407)
  store i32 %5408, ptr %32, align 4, !tbaa !9
  %5409 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5409, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5410 = load i32, ptr %34, align 4, !tbaa !9
  %5411 = and i32 %5410, 31
  %5412 = load i32, ptr %33, align 4, !tbaa !9
  %5413 = shl i32 %5412, %5411
  store i32 %5413, ptr %33, align 4, !tbaa !9
  %5414 = load i32, ptr %33, align 4, !tbaa !9
  %5415 = load i32, ptr %32, align 4, !tbaa !9
  %5416 = add i32 %5415, %5414
  store i32 %5416, ptr %32, align 4, !tbaa !9
  store i32 12, ptr %33, align 4, !tbaa !9
  %5417 = load i32, ptr %33, align 4, !tbaa !9
  %5418 = load i32, ptr %32, align 4, !tbaa !9
  %5419 = sub i32 %5418, %5417
  store i32 %5419, ptr %32, align 4, !tbaa !9
  br label %5420

5420:                                             ; preds = %5401, %5388
  %5421 = load ptr, ptr %5, align 8, !tbaa !5
  %5422 = getelementptr inbounds %struct.w2c_hermes, ptr %5421, i32 0, i32 6
  %5423 = load i32, ptr %32, align 4, !tbaa !9
  %5424 = zext i32 %5423 to i64
  %5425 = call i32 @i32_load(ptr noundef %5422, i64 noundef %5424)
  store i32 %5425, ptr %32, align 4, !tbaa !9
  %5426 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5426, ptr %15, align 4, !tbaa !9
  store i32 7, ptr %33, align 4, !tbaa !9
  %5427 = load i32, ptr %33, align 4, !tbaa !9
  %5428 = load i32, ptr %32, align 4, !tbaa !9
  %5429 = and i32 %5428, %5427
  store i32 %5429, ptr %32, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %5430 = load i32, ptr %32, align 4, !tbaa !9
  %5431 = load i32, ptr %33, align 4, !tbaa !9
  %5432 = icmp eq i32 %5430, %5431
  %5433 = zext i1 %5432 to i32
  store i32 %5433, ptr %32, align 4, !tbaa !9
  %5434 = load i32, ptr %32, align 4, !tbaa !9
  %5435 = icmp ne i32 %5434, 0
  br i1 %5435, label %5436, label %5444

5436:                                             ; preds = %5420
  %5437 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5437, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %5438 = load i32, ptr %32, align 4, !tbaa !9
  %5439 = load i32, ptr %33, align 4, !tbaa !9
  %5440 = and i32 %5439, 31
  %5441 = ashr i32 %5438, %5440
  store i32 %5441, ptr %32, align 4, !tbaa !9
  %5442 = load i32, ptr %32, align 4, !tbaa !9
  %5443 = sitofp i32 %5442 to double
  store double %5443, ptr %45, align 8, !tbaa !13
  br label %5455

5444:                                             ; preds = %5420
  %5445 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5445, ptr %32, align 4, !tbaa !9
  store i32 -8, ptr %33, align 4, !tbaa !9
  %5446 = load i32, ptr %33, align 4, !tbaa !9
  %5447 = load i32, ptr %32, align 4, !tbaa !9
  %5448 = and i32 %5447, %5446
  store i32 %5448, ptr %32, align 4, !tbaa !9
  %5449 = load ptr, ptr %5, align 8, !tbaa !5
  %5450 = getelementptr inbounds %struct.w2c_hermes, ptr %5449, i32 0, i32 6
  %5451 = load i32, ptr %32, align 4, !tbaa !9
  %5452 = zext i32 %5451 to i64
  %5453 = add i64 %5452, 8
  %5454 = call double @f64_load(ptr noundef %5450, i64 noundef %5453)
  store double %5454, ptr %45, align 8, !tbaa !13
  br label %5455

5455:                                             ; preds = %5444, %5436
  %5456 = load double, ptr %45, align 8, !tbaa !13
  store double %5456, ptr %31, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %46, align 8, !tbaa !13
  %5457 = load double, ptr %45, align 8, !tbaa !13
  %5458 = load double, ptr %46, align 8, !tbaa !13
  %5459 = fcmp olt double %5457, %5458
  %5460 = zext i1 %5459 to i32
  store i32 %5460, ptr %32, align 4, !tbaa !9
  %5461 = load double, ptr %31, align 8, !tbaa !13
  store double %5461, ptr %46, align 8, !tbaa !13
  store double 0.000000e+00, ptr %47, align 8, !tbaa !13
  %5462 = load double, ptr %46, align 8, !tbaa !13
  %5463 = load double, ptr %47, align 8, !tbaa !13
  %5464 = fcmp oge double %5462, %5463
  %5465 = zext i1 %5464 to i32
  store i32 %5465, ptr %33, align 4, !tbaa !9
  %5466 = load i32, ptr %33, align 4, !tbaa !9
  %5467 = load i32, ptr %32, align 4, !tbaa !9
  %5468 = and i32 %5467, %5466
  store i32 %5468, ptr %32, align 4, !tbaa !9
  %5469 = load i32, ptr %32, align 4, !tbaa !9
  %5470 = icmp ne i32 %5469, 0
  br i1 %5470, label %5471, label %5508

5471:                                             ; preds = %5455
  %5472 = load double, ptr %31, align 8, !tbaa !13
  store double %5472, ptr %45, align 8, !tbaa !13
  %5473 = load double, ptr %45, align 8, !tbaa !13
  %5474 = load double, ptr %45, align 8, !tbaa !13
  %5475 = fcmp une double %5473, %5474
  %5476 = xor i1 %5475, true
  %5477 = xor i1 %5476, true
  %5478 = zext i1 %5477 to i32
  %5479 = sext i32 %5478 to i64
  %5480 = call i64 @llvm.expect.i64(i64 %5479, i64 0)
  %5481 = icmp ne i64 %5480, 0
  br i1 %5481, label %5482, label %5484

5482:                                             ; preds = %5471
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

5483:                                             ; No predecessors!
  br label %5506

5484:                                             ; preds = %5471
  %5485 = load double, ptr %45, align 8, !tbaa !13
  %5486 = fcmp ogt double %5485, -1.000000e+00
  br i1 %5486, label %5487, label %5490

5487:                                             ; preds = %5484
  %5488 = load double, ptr %45, align 8, !tbaa !13
  %5489 = fcmp olt double %5488, 0x41F0000000000000
  br label %5490

5490:                                             ; preds = %5487, %5484
  %5491 = phi i1 [ false, %5484 ], [ %5489, %5487 ]
  %5492 = xor i1 %5491, true
  %5493 = xor i1 %5492, true
  %5494 = xor i1 %5493, true
  %5495 = zext i1 %5494 to i32
  %5496 = sext i32 %5495 to i64
  %5497 = call i64 @llvm.expect.i64(i64 %5496, i64 0)
  %5498 = icmp ne i64 %5497, 0
  br i1 %5498, label %5499, label %5501

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

5500:                                             ; No predecessors!
  br label %5504

5501:                                             ; preds = %5490
  %5502 = load double, ptr %45, align 8, !tbaa !13
  %5503 = fptoui double %5502 to i32
  br label %5504

5504:                                             ; preds = %5501, %5500
  %5505 = phi i32 [ 0, %5500 ], [ %5503, %5501 ]
  br label %5506

5506:                                             ; preds = %5504, %5483
  %5507 = phi i32 [ 0, %5483 ], [ %5505, %5504 ]
  store i32 %5507, ptr %32, align 4, !tbaa !9
  br label %5509

5508:                                             ; preds = %5455
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %5509

5509:                                             ; preds = %5508, %5506
  %5510 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5510, ptr %15, align 4, !tbaa !9
  %5511 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5511, ptr %33, align 4, !tbaa !9
  %5512 = load ptr, ptr %5, align 8, !tbaa !5
  %5513 = getelementptr inbounds %struct.w2c_hermes, ptr %5512, i32 0, i32 6
  %5514 = load i32, ptr %33, align 4, !tbaa !9
  %5515 = zext i32 %5514 to i64
  %5516 = call i32 @i32_load(ptr noundef %5513, i64 noundef %5515)
  store i32 %5516, ptr %33, align 4, !tbaa !9
  %5517 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5517, ptr %18, align 4, !tbaa !9
  %5518 = load ptr, ptr %5, align 8, !tbaa !5
  %5519 = getelementptr inbounds %struct.w2c_hermes, ptr %5518, i32 0, i32 6
  %5520 = load i32, ptr %33, align 4, !tbaa !9
  %5521 = zext i32 %5520 to i64
  %5522 = add i64 %5521, 20
  %5523 = call i32 @i32_load(ptr noundef %5519, i64 noundef %5522)
  store i32 %5523, ptr %33, align 4, !tbaa !9
  %5524 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5524, ptr %25, align 4, !tbaa !9
  %5525 = load i32, ptr %32, align 4, !tbaa !9
  %5526 = load i32, ptr %33, align 4, !tbaa !9
  %5527 = icmp ult i32 %5525, %5526
  %5528 = zext i1 %5527 to i32
  store i32 %5528, ptr %32, align 4, !tbaa !9
  %5529 = load i32, ptr %32, align 4, !tbaa !9
  %5530 = icmp ne i32 %5529, 0
  br i1 %5530, label %5531, label %5532

5531:                                             ; preds = %5509
  br label %5627

5532:                                             ; preds = %5509
  %5533 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5533, ptr %32, align 4, !tbaa !9
  %5534 = load ptr, ptr %5, align 8, !tbaa !5
  %5535 = getelementptr inbounds %struct.w2c_hermes, ptr %5534, i32 0, i32 6
  %5536 = load i32, ptr %32, align 4, !tbaa !9
  %5537 = zext i32 %5536 to i64
  %5538 = add i64 %5537, 24
  %5539 = call i32 @i32_load(ptr noundef %5535, i64 noundef %5538)
  store i32 %5539, ptr %32, align 4, !tbaa !9
  %5540 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5540, ptr %33, align 4, !tbaa !9
  %5541 = load i32, ptr %32, align 4, !tbaa !9
  %5542 = load i32, ptr %33, align 4, !tbaa !9
  %5543 = icmp ule i32 %5541, %5542
  %5544 = zext i1 %5543 to i32
  store i32 %5544, ptr %32, align 4, !tbaa !9
  %5545 = load i32, ptr %32, align 4, !tbaa !9
  %5546 = icmp ne i32 %5545, 0
  br i1 %5546, label %5547, label %5548

5547:                                             ; preds = %5532
  br label %5627

5548:                                             ; preds = %5532
  %5549 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %5549, ptr %32, align 4, !tbaa !9
  %5550 = load ptr, ptr %5, align 8, !tbaa !5
  %5551 = getelementptr inbounds %struct.w2c_hermes, ptr %5550, i32 0, i32 6
  %5552 = load i32, ptr %32, align 4, !tbaa !9
  %5553 = zext i32 %5552 to i64
  %5554 = add i64 %5553, 28
  %5555 = call i32 @i32_load(ptr noundef %5551, i64 noundef %5554)
  store i32 %5555, ptr %32, align 4, !tbaa !9
  %5556 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5556, ptr %14, align 4, !tbaa !9
  %5557 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5557, ptr %32, align 4, !tbaa !9
  %5558 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %5558, ptr %33, align 4, !tbaa !9
  %5559 = load i32, ptr %33, align 4, !tbaa !9
  %5560 = load i32, ptr %32, align 4, !tbaa !9
  %5561 = sub i32 %5560, %5559
  store i32 %5561, ptr %32, align 4, !tbaa !9
  %5562 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5562, ptr %15, align 4, !tbaa !9
  store i32 4095, ptr %33, align 4, !tbaa !9
  %5563 = load i32, ptr %32, align 4, !tbaa !9
  %5564 = load i32, ptr %33, align 4, !tbaa !9
  %5565 = icmp ule i32 %5563, %5564
  %5566 = zext i1 %5565 to i32
  store i32 %5566, ptr %32, align 4, !tbaa !9
  %5567 = load i32, ptr %32, align 4, !tbaa !9
  %5568 = icmp ne i32 %5567, 0
  br i1 %5568, label %5569, label %5582

5569:                                             ; preds = %5548
  %5570 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5570, ptr %32, align 4, !tbaa !9
  %5571 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5571, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5572 = load i32, ptr %34, align 4, !tbaa !9
  %5573 = and i32 %5572, 31
  %5574 = load i32, ptr %33, align 4, !tbaa !9
  %5575 = shl i32 %5574, %5573
  store i32 %5575, ptr %33, align 4, !tbaa !9
  %5576 = load i32, ptr %33, align 4, !tbaa !9
  %5577 = load i32, ptr %32, align 4, !tbaa !9
  %5578 = add i32 %5577, %5576
  store i32 %5578, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %5579 = load i32, ptr %33, align 4, !tbaa !9
  %5580 = load i32, ptr %32, align 4, !tbaa !9
  %5581 = add i32 %5580, %5579
  store i32 %5581, ptr %32, align 4, !tbaa !9
  br label %5620

5582:                                             ; preds = %5548
  %5583 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5583, ptr %32, align 4, !tbaa !9
  %5584 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5584, ptr %33, align 4, !tbaa !9
  store i32 4096, ptr %34, align 4, !tbaa !9
  %5585 = load i32, ptr %34, align 4, !tbaa !9
  %5586 = load i32, ptr %33, align 4, !tbaa !9
  %5587 = sub i32 %5586, %5585
  store i32 %5587, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %5588 = load i32, ptr %34, align 4, !tbaa !9
  %5589 = and i32 %5588, 31
  %5590 = load i32, ptr %33, align 4, !tbaa !9
  %5591 = lshr i32 %5590, %5589
  store i32 %5591, ptr %33, align 4, !tbaa !9
  store i32 16777212, ptr %34, align 4, !tbaa !9
  %5592 = load i32, ptr %34, align 4, !tbaa !9
  %5593 = load i32, ptr %33, align 4, !tbaa !9
  %5594 = and i32 %5593, %5592
  store i32 %5594, ptr %33, align 4, !tbaa !9
  %5595 = load i32, ptr %33, align 4, !tbaa !9
  %5596 = load i32, ptr %32, align 4, !tbaa !9
  %5597 = add i32 %5596, %5595
  store i32 %5597, ptr %32, align 4, !tbaa !9
  store i32 16392, ptr %33, align 4, !tbaa !9
  %5598 = load i32, ptr %33, align 4, !tbaa !9
  %5599 = load i32, ptr %32, align 4, !tbaa !9
  %5600 = add i32 %5599, %5598
  store i32 %5600, ptr %32, align 4, !tbaa !9
  %5601 = load ptr, ptr %5, align 8, !tbaa !5
  %5602 = getelementptr inbounds %struct.w2c_hermes, ptr %5601, i32 0, i32 6
  %5603 = load i32, ptr %32, align 4, !tbaa !9
  %5604 = zext i32 %5603 to i64
  %5605 = call i32 @i32_load(ptr noundef %5602, i64 noundef %5604)
  store i32 %5605, ptr %32, align 4, !tbaa !9
  %5606 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5606, ptr %33, align 4, !tbaa !9
  store i32 1023, ptr %34, align 4, !tbaa !9
  %5607 = load i32, ptr %34, align 4, !tbaa !9
  %5608 = load i32, ptr %33, align 4, !tbaa !9
  %5609 = and i32 %5608, %5607
  store i32 %5609, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5610 = load i32, ptr %34, align 4, !tbaa !9
  %5611 = and i32 %5610, 31
  %5612 = load i32, ptr %33, align 4, !tbaa !9
  %5613 = shl i32 %5612, %5611
  store i32 %5613, ptr %33, align 4, !tbaa !9
  %5614 = load i32, ptr %33, align 4, !tbaa !9
  %5615 = load i32, ptr %32, align 4, !tbaa !9
  %5616 = add i32 %5615, %5614
  store i32 %5616, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %5617 = load i32, ptr %33, align 4, !tbaa !9
  %5618 = load i32, ptr %32, align 4, !tbaa !9
  %5619 = add i32 %5618, %5617
  store i32 %5619, ptr %32, align 4, !tbaa !9
  br label %5620

5620:                                             ; preds = %5582, %5569
  %5621 = load ptr, ptr %5, align 8, !tbaa !5
  %5622 = getelementptr inbounds %struct.w2c_hermes, ptr %5621, i32 0, i32 6
  %5623 = load i32, ptr %32, align 4, !tbaa !9
  %5624 = zext i32 %5623 to i64
  %5625 = call i32 @i32_load(ptr noundef %5622, i64 noundef %5624)
  store i32 %5625, ptr %32, align 4, !tbaa !9
  %5626 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5626, ptr %14, align 4, !tbaa !9
  br label %5627

5627:                                             ; preds = %5620, %5547, %5531
  %5628 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5628, ptr %32, align 4, !tbaa !9
  %5629 = load i32, ptr %32, align 4, !tbaa !9
  %5630 = icmp ne i32 %5629, 0
  %5631 = xor i1 %5630, true
  %5632 = zext i1 %5631 to i32
  store i32 %5632, ptr %32, align 4, !tbaa !9
  %5633 = load i32, ptr %32, align 4, !tbaa !9
  %5634 = icmp ne i32 %5633, 0
  br i1 %5634, label %5635, label %5667

5635:                                             ; preds = %5627
  %5636 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5636, ptr %32, align 4, !tbaa !9
  %5637 = load ptr, ptr %5, align 8, !tbaa !5
  %5638 = getelementptr inbounds %struct.w2c_hermes, ptr %5637, i32 0, i32 6
  %5639 = load i32, ptr %32, align 4, !tbaa !9
  %5640 = zext i32 %5639 to i64
  %5641 = add i64 %5640, 1356
  %5642 = call i32 @i32_load(ptr noundef %5638, i64 noundef %5641)
  store i32 %5642, ptr %32, align 4, !tbaa !9
  %5643 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5643, ptr %33, align 4, !tbaa !9
  %5644 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5644, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %5645 = load i32, ptr %35, align 4, !tbaa !9
  %5646 = and i32 %5645, 31
  %5647 = load i32, ptr %34, align 4, !tbaa !9
  %5648 = shl i32 %5647, %5646
  store i32 %5648, ptr %34, align 4, !tbaa !9
  %5649 = load i32, ptr %34, align 4, !tbaa !9
  %5650 = load i32, ptr %33, align 4, !tbaa !9
  %5651 = add i32 %5650, %5649
  store i32 %5651, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %5652 = load i32, ptr %34, align 4, !tbaa !9
  %5653 = load i32, ptr %33, align 4, !tbaa !9
  %5654 = add i32 %5653, %5652
  store i32 %5654, ptr %33, align 4, !tbaa !9
  %5655 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5655, ptr %11, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %5656 = load i32, ptr %34, align 4, !tbaa !9
  %5657 = load i32, ptr %33, align 4, !tbaa !9
  %5658 = and i32 %5657, %5656
  store i32 %5658, ptr %33, align 4, !tbaa !9
  %5659 = load i32, ptr %32, align 4, !tbaa !9
  %5660 = load i32, ptr %33, align 4, !tbaa !9
  %5661 = icmp ne i32 %5659, %5660
  %5662 = zext i1 %5661 to i32
  store i32 %5662, ptr %32, align 4, !tbaa !9
  %5663 = load i32, ptr %32, align 4, !tbaa !9
  %5664 = icmp ne i32 %5663, 0
  br i1 %5664, label %5665, label %5666

5665:                                             ; preds = %5635
  br label %5705

5666:                                             ; preds = %5635
  br label %5713

5667:                                             ; preds = %5627
  %5668 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5668, ptr %32, align 4, !tbaa !9
  %5669 = load ptr, ptr %5, align 8, !tbaa !5
  %5670 = getelementptr inbounds %struct.w2c_hermes, ptr %5669, i32 0, i32 6
  %5671 = load i32, ptr %32, align 4, !tbaa !9
  %5672 = zext i32 %5671 to i64
  %5673 = add i64 %5672, 1356
  %5674 = call i32 @i32_load(ptr noundef %5670, i64 noundef %5673)
  store i32 %5674, ptr %32, align 4, !tbaa !9
  %5675 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5675, ptr %33, align 4, !tbaa !9
  %5676 = load ptr, ptr %5, align 8, !tbaa !5
  %5677 = getelementptr inbounds %struct.w2c_hermes, ptr %5676, i32 0, i32 6
  %5678 = load i32, ptr %33, align 4, !tbaa !9
  %5679 = zext i32 %5678 to i64
  %5680 = add i64 %5679, 16
  %5681 = call i32 @i32_load(ptr noundef %5677, i64 noundef %5680)
  store i32 %5681, ptr %33, align 4, !tbaa !9
  %5682 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5682, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %5683 = load i32, ptr %35, align 4, !tbaa !9
  %5684 = and i32 %5683, 31
  %5685 = load i32, ptr %34, align 4, !tbaa !9
  %5686 = shl i32 %5685, %5684
  store i32 %5686, ptr %34, align 4, !tbaa !9
  %5687 = load i32, ptr %34, align 4, !tbaa !9
  %5688 = load i32, ptr %33, align 4, !tbaa !9
  %5689 = add i32 %5688, %5687
  store i32 %5689, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %5690 = load i32, ptr %34, align 4, !tbaa !9
  %5691 = load i32, ptr %33, align 4, !tbaa !9
  %5692 = sub i32 %5691, %5690
  store i32 %5692, ptr %33, align 4, !tbaa !9
  %5693 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5693, ptr %11, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %5694 = load i32, ptr %34, align 4, !tbaa !9
  %5695 = load i32, ptr %33, align 4, !tbaa !9
  %5696 = and i32 %5695, %5694
  store i32 %5696, ptr %33, align 4, !tbaa !9
  %5697 = load i32, ptr %32, align 4, !tbaa !9
  %5698 = load i32, ptr %33, align 4, !tbaa !9
  %5699 = icmp eq i32 %5697, %5698
  %5700 = zext i1 %5699 to i32
  store i32 %5700, ptr %32, align 4, !tbaa !9
  %5701 = load i32, ptr %32, align 4, !tbaa !9
  %5702 = icmp ne i32 %5701, 0
  br i1 %5702, label %5703, label %5704

5703:                                             ; preds = %5667
  br label %5713

5704:                                             ; preds = %5667
  br label %5705

5705:                                             ; preds = %5704, %5665
  %5706 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5706, ptr %32, align 4, !tbaa !9
  %5707 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5707, ptr %33, align 4, !tbaa !9
  %5708 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5708, ptr %34, align 4, !tbaa !9
  %5709 = load ptr, ptr %5, align 8, !tbaa !5
  %5710 = load i32, ptr %32, align 4, !tbaa !9
  %5711 = load i32, ptr %33, align 4, !tbaa !9
  %5712 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %5709, i32 noundef %5710, i32 noundef %5711, i32 noundef %5712)
  br label %5713

5713:                                             ; preds = %5705, %5703, %5666
  %5714 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5714, ptr %32, align 4, !tbaa !9
  %5715 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5715, ptr %33, align 4, !tbaa !9
  %5716 = load ptr, ptr %5, align 8, !tbaa !5
  %5717 = getelementptr inbounds %struct.w2c_hermes, ptr %5716, i32 0, i32 6
  %5718 = load i32, ptr %32, align 4, !tbaa !9
  %5719 = zext i32 %5718 to i64
  %5720 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5717, i64 noundef %5719, i32 noundef %5720)
  %5721 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5721, ptr %32, align 4, !tbaa !9
  %5722 = load ptr, ptr %5, align 8, !tbaa !5
  %5723 = getelementptr inbounds %struct.w2c_hermes, ptr %5722, i32 0, i32 6
  %5724 = load i32, ptr %32, align 4, !tbaa !9
  %5725 = zext i32 %5724 to i64
  %5726 = add i64 %5725, 136
  %5727 = call i32 @i32_load(ptr noundef %5723, i64 noundef %5726)
  store i32 %5727, ptr %32, align 4, !tbaa !9
  %5728 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5728, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5729 = load i32, ptr %34, align 4, !tbaa !9
  %5730 = and i32 %5729, 31
  %5731 = load i32, ptr %33, align 4, !tbaa !9
  %5732 = shl i32 %5731, %5730
  store i32 %5732, ptr %33, align 4, !tbaa !9
  %5733 = load i32, ptr %33, align 4, !tbaa !9
  %5734 = load i32, ptr %32, align 4, !tbaa !9
  %5735 = add i32 %5734, %5733
  store i32 %5735, ptr %32, align 4, !tbaa !9
  %5736 = load ptr, ptr %5, align 8, !tbaa !5
  %5737 = getelementptr inbounds %struct.w2c_hermes, ptr %5736, i32 0, i32 6
  %5738 = load i32, ptr %32, align 4, !tbaa !9
  %5739 = zext i32 %5738 to i64
  %5740 = call i32 @i32_load(ptr noundef %5737, i64 noundef %5739)
  store i32 %5740, ptr %32, align 4, !tbaa !9
  %5741 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5741, ptr %11, align 4, !tbaa !9
  %5742 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5742, ptr %32, align 4, !tbaa !9
  %5743 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5743, ptr %33, align 4, !tbaa !9
  %5744 = load ptr, ptr %5, align 8, !tbaa !5
  %5745 = getelementptr inbounds %struct.w2c_hermes, ptr %5744, i32 0, i32 6
  %5746 = load i32, ptr %32, align 4, !tbaa !9
  %5747 = zext i32 %5746 to i64
  %5748 = add i64 %5747, 172
  %5749 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5745, i64 noundef %5748, i32 noundef %5749)
  %5750 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5750, ptr %32, align 4, !tbaa !9
  %5751 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5751, ptr %33, align 4, !tbaa !9
  %5752 = load ptr, ptr %5, align 8, !tbaa !5
  %5753 = getelementptr inbounds %struct.w2c_hermes, ptr %5752, i32 0, i32 6
  %5754 = load i32, ptr %32, align 4, !tbaa !9
  %5755 = zext i32 %5754 to i64
  %5756 = add i64 %5755, 164
  %5757 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5753, i64 noundef %5756, i32 noundef %5757)
  %5758 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5758, ptr %32, align 4, !tbaa !9
  %5759 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5759, ptr %33, align 4, !tbaa !9
  store i32 128, ptr %34, align 4, !tbaa !9
  %5760 = load i32, ptr %34, align 4, !tbaa !9
  %5761 = load i32, ptr %33, align 4, !tbaa !9
  %5762 = add i32 %5761, %5760
  store i32 %5762, ptr %33, align 4, !tbaa !9
  %5763 = load ptr, ptr %5, align 8, !tbaa !5
  %5764 = getelementptr inbounds %struct.w2c_hermes, ptr %5763, i32 0, i32 6
  %5765 = load i32, ptr %32, align 4, !tbaa !9
  %5766 = zext i32 %5765 to i64
  %5767 = add i64 %5766, 168
  %5768 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5764, i64 noundef %5767, i32 noundef %5768)
  br label %5769

5769:                                             ; preds = %5713, %5324
  %5770 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5770, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %5771 = load i32, ptr %33, align 4, !tbaa !9
  %5772 = load i32, ptr %32, align 4, !tbaa !9
  %5773 = add i32 %5772, %5771
  store i32 %5773, ptr %32, align 4, !tbaa !9
  %5774 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5774, ptr %9, align 4, !tbaa !9
  %5775 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %5775, ptr %33, align 4, !tbaa !9
  %5776 = load i32, ptr %32, align 4, !tbaa !9
  %5777 = load i32, ptr %33, align 4, !tbaa !9
  %5778 = icmp ne i32 %5776, %5777
  %5779 = zext i1 %5778 to i32
  store i32 %5779, ptr %32, align 4, !tbaa !9
  %5780 = load i32, ptr %32, align 4, !tbaa !9
  %5781 = icmp ne i32 %5780, 0
  br i1 %5781, label %5782, label %5783

5782:                                             ; preds = %5769
  br label %5324

5783:                                             ; preds = %5769
  br label %5784

5784:                                             ; preds = %5783, %5281
  %5785 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5785, ptr %32, align 4, !tbaa !9
  %5786 = load ptr, ptr %5, align 8, !tbaa !5
  %5787 = getelementptr inbounds %struct.w2c_hermes, ptr %5786, i32 0, i32 6
  %5788 = load i32, ptr %32, align 4, !tbaa !9
  %5789 = zext i32 %5788 to i64
  %5790 = add i64 %5789, 136
  %5791 = call i32 @i32_load(ptr noundef %5787, i64 noundef %5790)
  store i32 %5791, ptr %32, align 4, !tbaa !9
  %5792 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5792, ptr %33, align 4, !tbaa !9
  store i32 2, ptr %34, align 4, !tbaa !9
  %5793 = load i32, ptr %34, align 4, !tbaa !9
  %5794 = and i32 %5793, 31
  %5795 = load i32, ptr %33, align 4, !tbaa !9
  %5796 = shl i32 %5795, %5794
  store i32 %5796, ptr %33, align 4, !tbaa !9
  %5797 = load i32, ptr %33, align 4, !tbaa !9
  %5798 = load i32, ptr %32, align 4, !tbaa !9
  %5799 = add i32 %5798, %5797
  store i32 %5799, ptr %32, align 4, !tbaa !9
  %5800 = load ptr, ptr %5, align 8, !tbaa !5
  %5801 = getelementptr inbounds %struct.w2c_hermes, ptr %5800, i32 0, i32 6
  %5802 = load i32, ptr %32, align 4, !tbaa !9
  %5803 = zext i32 %5802 to i64
  %5804 = call i32 @i32_load(ptr noundef %5801, i64 noundef %5803)
  store i32 %5804, ptr %32, align 4, !tbaa !9
  %5805 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5805, ptr %9, align 4, !tbaa !9
  %5806 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5806, ptr %32, align 4, !tbaa !9
  %5807 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5807, ptr %33, align 4, !tbaa !9
  %5808 = load ptr, ptr %5, align 8, !tbaa !5
  %5809 = getelementptr inbounds %struct.w2c_hermes, ptr %5808, i32 0, i32 6
  %5810 = load i32, ptr %32, align 4, !tbaa !9
  %5811 = zext i32 %5810 to i64
  %5812 = add i64 %5811, 172
  %5813 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5809, i64 noundef %5812, i32 noundef %5813)
  %5814 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5814, ptr %32, align 4, !tbaa !9
  %5815 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5815, ptr %33, align 4, !tbaa !9
  %5816 = load ptr, ptr %5, align 8, !tbaa !5
  %5817 = getelementptr inbounds %struct.w2c_hermes, ptr %5816, i32 0, i32 6
  %5818 = load i32, ptr %32, align 4, !tbaa !9
  %5819 = zext i32 %5818 to i64
  %5820 = add i64 %5819, 164
  %5821 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5817, i64 noundef %5820, i32 noundef %5821)
  %5822 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5822, ptr %32, align 4, !tbaa !9
  %5823 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5823, ptr %33, align 4, !tbaa !9
  store i32 128, ptr %34, align 4, !tbaa !9
  %5824 = load i32, ptr %34, align 4, !tbaa !9
  %5825 = load i32, ptr %33, align 4, !tbaa !9
  %5826 = add i32 %5825, %5824
  store i32 %5826, ptr %33, align 4, !tbaa !9
  %5827 = load ptr, ptr %5, align 8, !tbaa !5
  %5828 = getelementptr inbounds %struct.w2c_hermes, ptr %5827, i32 0, i32 6
  %5829 = load i32, ptr %32, align 4, !tbaa !9
  %5830 = zext i32 %5829 to i64
  %5831 = add i64 %5830, 168
  %5832 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5828, i64 noundef %5831, i32 noundef %5832)
  %5833 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5833, ptr %32, align 4, !tbaa !9
  %5834 = load ptr, ptr %5, align 8, !tbaa !5
  %5835 = getelementptr inbounds %struct.w2c_hermes, ptr %5834, i32 0, i32 6
  %5836 = load i32, ptr %32, align 4, !tbaa !9
  %5837 = zext i32 %5836 to i64
  %5838 = call i32 @i32_load(ptr noundef %5835, i64 noundef %5837)
  store i32 %5838, ptr %32, align 4, !tbaa !9
  %5839 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5839, ptr %6, align 4, !tbaa !9
  %5840 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5840, ptr %32, align 4, !tbaa !9
  %5841 = load ptr, ptr %5, align 8, !tbaa !5
  %5842 = getelementptr inbounds %struct.w2c_hermes, ptr %5841, i32 0, i32 6
  %5843 = load i32, ptr %32, align 4, !tbaa !9
  %5844 = zext i32 %5843 to i64
  %5845 = call i32 @i32_load(ptr noundef %5842, i64 noundef %5844)
  store i32 %5845, ptr %32, align 4, !tbaa !9
  %5846 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5846, ptr %8, align 4, !tbaa !9
  %5847 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5847, ptr %32, align 4, !tbaa !9
  %5848 = load ptr, ptr %5, align 8, !tbaa !5
  %5849 = getelementptr inbounds %struct.w2c_hermes, ptr %5848, i32 0, i32 6
  %5850 = load i32, ptr %32, align 4, !tbaa !9
  %5851 = zext i32 %5850 to i64
  %5852 = add i64 %5851, 460
  %5853 = call i32 @i32_load(ptr noundef %5849, i64 noundef %5852)
  store i32 %5853, ptr %32, align 4, !tbaa !9
  %5854 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5854, ptr %9, align 4, !tbaa !9
  store i32 4, ptr %33, align 4, !tbaa !9
  %5855 = load i32, ptr %32, align 4, !tbaa !9
  %5856 = load i32, ptr %33, align 4, !tbaa !9
  %5857 = icmp ule i32 %5855, %5856
  %5858 = zext i1 %5857 to i32
  store i32 %5858, ptr %32, align 4, !tbaa !9
  %5859 = load i32, ptr %32, align 4, !tbaa !9
  %5860 = icmp ne i32 %5859, 0
  br i1 %5860, label %5861, label %5895

5861:                                             ; preds = %5784
  %5862 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5862, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %5863 = load i32, ptr %33, align 4, !tbaa !9
  %5864 = load i32, ptr %32, align 4, !tbaa !9
  %5865 = add i32 %5864, %5863
  store i32 %5865, ptr %32, align 4, !tbaa !9
  %5866 = load ptr, ptr %5, align 8, !tbaa !5
  %5867 = getelementptr inbounds %struct.w2c_hermes, ptr %5866, i32 0, i32 6
  %5868 = load i32, ptr %32, align 4, !tbaa !9
  %5869 = zext i32 %5868 to i64
  %5870 = call i32 @i32_load(ptr noundef %5867, i64 noundef %5869)
  store i32 %5870, ptr %32, align 4, !tbaa !9
  %5871 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5871, ptr %33, align 4, !tbaa !9
  %5872 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5872, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %5873 = load i32, ptr %35, align 4, !tbaa !9
  %5874 = and i32 %5873, 31
  %5875 = load i32, ptr %34, align 4, !tbaa !9
  %5876 = shl i32 %5875, %5874
  store i32 %5876, ptr %34, align 4, !tbaa !9
  %5877 = load i32, ptr %34, align 4, !tbaa !9
  %5878 = load i32, ptr %33, align 4, !tbaa !9
  %5879 = add i32 %5878, %5877
  store i32 %5879, ptr %33, align 4, !tbaa !9
  store i32 20, ptr %34, align 4, !tbaa !9
  %5880 = load i32, ptr %34, align 4, !tbaa !9
  %5881 = load i32, ptr %33, align 4, !tbaa !9
  %5882 = add i32 %5881, %5880
  store i32 %5882, ptr %33, align 4, !tbaa !9
  %5883 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5883, ptr %12, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %5884 = load i32, ptr %34, align 4, !tbaa !9
  %5885 = load i32, ptr %33, align 4, !tbaa !9
  %5886 = and i32 %5885, %5884
  store i32 %5886, ptr %33, align 4, !tbaa !9
  %5887 = load i32, ptr %32, align 4, !tbaa !9
  %5888 = load i32, ptr %33, align 4, !tbaa !9
  %5889 = icmp ne i32 %5887, %5888
  %5890 = zext i1 %5889 to i32
  store i32 %5890, ptr %32, align 4, !tbaa !9
  %5891 = load i32, ptr %32, align 4, !tbaa !9
  %5892 = icmp ne i32 %5891, 0
  br i1 %5892, label %5893, label %5894

5893:                                             ; preds = %5861
  br label %5935

5894:                                             ; preds = %5861
  br label %5946

5895:                                             ; preds = %5784
  %5896 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5896, ptr %32, align 4, !tbaa !9
  store i32 1356, ptr %33, align 4, !tbaa !9
  %5897 = load i32, ptr %33, align 4, !tbaa !9
  %5898 = load i32, ptr %32, align 4, !tbaa !9
  %5899 = add i32 %5898, %5897
  store i32 %5899, ptr %32, align 4, !tbaa !9
  %5900 = load ptr, ptr %5, align 8, !tbaa !5
  %5901 = getelementptr inbounds %struct.w2c_hermes, ptr %5900, i32 0, i32 6
  %5902 = load i32, ptr %32, align 4, !tbaa !9
  %5903 = zext i32 %5902 to i64
  %5904 = call i32 @i32_load(ptr noundef %5901, i64 noundef %5903)
  store i32 %5904, ptr %32, align 4, !tbaa !9
  %5905 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5905, ptr %33, align 4, !tbaa !9
  %5906 = load ptr, ptr %5, align 8, !tbaa !5
  %5907 = getelementptr inbounds %struct.w2c_hermes, ptr %5906, i32 0, i32 6
  %5908 = load i32, ptr %33, align 4, !tbaa !9
  %5909 = zext i32 %5908 to i64
  %5910 = add i64 %5909, 16
  %5911 = call i32 @i32_load(ptr noundef %5907, i64 noundef %5910)
  store i32 %5911, ptr %33, align 4, !tbaa !9
  %5912 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5912, ptr %34, align 4, !tbaa !9
  store i32 2, ptr %35, align 4, !tbaa !9
  %5913 = load i32, ptr %35, align 4, !tbaa !9
  %5914 = and i32 %5913, 31
  %5915 = load i32, ptr %34, align 4, !tbaa !9
  %5916 = shl i32 %5915, %5914
  store i32 %5916, ptr %34, align 4, !tbaa !9
  %5917 = load i32, ptr %34, align 4, !tbaa !9
  %5918 = load i32, ptr %33, align 4, !tbaa !9
  %5919 = add i32 %5918, %5917
  store i32 %5919, ptr %33, align 4, !tbaa !9
  store i32 12, ptr %34, align 4, !tbaa !9
  %5920 = load i32, ptr %34, align 4, !tbaa !9
  %5921 = load i32, ptr %33, align 4, !tbaa !9
  %5922 = sub i32 %5921, %5920
  store i32 %5922, ptr %33, align 4, !tbaa !9
  %5923 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5923, ptr %12, align 4, !tbaa !9
  store i32 -4194304, ptr %34, align 4, !tbaa !9
  %5924 = load i32, ptr %34, align 4, !tbaa !9
  %5925 = load i32, ptr %33, align 4, !tbaa !9
  %5926 = and i32 %5925, %5924
  store i32 %5926, ptr %33, align 4, !tbaa !9
  %5927 = load i32, ptr %32, align 4, !tbaa !9
  %5928 = load i32, ptr %33, align 4, !tbaa !9
  %5929 = icmp eq i32 %5927, %5928
  %5930 = zext i1 %5929 to i32
  store i32 %5930, ptr %32, align 4, !tbaa !9
  %5931 = load i32, ptr %32, align 4, !tbaa !9
  %5932 = icmp ne i32 %5931, 0
  br i1 %5932, label %5933, label %5934

5933:                                             ; preds = %5895
  br label %5946

5934:                                             ; preds = %5895
  br label %5935

5935:                                             ; preds = %5934, %5893
  %5936 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5936, ptr %32, align 4, !tbaa !9
  store i32 808, ptr %33, align 4, !tbaa !9
  %5937 = load i32, ptr %33, align 4, !tbaa !9
  %5938 = load i32, ptr %32, align 4, !tbaa !9
  %5939 = add i32 %5938, %5937
  store i32 %5939, ptr %32, align 4, !tbaa !9
  %5940 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5940, ptr %33, align 4, !tbaa !9
  %5941 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5941, ptr %34, align 4, !tbaa !9
  %5942 = load ptr, ptr %5, align 8, !tbaa !5
  %5943 = load i32, ptr %32, align 4, !tbaa !9
  %5944 = load i32, ptr %33, align 4, !tbaa !9
  %5945 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %5942, i32 noundef %5943, i32 noundef %5944, i32 noundef %5945)
  br label %5946

5946:                                             ; preds = %5935, %5933, %5894
  %5947 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5947, ptr %32, align 4, !tbaa !9
  %5948 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5948, ptr %33, align 4, !tbaa !9
  %5949 = load ptr, ptr %5, align 8, !tbaa !5
  %5950 = getelementptr inbounds %struct.w2c_hermes, ptr %5949, i32 0, i32 6
  %5951 = load i32, ptr %32, align 4, !tbaa !9
  %5952 = zext i32 %5951 to i64
  %5953 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5950, i64 noundef %5952, i32 noundef %5953)
  br label %5954

5954:                                             ; preds = %5946, %5033
  %5955 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %5955, ptr %32, align 4, !tbaa !9
  %5956 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5956, ptr %9, align 4, !tbaa !9
  br label %5959

5957:                                             ; preds = %2490
  store i32 -1, ptr %32, align 4, !tbaa !9
  %5958 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5958, ptr %9, align 4, !tbaa !9
  br label %5959

5959:                                             ; preds = %5957, %5954, %4841, %4775, %1762, %1295, %1038, %1036
  %5960 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5960, ptr %32, align 4, !tbaa !9
  %5961 = load ptr, ptr %5, align 8, !tbaa !5
  %5962 = getelementptr inbounds %struct.w2c_hermes, ptr %5961, i32 0, i32 6
  %5963 = load i32, ptr %32, align 4, !tbaa !9
  %5964 = zext i32 %5963 to i64
  %5965 = add i64 %5964, 236
  %5966 = call i32 @i32_load8_u(ptr noundef %5962, i64 noundef %5965)
  store i32 %5966, ptr %32, align 4, !tbaa !9
  %5967 = load i32, ptr %32, align 4, !tbaa !9
  %5968 = icmp ne i32 %5967, 0
  %5969 = xor i1 %5968, true
  %5970 = zext i1 %5969 to i32
  store i32 %5970, ptr %32, align 4, !tbaa !9
  %5971 = load i32, ptr %32, align 4, !tbaa !9
  %5972 = icmp ne i32 %5971, 0
  br i1 %5972, label %5973, label %5974

5973:                                             ; preds = %5959
  br label %5995

5974:                                             ; preds = %5959
  %5975 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5975, ptr %32, align 4, !tbaa !9
  %5976 = load ptr, ptr %5, align 8, !tbaa !5
  %5977 = getelementptr inbounds %struct.w2c_hermes, ptr %5976, i32 0, i32 6
  %5978 = load i32, ptr %32, align 4, !tbaa !9
  %5979 = zext i32 %5978 to i64
  %5980 = add i64 %5979, 176
  %5981 = call i32 @i32_load(ptr noundef %5977, i64 noundef %5980)
  store i32 %5981, ptr %32, align 4, !tbaa !9
  %5982 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %5982, ptr %6, align 4, !tbaa !9
  %5983 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5983, ptr %33, align 4, !tbaa !9
  %5984 = load i32, ptr %32, align 4, !tbaa !9
  %5985 = load i32, ptr %33, align 4, !tbaa !9
  %5986 = icmp eq i32 %5984, %5985
  %5987 = zext i1 %5986 to i32
  store i32 %5987, ptr %32, align 4, !tbaa !9
  %5988 = load i32, ptr %32, align 4, !tbaa !9
  %5989 = icmp ne i32 %5988, 0
  br i1 %5989, label %5990, label %5991

5990:                                             ; preds = %5974
  br label %5995

5991:                                             ; preds = %5974
  %5992 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5992, ptr %32, align 4, !tbaa !9
  %5993 = load ptr, ptr %5, align 8, !tbaa !5
  %5994 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %5993, i32 noundef %5994)
  br label %5995

5995:                                             ; preds = %5991, %5990, %5973, %999, %454, %330, %240
  %5996 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5996, ptr %32, align 4, !tbaa !9
  store i32 272, ptr %33, align 4, !tbaa !9
  %5997 = load i32, ptr %33, align 4, !tbaa !9
  %5998 = load i32, ptr %32, align 4, !tbaa !9
  %5999 = add i32 %5998, %5997
  store i32 %5999, ptr %32, align 4, !tbaa !9
  %6000 = load ptr, ptr %5, align 8, !tbaa !5
  %6001 = load i32, ptr %32, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %6000, i32 noundef %6001)
  %6002 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6002, ptr %32, align 4, !tbaa !9
  store i32 464, ptr %33, align 4, !tbaa !9
  %6003 = load i32, ptr %33, align 4, !tbaa !9
  %6004 = load i32, ptr %32, align 4, !tbaa !9
  %6005 = add i32 %6004, %6003
  store i32 %6005, ptr %32, align 4, !tbaa !9
  %6006 = load i32, ptr %32, align 4, !tbaa !9
  %6007 = load ptr, ptr %5, align 8, !tbaa !5
  %6008 = getelementptr inbounds %struct.w2c_hermes, ptr %6007, i32 0, i32 3
  store i32 %6006, ptr %6008, align 8, !tbaa !15
  %6009 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6009, ptr %32, align 4, !tbaa !9
  %6010 = load i32, ptr %32, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  ret i32 %6010
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 = { 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 #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, !14, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!16, !10, i64 24}
!16 = !{!"w2c_hermes", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !17, i64 40, !19, i64 80}
!17 = !{!"", !6, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !18, i64 32}
!18 = !{!"_Bool", !7, i64 0}
!19 = !{!"", !6, i64 0, !10, i64 8, !10, i64 12}


; 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"

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnPropertyInternal0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

declare void @w2c_hermes_dlfree(ptr 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 #0

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

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_reinterpret_i64(i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden double @wasm_fabs(double noundef) local_unnamed_addr #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_reinterpret_f64(double noundef) local_unnamed_addr #0

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

declare i32 @w2c_hermes_0x5F_memcpy(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AdirectRegExpExec0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSRegExp0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #3 {
  %5 = getelementptr inbounds i8, ptr %0, i64 24
  %6 = load i32, ptr %5, align 8, !tbaa !5
  %7 = add i32 %6, -464
  store i32 %7, ptr %5, align 8, !tbaa !5
  %8 = getelementptr inbounds i8, ptr %0, i64 40
  %9 = zext i32 %2 to i64
  %10 = add nuw nsw i64 %9, 4
  %11 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %12 = zext i32 %11 to i64
  %13 = add nuw nsw i64 %12, 164
  %14 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %13)
  %15 = add nuw nsw i64 %12, 168
  %16 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %15)
  %17 = icmp ult i32 %14, %16
  br i1 %17, label %18, label %21

18:                                               ; preds = %4
  %19 = add i32 %14, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %13, i32 noundef %19)
  %20 = zext i32 %14 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %20, i64 noundef -281474976710656)
  br label %23

21:                                               ; preds = %4
  %22 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %11, i64 noundef -281474976710656) #4
  br label %23

23:                                               ; preds = %21, %18
  %.03334 = phi i32 [ %14, %18 ], [ %22, %21 ]
  %24 = zext i32 %7 to i64
  %25 = add nuw nsw i64 %24, 272
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %25, i32 noundef %2)
  %26 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %27 = add i32 %6, -44
  %28 = add i32 %6, -184
  %29 = zext i32 %27 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %29, i32 noundef %28)
  %30 = add nuw nsw i64 %24, 412
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %30, i64 noundef 17179869185)
  %31 = add nuw nsw i64 %24, 408
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %31, i32 noundef %27)
  %32 = add nuw nsw i64 %24, 276
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %32, i32 noundef %26)
  %33 = add nuw nsw i64 %24, 444
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %33, i32 noundef 0)
  %34 = add i32 %6, -56
  %35 = add nuw nsw i64 %24, 440
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %35, i32 noundef %34)
  %36 = add nuw nsw i64 %24, 436
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %36, i32 noundef %28)
  %37 = add i32 %6, -192
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %10, i32 noundef %37)
  %38 = zext i32 %3 to i64
  %39 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %38)
  %40 = zext i32 %39 to i64
  %41 = add nuw nsw i64 %40, 4
  %42 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %41)
  %43 = add i32 %6, -208
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AgetNamed0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x29(ptr noundef nonnull %0, i32 noundef %43, i32 noundef %2, i32 noundef %1) #4
  %44 = add nuw nsw i64 %24, 256
  %45 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %44)
  %.not = icmp eq i32 %45, 0
  br i1 %.not, label %1288, label %46

46:                                               ; preds = %23
  %47 = add nuw nsw i64 %24, 264
  %48 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %47)
  %49 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %50 = zext i32 %49 to i64
  %51 = add nuw nsw i64 %50, 164
  %52 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %51)
  %53 = add nuw nsw i64 %50, 168
  %54 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %53)
  %55 = icmp ult i32 %52, %54
  br i1 %55, label %56, label %59

56:                                               ; preds = %46
  %57 = add i32 %52, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %51, i32 noundef %57)
  %58 = zext i32 %52 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %58, i64 noundef %48)
  br label %61

59:                                               ; preds = %46
  %60 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %49, i64 noundef %48) #4
  br label %61

61:                                               ; preds = %59, %56
  %.03359 = phi i32 [ %52, %56 ], [ %60, %59 ]
  %62 = add i32 %6, -224
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %62, i32 noundef %2, i32 noundef %.03359) #4
  %63 = add nuw nsw i64 %24, 240
  %64 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %63)
  %.not3455 = icmp eq i32 %64, 0
  br i1 %.not3455, label %1288, label %65

65:                                               ; preds = %61
  %66 = zext i32 %1 to i64
  %67 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %66)
  %68 = zext i32 %67 to i64
  %69 = add nuw nsw i64 %68, 32
  %70 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %69)
  %71 = add nuw nsw i64 %24, 248
  %72 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %71)
  %73 = add nuw nsw i64 %24, 180
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %73, i64 noundef 17179869184)
  %74 = add i32 %6, -276
  %75 = add nuw nsw i64 %24, 176
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %75, i32 noundef %74)
  %76 = add nuw nsw i64 %24, 236
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %76, i32 noundef 1)
  %77 = and i32 %70, 34
  %.not3456 = icmp eq i32 %77, 0
  %78 = select i1 %.not3456, i64 0, i64 %72
  %79 = and i32 %42, 2147483647
  %80 = zext nneg i32 %79 to i64
  %81 = icmp ugt i64 %78, %80
  br i1 %81, label %175, label %82

82:                                               ; preds = %65
  %83 = add i32 %6, -352
  %84 = trunc nuw nsw i64 %78 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSRegExp0x3A0x3Asearch0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSRegExp0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %83, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %84) #4
  %85 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %76)
  %86 = add nuw nsw i64 %24, 172
  %87 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %86)
  %.not3457 = icmp eq i32 %87, 0
  %.not3467 = icmp eq i32 %85, 0
  br i1 %.not3457, label %88, label %93

88:                                               ; preds = %82
  br i1 %.not3467, label %1288, label %89

89:                                               ; preds = %88
  %90 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %.not3468 = icmp eq i32 %74, %90
  br i1 %.not3468, label %92, label %91

91:                                               ; preds = %89
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %90) #4
  br label %92

92:                                               ; preds = %91, %89
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %76, i32 noundef 0)
  br label %165

93:                                               ; preds = %82
  br i1 %.not3467, label %141, label %94

94:                                               ; preds = %93
  %95 = add nuw nsw i64 %24, 112
  %96 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %95)
  %97 = add i32 %6, -340
  %.not3462 = icmp eq i32 %96, %97
  br i1 %.not3462, label %106, label %98

98:                                               ; preds = %94
  %99 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %.not3466 = icmp eq i32 %74, %99
  br i1 %.not3466, label %102, label %100

100:                                              ; preds = %98
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %99) #4
  %101 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %95)
  br label %102

102:                                              ; preds = %98, %100
  %.03325 = phi i32 [ %101, %100 ], [ %96, %98 ]
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %75, i32 noundef %.03325)
  %103 = add nuw nsw i64 %24, 116
  %104 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %103)
  %105 = add nuw nsw i64 %24, 120
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %105, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %73, i64 noundef %104)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %95, i32 noundef %97)
  br label %140

106:                                              ; preds = %94
  %107 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %108 = add nuw nsw i64 %24, 116
  %109 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %108)
  %.not3463 = icmp ult i32 %107, %109
  br i1 %.not3463, label %115, label %110

110:                                              ; preds = %106
  %.not3465 = icmp eq i32 %109, 0
  br i1 %.not3465, label %139, label %111

111:                                              ; preds = %110
  %112 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %113 = mul i32 %109, 12
  %114 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %112, i32 noundef %96, i32 noundef %113) #4
  br label %139

115:                                              ; preds = %106
  %116 = add nuw nsw i64 %24, 184
  %117 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %116)
  %118 = icmp ugt i32 %109, %117
  br i1 %118, label %119, label %121

119:                                              ; preds = %115
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %73, i32 noundef 0)
  %120 = add i32 %6, -288
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %120, i32 noundef %74, i32 noundef %109, i32 noundef 12) #4
  br label %126

121:                                              ; preds = %115
  %.not3464 = icmp eq i32 %107, 0
  br i1 %.not3464, label %126, label %122

122:                                              ; preds = %121
  %123 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %124 = mul i32 %107, 12
  %125 = tail call i32 @w2c_hermes_memmove(ptr noundef nonnull %0, i32 noundef %123, i32 noundef %96, i32 noundef %124) #4
  br label %126

126:                                              ; preds = %121, %122, %119
  %.03351 = phi i32 [ 0, %119 ], [ %107, %122 ], [ 0, %121 ]
  %127 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %108)
  %128 = icmp eq i32 %.03351, %127
  br i1 %128, label %139, label %129

129:                                              ; preds = %126
  %130 = mul i32 %.03351, 12
  %131 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %132 = add i32 %131, %130
  %133 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %95)
  %134 = add i32 %133, %130
  %135 = mul i32 %127, 12
  %136 = add i32 %133, %135
  %137 = sub i32 %136, %134
  %138 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef nonnull %0, i32 noundef %132, i32 noundef %134, i32 noundef %137) #4
  br label %139

139:                                              ; preds = %126, %110, %129, %111
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %73, i32 noundef %109)
  br label %140

140:                                              ; preds = %139, %102
  %.pre-phi3529 = phi i64 [ %108, %139 ], [ %103, %102 ]
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %.pre-phi3529, i32 noundef 0)
  br label %165

141:                                              ; preds = %93
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %73, i64 noundef 17179869184)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %75, i32 noundef %74)
  %142 = add nuw nsw i64 %24, 116
  %143 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %142)
  %.not3459 = icmp eq i32 %143, 0
  br i1 %.not3459, label %164, label %144

144:                                              ; preds = %141
  %145 = add nuw nsw i64 %24, 112
  %146 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %145)
  %147 = add i32 %6, -340
  %.not3460 = icmp eq i32 %146, %147
  br i1 %.not3460, label %152, label %148

148:                                              ; preds = %144
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %73, i32 noundef %143)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %75, i32 noundef %146)
  %149 = add nuw nsw i64 %24, 120
  %150 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %149)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %149, i32 noundef 0)
  %151 = add nuw nsw i64 %24, 184
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %151, i32 noundef %150)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %145, i32 noundef %147)
  br label %163

152:                                              ; preds = %144
  %153 = icmp ugt i32 %143, 4
  br i1 %153, label %154, label %157

154:                                              ; preds = %152
  %155 = add i32 %6, -288
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %155, i32 noundef %74, i32 noundef %143, i32 noundef 12) #4
  %156 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %142)
  %.not3461 = icmp eq i32 %156, 0
  br i1 %.not3461, label %162, label %157

157:                                              ; preds = %154, %152
  %.03340 = phi i32 [ %156, %154 ], [ %143, %152 ]
  %158 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %159 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %145)
  %160 = mul i32 %.03340, 12
  %161 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef nonnull %0, i32 noundef %158, i32 noundef %159, i32 noundef %160) #4
  br label %162

162:                                              ; preds = %154, %157
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %73, i32 noundef %143)
  br label %163

163:                                              ; preds = %162, %148
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %142, i32 noundef 0)
  br label %164

164:                                              ; preds = %163, %141
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %76, i32 noundef 1)
  br label %165

165:                                              ; preds = %164, %140, %92
  %166 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %86)
  %.not3469 = icmp eq i32 %166, 0
  br i1 %.not3469, label %173, label %167

167:                                              ; preds = %165
  %168 = add nuw nsw i64 %24, 112
  %169 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %168)
  %170 = add i32 %6, -340
  %171 = icmp eq i32 %169, %170
  br i1 %171, label %173, label %172

172:                                              ; preds = %167
  tail call void @w2c_hermes_dlfree(ptr noundef nonnull %0, i32 noundef %169) #4
  br label %173

173:                                              ; preds = %167, %165, %172
  %174 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %76)
  %.not3470 = icmp eq i32 %174, 0
  br i1 %.not3470, label %1288, label %175

175:                                              ; preds = %173, %65
  %176 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %.not3471 = icmp eq i32 %176, 0
  br i1 %.not3471, label %177, label %181

177:                                              ; preds = %175
  br i1 %.not3456, label %180, label %178

178:                                              ; preds = %177
  %179 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AputNamedThrowOnError0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %1, i32 noundef 4) #4
  %.not3519 = icmp eq i32 %179, 0
  br i1 %.not3519, label %.loopexit3525, label %180

180:                                              ; preds = %178, %177
  br label %.loopexit3525

181:                                              ; preds = %175
  %182 = and i32 %70, 8
  %.not3472 = icmp eq i32 %182, 0
  br i1 %.not3472, label %.loopexit3528, label %183

183:                                              ; preds = %181
  %184 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %185 = mul i32 %176, 12
  %186 = add i32 %184, %185
  br label %187

187:                                              ; preds = %203, %183
  %.13360 = phi i32 [ %184, %183 ], [ %204, %203 ]
  %188 = zext i32 %.13360 to i64
  %189 = add nuw nsw i64 %188, 8
  %190 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %189)
  %.not3473 = icmp eq i32 %190, 0
  br i1 %.not3473, label %203, label %191

191:                                              ; preds = %187
  %192 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %188)
  %193 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AgetStringIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %3, i32 noundef %192)
  %194 = add nuw nsw i64 %188, 4
  %195 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %194)
  %196 = add i32 %195, %192
  %197 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AgetStringIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %3, i32 noundef %196)
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %189, i32 noundef 1)
  %198 = zext i32 %193 to i64
  %199 = sub i32 %197, %193
  %200 = zext i32 %199 to i64
  %201 = shl nuw i64 %200, 32
  %202 = or disjoint i64 %201, %198
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %188, i64 noundef %202)
  br label %203

203:                                              ; preds = %191, %187
  %204 = add i32 %.13360, 12
  %.not3474 = icmp eq i32 %204, %186
  br i1 %.not3474, label %.loopexit3528, label %187

.loopexit3528:                                    ; preds = %203, %181
  br i1 %.not3456, label %242, label %205

205:                                              ; preds = %.loopexit3528
  %206 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %207 = zext i32 %206 to i64
  %208 = add nuw nsw i64 %207, 4
  %209 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %208)
  %210 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %207)
  %211 = add i32 %210, %209
  %212 = uitofp i32 %211 to double
  %213 = tail call i64 @i64_reinterpret_f64(double noundef %212)
  %214 = shl i32 %211, 3
  %215 = ashr exact i32 %214, 3
  %216 = sitofp i32 %215 to double
  %217 = tail call i64 @i64_reinterpret_f64(double noundef %216)
  %218 = icmp eq i64 %213, %217
  br i1 %218, label %219, label %221

219:                                              ; preds = %205
  %220 = or disjoint i32 %214, 4
  br label %240

221:                                              ; preds = %205
  %222 = add i32 %2, 1368
  %223 = zext i32 %222 to i64
  %224 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %223)
  %225 = add i32 %2, 1364
  %226 = zext i32 %225 to i64
  %227 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %226)
  %228 = sub i32 %224, %227
  %229 = icmp ult i32 %228, 16
  br i1 %229, label %230, label %233

230:                                              ; preds = %221
  %231 = add i32 %2, 808
  %232 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %231, i32 noundef 16) #4
  br label %236

233:                                              ; preds = %221
  %234 = add i32 %227, 16
  %235 = add nuw nsw i64 %9, 1364
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %235, i32 noundef %234)
  br label %236

236:                                              ; preds = %233, %230
  %.23361 = phi i32 [ %232, %230 ], [ %227, %233 ]
  %237 = zext i32 %.23361 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %237, i32 noundef 402653200)
  %238 = add nuw nsw i64 %237, 8
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %238, double noundef %212)
  %239 = or i32 %.23361, 3
  br label %240

240:                                              ; preds = %236, %219
  %.03324 = phi i32 [ %220, %219 ], [ %239, %236 ]
  %241 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AputNamedThrowOnError0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %2, i32 noundef %1, i32 noundef %.03324) #4
  %.not3475 = icmp eq i32 %241, 0
  br i1 %.not3475, label %.loopexit3525, label %242

242:                                              ; preds = %240, %.loopexit3528
  %243 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %244 = load i32, ptr %5, align 8, !tbaa !5
  %245 = add i32 %244, -16
  store i32 %245, ptr %5, align 8, !tbaa !5
  %246 = add i32 %2, 256
  %247 = add i32 %2, 568
  %248 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3AcreateNoAllocPropStorage0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %2, i32 noundef %246, i32 noundef %247, i32 noundef %243, i32 noundef %243) #4
  %249 = icmp eq i32 %248, -1
  br i1 %249, label %.critedge, label %250

250:                                              ; preds = %242
  %251 = zext i32 %247 to i64
  %252 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %251)
  %253 = zext i32 %252 to i64
  %254 = add nuw nsw i64 %253, 12
  %255 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %254)
  %256 = icmp ult i32 %255, 6
  br i1 %256, label %._crit_edge3530, label %257

._crit_edge3530:                                  ; preds = %250
  %.pre = zext i32 %248 to i64
  br label %340

257:                                              ; preds = %250
  %258 = add i32 %255, -5
  %259 = icmp ult i32 %258, 1027071
  br i1 %259, label %260, label %282

260:                                              ; preds = %257
  %261 = shl nuw nsw i32 %258, 2
  %262 = add nuw nsw i32 %261, 15
  %263 = and i32 %262, 8388600
  %264 = add i32 %2, 1368
  %265 = zext i32 %264 to i64
  %266 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %265)
  %267 = add i32 %2, 1364
  %268 = zext i32 %267 to i64
  %269 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %268)
  %270 = sub i32 %266, %269
  %271 = icmp ugt i32 %263, %270
  br i1 %271, label %272, label %275

272:                                              ; preds = %260
  %273 = add i32 %2, 808
  %274 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %273, i32 noundef %263) #4
  br label %278

275:                                              ; preds = %260
  %276 = add i32 %269, %263
  %277 = add nuw nsw i64 %9, 1364
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %277, i32 noundef %276)
  br label %278

278:                                              ; preds = %275, %272
  %.13341 = phi i32 [ %274, %272 ], [ %269, %275 ]
  %279 = zext i32 %.13341 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %279, i64 noundef 0)
  %280 = or disjoint i32 %263, 251658240
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %279, i32 noundef %280)
  %281 = or disjoint i64 %279, -281474976710656
  br label %284

282:                                              ; preds = %257
  %283 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %2, i32 noundef %258) #4
  %.not3476 = icmp eq i32 %283, 0
  br i1 %.not3476, label %321, label %284

284:                                              ; preds = %282, %278
  %.03335 = phi i32 [ 1, %278 ], [ %283, %282 ]
  %.03331 = phi i64 [ %281, %278 ], [ 0, %282 ]
  %285 = trunc i64 %.03331 to i32
  %286 = and i64 %.03331, 4294967295
  %287 = add nuw nsw i64 %286, 4
  %288 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %287)
  %289 = icmp ugt i32 %258, %288
  br i1 %289, label %290, label %299

290:                                              ; preds = %284
  %291 = add i32 %285, 8
  %292 = shl i32 %258, 2
  %293 = add i32 %291, %292
  %294 = shl i32 %288, 2
  %295 = add i32 %291, %294
  br label %296

296:                                              ; preds = %296, %290
  %.23342 = phi i32 [ %295, %290 ], [ %298, %296 ]
  %297 = zext i32 %.23342 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %297, i32 noundef 7)
  %298 = add i32 %.23342, 4
  %.not3479 = icmp eq i32 %298, %293
  br i1 %.not3479, label %.loopexit3527, label %296

299:                                              ; preds = %284
  %.not3477 = icmp ugt i32 %288, %258
  br i1 %.not3477, label %300, label %.loopexit3527

300:                                              ; preds = %299
  %301 = add i32 %2, 1356
  %302 = zext i32 %301 to i64
  %303 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %302)
  %304 = add i32 %285, 8
  %305 = shl i32 %258, 2
  %306 = add i32 %304, %305
  %307 = and i32 %306, -4194304
  %308 = icmp eq i32 %303, %307
  br i1 %308, label %.loopexit3527, label %309

309:                                              ; preds = %300
  %310 = add i32 %2, 4813
  %311 = zext i32 %310 to i64
  %312 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %311)
  %.not3478 = icmp eq i32 %312, 0
  br i1 %.not3478, label %.loopexit3527, label %313

313:                                              ; preds = %309
  %314 = add i32 %2, 808
  %315 = shl i32 %288, 2
  %316 = add i32 %304, %315
  %317 = sub i32 %316, %306
  %318 = ashr i32 %317, 2
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AsnapshotWriteBarrierRangeSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %314, i32 noundef %306, i32 noundef %318) #4
  br label %.loopexit3527

.loopexit3527:                                    ; preds = %296, %309, %300, %299, %313
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %287, i32 noundef %258)
  %319 = zext i32 %245 to i64
  %320 = add nuw nsw i64 %319, 8
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %320, i64 noundef %.03331)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %319, i32 noundef %.03335)
  br label %323

321:                                              ; preds = %282
  %322 = zext i32 %245 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %322, i32 noundef 0)
  br label %323

323:                                              ; preds = %321, %.loopexit3527
  %.pre-phi = phi i64 [ %322, %321 ], [ %319, %.loopexit3527 ]
  %324 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi)
  %.not3480 = icmp eq i32 %324, 0
  br i1 %.not3480, label %339, label %325

325:                                              ; preds = %323
  %326 = add nuw nsw i64 %.pre-phi, 8
  %327 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %326)
  %328 = add i32 %2, 1356
  %329 = zext i32 %328 to i64
  %330 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %329)
  %331 = zext i32 %248 to i64
  %332 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %331)
  %333 = add i32 %332, 16
  %334 = and i32 %333, -4194304
  %.not3481 = icmp eq i32 %330, %334
  br i1 %.not3481, label %337, label %335

335:                                              ; preds = %325
  %336 = add i32 %2, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCPointerBase0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x29(ptr noundef %0, i32 noundef %336, i32 noundef %333, i32 noundef %327) #4
  br label %337

337:                                              ; preds = %335, %325
  %338 = zext i32 %333 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %338, i32 noundef %327)
  br label %340

339:                                              ; preds = %323
  tail call void @w2c_hermes_hermes0x3A0x3Ahermes_fatal0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 40743) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

340:                                              ; preds = %._crit_edge3530, %337
  %.pre-phi3531 = phi i64 [ %.pre, %._crit_edge3530 ], [ %331, %337 ]
  store i32 %244, ptr %5, align 8, !tbaa !5
  %341 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %.pre-phi3531)
  %342 = or i64 %341, -281474976710656
  %343 = zext i32 %.03334 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %343, i64 noundef %342)
  %344 = add nuw nsw i64 %24, 104
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %344, i64 noundef -4294967296)
  %345 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %346 = zext i32 %345 to i64
  %347 = add nuw nsw i64 %346, 12
  %348 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %347)
  %349 = add nuw nsw i64 %24, 34
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %349, i32 noundef 1)
  %350 = add nuw nsw i64 %24, 456
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %350, i32 noundef 1)
  %351 = add i32 %6, -352
  %352 = add i32 %6, -430
  %353 = add i32 %6, -360
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef %0, i32 noundef %351, i32 noundef %348, i32 noundef %2, i32 noundef 329, i32 noundef %352, i32 noundef %353) #4
  %354 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %355 = zext i32 %354 to i64
  %356 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %355)
  %357 = uitofp i32 %356 to double
  %358 = tail call i64 @i64_reinterpret_f64(double noundef %357)
  %359 = shl i32 %356, 3
  %360 = ashr exact i32 %359, 3
  %361 = sitofp i32 %360 to double
  %362 = tail call i64 @i64_reinterpret_f64(double noundef %361)
  %363 = icmp eq i64 %358, %362
  br i1 %363, label %364, label %366

364:                                              ; preds = %340
  %365 = or disjoint i32 %359, 4
  br label %385

366:                                              ; preds = %340
  %367 = add i32 %2, 1368
  %368 = zext i32 %367 to i64
  %369 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %368)
  %370 = add i32 %2, 1364
  %371 = zext i32 %370 to i64
  %372 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %371)
  %373 = sub i32 %369, %372
  %374 = icmp ult i32 %373, 16
  br i1 %374, label %375, label %378

375:                                              ; preds = %366
  %376 = add i32 %2, 808
  %377 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %376, i32 noundef 16) #4
  br label %381

378:                                              ; preds = %366
  %379 = add i32 %372, 16
  %380 = add nuw nsw i64 %9, 1364
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %380, i32 noundef %379)
  br label %381

381:                                              ; preds = %378, %375
  %.33362 = phi i32 [ %377, %375 ], [ %372, %378 ]
  %382 = zext i32 %.33362 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %382, i32 noundef 402653200)
  %383 = add nuw nsw i64 %382, 8
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %383, double noundef %357)
  %384 = or i32 %.33362, 3
  br label %385

385:                                              ; preds = %381, %364
  %.03327 = phi i32 [ %365, %364 ], [ %384, %381 ]
  %386 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %387 = add nuw nsw i64 %24, 108
  %388 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %387)
  %389 = icmp ult i32 %388, 5
  %390 = add i32 %2, 1356
  %391 = zext i32 %390 to i64
  %392 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %391)
  br i1 %389, label %393, label %398

393:                                              ; preds = %385
  %394 = shl nuw nsw i32 %388, 2
  %395 = add i32 %386, 20
  %396 = add i32 %395, %394
  %397 = and i32 %396, -4194304
  %.not3482 = icmp eq i32 %392, %397
  br i1 %.not3482, label %409, label %407

398:                                              ; preds = %385
  %399 = zext i32 %386 to i64
  %400 = add nuw nsw i64 %399, 16
  %401 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %400)
  %402 = shl i32 %388, 2
  %403 = add i32 %402, -12
  %404 = add i32 %403, %401
  %405 = and i32 %404, -4194304
  %406 = icmp eq i32 %392, %405
  br i1 %406, label %409, label %407

407:                                              ; preds = %398, %393
  %.33343 = phi i32 [ %396, %393 ], [ %404, %398 ]
  %408 = add i32 %2, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef nonnull %0, i32 noundef %408, i32 noundef %.33343, i32 noundef %.03327) #4
  br label %409

409:                                              ; preds = %398, %393, %407
  %.43344 = phi i32 [ %.33343, %407 ], [ %396, %393 ], [ %404, %398 ]
  %410 = zext i32 %.43344 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %410, i32 noundef %.03327)
  %411 = add nuw nsw i64 %24, 96
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %411, i64 noundef -4294967296)
  %412 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %413 = zext i32 %412 to i64
  %414 = add nuw nsw i64 %413, 12
  %415 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %414)
  %416 = add nuw nsw i64 %24, 32
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %416, i32 noundef 1)
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %350, i32 noundef 1)
  %417 = add i32 %6, -432
  %418 = add i32 %6, -368
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef nonnull %0, i32 noundef %351, i32 noundef %415, i32 noundef %2, i32 noundef 330, i32 noundef %417, i32 noundef %418) #4
  %419 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %38)
  %420 = or i32 %419, 2
  %421 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %422 = add nuw nsw i64 %24, 100
  %423 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %422)
  %424 = icmp ult i32 %423, 5
  %425 = add i32 %2, 1356
  %426 = zext i32 %425 to i64
  %427 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %426)
  br i1 %424, label %428, label %433

428:                                              ; preds = %409
  %429 = shl nuw nsw i32 %423, 2
  %430 = add i32 %421, 20
  %431 = add i32 %430, %429
  %432 = and i32 %431, -4194304
  %.not3483 = icmp eq i32 %427, %432
  br i1 %.not3483, label %444, label %442

433:                                              ; preds = %409
  %434 = zext i32 %421 to i64
  %435 = add nuw nsw i64 %434, 16
  %436 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %435)
  %437 = shl i32 %423, 2
  %438 = add i32 %437, -12
  %439 = add i32 %438, %436
  %440 = and i32 %439, -4194304
  %441 = icmp eq i32 %427, %440
  br i1 %441, label %444, label %442

442:                                              ; preds = %433, %428
  %.43363 = phi i32 [ %431, %428 ], [ %439, %433 ]
  %443 = add i32 %2, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef nonnull %0, i32 noundef %443, i32 noundef %.43363, i32 noundef %420) #4
  br label %444

444:                                              ; preds = %433, %428, %442
  %.53364 = phi i32 [ %.43363, %442 ], [ %431, %428 ], [ %439, %433 ]
  %445 = zext i32 %.53364 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %445, i32 noundef %420)
  %446 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %66)
  %447 = zext i32 %446 to i64
  %448 = add nuw nsw i64 %447, 36
  %449 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %448)
  %.not3484 = icmp eq i32 %449, 0
  br i1 %.not3484, label %465, label %450

450:                                              ; preds = %444
  %451 = zext i32 %449 to i64
  %452 = or disjoint i64 %451, -281474976710656
  %453 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %454 = zext i32 %453 to i64
  %455 = add nuw nsw i64 %454, 164
  %456 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %455)
  %457 = add nuw nsw i64 %454, 168
  %458 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %457)
  %459 = icmp ult i32 %456, %458
  br i1 %459, label %460, label %463

460:                                              ; preds = %450
  %461 = add i32 %456, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %455, i32 noundef %461)
  %462 = zext i32 %456 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %462, i64 noundef %452)
  br label %465

463:                                              ; preds = %450
  %464 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %453, i64 noundef %452) #4
  br label %465

465:                                              ; preds = %444, %460, %463
  %.13328 = phi i32 [ %456, %460 ], [ %464, %463 ], [ 67200, %444 ]
  %466 = zext i32 %.13328 to i64
  %467 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %466)
  %468 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %.not3485 = icmp eq i32 %468, 0
  br i1 %.not3485, label %.loopexit3526, label %469

469:                                              ; preds = %465
  %470 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %471 = mul i32 %468, 12
  %472 = add i32 %470, %471
  %473 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %36)
  %474 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %33)
  %475 = shl i32 %474, 2
  %476 = add nuw nsw i64 %24, 112
  %477 = add nuw nsw i64 %24, 120
  %478 = add i32 %6, -8
  br label %479

479:                                              ; preds = %510, %469
  %.63365 = phi i32 [ %470, %469 ], [ %512, %510 ]
  %.53345 = phi i32 [ 0, %469 ], [ %511, %510 ]
  %480 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %31)
  %481 = add i32 %480, %475
  %482 = zext i32 %481 to i64
  %483 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %482)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %33, i32 noundef %474)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %36, i32 noundef %473)
  %484 = add i32 %483, 128
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %35, i32 noundef %484)
  %485 = zext i32 %.63365 to i64
  %486 = add nuw nsw i64 %485, 8
  %487 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %486)
  %.not3486 = icmp eq i32 %487, 0
  br i1 %.not3486, label %488, label %489

488:                                              ; preds = %479
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %351, i32 noundef %.03334, i32 noundef %2, i32 noundef %.53345, i32 noundef 67208) #4
  br label %510

489:                                              ; preds = %479
  %490 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %485)
  %491 = add nuw nsw i64 %485, 4
  %492 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %491)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3A0x3Aslice0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %351, i32 noundef %2, i32 noundef %3, i32 noundef %490, i32 noundef %492) #4
  %493 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %476)
  %.not3487 = icmp eq i32 %493, 0
  br i1 %.not3487, label %.loopexit3525, label %494

494:                                              ; preds = %489
  %495 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %477)
  %496 = or i64 %495, -844424930131968
  %497 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %498 = zext i32 %497 to i64
  %499 = add nuw nsw i64 %498, 164
  %500 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %499)
  %501 = add nuw nsw i64 %498, 168
  %502 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %501)
  %503 = icmp ult i32 %500, %502
  br i1 %503, label %504, label %507

504:                                              ; preds = %494
  %505 = add i32 %500, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %499, i32 noundef %505)
  %506 = zext i32 %500 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %506, i64 noundef %496)
  br label %509

507:                                              ; preds = %494
  %508 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %497, i64 noundef %496) #4
  br label %509

509:                                              ; preds = %507, %504
  %.13352 = phi i32 [ %500, %504 ], [ %508, %507 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %478, i32 noundef %.03334, i32 noundef %2, i32 noundef %.53345, i32 noundef %.13352) #4
  br label %510

510:                                              ; preds = %509, %488
  %511 = add nuw nsw i32 %.53345, 1
  %512 = add i32 %.63365, 12
  %.not3488 = icmp eq i32 %512, %472
  br i1 %.not3488, label %.loopexit3526, label %479

.loopexit3526:                                    ; preds = %510, %465
  %513 = and i32 %70, 64
  %.not3489 = icmp eq i32 %513, 0
  br i1 %.not3489, label %.loopexit3526._crit_edge, label %514

.loopexit3526._crit_edge:                         ; preds = %.loopexit3526
  %.pre3532 = add nuw nsw i64 %24, 452
  br label %1029

514:                                              ; preds = %.loopexit3526
  %515 = add nuw nsw i64 %24, 40
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %515, i64 noundef 17179869184)
  %516 = add i32 %6, -416
  %517 = add nuw nsw i64 %24, 36
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %517, i32 noundef %516)
  %518 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %.not3490 = icmp eq i32 %518, 0
  br i1 %.not3490, label %531, label %519

519:                                              ; preds = %514
  %520 = icmp ugt i32 %518, 4
  br i1 %520, label %521, label %526

521:                                              ; preds = %519
  %522 = add i32 %6, -428
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %522, i32 noundef %516, i32 noundef %518, i32 noundef 12) #4
  %523 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %73)
  %.not3491 = icmp eq i32 %523, 0
  br i1 %.not3491, label %530, label %524

524:                                              ; preds = %521
  %525 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %517)
  br label %526

526:                                              ; preds = %519, %524
  %.73366 = phi i32 [ %523, %524 ], [ %518, %519 ]
  %.23329 = phi i32 [ %525, %524 ], [ %516, %519 ]
  %527 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %528 = mul i32 %.73366, 12
  %529 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %.23329, i32 noundef %527, i32 noundef %528) #4
  br label %530

530:                                              ; preds = %521, %526
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %515, i32 noundef %518)
  br label %531

531:                                              ; preds = %530, %514
  %532 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %2, i32 noundef %518, i32 noundef %518) #4
  %533 = icmp eq i32 %532, -1
  br i1 %533, label %.loopexit3523, label %534

534:                                              ; preds = %531
  %535 = zext i32 %532 to i64
  %536 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %535)
  %537 = or i64 %536, -281474976710656
  %538 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %539 = zext i32 %538 to i64
  %540 = add nuw nsw i64 %539, 164
  %541 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %540)
  %542 = add nuw nsw i64 %539, 168
  %543 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %542)
  %544 = icmp ult i32 %541, %543
  br i1 %544, label %545, label %548

545:                                              ; preds = %534
  %546 = add i32 %541, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %540, i32 noundef %546)
  %547 = zext i32 %541 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %547, i64 noundef %537)
  br label %550

548:                                              ; preds = %534
  %549 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %538, i64 noundef %537) #4
  br label %550

550:                                              ; preds = %548, %545
  %.03323 = phi i32 [ %541, %545 ], [ %549, %548 ]
  %551 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %515)
  %552 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3AsetStorageEndIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayImpl0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %.03323, i32 noundef %2, i32 noundef %551) #4
  %553 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %554 = zext i32 %553 to i64
  %555 = add nuw nsw i64 %554, 164
  %556 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %555)
  %557 = add nuw nsw i64 %554, 168
  %558 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %557)
  %559 = icmp ult i32 %556, %558
  br i1 %559, label %560, label %563

560:                                              ; preds = %550
  %561 = add i32 %556, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %555, i32 noundef %561)
  %562 = zext i32 %556 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %562, i64 noundef -1688849860263936)
  br label %565

563:                                              ; preds = %550
  %564 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %553, i64 noundef -1688849860263936) #4
  br label %565

565:                                              ; preds = %563, %560
  %.03336 = phi i32 [ %556, %560 ], [ %564, %563 ]
  br i1 %.not3490, label %.loopexit3524, label %566

566:                                              ; preds = %565
  %567 = add i32 %2, 808
  %568 = add nuw nsw i64 %9, 1368
  %569 = add nuw nsw i64 %9, 1364
  %570 = add nuw nsw i64 %9, 1356
  %571 = zext i32 %.03336 to i64
  %572 = zext i32 %.03323 to i64
  br label %573

573:                                              ; preds = %790, %566
  %.63346 = phi i32 [ 0, %566 ], [ %792, %790 ]
  %574 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %517)
  %575 = mul i32 %.63346, 12
  %576 = add i32 %574, %575
  %577 = zext i32 %576 to i64
  %578 = add nuw nsw i64 %577, 4
  %579 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %578)
  %580 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %577)
  %581 = add nuw nsw i64 %577, 8
  %582 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %581)
  %.not3492 = icmp eq i32 %582, 0
  br i1 %.not3492, label %._crit_edge, label %583

583:                                              ; preds = %573
  %584 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %2, i32 noundef 2, i32 noundef 2) #4
  %585 = icmp eq i32 %584, -1
  br i1 %585, label %.loopexit3523, label %586

586:                                              ; preds = %583
  %587 = zext i32 %584 to i64
  %588 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %587)
  %589 = or i64 %588, -281474976710656
  %590 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %591 = zext i32 %590 to i64
  %592 = add nuw nsw i64 %591, 164
  %593 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %592)
  %594 = add nuw nsw i64 %591, 168
  %595 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %594)
  %596 = icmp ult i32 %593, %595
  br i1 %596, label %597, label %600

597:                                              ; preds = %586
  %598 = add i32 %593, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %592, i32 noundef %598)
  %599 = zext i32 %593 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %599, i64 noundef %589)
  br label %602

600:                                              ; preds = %586
  %601 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %590, i64 noundef %589) #4
  br label %602

602:                                              ; preds = %600, %597
  %.83367 = phi i32 [ %593, %597 ], [ %601, %600 ]
  %603 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3AsetStorageEndIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayImpl0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %.83367, i32 noundef %2, i32 noundef 2) #4
  %604 = uitofp i32 %580 to double
  %605 = tail call i64 @i64_reinterpret_f64(double noundef %604)
  %606 = shl i32 %580, 3
  %607 = ashr exact i32 %606, 3
  %608 = sitofp i32 %607 to double
  %609 = tail call i64 @i64_reinterpret_f64(double noundef %608)
  %610 = icmp eq i64 %605, %609
  br i1 %610, label %611, label %613

611:                                              ; preds = %602
  %612 = or disjoint i32 %606, 4
  br label %626

613:                                              ; preds = %602
  %614 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %568)
  %615 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %569)
  %616 = sub i32 %614, %615
  %617 = icmp ult i32 %616, 16
  br i1 %617, label %618, label %620

618:                                              ; preds = %613
  %619 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %567, i32 noundef 16) #4
  br label %622

620:                                              ; preds = %613
  %621 = add i32 %615, 16
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %569, i32 noundef %621)
  br label %622

622:                                              ; preds = %620, %618
  %.03374 = phi i32 [ %619, %618 ], [ %615, %620 ]
  %623 = zext i32 %.03374 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %623, i32 noundef 402653200)
  %624 = add nuw nsw i64 %623, 8
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %624, double noundef %604)
  %625 = or i32 %.03374, 3
  br label %626

626:                                              ; preds = %622, %611
  %.33330 = phi i32 [ %612, %611 ], [ %625, %622 ]
  %627 = zext i32 %.83367 to i64
  %628 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %627)
  %629 = zext i32 %628 to i64
  %630 = add nuw nsw i64 %629, 28
  %631 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %630)
  %632 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %570)
  %633 = add nuw nsw i64 %629, 20
  %634 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %633)
  %635 = sub i32 0, %634
  %636 = icmp ult i32 %635, 4096
  br i1 %636, label %637, label %640

637:                                              ; preds = %626
  %638 = shl nuw nsw i32 %635, 2
  %639 = add i32 %638, %631
  br label %651

640:                                              ; preds = %626
  %641 = sub i32 -4096, %634
  %642 = lshr i32 %641, 8
  %643 = and i32 %642, 16777212
  %644 = add i32 %631, 16392
  %645 = add i32 %644, %643
  %646 = zext i32 %645 to i64
  %647 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %646)
  %648 = shl i32 %635, 2
  %649 = and i32 %648, 4092
  %650 = add i32 %647, %649
  br label %651

651:                                              ; preds = %640, %637
  %.13326.in = phi i32 [ %639, %637 ], [ %650, %640 ]
  %.13326 = add i32 %.13326.in, 8
  %652 = and i32 %.13326, -4194304
  %.not3493 = icmp eq i32 %632, %652
  br i1 %.not3493, label %654, label %653

653:                                              ; preds = %651
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %567, i32 noundef %.13326, i32 noundef %.33330) #4
  br label %654

654:                                              ; preds = %653, %651
  %655 = zext i32 %.13326 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %655, i32 noundef %.33330)
  %656 = add i32 %580, %579
  %657 = uitofp i32 %656 to double
  %658 = tail call i64 @i64_reinterpret_f64(double noundef %657)
  %659 = shl i32 %656, 3
  %660 = ashr exact i32 %659, 3
  %661 = sitofp i32 %660 to double
  %662 = tail call i64 @i64_reinterpret_f64(double noundef %661)
  %663 = icmp eq i64 %658, %662
  br i1 %663, label %664, label %666

664:                                              ; preds = %654
  %665 = or disjoint i32 %659, 4
  br label %679

666:                                              ; preds = %654
  %667 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %568)
  %668 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %569)
  %669 = sub i32 %667, %668
  %670 = icmp ult i32 %669, 16
  br i1 %670, label %671, label %673

671:                                              ; preds = %666
  %672 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %567, i32 noundef 16) #4
  br label %675

673:                                              ; preds = %666
  %674 = add i32 %668, 16
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %569, i32 noundef %674)
  br label %675

675:                                              ; preds = %673, %671
  %.23353 = phi i32 [ %672, %671 ], [ %668, %673 ]
  %676 = zext i32 %.23353 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %676, i32 noundef 402653200)
  %677 = add nuw nsw i64 %676, 8
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %677, double noundef %657)
  %678 = or i32 %.23353, 3
  br label %679

679:                                              ; preds = %675, %664
  %.4 = phi i32 [ %665, %664 ], [ %678, %675 ]
  %680 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %627)
  %681 = zext i32 %680 to i64
  %682 = add nuw nsw i64 %681, 28
  %683 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %682)
  %684 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %570)
  %685 = add nuw nsw i64 %681, 20
  %686 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %685)
  %687 = sub i32 1, %686
  %688 = icmp ult i32 %687, 4096
  br i1 %688, label %689, label %692

689:                                              ; preds = %679
  %690 = shl nuw nsw i32 %687, 2
  %691 = add i32 %690, %683
  br label %703

692:                                              ; preds = %679
  %693 = sub i32 -4095, %686
  %694 = lshr i32 %693, 8
  %695 = and i32 %694, 16777212
  %696 = add i32 %683, 16392
  %697 = add i32 %696, %695
  %698 = zext i32 %697 to i64
  %699 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %698)
  %700 = shl i32 %687, 2
  %701 = and i32 %700, 4092
  %702 = add i32 %699, %701
  br label %703

703:                                              ; preds = %692, %689
  %.2.in = phi i32 [ %691, %689 ], [ %702, %692 ]
  %.2 = add i32 %.2.in, 8
  %704 = and i32 %.2, -4194304
  %.not3494 = icmp eq i32 %684, %704
  br i1 %.not3494, label %706, label %705

705:                                              ; preds = %703
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %567, i32 noundef %.2, i32 noundef %.4) #4
  br label %706

706:                                              ; preds = %705, %703
  %707 = zext i32 %.2 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %707, i32 noundef %.4)
  br label %._crit_edge

._crit_edge:                                      ; preds = %573, %706
  %.93368 = phi i32 [ %.83367, %706 ], [ 67208, %573 ]
  %708 = zext i32 %.93368 to i64
  %709 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %708)
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %571, i64 noundef %709)
  %710 = ashr i64 %709, 47
  %711 = trunc nsw i64 %710 to i32
  switch i32 %711, label %729 [
    i32 -14, label %763
    i32 -1, label %727
    i32 -12, label %712
    i32 -11, label %713
    i32 -10, label %714
    i32 -9, label %717
    i32 -2, label %727
    i32 -3, label %724
    i32 -6, label %721
    i32 -5, label %721
    i32 -4, label %724
  ]

712:                                              ; preds = %._crit_edge
  br label %763

713:                                              ; preds = %._crit_edge
  br label %763

714:                                              ; preds = %._crit_edge
  %715 = and i64 %709, 1
  %.not3495 = icmp eq i64 %715, 0
  %716 = select i1 %.not3495, i32 6, i32 22
  br label %763

717:                                              ; preds = %._crit_edge
  %718 = trunc i64 %709 to i32
  %719 = shl i32 %718, 3
  %720 = or disjoint i32 %719, 5
  br label %763

721:                                              ; preds = %._crit_edge, %._crit_edge
  %722 = trunc i64 %709 to i32
  %723 = or i32 %722, 2
  br label %763

724:                                              ; preds = %._crit_edge, %._crit_edge
  %725 = trunc i64 %709 to i32
  %726 = or i32 %725, 1
  br label %763

727:                                              ; preds = %._crit_edge, %._crit_edge
  %728 = trunc i64 %709 to i32
  br label %763

729:                                              ; preds = %._crit_edge
  %730 = tail call double @f64_reinterpret_i64(i64 noundef %709)
  %731 = tail call double @wasm_fabs(double noundef %730)
  %732 = fcmp olt double %731, 0x41E0000000000000
  br i1 %732, label %733, label %742

733:                                              ; preds = %729
  %734 = fcmp uno double %730, 0.000000e+00
  br i1 %734, label %735, label %736, !prof !15

735:                                              ; preds = %733
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

736:                                              ; preds = %733
  %737 = fcmp ule double %730, 0xC1E0000000200000
  %738 = fcmp uge double %730, 0x41E0000000000000
  %.not3498 = or i1 %737, %738
  br i1 %.not3498, label %739, label %740, !prof !15

739:                                              ; preds = %736
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

740:                                              ; preds = %736
  %741 = fptosi double %730 to i32
  br label %742

742:                                              ; preds = %729, %740
  %.5 = phi i32 [ %741, %740 ], [ -2147483648, %729 ]
  %743 = shl i32 %.5, 3
  %744 = ashr exact i32 %743, 3
  %745 = sitofp i32 %744 to double
  %746 = tail call i64 @i64_reinterpret_f64(double noundef %745)
  %747 = icmp eq i64 %746, %709
  br i1 %747, label %748, label %750

748:                                              ; preds = %742
  %749 = or disjoint i32 %743, 4
  br label %763

750:                                              ; preds = %742
  %751 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %568)
  %752 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %569)
  %753 = sub i32 %751, %752
  %754 = icmp ult i32 %753, 16
  br i1 %754, label %755, label %757

755:                                              ; preds = %750
  %756 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AallocSlow0x28unsigned0x20int0x29(ptr noundef %0, i32 noundef %567, i32 noundef 16) #4
  br label %759

757:                                              ; preds = %750
  %758 = add i32 %752, 16
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %569, i32 noundef %758)
  br label %759

759:                                              ; preds = %757, %755
  %.103369 = phi i32 [ %756, %755 ], [ %752, %757 ]
  %760 = zext i32 %.103369 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %760, i32 noundef 402653200)
  %761 = add nuw nsw i64 %760, 8
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %761, i64 noundef %709)
  %762 = or i32 %.103369, 3
  br label %763

763:                                              ; preds = %._crit_edge, %759, %748, %727, %724, %721, %717, %714, %713, %712
  %.33354 = phi i32 [ %749, %748 ], [ %762, %759 ], [ %723, %721 ], [ %726, %724 ], [ %720, %717 ], [ %716, %714 ], [ 15, %713 ], [ 14, %712 ], [ %728, %727 ], [ 7, %._crit_edge ]
  %764 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %572)
  %765 = zext i32 %764 to i64
  %766 = add nuw nsw i64 %765, 28
  %767 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %766)
  %768 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %570)
  %769 = add nuw nsw i64 %765, 20
  %770 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %769)
  %771 = sub i32 %.63346, %770
  %772 = icmp ult i32 %771, 4096
  br i1 %772, label %773, label %776

773:                                              ; preds = %763
  %774 = shl nuw nsw i32 %771, 2
  %775 = add i32 %774, %767
  br label %787

776:                                              ; preds = %763
  %777 = add i32 %771, -4096
  %778 = lshr i32 %777, 8
  %779 = and i32 %778, 16777212
  %780 = add i32 %767, 16392
  %781 = add i32 %780, %779
  %782 = zext i32 %781 to i64
  %783 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %782)
  %784 = shl i32 %771, 2
  %785 = and i32 %784, 4092
  %786 = add i32 %783, %785
  br label %787

787:                                              ; preds = %776, %773
  %.3.in = phi i32 [ %775, %773 ], [ %786, %776 ]
  %.3 = add i32 %.3.in, 8
  %788 = and i32 %.3, -4194304
  %.not3499 = icmp eq i32 %768, %788
  br i1 %.not3499, label %790, label %789

789:                                              ; preds = %787
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %567, i32 noundef %.3, i32 noundef %.33354) #4
  br label %790

790:                                              ; preds = %789, %787
  %791 = zext i32 %.3 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %791, i32 noundef %.33354)
  %792 = add nuw i32 %.63346, 1
  %.not3500 = icmp eq i32 %792, %518
  br i1 %.not3500, label %.loopexit3524, label %573

.loopexit3524:                                    ; preds = %790, %565
  %793 = and i64 %467, 4294967295
  %794 = icmp ne i64 %793, 0
  %795 = icmp ugt i64 %467, -844424930131969
  %796 = and i1 %795, %794
  %797 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %798 = zext i32 %797 to i64
  %799 = add nuw nsw i64 %798, 164
  %800 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %799)
  %801 = add nuw nsw i64 %798, 168
  %802 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %801)
  %803 = icmp ult i32 %800, %802
  br i1 %803, label %804, label %807

804:                                              ; preds = %.loopexit3524
  %805 = add i32 %800, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %799, i32 noundef %805)
  %806 = zext i32 %800 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %806, i64 noundef -1688849860263936)
  br label %809

807:                                              ; preds = %.loopexit3524
  %808 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %797, i64 noundef -1688849860263936) #4
  br label %809

809:                                              ; preds = %807, %804
  %.73347 = phi i32 [ %800, %804 ], [ %808, %807 ]
  br i1 %796, label %810, label %1003

810:                                              ; preds = %809
  %811 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %466)
  %812 = zext i32 %811 to i64
  %813 = add nuw nsw i64 %812, 12
  %814 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %813)
  %815 = or i64 %814, -281474976710656
  %816 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %817 = zext i32 %816 to i64
  %818 = add nuw nsw i64 %817, 164
  %819 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %818)
  %820 = add nuw nsw i64 %817, 168
  %821 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %820)
  %822 = icmp ult i32 %819, %821
  br i1 %822, label %823, label %826

823:                                              ; preds = %810
  %824 = add i32 %819, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %818, i32 noundef %824)
  %825 = zext i32 %819 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %825, i64 noundef %815)
  br label %828

826:                                              ; preds = %810
  %827 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %816, i64 noundef %815) #4
  br label %828

828:                                              ; preds = %826, %823
  %.113370 = phi i32 [ %819, %823 ], [ %827, %826 ]
  %829 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x29(ptr noundef %0, i32 noundef %2, i32 noundef %.113370) #4
  %830 = zext i32 %829 to i64
  %831 = or disjoint i64 %830, -281474976710656
  %832 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %833 = zext i32 %832 to i64
  %834 = add nuw nsw i64 %833, 164
  %835 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %834)
  %836 = add nuw nsw i64 %833, 168
  %837 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %836)
  %838 = icmp ult i32 %835, %837
  br i1 %838, label %839, label %842

839:                                              ; preds = %828
  %840 = add i32 %835, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %834, i32 noundef %840)
  %841 = zext i32 %835 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %841, i64 noundef %831)
  br label %844

842:                                              ; preds = %828
  %843 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %832, i64 noundef %831) #4
  br label %844

844:                                              ; preds = %842, %839
  %.13375 = phi i32 [ %835, %839 ], [ %843, %842 ]
  %845 = zext i32 %.113370 to i64
  %846 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %845)
  %847 = zext i32 %846 to i64
  %848 = add nuw nsw i64 %847, 16
  %849 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %848)
  %.not3501 = icmp eq i32 %849, 0
  br i1 %.not3501, label %850, label %855

850:                                              ; preds = %844
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AinitializeMissingPropertyMap0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %0, i32 noundef %.113370, i32 noundef %2) #4
  %851 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %845)
  %852 = zext i32 %851 to i64
  %853 = add nuw nsw i64 %852, 16
  %854 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %853)
  br label %855

855:                                              ; preds = %844, %850
  %.6 = phi i32 [ %854, %850 ], [ %849, %844 ]
  %856 = zext i32 %.6 to i64
  %857 = or disjoint i64 %856, -281474976710656
  %858 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %859 = zext i32 %858 to i64
  %860 = add nuw nsw i64 %859, 164
  %861 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %860)
  %862 = add nuw nsw i64 %859, 168
  %863 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %862)
  %864 = icmp ult i32 %861, %863
  br i1 %864, label %865, label %868

865:                                              ; preds = %855
  %866 = add i32 %861, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %860, i32 noundef %866)
  %867 = zext i32 %861 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %867, i64 noundef %857)
  br label %872

868:                                              ; preds = %855
  %869 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %858, i64 noundef %857) #4
  %870 = zext i32 %869 to i64
  %871 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %870)
  br label %872

872:                                              ; preds = %868, %865
  %.13337 = phi i32 [ %861, %865 ], [ %869, %868 ]
  %.13332 = phi i64 [ %857, %865 ], [ %871, %868 ]
  %873 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %874 = zext i32 %873 to i64
  %875 = add nuw nsw i64 %874, 172
  %876 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %875)
  %877 = add nuw nsw i64 %874, 164
  %878 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %877)
  %879 = and i64 %.13332, 4294967295
  %880 = add nuw nsw i64 %879, 12
  %881 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %880)
  %.not3502 = icmp eq i32 %881, 0
  br i1 %.not3502, label %..loopexit3522_crit_edge, label %882

..loopexit3522_crit_edge:                         ; preds = %872
  %.pre3542 = add nuw nsw i64 %874, 136
  %.pre3544 = shl i32 %876, 2
  %.pre3546 = add nuw nsw i64 %874, 168
  br label %.loopexit3522

882:                                              ; preds = %872
  %883 = add i32 %2, 808
  %884 = zext i32 %.13337 to i64
  %885 = zext i32 %.13375 to i64
  %886 = zext i32 %.03323 to i64
  %887 = add nuw nsw i64 %9, 1356
  %888 = add nuw nsw i64 %874, 136
  %889 = shl i32 %876, 2
  %890 = add nuw nsw i64 %874, 168
  br label %891

891:                                              ; preds = %996, %882
  %.123371 = phi i32 [ 0, %882 ], [ %997, %996 ]
  %892 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %884)
  %893 = add i32 %892, 28
  %894 = mul i32 %.123371, 12
  %895 = add i32 %893, %894
  %896 = zext i32 %895 to i64
  %897 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %896)
  %898 = icmp ult i32 %897, 536870910
  br i1 %898, label %899, label %996

899:                                              ; preds = %891
  %900 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %466)
  %901 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %885)
  %902 = add nuw nsw i64 %896, 8
  %903 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %902)
  %904 = icmp ult i32 %903, 5
  br i1 %904, label %905, label %909

905:                                              ; preds = %899
  %906 = shl nuw nsw i32 %903, 2
  %907 = add i32 %900, 20
  %908 = add i32 %907, %906
  br label %916

909:                                              ; preds = %899
  %910 = zext i32 %900 to i64
  %911 = add nuw nsw i64 %910, 16
  %912 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %911)
  %913 = shl i32 %903, 2
  %914 = add i32 %913, -12
  %915 = add i32 %914, %912
  br label %916

916:                                              ; preds = %909, %905
  %.7 = phi i32 [ %908, %905 ], [ %915, %909 ]
  %917 = zext i32 %.7 to i64
  %918 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %917)
  %919 = and i32 %918, 7
  %920 = icmp eq i32 %919, 4
  br i1 %920, label %921, label %924

921:                                              ; preds = %916
  %922 = ashr i32 %918, 3
  %923 = sitofp i32 %922 to double
  br label %929

924:                                              ; preds = %916
  %925 = and i32 %918, -8
  %926 = zext i32 %925 to i64
  %927 = add nuw nsw i64 %926, 8
  %928 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %927)
  br label %929

929:                                              ; preds = %924, %921
  %.0 = phi double [ %923, %921 ], [ %928, %924 ]
  %930 = fcmp olt double %.0, 0x41F0000000000000
  %931 = fcmp oge double %.0, 0.000000e+00
  %932 = and i1 %930, %931
  br i1 %932, label %933, label %941

933:                                              ; preds = %929
  %934 = fcmp uno double %.0, 0.000000e+00
  br i1 %934, label %935, label %936, !prof !15

935:                                              ; preds = %933
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

936:                                              ; preds = %933
  %937 = fcmp ogt double %.0, -1.000000e+00
  br i1 %937, label %939, label %938, !prof !16

938:                                              ; preds = %936
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

939:                                              ; preds = %936
  %940 = fptoui double %.0 to i32
  br label %941

941:                                              ; preds = %929, %939
  %.8 = phi i32 [ %940, %939 ], [ 0, %929 ]
  %942 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %886)
  %943 = zext i32 %942 to i64
  %944 = add nuw nsw i64 %943, 20
  %945 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %944)
  %946 = icmp ult i32 %.8, %945
  br i1 %946, label %972, label %947

947:                                              ; preds = %941
  %948 = add nuw nsw i64 %943, 24
  %949 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %948)
  %.not3503 = icmp ugt i32 %949, %.8
  br i1 %.not3503, label %950, label %972

950:                                              ; preds = %947
  %951 = add nuw nsw i64 %943, 28
  %952 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %951)
  %953 = sub i32 %.8, %945
  %954 = icmp ult i32 %953, 4096
  br i1 %954, label %955, label %958

955:                                              ; preds = %950
  %956 = shl nuw nsw i32 %953, 2
  %957 = add i32 %952, %956
  br label %969

958:                                              ; preds = %950
  %959 = add i32 %953, -4096
  %960 = lshr i32 %959, 8
  %961 = and i32 %960, 16777212
  %962 = add nuw nsw i32 %961, 16392
  %963 = add i32 %962, %952
  %964 = zext i32 %963 to i64
  %965 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %964)
  %966 = shl i32 %953, 2
  %967 = and i32 %966, 4092
  %968 = add i32 %965, %967
  br label %969

969:                                              ; preds = %958, %955
  %.9.in = phi i32 [ %957, %955 ], [ %968, %958 ]
  %.9 = add i32 %.9.in, 8
  %970 = zext i32 %.9 to i64
  %971 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %970)
  br label %972

972:                                              ; preds = %947, %941, %969
  %.03338 = phi i32 [ 7, %941 ], [ 7, %947 ], [ %971, %969 ]
  %973 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %887)
  br i1 %904, label %974, label %979

974:                                              ; preds = %972
  %975 = shl nuw nsw i32 %903, 2
  %976 = add i32 %901, 20
  %977 = add i32 %976, %975
  %978 = and i32 %977, -4194304
  %.not3504 = icmp eq i32 %973, %978
  br i1 %.not3504, label %989, label %988

979:                                              ; preds = %972
  %980 = zext i32 %901 to i64
  %981 = add nuw nsw i64 %980, 16
  %982 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %981)
  %983 = shl i32 %903, 2
  %984 = add i32 %983, -12
  %985 = add i32 %984, %982
  %986 = and i32 %985, -4194304
  %987 = icmp eq i32 %973, %986
  br i1 %987, label %989, label %988

988:                                              ; preds = %979, %974
  %.43355 = phi i32 [ %977, %974 ], [ %985, %979 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %883, i32 noundef %.43355, i32 noundef %.03338) #4
  br label %989

989:                                              ; preds = %979, %974, %988
  %.53356 = phi i32 [ %.43355, %988 ], [ %977, %974 ], [ %985, %979 ]
  %990 = zext i32 %.53356 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %990, i32 noundef %.03338)
  %991 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %888)
  %992 = add i32 %991, %889
  %993 = zext i32 %992 to i64
  %994 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %993)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %875, i32 noundef %876)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %877, i32 noundef %878)
  %995 = add i32 %994, 128
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %890, i32 noundef %995)
  br label %996

996:                                              ; preds = %989, %891
  %997 = add nuw i32 %.123371, 1
  %.not3505 = icmp eq i32 %997, %881
  br i1 %.not3505, label %.loopexit3522, label %891

.loopexit3522:                                    ; preds = %996, %..loopexit3522_crit_edge
  %.pre-phi3547 = phi i64 [ %.pre3546, %..loopexit3522_crit_edge ], [ %890, %996 ]
  %.pre-phi3545 = phi i32 [ %.pre3544, %..loopexit3522_crit_edge ], [ %889, %996 ]
  %.pre-phi3543 = phi i64 [ %.pre3542, %..loopexit3522_crit_edge ], [ %888, %996 ]
  %998 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi3543)
  %999 = add i32 %998, %.pre-phi3545
  %1000 = zext i32 %999 to i64
  %1001 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1000)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %875, i32 noundef %876)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %877, i32 noundef %878)
  %1002 = add i32 %1001, 128
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %.pre-phi3547, i32 noundef %1002)
  br label %1003

1003:                                             ; preds = %.loopexit3522, %809
  %.23376 = phi i32 [ %.13375, %.loopexit3522 ], [ 67208, %809 ]
  %1004 = zext i32 %.23376 to i64
  %1005 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %1004)
  %1006 = zext i32 %.73347 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %1006, i64 noundef %1005)
  %1007 = add nuw nsw i64 %24, 28
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1007, i32 noundef 319)
  %1008 = add nuw nsw i64 %24, 24
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1008, i32 noundef 0)
  %1009 = add nuw nsw i64 %24, 112
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1009, i32 noundef 319)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %350, i32 noundef 0)
  %1010 = add i32 %6, -12
  %1011 = add i32 %6, -436
  %1012 = add i32 %6, -440
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnPropertyInternal0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %0, i32 noundef %1010, i32 noundef %.03323, i32 noundef %2, i32 noundef 334, i32 noundef %1011, i32 noundef %.73347, i32 noundef %1012) #4
  %1013 = add nuw nsw i64 %24, 452
  %1014 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %1013)
  %.not3506 = icmp eq i32 %1014, 0
  %1015 = select i1 %.not3506, i32 -1, i32 %.03323
  br label %.loopexit3523

.loopexit3523:                                    ; preds = %583, %531, %1003
  %.10 = phi i32 [ -1, %531 ], [ %1015, %1003 ], [ -1, %583 ]
  %1016 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %517)
  %.not3507 = icmp eq i32 %516, %1016
  br i1 %.not3507, label %1018, label %1017

1017:                                             ; preds = %.loopexit3523
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1016) #4
  br label %1018

1018:                                             ; preds = %1017, %.loopexit3523
  %1019 = icmp eq i32 %.10, -1
  br i1 %1019, label %.loopexit3525, label %1020

1020:                                             ; preds = %1018
  %1021 = add nuw nsw i64 %24, 20
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1021, i32 noundef 319)
  %1022 = add nuw nsw i64 %24, 16
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1022, i32 noundef 0)
  %1023 = add nuw nsw i64 %24, 112
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1023, i32 noundef 319)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %350, i32 noundef 0)
  %1024 = add i32 %6, -12
  %1025 = add i32 %6, -444
  %1026 = add i32 %6, -448
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnPropertyInternal0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %0, i32 noundef %1024, i32 noundef %.03334, i32 noundef %2, i32 noundef 340, i32 noundef %1025, i32 noundef %.10, i32 noundef %1026) #4
  %1027 = add nuw nsw i64 %24, 452
  %1028 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %1027)
  %.not3508 = icmp eq i32 %1028, 0
  br i1 %.not3508, label %.loopexit3525, label %1029

1029:                                             ; preds = %.loopexit3526._crit_edge, %1020
  %.pre-phi3533 = phi i64 [ %.pre3532, %.loopexit3526._crit_edge ], [ %1027, %1020 ]
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %350, i64 noundef -4294967296)
  %1030 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %1031 = zext i32 %1030 to i64
  %1032 = add nuw nsw i64 %1031, 12
  %1033 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1032)
  %1034 = add nuw nsw i64 %24, 14
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %1034, i32 noundef 1)
  tail call void @i32_store16(ptr noundef nonnull %8, i64 noundef %.pre-phi3533, i32 noundef 1)
  %1035 = add i32 %6, -450
  %1036 = add i32 %6, -8
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef %0, i32 noundef %351, i32 noundef %1033, i32 noundef %2, i32 noundef 334, i32 noundef %1035, i32 noundef %1036) #4
  %1037 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %466)
  %1038 = icmp ult i64 %1037, -844424930131968
  %1039 = and i64 %1037, 4294967295
  %1040 = icmp eq i64 %1039, 0
  %.not3511 = or i1 %1038, %1040
  br i1 %.not3511, label %1041, label %1067

1041:                                             ; preds = %1029
  %1042 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %1043 = add nuw nsw i64 %24, 460
  %1044 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1043)
  %1045 = icmp ult i32 %1044, 5
  %1046 = add i32 %2, 1356
  %1047 = zext i32 %1046 to i64
  %1048 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1047)
  br i1 %1045, label %1049, label %1054

1049:                                             ; preds = %1041
  %1050 = shl nuw nsw i32 %1044, 2
  %1051 = add i32 %1042, 20
  %1052 = add i32 %1051, %1050
  %1053 = and i32 %1052, -4194304
  %.not3518 = icmp eq i32 %1048, %1053
  br i1 %.not3518, label %1065, label %1063

1054:                                             ; preds = %1041
  %1055 = zext i32 %1042 to i64
  %1056 = add nuw nsw i64 %1055, 16
  %1057 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1056)
  %1058 = shl i32 %1044, 2
  %1059 = add i32 %1058, -12
  %1060 = add i32 %1059, %1057
  %1061 = and i32 %1060, -4194304
  %1062 = icmp eq i32 %1048, %1061
  br i1 %1062, label %1065, label %1063

1063:                                             ; preds = %1054, %1049
  %.133372 = phi i32 [ %1052, %1049 ], [ %1060, %1054 ]
  %1064 = add i32 %2, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %1064, i32 noundef %.133372, i32 noundef 14) #4
  br label %1065

1065:                                             ; preds = %1054, %1049, %1063
  %.143373 = phi i32 [ %.133372, %1063 ], [ %1052, %1049 ], [ %1060, %1054 ]
  %1066 = zext i32 %.143373 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1066, i32 noundef 14)
  br label %.loopexit3525

1067:                                             ; preds = %1029
  %1068 = add nuw nsw i64 %1039, 12
  %1069 = tail call i64 @i64_load32_u(ptr noundef nonnull %8, i64 noundef %1068)
  %1070 = or i64 %1069, -281474976710656
  %1071 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %1072 = zext i32 %1071 to i64
  %1073 = add nuw nsw i64 %1072, 164
  %1074 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1073)
  %1075 = add nuw nsw i64 %1072, 168
  %1076 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1075)
  %1077 = icmp ult i32 %1074, %1076
  br i1 %1077, label %1078, label %1081

1078:                                             ; preds = %1067
  %1079 = add i32 %1074, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1073, i32 noundef %1079)
  %1080 = zext i32 %1074 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %1080, i64 noundef %1070)
  br label %1083

1081:                                             ; preds = %1067
  %1082 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1071, i64 noundef %1070) #4
  br label %1083

1083:                                             ; preds = %1081, %1078
  %.15 = phi i32 [ %1074, %1078 ], [ %1082, %1081 ]
  %1084 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x29(ptr noundef %0, i32 noundef %2, i32 noundef %.15) #4
  %1085 = zext i32 %1084 to i64
  %1086 = or disjoint i64 %1085, -281474976710656
  %1087 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %1088 = zext i32 %1087 to i64
  %1089 = add nuw nsw i64 %1088, 164
  %1090 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1089)
  %1091 = add nuw nsw i64 %1088, 168
  %1092 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1091)
  %1093 = icmp ult i32 %1090, %1092
  br i1 %1093, label %1094, label %1097

1094:                                             ; preds = %1083
  %1095 = add i32 %1090, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1089, i32 noundef %1095)
  %1096 = zext i32 %1090 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %1096, i64 noundef %1086)
  br label %1099

1097:                                             ; preds = %1083
  %1098 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1087, i64 noundef %1086) #4
  br label %1099

1099:                                             ; preds = %1097, %1094
  %.33377 = phi i32 [ %1090, %1094 ], [ %1098, %1097 ]
  %1100 = zext i32 %.15 to i64
  %1101 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1100)
  %1102 = zext i32 %1101 to i64
  %1103 = add nuw nsw i64 %1102, 16
  %1104 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1103)
  %.not3512 = icmp eq i32 %1104, 0
  br i1 %.not3512, label %1105, label %1110

1105:                                             ; preds = %1099
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AinitializeMissingPropertyMap0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef %0, i32 noundef %.15, i32 noundef %2) #4
  %1106 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1100)
  %1107 = zext i32 %1106 to i64
  %1108 = add nuw nsw i64 %1107, 16
  %1109 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1108)
  br label %1110

1110:                                             ; preds = %1099, %1105
  %.11 = phi i32 [ %1109, %1105 ], [ %1104, %1099 ]
  %1111 = zext i32 %.11 to i64
  %1112 = or disjoint i64 %1111, -281474976710656
  %1113 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %1114 = zext i32 %1113 to i64
  %1115 = add nuw nsw i64 %1114, 164
  %1116 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1115)
  %1117 = add nuw nsw i64 %1114, 168
  %1118 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1117)
  %1119 = icmp ult i32 %1116, %1118
  br i1 %1119, label %1120, label %1123

1120:                                             ; preds = %1110
  %1121 = add i32 %1116, 8
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1115, i32 noundef %1121)
  %1122 = zext i32 %1116 to i64
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %1122, i64 noundef %1112)
  br label %1127

1123:                                             ; preds = %1110
  %1124 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %1113, i64 noundef %1112) #4
  %1125 = zext i32 %1124 to i64
  %1126 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %1125)
  br label %1127

1127:                                             ; preds = %1123, %1120
  %.83348 = phi i32 [ %1116, %1120 ], [ %1124, %1123 ]
  %.23333 = phi i64 [ %1112, %1120 ], [ %1126, %1123 ]
  %1128 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %10)
  %1129 = zext i32 %1128 to i64
  %1130 = add nuw nsw i64 %1129, 172
  %1131 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1130)
  %1132 = add nuw nsw i64 %1129, 164
  %1133 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1132)
  %1134 = and i64 %.23333, 4294967295
  %1135 = add nuw nsw i64 %1134, 12
  %1136 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1135)
  %.not3513 = icmp eq i32 %1136, 0
  br i1 %.not3513, label %..loopexit_crit_edge, label %1137

..loopexit_crit_edge:                             ; preds = %1127
  %.pre3534 = add nuw nsw i64 %1129, 136
  %.pre3536 = shl i32 %1131, 2
  %.pre3538 = add nuw nsw i64 %1129, 168
  %.pre3540 = zext i32 %.33377 to i64
  br label %.loopexit

1137:                                             ; preds = %1127
  %1138 = add i32 %2, 808
  %1139 = zext i32 %.83348 to i64
  %1140 = zext i32 %.33377 to i64
  %1141 = add nuw nsw i64 %9, 1356
  %1142 = add nuw nsw i64 %1129, 136
  %1143 = shl i32 %1131, 2
  %1144 = add nuw nsw i64 %1129, 168
  br label %1145

1145:                                             ; preds = %1250, %1137
  %.16 = phi i32 [ 0, %1137 ], [ %1251, %1250 ]
  %1146 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1139)
  %1147 = add i32 %1146, 28
  %1148 = mul i32 %.16, 12
  %1149 = add i32 %1147, %1148
  %1150 = zext i32 %1149 to i64
  %1151 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1150)
  %1152 = icmp ult i32 %1151, 536870910
  br i1 %1152, label %1153, label %1250

1153:                                             ; preds = %1145
  %1154 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %466)
  %1155 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1140)
  %1156 = add nuw nsw i64 %1150, 8
  %1157 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1156)
  %1158 = icmp ult i32 %1157, 5
  br i1 %1158, label %1159, label %1163

1159:                                             ; preds = %1153
  %1160 = shl nuw nsw i32 %1157, 2
  %1161 = add i32 %1154, 20
  %1162 = add i32 %1161, %1160
  br label %1170

1163:                                             ; preds = %1153
  %1164 = zext i32 %1154 to i64
  %1165 = add nuw nsw i64 %1164, 16
  %1166 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1165)
  %1167 = shl i32 %1157, 2
  %1168 = add i32 %1167, -12
  %1169 = add i32 %1168, %1166
  br label %1170

1170:                                             ; preds = %1163, %1159
  %.12 = phi i32 [ %1162, %1159 ], [ %1169, %1163 ]
  %1171 = zext i32 %.12 to i64
  %1172 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1171)
  %1173 = and i32 %1172, 7
  %1174 = icmp eq i32 %1173, 4
  br i1 %1174, label %1175, label %1178

1175:                                             ; preds = %1170
  %1176 = ashr i32 %1172, 3
  %1177 = sitofp i32 %1176 to double
  br label %1183

1178:                                             ; preds = %1170
  %1179 = and i32 %1172, -8
  %1180 = zext i32 %1179 to i64
  %1181 = add nuw nsw i64 %1180, 8
  %1182 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %1181)
  br label %1183

1183:                                             ; preds = %1178, %1175
  %.1 = phi double [ %1177, %1175 ], [ %1182, %1178 ]
  %1184 = fcmp olt double %.1, 0x41F0000000000000
  %1185 = fcmp oge double %.1, 0.000000e+00
  %1186 = and i1 %1184, %1185
  br i1 %1186, label %1187, label %1195

1187:                                             ; preds = %1183
  %1188 = fcmp uno double %.1, 0.000000e+00
  br i1 %1188, label %1189, label %1190, !prof !15

1189:                                             ; preds = %1187
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

1190:                                             ; preds = %1187
  %1191 = fcmp ogt double %.1, -1.000000e+00
  br i1 %1191, label %1193, label %1192, !prof !16

1192:                                             ; preds = %1190
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

1193:                                             ; preds = %1190
  %1194 = fptoui double %.1 to i32
  br label %1195

1195:                                             ; preds = %1183, %1193
  %.13 = phi i32 [ %1194, %1193 ], [ 0, %1183 ]
  %1196 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %1197 = zext i32 %1196 to i64
  %1198 = add nuw nsw i64 %1197, 20
  %1199 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1198)
  %1200 = icmp ult i32 %.13, %1199
  br i1 %1200, label %1226, label %1201

1201:                                             ; preds = %1195
  %1202 = add nuw nsw i64 %1197, 24
  %1203 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1202)
  %.not3514 = icmp ugt i32 %1203, %.13
  br i1 %.not3514, label %1204, label %1226

1204:                                             ; preds = %1201
  %1205 = add nuw nsw i64 %1197, 28
  %1206 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1205)
  %1207 = sub i32 %.13, %1199
  %1208 = icmp ult i32 %1207, 4096
  br i1 %1208, label %1209, label %1212

1209:                                             ; preds = %1204
  %1210 = shl nuw nsw i32 %1207, 2
  %1211 = add i32 %1206, %1210
  br label %1223

1212:                                             ; preds = %1204
  %1213 = add i32 %1207, -4096
  %1214 = lshr i32 %1213, 8
  %1215 = and i32 %1214, 16777212
  %1216 = add nuw nsw i32 %1215, 16392
  %1217 = add i32 %1216, %1206
  %1218 = zext i32 %1217 to i64
  %1219 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1218)
  %1220 = shl i32 %1207, 2
  %1221 = and i32 %1220, 4092
  %1222 = add i32 %1219, %1221
  br label %1223

1223:                                             ; preds = %1212, %1209
  %.14.in = phi i32 [ %1211, %1209 ], [ %1222, %1212 ]
  %.14 = add i32 %.14.in, 8
  %1224 = zext i32 %.14 to i64
  %1225 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1224)
  br label %1226

1226:                                             ; preds = %1201, %1195, %1223
  %.13339 = phi i32 [ 7, %1195 ], [ 7, %1201 ], [ %1225, %1223 ]
  %1227 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1141)
  br i1 %1158, label %1228, label %1233

1228:                                             ; preds = %1226
  %1229 = shl nuw nsw i32 %1157, 2
  %1230 = add i32 %1155, 20
  %1231 = add i32 %1230, %1229
  %1232 = and i32 %1231, -4194304
  %.not3515 = icmp eq i32 %1227, %1232
  br i1 %.not3515, label %1243, label %1242

1233:                                             ; preds = %1226
  %1234 = zext i32 %1155 to i64
  %1235 = add nuw nsw i64 %1234, 16
  %1236 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1235)
  %1237 = shl i32 %1157, 2
  %1238 = add i32 %1237, -12
  %1239 = add i32 %1238, %1236
  %1240 = and i32 %1239, -4194304
  %1241 = icmp eq i32 %1227, %1240
  br i1 %1241, label %1243, label %1242

1242:                                             ; preds = %1233, %1228
  %.63357 = phi i32 [ %1231, %1228 ], [ %1239, %1233 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %1138, i32 noundef %.63357, i32 noundef %.13339) #4
  br label %1243

1243:                                             ; preds = %1233, %1228, %1242
  %.73358 = phi i32 [ %.63357, %1242 ], [ %1231, %1228 ], [ %1239, %1233 ]
  %1244 = zext i32 %.73358 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1244, i32 noundef %.13339)
  %1245 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1142)
  %1246 = add i32 %1245, %1143
  %1247 = zext i32 %1246 to i64
  %1248 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1247)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1130, i32 noundef %1131)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1132, i32 noundef %1133)
  %1249 = add i32 %1248, 128
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1144, i32 noundef %1249)
  br label %1250

1250:                                             ; preds = %1243, %1145
  %1251 = add nuw i32 %.16, 1
  %.not3516 = icmp eq i32 %1251, %1136
  br i1 %.not3516, label %.loopexit, label %1145

.loopexit:                                        ; preds = %1250, %..loopexit_crit_edge
  %.pre-phi3541 = phi i64 [ %.pre3540, %..loopexit_crit_edge ], [ %1140, %1250 ]
  %.pre-phi3539 = phi i64 [ %.pre3538, %..loopexit_crit_edge ], [ %1144, %1250 ]
  %.pre-phi3537 = phi i32 [ %.pre3536, %..loopexit_crit_edge ], [ %1143, %1250 ]
  %.pre-phi3535 = phi i64 [ %.pre3534, %..loopexit_crit_edge ], [ %1142, %1250 ]
  %1252 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi3535)
  %1253 = add i32 %1252, %.pre-phi3537
  %1254 = zext i32 %1253 to i64
  %1255 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1254)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1130, i32 noundef %1131)
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1132, i32 noundef %1133)
  %1256 = add i32 %1255, 128
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %.pre-phi3539, i32 noundef %1256)
  %1257 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %343)
  %1258 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %.pre-phi3541)
  %1259 = add nuw nsw i64 %24, 460
  %1260 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1259)
  %1261 = icmp ult i32 %1260, 5
  %1262 = add i32 %2, 1356
  %1263 = zext i32 %1262 to i64
  %1264 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1263)
  br i1 %1261, label %1265, label %1270

1265:                                             ; preds = %.loopexit
  %1266 = shl nuw nsw i32 %1260, 2
  %1267 = add i32 %1257, 20
  %1268 = add i32 %1267, %1266
  %1269 = and i32 %1268, -4194304
  %.not3517 = icmp eq i32 %1264, %1269
  br i1 %.not3517, label %1281, label %1279

1270:                                             ; preds = %.loopexit
  %1271 = zext i32 %1257 to i64
  %1272 = add nuw nsw i64 %1271, 16
  %1273 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %1272)
  %1274 = shl i32 %1260, 2
  %1275 = add i32 %1274, -12
  %1276 = add i32 %1275, %1273
  %1277 = and i32 %1276, -4194304
  %1278 = icmp eq i32 %1264, %1277
  br i1 %1278, label %1281, label %1279

1279:                                             ; preds = %1270, %1265
  %.93349 = phi i32 [ %1268, %1265 ], [ %1276, %1270 ]
  %1280 = add i32 %2, 808
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef %0, i32 noundef %1280, i32 noundef %.93349, i32 noundef %1258) #4
  br label %1281

1281:                                             ; preds = %1270, %1265, %1279
  %.103350 = phi i32 [ %.93349, %1279 ], [ %1268, %1265 ], [ %1276, %1270 ]
  %1282 = zext i32 %.103350 to i64
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %1282, i32 noundef %1258)
  br label %.loopexit3525

.critedge:                                        ; preds = %242
  store i32 %244, ptr %5, align 8, !tbaa !5
  br label %.loopexit3525

.loopexit3525:                                    ; preds = %489, %1065, %1281, %.critedge, %240, %178, %1020, %1018, %180
  %.17 = phi i32 [ 67200, %180 ], [ -1, %1018 ], [ -1, %1020 ], [ -1, %178 ], [ -1, %240 ], [ -1, %.critedge ], [ %.03334, %1281 ], [ %.03334, %1065 ], [ -1, %489 ]
  %1283 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %76)
  %.not3520 = icmp eq i32 %1283, 0
  br i1 %.not3520, label %1288, label %1284

1284:                                             ; preds = %.loopexit3525
  %1285 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %75)
  %1286 = icmp eq i32 %1285, %74
  br i1 %1286, label %1288, label %1287

1287:                                             ; preds = %1284
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1285) #4
  br label %1288

1288:                                             ; preds = %173, %88, %61, %23, %1284, %.loopexit3525, %1287
  %.18 = phi i32 [ %.17, %.loopexit3525 ], [ %.17, %1284 ], [ %.17, %1287 ], [ -1, %23 ], [ -1, %61 ], [ -1, %88 ], [ -1, %173 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %0, i32 noundef %37) #4
  store i32 %6, ptr %5, align 8, !tbaa !5
  ret i32 %.18
}

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

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AgetNamed0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSRegExp0x3A0x3Asearch0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSRegExp0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AputNamedThrowOnError0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropCacheID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3AcreateNoAllocPropStorage0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayStorageBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x3A0x3AthrowExcessiveCapacityError0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AsnapshotWriteBarrierRangeSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AfindProperty0x28hermes0x3A0x3Avm0x3A0x3APseudoHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3ANamedPropertyDescriptor0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AwriteBarrierSlow0x28hermes0x3A0x3Avm0x3A0x3AGCHermesValueBase0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue320x3E0x20const0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue320x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3A0x3Aslice0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AStringPrimitive0x3E0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3AsetStorageEndIndex0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AArrayImpl0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHiddenClass0x3A0x3AinitializeMissingPropertyMap0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHiddenClass0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

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


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