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

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

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

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

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

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

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

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

; 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: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

76:                                               ; preds = %5
  %77 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %77, ptr %22, align 4, !tbaa !9
  %78 = load ptr, ptr %6, align 8, !tbaa !5
  %79 = getelementptr inbounds %struct.w2c_hermes, ptr %78, i32 0, i32 6
  %80 = load i32, ptr %22, align 4, !tbaa !9
  %81 = zext i32 %80 to i64
  %82 = add i64 %81, 32
  %83 = call i32 @i32_load(ptr noundef %79, i64 noundef %82)
  store i32 %83, ptr %22, align 4, !tbaa !9
  %84 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %84, ptr %12, align 4, !tbaa !9
  %85 = load ptr, ptr %6, align 8, !tbaa !5
  %86 = getelementptr inbounds %struct.w2c_hermes, ptr %85, i32 0, i32 6
  %87 = load i32, ptr %22, align 4, !tbaa !9
  %88 = zext i32 %87 to i64
  %89 = add i64 %88, 8
  %90 = call i32 @i32_load(ptr noundef %86, i64 noundef %89)
  store i32 %90, ptr %22, align 4, !tbaa !9
  store i32 92, ptr %23, align 4, !tbaa !9
  %91 = load i32, ptr %22, align 4, !tbaa !9
  %92 = load i32, ptr %23, align 4, !tbaa !9
  %93 = icmp ne i32 %91, %92
  %94 = zext i1 %93 to i32
  store i32 %94, ptr %22, align 4, !tbaa !9
  %95 = load i32, ptr %22, align 4, !tbaa !9
  %96 = icmp ne i32 %95, 0
  br i1 %96, label %97, label %98

97:                                               ; preds = %76
  br label %351

98:                                               ; preds = %76
  br label %99

99:                                               ; preds = %98, %5
  %100 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %100, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %101 = load i32, ptr %23, align 4, !tbaa !9
  %102 = load i32, ptr %22, align 4, !tbaa !9
  %103 = add i32 %102, %101
  store i32 %103, ptr %22, align 4, !tbaa !9
  %104 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %104, ptr %12, align 4, !tbaa !9
  %105 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %105, ptr %23, align 4, !tbaa !9
  %106 = load ptr, ptr %6, align 8, !tbaa !5
  %107 = getelementptr inbounds %struct.w2c_hermes, ptr %106, i32 0, i32 6
  %108 = load i32, ptr %23, align 4, !tbaa !9
  %109 = zext i32 %108 to i64
  %110 = add i64 %109, 12
  %111 = call i32 @i32_load(ptr noundef %107, i64 noundef %110)
  store i32 %111, ptr %23, align 4, !tbaa !9
  %112 = load ptr, ptr %6, align 8, !tbaa !5
  %113 = getelementptr inbounds %struct.w2c_hermes, ptr %112, i32 0, i32 6
  %114 = load i32, ptr %23, align 4, !tbaa !9
  %115 = zext i32 %114 to i64
  %116 = add i64 %115, 44
  %117 = call i32 @i32_load(ptr noundef %113, i64 noundef %116)
  store i32 %117, ptr %23, align 4, !tbaa !9
  %118 = load ptr, ptr %6, align 8, !tbaa !5
  %119 = load i32, ptr %22, align 4, !tbaa !9
  %120 = load i32, ptr %23, align 4, !tbaa !9
  %121 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBasicBlock0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef %118, i32 noundef %119, i32 noundef %120)
  store i32 %121, ptr %22, align 4, !tbaa !9
  %122 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %122, ptr %14, align 4, !tbaa !9
  %123 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %123, ptr %22, align 4, !tbaa !9
  %124 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %124, ptr %23, align 4, !tbaa !9
  %125 = load ptr, ptr %6, align 8, !tbaa !5
  %126 = getelementptr inbounds %struct.w2c_hermes, ptr %125, i32 0, i32 6
  %127 = load i32, ptr %23, align 4, !tbaa !9
  %128 = zext i32 %127 to i64
  %129 = add i64 %128, 12
  %130 = call i32 @i32_load(ptr noundef %126, i64 noundef %129)
  store i32 %130, ptr %23, align 4, !tbaa !9
  %131 = load ptr, ptr %6, align 8, !tbaa !5
  %132 = getelementptr inbounds %struct.w2c_hermes, ptr %131, i32 0, i32 6
  %133 = load i32, ptr %23, align 4, !tbaa !9
  %134 = zext i32 %133 to i64
  %135 = add i64 %134, 44
  %136 = call i32 @i32_load(ptr noundef %132, i64 noundef %135)
  store i32 %136, ptr %23, align 4, !tbaa !9
  %137 = load ptr, ptr %6, align 8, !tbaa !5
  %138 = load i32, ptr %22, align 4, !tbaa !9
  %139 = load i32, ptr %23, align 4, !tbaa !9
  %140 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBasicBlock0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef %137, i32 noundef %138, i32 noundef %139)
  store i32 %140, ptr %22, align 4, !tbaa !9
  %141 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %141, ptr %13, align 4, !tbaa !9
  %142 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %142, ptr %22, align 4, !tbaa !9
  %143 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %143, ptr %23, align 4, !tbaa !9
  %144 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %144, ptr %24, align 4, !tbaa !9
  %145 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %145, ptr %25, align 4, !tbaa !9
  %146 = load ptr, ptr %6, align 8, !tbaa !5
  %147 = getelementptr inbounds %struct.w2c_hermes, ptr %146, i32 0, i32 6
  %148 = load i32, ptr %25, align 4, !tbaa !9
  %149 = zext i32 %148 to i64
  %150 = call i32 @i32_load(ptr noundef %147, i64 noundef %149)
  store i32 %150, ptr %25, align 4, !tbaa !9
  store i32 296, ptr %26, align 4, !tbaa !9
  %151 = load i32, ptr %26, align 4, !tbaa !9
  %152 = load i32, ptr %25, align 4, !tbaa !9
  %153 = add i32 %152, %151
  store i32 %153, ptr %25, align 4, !tbaa !9
  store i32 1, ptr %26, align 4, !tbaa !9
  %154 = load ptr, ptr %6, align 8, !tbaa !5
  %155 = load i32, ptr %23, align 4, !tbaa !9
  %156 = load i32, ptr %24, align 4, !tbaa !9
  %157 = load i32, ptr %25, align 4, !tbaa !9
  %158 = load i32, ptr %26, align 4, !tbaa !9
  %159 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBinaryOperatorInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ABinaryOperatorInst0x3A0x3AOpKind0x29(ptr noundef %154, i32 noundef %155, i32 noundef %156, i32 noundef %157, i32 noundef %158)
  store i32 %159, ptr %23, align 4, !tbaa !9
  %160 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %160, ptr %15, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %161 = load i32, ptr %24, align 4, !tbaa !9
  %162 = load i32, ptr %23, align 4, !tbaa !9
  %163 = add i32 %162, %161
  store i32 %163, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %164 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %164, ptr %25, align 4, !tbaa !9
  %165 = load i32, ptr %25, align 4, !tbaa !9
  %166 = icmp ne i32 %165, 0
  br i1 %166, label %167, label %169

167:                                              ; preds = %99
  %168 = load i32, ptr %23, align 4, !tbaa !9
  br label %171

169:                                              ; preds = %99
  %170 = load i32, ptr %24, align 4, !tbaa !9
  br label %171

171:                                              ; preds = %169, %167
  %172 = phi i32 [ %168, %167 ], [ %170, %169 ]
  store i32 %172, ptr %23, align 4, !tbaa !9
  %173 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %173, ptr %24, align 4, !tbaa !9
  %174 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %174, ptr %25, align 4, !tbaa !9
  %175 = load ptr, ptr %6, align 8, !tbaa !5
  %176 = load i32, ptr %22, align 4, !tbaa !9
  %177 = load i32, ptr %23, align 4, !tbaa !9
  %178 = load i32, ptr %24, align 4, !tbaa !9
  %179 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCondBranchInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef %175, i32 noundef %176, i32 noundef %177, i32 noundef %178, i32 noundef %179)
  %180 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %180, ptr %22, align 4, !tbaa !9
  %181 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %181, ptr %23, align 4, !tbaa !9
  %182 = load ptr, ptr %6, align 8, !tbaa !5
  %183 = getelementptr inbounds %struct.w2c_hermes, ptr %182, i32 0, i32 6
  %184 = load i32, ptr %22, align 4, !tbaa !9
  %185 = zext i32 %184 to i64
  %186 = add i64 %185, 8
  %187 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %183, i64 noundef %186, i32 noundef %187)
  %188 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %188, ptr %22, align 4, !tbaa !9
  %189 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %189, ptr %23, align 4, !tbaa !9
  store i32 36, ptr %24, align 4, !tbaa !9
  %190 = load i32, ptr %24, align 4, !tbaa !9
  %191 = load i32, ptr %23, align 4, !tbaa !9
  %192 = add i32 %191, %190
  store i32 %192, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %193 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %193, ptr %25, align 4, !tbaa !9
  %194 = load i32, ptr %25, align 4, !tbaa !9
  %195 = icmp ne i32 %194, 0
  br i1 %195, label %196, label %198

196:                                              ; preds = %171
  %197 = load i32, ptr %23, align 4, !tbaa !9
  br label %200

198:                                              ; preds = %171
  %199 = load i32, ptr %24, align 4, !tbaa !9
  br label %200

200:                                              ; preds = %198, %196
  %201 = phi i32 [ %197, %196 ], [ %199, %198 ]
  store i32 %201, ptr %23, align 4, !tbaa !9
  %202 = load ptr, ptr %6, align 8, !tbaa !5
  %203 = getelementptr inbounds %struct.w2c_hermes, ptr %202, i32 0, i32 6
  %204 = load i32, ptr %22, align 4, !tbaa !9
  %205 = zext i32 %204 to i64
  %206 = add i64 %205, 4
  %207 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %203, i64 noundef %206, i32 noundef %207)
  %208 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %208, ptr %22, align 4, !tbaa !9
  store i32 41, ptr %23, align 4, !tbaa !9
  %209 = load ptr, ptr %6, align 8, !tbaa !5
  %210 = getelementptr inbounds %struct.w2c_hermes, ptr %209, i32 0, i32 6
  %211 = load i32, ptr %22, align 4, !tbaa !9
  %212 = zext i32 %211 to i64
  %213 = add i64 %212, 60
  %214 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %210, i64 noundef %213, i32 noundef %214)
  %215 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %215, ptr %22, align 4, !tbaa !9
  store i32 59023, ptr %23, align 4, !tbaa !9
  %216 = load ptr, ptr %6, align 8, !tbaa !5
  %217 = getelementptr inbounds %struct.w2c_hermes, ptr %216, i32 0, i32 6
  %218 = load i32, ptr %22, align 4, !tbaa !9
  %219 = zext i32 %218 to i64
  %220 = add i64 %219, 56
  %221 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %217, i64 noundef %220, i32 noundef %221)
  %222 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %222, ptr %22, align 4, !tbaa !9
  %223 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %223, ptr %23, align 4, !tbaa !9
  %224 = load ptr, ptr %6, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.w2c_hermes, ptr %224, i32 0, i32 6
  %226 = load i32, ptr %22, align 4, !tbaa !9
  %227 = zext i32 %226 to i64
  %228 = add i64 %227, 92
  %229 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %225, i64 noundef %228, i32 noundef %229)
  %230 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %230, ptr %22, align 4, !tbaa !9
  %231 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %231, ptr %23, align 4, !tbaa !9
  %232 = load ptr, ptr %6, align 8, !tbaa !5
  %233 = getelementptr inbounds %struct.w2c_hermes, ptr %232, i32 0, i32 6
  %234 = load i32, ptr %23, align 4, !tbaa !9
  %235 = zext i32 %234 to i64
  %236 = add i64 %235, 56
  %237 = call i64 @i64_load(ptr noundef %233, i64 noundef %236)
  store i64 %237, ptr %28, align 8, !tbaa !11
  %238 = load ptr, ptr %6, align 8, !tbaa !5
  %239 = getelementptr inbounds %struct.w2c_hermes, ptr %238, i32 0, i32 6
  %240 = load i32, ptr %22, align 4, !tbaa !9
  %241 = zext i32 %240 to i64
  %242 = add i64 %241, 24
  %243 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %239, i64 noundef %242, i64 noundef %243)
  %244 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %244, ptr %22, align 4, !tbaa !9
  %245 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %245, ptr %23, align 4, !tbaa !9
  %246 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %246, ptr %24, align 4, !tbaa !9
  store i32 24, ptr %25, align 4, !tbaa !9
  %247 = load i32, ptr %25, align 4, !tbaa !9
  %248 = load i32, ptr %24, align 4, !tbaa !9
  %249 = add i32 %248, %247
  store i32 %249, ptr %24, align 4, !tbaa !9
  %250 = load ptr, ptr %6, align 8, !tbaa !5
  %251 = load i32, ptr %23, align 4, !tbaa !9
  %252 = load i32, ptr %24, align 4, !tbaa !9
  %253 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralString0x28llvh0x3A0x3AStringRef0x29(ptr noundef %250, i32 noundef %251, i32 noundef %252)
  store i32 %253, ptr %23, align 4, !tbaa !9
  %254 = load ptr, ptr %6, align 8, !tbaa !5
  %255 = getelementptr inbounds %struct.w2c_hermes, ptr %254, i32 0, i32 6
  %256 = load i32, ptr %22, align 4, !tbaa !9
  %257 = zext i32 %256 to i64
  %258 = add i64 %257, 96
  %259 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %255, i64 noundef %258, i32 noundef %259)
  %260 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %260, ptr %22, align 4, !tbaa !9
  store i32 2, ptr %23, align 4, !tbaa !9
  %261 = load ptr, ptr %6, align 8, !tbaa !5
  %262 = getelementptr inbounds %struct.w2c_hermes, ptr %261, i32 0, i32 6
  %263 = load i32, ptr %22, align 4, !tbaa !9
  %264 = zext i32 %263 to i64
  %265 = add i64 %264, 36
  %266 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %262, i64 noundef %265, i32 noundef %266)
  %267 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %267, ptr %22, align 4, !tbaa !9
  %268 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %268, ptr %23, align 4, !tbaa !9
  store i32 92, ptr %24, align 4, !tbaa !9
  %269 = load i32, ptr %24, align 4, !tbaa !9
  %270 = load i32, ptr %23, align 4, !tbaa !9
  %271 = add i32 %270, %269
  store i32 %271, ptr %23, align 4, !tbaa !9
  %272 = load ptr, ptr %6, align 8, !tbaa !5
  %273 = getelementptr inbounds %struct.w2c_hermes, ptr %272, i32 0, i32 6
  %274 = load i32, ptr %22, align 4, !tbaa !9
  %275 = zext i32 %274 to i64
  %276 = add i64 %275, 32
  %277 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %273, i64 noundef %276, i32 noundef %277)
  %278 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %278, ptr %22, align 4, !tbaa !9
  %279 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %279, ptr %23, align 4, !tbaa !9
  %280 = load ptr, ptr %6, align 8, !tbaa !5
  %281 = getelementptr inbounds %struct.w2c_hermes, ptr %280, i32 0, i32 6
  %282 = load i32, ptr %23, align 4, !tbaa !9
  %283 = zext i32 %282 to i64
  %284 = add i64 %283, 32
  %285 = call i64 @i64_load(ptr noundef %281, i64 noundef %284)
  store i64 %285, ptr %28, align 8, !tbaa !11
  %286 = load ptr, ptr %6, align 8, !tbaa !5
  %287 = getelementptr inbounds %struct.w2c_hermes, ptr %286, i32 0, i32 6
  %288 = load i32, ptr %22, align 4, !tbaa !9
  %289 = zext i32 %288 to i64
  %290 = add i64 %289, 16
  %291 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %287, i64 noundef %290, i64 noundef %291)
  %292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %292, ptr %22, align 4, !tbaa !9
  store i32 42, ptr %23, align 4, !tbaa !9
  %293 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %293, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %294 = load i32, ptr %25, align 4, !tbaa !9
  %295 = load i32, ptr %24, align 4, !tbaa !9
  %296 = add i32 %295, %294
  store i32 %296, ptr %24, align 4, !tbaa !9
  %297 = load ptr, ptr %6, align 8, !tbaa !5
  %298 = load i32, ptr %22, align 4, !tbaa !9
  %299 = load i32, ptr %23, align 4, !tbaa !9
  %300 = load i32, ptr %24, align 4, !tbaa !9
  %301 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCallBuiltinInst0x28hermes0x3A0x3ABuiltinMethod0x3A0x3AEnum0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3AValue0x2A0x3E0x29(ptr noundef %297, i32 noundef %298, i32 noundef %299, i32 noundef %300)
  store i32 %301, ptr %22, align 4, !tbaa !9
  %302 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %302, ptr %22, align 4, !tbaa !9
  %303 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %303, ptr %23, align 4, !tbaa !9
  %304 = load ptr, ptr %6, align 8, !tbaa !5
  %305 = getelementptr inbounds %struct.w2c_hermes, ptr %304, i32 0, i32 6
  %306 = load i32, ptr %23, align 4, !tbaa !9
  %307 = zext i32 %306 to i64
  %308 = call i32 @i32_load(ptr noundef %305, i64 noundef %307)
  store i32 %308, ptr %23, align 4, !tbaa !9
  store i32 268, ptr %24, align 4, !tbaa !9
  %309 = load i32, ptr %24, align 4, !tbaa !9
  %310 = load i32, ptr %23, align 4, !tbaa !9
  %311 = add i32 %310, %309
  store i32 %311, ptr %23, align 4, !tbaa !9
  %312 = load ptr, ptr %6, align 8, !tbaa !5
  %313 = load i32, ptr %22, align 4, !tbaa !9
  %314 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateThrowInst0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %312, i32 noundef %313, i32 noundef %314)
  %315 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %315, ptr %22, align 4, !tbaa !9
  %316 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %316, ptr %23, align 4, !tbaa !9
  %317 = load ptr, ptr %6, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.w2c_hermes, ptr %317, i32 0, i32 6
  %319 = load i32, ptr %22, align 4, !tbaa !9
  %320 = zext i32 %319 to i64
  %321 = add i64 %320, 8
  %322 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %318, i64 noundef %321, i32 noundef %322)
  %323 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %323, ptr %22, align 4, !tbaa !9
  %324 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %324, ptr %23, align 4, !tbaa !9
  store i32 36, ptr %24, align 4, !tbaa !9
  %325 = load i32, ptr %24, align 4, !tbaa !9
  %326 = load i32, ptr %23, align 4, !tbaa !9
  %327 = add i32 %326, %325
  store i32 %327, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %328 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %328, ptr %25, align 4, !tbaa !9
  %329 = load i32, ptr %25, align 4, !tbaa !9
  %330 = icmp ne i32 %329, 0
  br i1 %330, label %331, label %333

331:                                              ; preds = %200
  %332 = load i32, ptr %23, align 4, !tbaa !9
  br label %335

333:                                              ; preds = %200
  %334 = load i32, ptr %24, align 4, !tbaa !9
  br label %335

335:                                              ; preds = %333, %331
  %336 = phi i32 [ %332, %331 ], [ %334, %333 ]
  store i32 %336, ptr %23, align 4, !tbaa !9
  %337 = load ptr, ptr %6, align 8, !tbaa !5
  %338 = getelementptr inbounds %struct.w2c_hermes, ptr %337, i32 0, i32 6
  %339 = load i32, ptr %22, align 4, !tbaa !9
  %340 = zext i32 %339 to i64
  %341 = add i64 %340, 4
  %342 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %338, i64 noundef %341, i32 noundef %342)
  %343 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %343, ptr %22, align 4, !tbaa !9
  %344 = load ptr, ptr %6, align 8, !tbaa !5
  %345 = getelementptr inbounds %struct.w2c_hermes, ptr %344, i32 0, i32 6
  %346 = load i32, ptr %22, align 4, !tbaa !9
  %347 = zext i32 %346 to i64
  %348 = add i64 %347, 32
  %349 = call i32 @i32_load(ptr noundef %345, i64 noundef %348)
  store i32 %349, ptr %22, align 4, !tbaa !9
  %350 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %350, ptr %12, align 4, !tbaa !9
  br label %351

351:                                              ; preds = %335, %97
  %352 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %352, ptr %22, align 4, !tbaa !9
  %353 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %353, ptr %23, align 4, !tbaa !9
  %354 = load i32, ptr %22, align 4, !tbaa !9
  %355 = load i32, ptr %23, align 4, !tbaa !9
  %356 = icmp eq i32 %354, %355
  %357 = zext i1 %356 to i32
  store i32 %357, ptr %22, align 4, !tbaa !9
  %358 = load i32, ptr %22, align 4, !tbaa !9
  %359 = icmp ne i32 %358, 0
  br i1 %359, label %360, label %361

360:                                              ; preds = %351
  br label %2084

361:                                              ; preds = %351
  %362 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %362, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %363 = load i32, ptr %23, align 4, !tbaa !9
  %364 = load i32, ptr %22, align 4, !tbaa !9
  %365 = add i32 %364, %363
  store i32 %365, ptr %22, align 4, !tbaa !9
  %366 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %366, ptr %17, align 4, !tbaa !9
  br label %367

367:                                              ; preds = %1241, %361
  %368 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %368, ptr %22, align 4, !tbaa !9
  %369 = load i32, ptr %22, align 4, !tbaa !9
  %370 = icmp ne i32 %369, 0
  br i1 %370, label %371, label %387

371:                                              ; preds = %367
  %372 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %372, ptr %22, align 4, !tbaa !9
  %373 = load ptr, ptr %6, align 8, !tbaa !5
  %374 = getelementptr inbounds %struct.w2c_hermes, ptr %373, i32 0, i32 6
  %375 = load i32, ptr %22, align 4, !tbaa !9
  %376 = zext i32 %375 to i64
  %377 = add i64 %376, 8
  %378 = call i32 @i32_load(ptr noundef %374, i64 noundef %377)
  store i32 %378, ptr %22, align 4, !tbaa !9
  store i32 92, ptr %23, align 4, !tbaa !9
  %379 = load i32, ptr %22, align 4, !tbaa !9
  %380 = load i32, ptr %23, align 4, !tbaa !9
  %381 = icmp eq i32 %379, %380
  %382 = zext i1 %381 to i32
  store i32 %382, ptr %22, align 4, !tbaa !9
  %383 = load i32, ptr %22, align 4, !tbaa !9
  %384 = icmp ne i32 %383, 0
  br i1 %384, label %385, label %386

385:                                              ; preds = %371
  br label %1243

386:                                              ; preds = %371
  br label %387

387:                                              ; preds = %386, %367
  %388 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %388, ptr %22, align 4, !tbaa !9
  %389 = load ptr, ptr %6, align 8, !tbaa !5
  %390 = getelementptr inbounds %struct.w2c_hermes, ptr %389, i32 0, i32 6
  %391 = load i32, ptr %22, align 4, !tbaa !9
  %392 = zext i32 %391 to i64
  %393 = add i64 %392, 32
  %394 = call i32 @i32_load(ptr noundef %390, i64 noundef %393)
  store i32 %394, ptr %22, align 4, !tbaa !9
  %395 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %395, ptr %9, align 4, !tbaa !9
  %396 = load ptr, ptr %6, align 8, !tbaa !5
  %397 = getelementptr inbounds %struct.w2c_hermes, ptr %396, i32 0, i32 6
  %398 = load i32, ptr %22, align 4, !tbaa !9
  %399 = zext i32 %398 to i64
  %400 = add i64 %399, 8
  %401 = call i32 @i32_load(ptr noundef %397, i64 noundef %400)
  store i32 %401, ptr %22, align 4, !tbaa !9
  %402 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %402, ptr %14, align 4, !tbaa !9
  store i32 0, ptr %22, align 4, !tbaa !9
  %403 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %403, ptr %13, align 4, !tbaa !9
  %404 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %404, ptr %22, align 4, !tbaa !9
  %405 = load i32, ptr %22, align 4, !tbaa !9
  %406 = icmp ne i32 %405, 0
  %407 = xor i1 %406, true
  %408 = zext i1 %407 to i32
  store i32 %408, ptr %22, align 4, !tbaa !9
  %409 = load i32, ptr %22, align 4, !tbaa !9
  %410 = icmp ne i32 %409, 0
  br i1 %410, label %411, label %413

411:                                              ; preds = %387
  store i32 0, ptr %22, align 4, !tbaa !9
  %412 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %412, ptr %15, align 4, !tbaa !9
  br label %447

413:                                              ; preds = %387
  %414 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %414, ptr %22, align 4, !tbaa !9
  store i32 93, ptr %23, align 4, !tbaa !9
  %415 = load i32, ptr %22, align 4, !tbaa !9
  %416 = load i32, ptr %23, align 4, !tbaa !9
  %417 = icmp ne i32 %415, %416
  %418 = zext i1 %417 to i32
  store i32 %418, ptr %22, align 4, !tbaa !9
  %419 = load i32, ptr %22, align 4, !tbaa !9
  %420 = icmp ne i32 %419, 0
  br i1 %420, label %421, label %423

421:                                              ; preds = %413
  store i32 0, ptr %22, align 4, !tbaa !9
  %422 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %422, ptr %15, align 4, !tbaa !9
  br label %447

423:                                              ; preds = %413
  %424 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %424, ptr %22, align 4, !tbaa !9
  %425 = load ptr, ptr %6, align 8, !tbaa !5
  %426 = getelementptr inbounds %struct.w2c_hermes, ptr %425, i32 0, i32 6
  %427 = load i32, ptr %22, align 4, !tbaa !9
  %428 = zext i32 %427 to i64
  %429 = add i64 %428, 32
  %430 = call i32 @i32_load(ptr noundef %426, i64 noundef %429)
  store i32 %430, ptr %22, align 4, !tbaa !9
  %431 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %431, ptr %15, align 4, !tbaa !9
  %432 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %432, ptr %22, align 4, !tbaa !9
  %433 = load ptr, ptr %6, align 8, !tbaa !5
  %434 = getelementptr inbounds %struct.w2c_hermes, ptr %433, i32 0, i32 6
  %435 = load i32, ptr %22, align 4, !tbaa !9
  %436 = zext i32 %435 to i64
  %437 = add i64 %436, 28
  %438 = call i32 @i32_load(ptr noundef %434, i64 noundef %437)
  store i32 %438, ptr %22, align 4, !tbaa !9
  %439 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %439, ptr %9, align 4, !tbaa !9
  %440 = load ptr, ptr %6, align 8, !tbaa !5
  %441 = getelementptr inbounds %struct.w2c_hermes, ptr %440, i32 0, i32 6
  %442 = load i32, ptr %22, align 4, !tbaa !9
  %443 = zext i32 %442 to i64
  %444 = add i64 %443, 8
  %445 = call i32 @i32_load(ptr noundef %441, i64 noundef %444)
  store i32 %445, ptr %22, align 4, !tbaa !9
  %446 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %446, ptr %14, align 4, !tbaa !9
  br label %447

447:                                              ; preds = %423, %421, %411
  %448 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %448, ptr %22, align 4, !tbaa !9
  store i32 62, ptr %23, align 4, !tbaa !9
  %449 = load i32, ptr %22, align 4, !tbaa !9
  %450 = load i32, ptr %23, align 4, !tbaa !9
  %451 = icmp eq i32 %449, %450
  %452 = zext i1 %451 to i32
  store i32 %452, ptr %22, align 4, !tbaa !9
  %453 = load i32, ptr %22, align 4, !tbaa !9
  %454 = icmp ne i32 %453, 0
  br i1 %454, label %455, label %464

455:                                              ; preds = %447
  %456 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %456, ptr %22, align 4, !tbaa !9
  %457 = load ptr, ptr %6, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.w2c_hermes, ptr %457, i32 0, i32 6
  %459 = load i32, ptr %22, align 4, !tbaa !9
  %460 = zext i32 %459 to i64
  %461 = add i64 %460, 28
  %462 = call i32 @i32_load(ptr noundef %458, i64 noundef %461)
  store i32 %462, ptr %22, align 4, !tbaa !9
  %463 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %463, ptr %13, align 4, !tbaa !9
  br label %464

464:                                              ; preds = %455, %447
  %465 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %465, ptr %22, align 4, !tbaa !9
  %466 = load ptr, ptr %6, align 8, !tbaa !5
  %467 = getelementptr inbounds %struct.w2c_hermes, ptr %466, i32 0, i32 6
  %468 = load i32, ptr %22, align 4, !tbaa !9
  %469 = zext i32 %468 to i64
  %470 = add i64 %469, 28
  %471 = call i32 @i32_load(ptr noundef %467, i64 noundef %470)
  store i32 %471, ptr %22, align 4, !tbaa !9
  %472 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %472, ptr %14, align 4, !tbaa !9
  %473 = load ptr, ptr %6, align 8, !tbaa !5
  %474 = getelementptr inbounds %struct.w2c_hermes, ptr %473, i32 0, i32 6
  %475 = load i32, ptr %22, align 4, !tbaa !9
  %476 = zext i32 %475 to i64
  %477 = add i64 %476, 8
  %478 = call i32 @i32_load(ptr noundef %474, i64 noundef %477)
  store i32 %478, ptr %22, align 4, !tbaa !9
  store i32 62, ptr %23, align 4, !tbaa !9
  %479 = load i32, ptr %22, align 4, !tbaa !9
  %480 = load i32, ptr %23, align 4, !tbaa !9
  %481 = icmp ne i32 %479, %480
  %482 = zext i1 %481 to i32
  store i32 %482, ptr %22, align 4, !tbaa !9
  %483 = load i32, ptr %22, align 4, !tbaa !9
  %484 = icmp ne i32 %483, 0
  br i1 %484, label %485, label %486

485:                                              ; preds = %464
  br label %862

486:                                              ; preds = %464
  %487 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %487, ptr %22, align 4, !tbaa !9
  %488 = load ptr, ptr %6, align 8, !tbaa !5
  %489 = getelementptr inbounds %struct.w2c_hermes, ptr %488, i32 0, i32 6
  %490 = load i32, ptr %22, align 4, !tbaa !9
  %491 = zext i32 %490 to i64
  %492 = add i64 %491, 40
  %493 = call i32 @i32_load8_u(ptr noundef %489, i64 noundef %492)
  store i32 %493, ptr %22, align 4, !tbaa !9
  %494 = load i32, ptr %22, align 4, !tbaa !9
  %495 = icmp ne i32 %494, 0
  br i1 %495, label %496, label %497

496:                                              ; preds = %486
  br label %862

497:                                              ; preds = %486
  %498 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %498, ptr %22, align 4, !tbaa !9
  %499 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %499, ptr %23, align 4, !tbaa !9
  %500 = load ptr, ptr %6, align 8, !tbaa !5
  %501 = getelementptr inbounds %struct.w2c_hermes, ptr %500, i32 0, i32 6
  %502 = load i32, ptr %23, align 4, !tbaa !9
  %503 = zext i32 %502 to i64
  %504 = add i64 %503, 28
  %505 = call i32 @i32_load(ptr noundef %501, i64 noundef %504)
  store i32 %505, ptr %23, align 4, !tbaa !9
  %506 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %506, ptr %16, align 4, !tbaa !9
  %507 = load ptr, ptr %6, align 8, !tbaa !5
  %508 = load i32, ptr %22, align 4, !tbaa !9
  %509 = load i32, ptr %23, align 4, !tbaa !9
  %510 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralString0x28hermes0x3A0x3AIdentifier0x29(ptr noundef %507, i32 noundef %508, i32 noundef %509)
  store i32 %510, ptr %22, align 4, !tbaa !9
  %511 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %511, ptr %20, align 4, !tbaa !9
  %512 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %512, ptr %22, align 4, !tbaa !9
  %513 = load ptr, ptr %6, align 8, !tbaa !5
  %514 = getelementptr inbounds %struct.w2c_hermes, ptr %513, i32 0, i32 6
  %515 = load i32, ptr %22, align 4, !tbaa !9
  %516 = zext i32 %515 to i64
  %517 = add i64 %516, 68
  %518 = call i32 @i32_load(ptr noundef %514, i64 noundef %517)
  store i32 %518, ptr %22, align 4, !tbaa !9
  %519 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %519, ptr %14, align 4, !tbaa !9
  %520 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %520, ptr %23, align 4, !tbaa !9
  %521 = load ptr, ptr %6, align 8, !tbaa !5
  %522 = getelementptr inbounds %struct.w2c_hermes, ptr %521, i32 0, i32 6
  %523 = load i32, ptr %23, align 4, !tbaa !9
  %524 = zext i32 %523 to i64
  %525 = add i64 %524, 72
  %526 = call i32 @i32_load(ptr noundef %522, i64 noundef %525)
  store i32 %526, ptr %23, align 4, !tbaa !9
  %527 = load i32, ptr %22, align 4, !tbaa !9
  %528 = load i32, ptr %23, align 4, !tbaa !9
  %529 = icmp uge i32 %527, %528
  %530 = zext i1 %529 to i32
  store i32 %530, ptr %22, align 4, !tbaa !9
  %531 = load i32, ptr %22, align 4, !tbaa !9
  %532 = icmp ne i32 %531, 0
  br i1 %532, label %533, label %552

533:                                              ; preds = %497
  %534 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %534, ptr %22, align 4, !tbaa !9
  store i32 -64, ptr %23, align 4, !tbaa !9
  %535 = load i32, ptr %23, align 4, !tbaa !9
  %536 = load i32, ptr %22, align 4, !tbaa !9
  %537 = sub i32 %536, %535
  store i32 %537, ptr %22, align 4, !tbaa !9
  %538 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %538, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  store i32 4, ptr %25, align 4, !tbaa !9
  %539 = load ptr, ptr %6, align 8, !tbaa !5
  %540 = load i32, ptr %22, align 4, !tbaa !9
  %541 = load i32, ptr %23, align 4, !tbaa !9
  %542 = load i32, ptr %24, align 4, !tbaa !9
  %543 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %539, i32 noundef %540, i32 noundef %541, i32 noundef %542, i32 noundef %543)
  %544 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %544, ptr %22, align 4, !tbaa !9
  %545 = load ptr, ptr %6, align 8, !tbaa !5
  %546 = getelementptr inbounds %struct.w2c_hermes, ptr %545, i32 0, i32 6
  %547 = load i32, ptr %22, align 4, !tbaa !9
  %548 = zext i32 %547 to i64
  %549 = add i64 %548, 68
  %550 = call i32 @i32_load(ptr noundef %546, i64 noundef %549)
  store i32 %550, ptr %22, align 4, !tbaa !9
  %551 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %551, ptr %14, align 4, !tbaa !9
  br label %552

552:                                              ; preds = %533, %497
  %553 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %553, ptr %22, align 4, !tbaa !9
  %554 = load ptr, ptr %6, align 8, !tbaa !5
  %555 = getelementptr inbounds %struct.w2c_hermes, ptr %554, i32 0, i32 6
  %556 = load i32, ptr %22, align 4, !tbaa !9
  %557 = zext i32 %556 to i64
  %558 = add i64 %557, 64
  %559 = call i32 @i32_load(ptr noundef %555, i64 noundef %558)
  store i32 %559, ptr %22, align 4, !tbaa !9
  %560 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %560, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %561 = load i32, ptr %24, align 4, !tbaa !9
  %562 = and i32 %561, 31
  %563 = load i32, ptr %23, align 4, !tbaa !9
  %564 = shl i32 %563, %562
  store i32 %564, ptr %23, align 4, !tbaa !9
  %565 = load i32, ptr %23, align 4, !tbaa !9
  %566 = load i32, ptr %22, align 4, !tbaa !9
  %567 = add i32 %566, %565
  store i32 %567, ptr %22, align 4, !tbaa !9
  %568 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %568, ptr %23, align 4, !tbaa !9
  %569 = load ptr, ptr %6, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.w2c_hermes, ptr %569, i32 0, i32 6
  %571 = load i32, ptr %22, align 4, !tbaa !9
  %572 = zext i32 %571 to i64
  %573 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %570, i64 noundef %572, i32 noundef %573)
  %574 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %574, ptr %22, align 4, !tbaa !9
  %575 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %575, ptr %23, align 4, !tbaa !9
  %576 = load ptr, ptr %6, align 8, !tbaa !5
  %577 = getelementptr inbounds %struct.w2c_hermes, ptr %576, i32 0, i32 6
  %578 = load i32, ptr %23, align 4, !tbaa !9
  %579 = zext i32 %578 to i64
  %580 = add i64 %579, 68
  %581 = call i32 @i32_load(ptr noundef %577, i64 noundef %580)
  store i32 %581, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %582 = load i32, ptr %24, align 4, !tbaa !9
  %583 = load i32, ptr %23, align 4, !tbaa !9
  %584 = add i32 %583, %582
  store i32 %584, ptr %23, align 4, !tbaa !9
  %585 = load ptr, ptr %6, align 8, !tbaa !5
  %586 = getelementptr inbounds %struct.w2c_hermes, ptr %585, i32 0, i32 6
  %587 = load i32, ptr %22, align 4, !tbaa !9
  %588 = zext i32 %587 to i64
  %589 = add i64 %588, 68
  %590 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %586, i64 noundef %589, i32 noundef %590)
  %591 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %591, ptr %22, align 4, !tbaa !9
  store i32 32, ptr %23, align 4, !tbaa !9
  %592 = load i32, ptr %23, align 4, !tbaa !9
  %593 = load i32, ptr %22, align 4, !tbaa !9
  %594 = add i32 %593, %592
  store i32 %594, ptr %22, align 4, !tbaa !9
  %595 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %595, ptr %23, align 4, !tbaa !9
  %596 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %596, ptr %24, align 4, !tbaa !9
  %597 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %597, ptr %25, align 4, !tbaa !9
  %598 = load ptr, ptr %6, align 8, !tbaa !5
  %599 = load i32, ptr %22, align 4, !tbaa !9
  %600 = load i32, ptr %23, align 4, !tbaa !9
  %601 = load i32, ptr %24, align 4, !tbaa !9
  %602 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %598, i32 noundef %599, i32 noundef %600, i32 noundef %601, i32 noundef %602)
  %603 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %603, ptr %22, align 4, !tbaa !9
  %604 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %604, ptr %23, align 4, !tbaa !9
  %605 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %605, ptr %24, align 4, !tbaa !9
  %606 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %606, ptr %25, align 4, !tbaa !9
  %607 = load ptr, ptr %6, align 8, !tbaa !5
  %608 = load i32, ptr %23, align 4, !tbaa !9
  %609 = load i32, ptr %24, align 4, !tbaa !9
  %610 = load i32, ptr %25, align 4, !tbaa !9
  %611 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateLoadPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %607, i32 noundef %608, i32 noundef %609, i32 noundef %610)
  store i32 %611, ptr %23, align 4, !tbaa !9
  %612 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %612, ptr %9, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %613 = load i32, ptr %24, align 4, !tbaa !9
  %614 = load i32, ptr %23, align 4, !tbaa !9
  %615 = add i32 %614, %613
  store i32 %615, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %616 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %616, ptr %25, align 4, !tbaa !9
  %617 = load i32, ptr %25, align 4, !tbaa !9
  %618 = icmp ne i32 %617, 0
  br i1 %618, label %619, label %621

619:                                              ; preds = %552
  %620 = load i32, ptr %23, align 4, !tbaa !9
  br label %623

621:                                              ; preds = %552
  %622 = load i32, ptr %24, align 4, !tbaa !9
  br label %623

623:                                              ; preds = %621, %619
  %624 = phi i32 [ %620, %619 ], [ %622, %621 ]
  store i32 %624, ptr %23, align 4, !tbaa !9
  %625 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %625, ptr %24, align 4, !tbaa !9
  %626 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %626, ptr %25, align 4, !tbaa !9
  %627 = load ptr, ptr %6, align 8, !tbaa !5
  %628 = load i32, ptr %22, align 4, !tbaa !9
  %629 = load i32, ptr %23, align 4, !tbaa !9
  %630 = load i32, ptr %24, align 4, !tbaa !9
  %631 = load i32, ptr %25, align 4, !tbaa !9
  %632 = call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitOptionalInitialization0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %627, i32 noundef %628, i32 noundef %629, i32 noundef %630, i32 noundef %631)
  store i32 %632, ptr %22, align 4, !tbaa !9
  %633 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %633, ptr %13, align 4, !tbaa !9
  %634 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %634, ptr %22, align 4, !tbaa !9
  %635 = load ptr, ptr %6, align 8, !tbaa !5
  %636 = getelementptr inbounds %struct.w2c_hermes, ptr %635, i32 0, i32 6
  %637 = load i32, ptr %22, align 4, !tbaa !9
  %638 = zext i32 %637 to i64
  %639 = add i64 %638, 36
  %640 = call i32 @i32_load(ptr noundef %636, i64 noundef %639)
  store i32 %640, ptr %22, align 4, !tbaa !9
  %641 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %641, ptr %9, align 4, !tbaa !9
  %642 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %642, ptr %22, align 4, !tbaa !9
  %643 = load ptr, ptr %6, align 8, !tbaa !5
  %644 = getelementptr inbounds %struct.w2c_hermes, ptr %643, i32 0, i32 6
  %645 = load i32, ptr %22, align 4, !tbaa !9
  %646 = zext i32 %645 to i64
  %647 = add i64 %646, 32
  %648 = call i32 @i32_load(ptr noundef %644, i64 noundef %647)
  store i32 %648, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %23, align 4, !tbaa !9
  %649 = load i32, ptr %23, align 4, !tbaa !9
  %650 = load i32, ptr %22, align 4, !tbaa !9
  %651 = sub i32 %650, %649
  store i32 %651, ptr %22, align 4, !tbaa !9
  %652 = load i32, ptr %22, align 4, !tbaa !9
  switch i32 %652, label %657 [
    i32 0, label %653
    i32 1, label %654
    i32 2, label %655
    i32 3, label %656
  ]

653:                                              ; preds = %623
  br label %658

654:                                              ; preds = %623
  br label %684

655:                                              ; preds = %623
  br label %1225

656:                                              ; preds = %623
  br label %706

657:                                              ; preds = %623
  br label %1225

658:                                              ; preds = %653
  %659 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %659, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %660 = load i32, ptr %23, align 4, !tbaa !9
  %661 = load i32, ptr %22, align 4, !tbaa !9
  %662 = add i32 %661, %660
  store i32 %662, ptr %22, align 4, !tbaa !9
  %663 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %663, ptr %23, align 4, !tbaa !9
  %664 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %664, ptr %24, align 4, !tbaa !9
  %665 = load ptr, ptr %6, align 8, !tbaa !5
  %666 = getelementptr inbounds %struct.w2c_hermes, ptr %665, i32 0, i32 6
  %667 = load i32, ptr %24, align 4, !tbaa !9
  %668 = zext i32 %667 to i64
  %669 = add i64 %668, 44
  %670 = call i32 @i32_load(ptr noundef %666, i64 noundef %669)
  store i32 %670, ptr %24, align 4, !tbaa !9
  %671 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %671, ptr %25, align 4, !tbaa !9
  %672 = load ptr, ptr %6, align 8, !tbaa !5
  %673 = getelementptr inbounds %struct.w2c_hermes, ptr %672, i32 0, i32 6
  %674 = load i32, ptr %25, align 4, !tbaa !9
  %675 = zext i32 %674 to i64
  %676 = add i64 %675, 48
  %677 = call i32 @i32_load(ptr noundef %673, i64 noundef %676)
  store i32 %677, ptr %25, align 4, !tbaa !9
  %678 = load ptr, ptr %6, align 8, !tbaa !5
  %679 = load i32, ptr %22, align 4, !tbaa !9
  %680 = load i32, ptr %23, align 4, !tbaa !9
  %681 = load i32, ptr %24, align 4, !tbaa !9
  %682 = load i32, ptr %25, align 4, !tbaa !9
  %683 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %678, i32 noundef %679, i32 noundef %680, i32 noundef %681, i32 noundef %682)
  store i32 %683, ptr %22, align 4, !tbaa !9
  br label %1225

684:                                              ; preds = %654
  %685 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %685, ptr %22, align 4, !tbaa !9
  %686 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %686, ptr %23, align 4, !tbaa !9
  %687 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %687, ptr %24, align 4, !tbaa !9
  %688 = load ptr, ptr %6, align 8, !tbaa !5
  %689 = getelementptr inbounds %struct.w2c_hermes, ptr %688, i32 0, i32 6
  %690 = load i32, ptr %24, align 4, !tbaa !9
  %691 = zext i32 %690 to i64
  %692 = add i64 %691, 44
  %693 = call i32 @i32_load(ptr noundef %689, i64 noundef %692)
  store i32 %693, ptr %24, align 4, !tbaa !9
  %694 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %694, ptr %25, align 4, !tbaa !9
  %695 = load ptr, ptr %6, align 8, !tbaa !5
  %696 = getelementptr inbounds %struct.w2c_hermes, ptr %695, i32 0, i32 6
  %697 = load i32, ptr %25, align 4, !tbaa !9
  %698 = zext i32 %697 to i64
  %699 = add i64 %698, 40
  %700 = call i32 @i32_load8_u(ptr noundef %696, i64 noundef %699)
  store i32 %700, ptr %25, align 4, !tbaa !9
  %701 = load ptr, ptr %6, align 8, !tbaa !5
  %702 = load i32, ptr %22, align 4, !tbaa !9
  %703 = load i32, ptr %23, align 4, !tbaa !9
  %704 = load i32, ptr %24, align 4, !tbaa !9
  %705 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %701, i32 noundef %702, i32 noundef %703, i32 noundef %704, i32 noundef %705)
  br label %1225

706:                                              ; preds = %656
  %707 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %707, ptr %22, align 4, !tbaa !9
  %708 = load ptr, ptr %6, align 8, !tbaa !5
  %709 = getelementptr inbounds %struct.w2c_hermes, ptr %708, i32 0, i32 6
  %710 = load i32, ptr %22, align 4, !tbaa !9
  %711 = zext i32 %710 to i64
  %712 = add i64 %711, 44
  %713 = call i32 @i32_load(ptr noundef %709, i64 noundef %712)
  store i32 %713, ptr %22, align 4, !tbaa !9
  %714 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %714, ptr %14, align 4, !tbaa !9
  %715 = load ptr, ptr %6, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.w2c_hermes, ptr %715, i32 0, i32 6
  %717 = load i32, ptr %22, align 4, !tbaa !9
  %718 = zext i32 %717 to i64
  %719 = add i64 %718, 8
  %720 = call i32 @i32_load(ptr noundef %716, i64 noundef %719)
  store i32 %720, ptr %22, align 4, !tbaa !9
  %721 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %721, ptr %15, align 4, !tbaa !9
  %722 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %722, ptr %22, align 4, !tbaa !9
  %723 = load ptr, ptr %6, align 8, !tbaa !5
  %724 = getelementptr inbounds %struct.w2c_hermes, ptr %723, i32 0, i32 6
  %725 = load i32, ptr %22, align 4, !tbaa !9
  %726 = zext i32 %725 to i64
  %727 = add i64 %726, 40
  %728 = call i32 @i32_load8_u(ptr noundef %724, i64 noundef %727)
  store i32 %728, ptr %22, align 4, !tbaa !9
  %729 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %729, ptr %16, align 4, !tbaa !9
  %730 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %730, ptr %22, align 4, !tbaa !9
  %731 = load i32, ptr %22, align 4, !tbaa !9
  %732 = icmp ne i32 %731, 0
  %733 = xor i1 %732, true
  %734 = zext i1 %733 to i32
  store i32 %734, ptr %22, align 4, !tbaa !9
  %735 = load i32, ptr %22, align 4, !tbaa !9
  %736 = icmp ne i32 %735, 0
  br i1 %736, label %737, label %738

737:                                              ; preds = %706
  br label %761

738:                                              ; preds = %706
  %739 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %739, ptr %22, align 4, !tbaa !9
  store i32 91, ptr %23, align 4, !tbaa !9
  %740 = load i32, ptr %22, align 4, !tbaa !9
  %741 = load i32, ptr %23, align 4, !tbaa !9
  %742 = icmp ne i32 %740, %741
  %743 = zext i1 %742 to i32
  store i32 %743, ptr %22, align 4, !tbaa !9
  %744 = load i32, ptr %22, align 4, !tbaa !9
  %745 = icmp ne i32 %744, 0
  br i1 %745, label %746, label %747

746:                                              ; preds = %738
  br label %761

747:                                              ; preds = %738
  %748 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %748, ptr %22, align 4, !tbaa !9
  %749 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %749, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %750 = load i32, ptr %23, align 4, !tbaa !9
  %751 = load i32, ptr %24, align 4, !tbaa !9
  %752 = icmp ne i32 %750, %751
  %753 = zext i1 %752 to i32
  store i32 %753, ptr %23, align 4, !tbaa !9
  %754 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %754, ptr %24, align 4, !tbaa !9
  %755 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %755, ptr %25, align 4, !tbaa !9
  %756 = load ptr, ptr %6, align 8, !tbaa !5
  %757 = load i32, ptr %22, align 4, !tbaa !9
  %758 = load i32, ptr %23, align 4, !tbaa !9
  %759 = load i32, ptr %24, align 4, !tbaa !9
  %760 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %756, i32 noundef %757, i32 noundef %758, i32 noundef %759, i32 noundef %760)
  br label %1225

761:                                              ; preds = %746, %737
  %762 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %762, ptr %22, align 4, !tbaa !9
  %763 = load i32, ptr %22, align 4, !tbaa !9
  %764 = icmp ne i32 %763, 0
  %765 = xor i1 %764, true
  %766 = zext i1 %765 to i32
  store i32 %766, ptr %22, align 4, !tbaa !9
  %767 = load i32, ptr %22, align 4, !tbaa !9
  %768 = icmp ne i32 %767, 0
  br i1 %768, label %769, label %770

769:                                              ; preds = %761
  br label %793

770:                                              ; preds = %761
  %771 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %771, ptr %22, align 4, !tbaa !9
  store i32 90, ptr %23, align 4, !tbaa !9
  %772 = load i32, ptr %22, align 4, !tbaa !9
  %773 = load i32, ptr %23, align 4, !tbaa !9
  %774 = icmp ne i32 %772, %773
  %775 = zext i1 %774 to i32
  store i32 %775, ptr %22, align 4, !tbaa !9
  %776 = load i32, ptr %22, align 4, !tbaa !9
  %777 = icmp ne i32 %776, 0
  br i1 %777, label %778, label %779

778:                                              ; preds = %770
  br label %793

779:                                              ; preds = %770
  %780 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %780, ptr %22, align 4, !tbaa !9
  %781 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %781, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %782 = load i32, ptr %23, align 4, !tbaa !9
  %783 = load i32, ptr %24, align 4, !tbaa !9
  %784 = icmp ne i32 %782, %783
  %785 = zext i1 %784 to i32
  store i32 %785, ptr %23, align 4, !tbaa !9
  %786 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %786, ptr %24, align 4, !tbaa !9
  %787 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %787, ptr %25, align 4, !tbaa !9
  %788 = load ptr, ptr %6, align 8, !tbaa !5
  %789 = load i32, ptr %22, align 4, !tbaa !9
  %790 = load i32, ptr %23, align 4, !tbaa !9
  %791 = load i32, ptr %24, align 4, !tbaa !9
  %792 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %788, i32 noundef %789, i32 noundef %790, i32 noundef %791, i32 noundef %792)
  br label %1225

793:                                              ; preds = %778, %769
  %794 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %794, ptr %22, align 4, !tbaa !9
  %795 = load ptr, ptr %6, align 8, !tbaa !5
  %796 = getelementptr inbounds %struct.w2c_hermes, ptr %795, i32 0, i32 6
  %797 = load i32, ptr %22, align 4, !tbaa !9
  %798 = zext i32 %797 to i64
  %799 = call i32 @i32_load(ptr noundef %796, i64 noundef %798)
  store i32 %799, ptr %22, align 4, !tbaa !9
  %800 = load ptr, ptr %6, align 8, !tbaa !5
  %801 = getelementptr inbounds %struct.w2c_hermes, ptr %800, i32 0, i32 6
  %802 = load i32, ptr %22, align 4, !tbaa !9
  %803 = zext i32 %802 to i64
  %804 = add i64 %803, 28
  %805 = call i32 @i32_load(ptr noundef %801, i64 noundef %804)
  store i32 %805, ptr %22, align 4, !tbaa !9
  %806 = load ptr, ptr %6, align 8, !tbaa !5
  %807 = getelementptr inbounds %struct.w2c_hermes, ptr %806, i32 0, i32 6
  %808 = load i32, ptr %22, align 4, !tbaa !9
  %809 = zext i32 %808 to i64
  %810 = add i64 %809, 72
  %811 = call i32 @i32_load(ptr noundef %807, i64 noundef %810)
  store i32 %811, ptr %22, align 4, !tbaa !9
  %812 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %812, ptr %9, align 4, !tbaa !9
  %813 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %813, ptr %22, align 4, !tbaa !9
  %814 = load ptr, ptr %6, align 8, !tbaa !5
  %815 = getelementptr inbounds %struct.w2c_hermes, ptr %814, i32 0, i32 6
  %816 = load i32, ptr %22, align 4, !tbaa !9
  %817 = zext i32 %816 to i64
  %818 = add i64 %817, 16
  %819 = call i64 @i64_load(ptr noundef %815, i64 noundef %818)
  store i64 %819, ptr %27, align 8, !tbaa !11
  %820 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %820, ptr %21, align 8, !tbaa !11
  %821 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %821, ptr %22, align 4, !tbaa !9
  store i32 29154, ptr %23, align 4, !tbaa !9
  %822 = load ptr, ptr %6, align 8, !tbaa !5
  %823 = getelementptr inbounds %struct.w2c_hermes, ptr %822, i32 0, i32 6
  %824 = load i32, ptr %22, align 4, !tbaa !9
  %825 = zext i32 %824 to i64
  %826 = add i64 %825, 92
  %827 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %823, i64 noundef %826, i32 noundef %827)
  %828 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %828, ptr %22, align 4, !tbaa !9
  store i32 259, ptr %23, align 4, !tbaa !9
  %829 = load ptr, ptr %6, align 8, !tbaa !5
  %830 = getelementptr inbounds %struct.w2c_hermes, ptr %829, i32 0, i32 6
  %831 = load i32, ptr %22, align 4, !tbaa !9
  %832 = zext i32 %831 to i64
  %833 = add i64 %832, 100
  %834 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %830, i64 noundef %833, i32 noundef %834)
  %835 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %835, ptr %22, align 4, !tbaa !9
  %836 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %836, ptr %28, align 8, !tbaa !11
  %837 = load ptr, ptr %6, align 8, !tbaa !5
  %838 = getelementptr inbounds %struct.w2c_hermes, ptr %837, i32 0, i32 6
  %839 = load i32, ptr %22, align 4, !tbaa !9
  %840 = zext i32 %839 to i64
  %841 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %838, i64 noundef %840, i64 noundef %841)
  %842 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %842, ptr %22, align 4, !tbaa !9
  %843 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %843, ptr %28, align 8, !tbaa !11
  %844 = load ptr, ptr %6, align 8, !tbaa !5
  %845 = getelementptr inbounds %struct.w2c_hermes, ptr %844, i32 0, i32 6
  %846 = load i32, ptr %22, align 4, !tbaa !9
  %847 = zext i32 %846 to i64
  %848 = add i64 %847, 104
  %849 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %845, i64 noundef %848, i64 noundef %849)
  %850 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %850, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %851 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %851, ptr %24, align 4, !tbaa !9
  %852 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %852, ptr %25, align 4, !tbaa !9
  store i32 92, ptr %26, align 4, !tbaa !9
  %853 = load i32, ptr %26, align 4, !tbaa !9
  %854 = load i32, ptr %25, align 4, !tbaa !9
  %855 = add i32 %854, %853
  store i32 %855, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %856 = load ptr, ptr %6, align 8, !tbaa !5
  %857 = load i32, ptr %22, align 4, !tbaa !9
  %858 = load i32, ptr %23, align 4, !tbaa !9
  %859 = load i32, ptr %24, align 4, !tbaa !9
  %860 = load i32, ptr %25, align 4, !tbaa !9
  %861 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %856, i32 noundef %857, i32 noundef %858, i32 noundef %859, i32 noundef %860, i32 noundef %861)
  br label %1225

862:                                              ; preds = %496, %485
  %863 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %863, ptr %22, align 4, !tbaa !9
  %864 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %864, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %865 = load ptr, ptr %6, align 8, !tbaa !5
  %866 = load i32, ptr %22, align 4, !tbaa !9
  %867 = load i32, ptr %23, align 4, !tbaa !9
  %868 = load i32, ptr %24, align 4, !tbaa !9
  %869 = call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AgenExpression0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %865, i32 noundef %866, i32 noundef %867, i32 noundef %868)
  store i32 %869, ptr %22, align 4, !tbaa !9
  %870 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %870, ptr %14, align 4, !tbaa !9
  %871 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %871, ptr %22, align 4, !tbaa !9
  %872 = load ptr, ptr %6, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.w2c_hermes, ptr %872, i32 0, i32 6
  %874 = load i32, ptr %22, align 4, !tbaa !9
  %875 = zext i32 %874 to i64
  %876 = add i64 %875, 68
  %877 = call i32 @i32_load(ptr noundef %873, i64 noundef %876)
  store i32 %877, ptr %22, align 4, !tbaa !9
  %878 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %878, ptr %16, align 4, !tbaa !9
  %879 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %879, ptr %23, align 4, !tbaa !9
  %880 = load ptr, ptr %6, align 8, !tbaa !5
  %881 = getelementptr inbounds %struct.w2c_hermes, ptr %880, i32 0, i32 6
  %882 = load i32, ptr %23, align 4, !tbaa !9
  %883 = zext i32 %882 to i64
  %884 = add i64 %883, 72
  %885 = call i32 @i32_load(ptr noundef %881, i64 noundef %884)
  store i32 %885, ptr %23, align 4, !tbaa !9
  %886 = load i32, ptr %22, align 4, !tbaa !9
  %887 = load i32, ptr %23, align 4, !tbaa !9
  %888 = icmp uge i32 %886, %887
  %889 = zext i1 %888 to i32
  store i32 %889, ptr %22, align 4, !tbaa !9
  %890 = load i32, ptr %22, align 4, !tbaa !9
  %891 = icmp ne i32 %890, 0
  br i1 %891, label %892, label %911

892:                                              ; preds = %862
  %893 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %893, ptr %22, align 4, !tbaa !9
  store i32 -64, ptr %23, align 4, !tbaa !9
  %894 = load i32, ptr %23, align 4, !tbaa !9
  %895 = load i32, ptr %22, align 4, !tbaa !9
  %896 = sub i32 %895, %894
  store i32 %896, ptr %22, align 4, !tbaa !9
  %897 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %897, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  store i32 4, ptr %25, align 4, !tbaa !9
  %898 = load ptr, ptr %6, align 8, !tbaa !5
  %899 = load i32, ptr %22, align 4, !tbaa !9
  %900 = load i32, ptr %23, align 4, !tbaa !9
  %901 = load i32, ptr %24, align 4, !tbaa !9
  %902 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %898, i32 noundef %899, i32 noundef %900, i32 noundef %901, i32 noundef %902)
  %903 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %903, ptr %22, align 4, !tbaa !9
  %904 = load ptr, ptr %6, align 8, !tbaa !5
  %905 = getelementptr inbounds %struct.w2c_hermes, ptr %904, i32 0, i32 6
  %906 = load i32, ptr %22, align 4, !tbaa !9
  %907 = zext i32 %906 to i64
  %908 = add i64 %907, 68
  %909 = call i32 @i32_load(ptr noundef %905, i64 noundef %908)
  store i32 %909, ptr %22, align 4, !tbaa !9
  %910 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %910, ptr %16, align 4, !tbaa !9
  br label %911

911:                                              ; preds = %892, %862
  %912 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %912, ptr %22, align 4, !tbaa !9
  %913 = load ptr, ptr %6, align 8, !tbaa !5
  %914 = getelementptr inbounds %struct.w2c_hermes, ptr %913, i32 0, i32 6
  %915 = load i32, ptr %22, align 4, !tbaa !9
  %916 = zext i32 %915 to i64
  %917 = add i64 %916, 64
  %918 = call i32 @i32_load(ptr noundef %914, i64 noundef %917)
  store i32 %918, ptr %22, align 4, !tbaa !9
  %919 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %919, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %920 = load i32, ptr %24, align 4, !tbaa !9
  %921 = and i32 %920, 31
  %922 = load i32, ptr %23, align 4, !tbaa !9
  %923 = shl i32 %922, %921
  store i32 %923, ptr %23, align 4, !tbaa !9
  %924 = load i32, ptr %23, align 4, !tbaa !9
  %925 = load i32, ptr %22, align 4, !tbaa !9
  %926 = add i32 %925, %924
  store i32 %926, ptr %22, align 4, !tbaa !9
  %927 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %927, ptr %23, align 4, !tbaa !9
  %928 = load ptr, ptr %6, align 8, !tbaa !5
  %929 = getelementptr inbounds %struct.w2c_hermes, ptr %928, i32 0, i32 6
  %930 = load i32, ptr %22, align 4, !tbaa !9
  %931 = zext i32 %930 to i64
  %932 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %929, i64 noundef %931, i32 noundef %932)
  %933 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %933, ptr %22, align 4, !tbaa !9
  %934 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %934, ptr %23, align 4, !tbaa !9
  %935 = load ptr, ptr %6, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.w2c_hermes, ptr %935, i32 0, i32 6
  %937 = load i32, ptr %23, align 4, !tbaa !9
  %938 = zext i32 %937 to i64
  %939 = add i64 %938, 68
  %940 = call i32 @i32_load(ptr noundef %936, i64 noundef %939)
  store i32 %940, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %941 = load i32, ptr %24, align 4, !tbaa !9
  %942 = load i32, ptr %23, align 4, !tbaa !9
  %943 = add i32 %942, %941
  store i32 %943, ptr %23, align 4, !tbaa !9
  %944 = load ptr, ptr %6, align 8, !tbaa !5
  %945 = getelementptr inbounds %struct.w2c_hermes, ptr %944, i32 0, i32 6
  %946 = load i32, ptr %22, align 4, !tbaa !9
  %947 = zext i32 %946 to i64
  %948 = add i64 %947, 68
  %949 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %945, i64 noundef %948, i32 noundef %949)
  %950 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %950, ptr %22, align 4, !tbaa !9
  store i32 32, ptr %23, align 4, !tbaa !9
  %951 = load i32, ptr %23, align 4, !tbaa !9
  %952 = load i32, ptr %22, align 4, !tbaa !9
  %953 = add i32 %952, %951
  store i32 %953, ptr %22, align 4, !tbaa !9
  %954 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %954, ptr %23, align 4, !tbaa !9
  %955 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %955, ptr %24, align 4, !tbaa !9
  %956 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %956, ptr %25, align 4, !tbaa !9
  %957 = load ptr, ptr %6, align 8, !tbaa !5
  %958 = load i32, ptr %22, align 4, !tbaa !9
  %959 = load i32, ptr %23, align 4, !tbaa !9
  %960 = load i32, ptr %24, align 4, !tbaa !9
  %961 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %957, i32 noundef %958, i32 noundef %959, i32 noundef %960, i32 noundef %961)
  %962 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %962, ptr %22, align 4, !tbaa !9
  %963 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %963, ptr %23, align 4, !tbaa !9
  %964 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %964, ptr %24, align 4, !tbaa !9
  %965 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %965, ptr %25, align 4, !tbaa !9
  %966 = load ptr, ptr %6, align 8, !tbaa !5
  %967 = load i32, ptr %23, align 4, !tbaa !9
  %968 = load i32, ptr %24, align 4, !tbaa !9
  %969 = load i32, ptr %25, align 4, !tbaa !9
  %970 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateLoadPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %966, i32 noundef %967, i32 noundef %968, i32 noundef %969)
  store i32 %970, ptr %23, align 4, !tbaa !9
  %971 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %971, ptr %9, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %972 = load i32, ptr %24, align 4, !tbaa !9
  %973 = load i32, ptr %23, align 4, !tbaa !9
  %974 = add i32 %973, %972
  store i32 %974, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %975 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %975, ptr %25, align 4, !tbaa !9
  %976 = load i32, ptr %25, align 4, !tbaa !9
  %977 = icmp ne i32 %976, 0
  br i1 %977, label %978, label %980

978:                                              ; preds = %911
  %979 = load i32, ptr %23, align 4, !tbaa !9
  br label %982

980:                                              ; preds = %911
  %981 = load i32, ptr %24, align 4, !tbaa !9
  br label %982

982:                                              ; preds = %980, %978
  %983 = phi i32 [ %979, %978 ], [ %981, %980 ]
  store i32 %983, ptr %23, align 4, !tbaa !9
  %984 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %984, ptr %24, align 4, !tbaa !9
  %985 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %985, ptr %25, align 4, !tbaa !9
  %986 = load ptr, ptr %6, align 8, !tbaa !5
  %987 = load i32, ptr %22, align 4, !tbaa !9
  %988 = load i32, ptr %23, align 4, !tbaa !9
  %989 = load i32, ptr %24, align 4, !tbaa !9
  %990 = load i32, ptr %25, align 4, !tbaa !9
  %991 = call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitOptionalInitialization0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %986, i32 noundef %987, i32 noundef %988, i32 noundef %989, i32 noundef %990)
  store i32 %991, ptr %22, align 4, !tbaa !9
  %992 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %992, ptr %13, align 4, !tbaa !9
  %993 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %993, ptr %22, align 4, !tbaa !9
  %994 = load ptr, ptr %6, align 8, !tbaa !5
  %995 = getelementptr inbounds %struct.w2c_hermes, ptr %994, i32 0, i32 6
  %996 = load i32, ptr %22, align 4, !tbaa !9
  %997 = zext i32 %996 to i64
  %998 = add i64 %997, 36
  %999 = call i32 @i32_load(ptr noundef %995, i64 noundef %998)
  store i32 %999, ptr %22, align 4, !tbaa !9
  %1000 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1000, ptr %9, align 4, !tbaa !9
  %1001 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1001, ptr %22, align 4, !tbaa !9
  %1002 = load ptr, ptr %6, align 8, !tbaa !5
  %1003 = getelementptr inbounds %struct.w2c_hermes, ptr %1002, i32 0, i32 6
  %1004 = load i32, ptr %22, align 4, !tbaa !9
  %1005 = zext i32 %1004 to i64
  %1006 = add i64 %1005, 32
  %1007 = call i32 @i32_load(ptr noundef %1003, i64 noundef %1006)
  store i32 %1007, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %23, align 4, !tbaa !9
  %1008 = load i32, ptr %23, align 4, !tbaa !9
  %1009 = load i32, ptr %22, align 4, !tbaa !9
  %1010 = sub i32 %1009, %1008
  store i32 %1010, ptr %22, align 4, !tbaa !9
  %1011 = load i32, ptr %22, align 4, !tbaa !9
  switch i32 %1011, label %1016 [
    i32 0, label %1012
    i32 1, label %1013
    i32 2, label %1014
    i32 3, label %1015
  ]

1012:                                             ; preds = %982
  br label %1017

1013:                                             ; preds = %982
  br label %1043

1014:                                             ; preds = %982
  br label %1225

1015:                                             ; preds = %982
  br label %1065

1016:                                             ; preds = %982
  br label %1225

1017:                                             ; preds = %1012
  %1018 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1018, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1019 = load i32, ptr %23, align 4, !tbaa !9
  %1020 = load i32, ptr %22, align 4, !tbaa !9
  %1021 = add i32 %1020, %1019
  store i32 %1021, ptr %22, align 4, !tbaa !9
  %1022 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1022, ptr %23, align 4, !tbaa !9
  %1023 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1023, ptr %24, align 4, !tbaa !9
  %1024 = load ptr, ptr %6, align 8, !tbaa !5
  %1025 = getelementptr inbounds %struct.w2c_hermes, ptr %1024, i32 0, i32 6
  %1026 = load i32, ptr %24, align 4, !tbaa !9
  %1027 = zext i32 %1026 to i64
  %1028 = add i64 %1027, 44
  %1029 = call i32 @i32_load(ptr noundef %1025, i64 noundef %1028)
  store i32 %1029, ptr %24, align 4, !tbaa !9
  %1030 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1030, ptr %25, align 4, !tbaa !9
  %1031 = load ptr, ptr %6, align 8, !tbaa !5
  %1032 = getelementptr inbounds %struct.w2c_hermes, ptr %1031, i32 0, i32 6
  %1033 = load i32, ptr %25, align 4, !tbaa !9
  %1034 = zext i32 %1033 to i64
  %1035 = add i64 %1034, 48
  %1036 = call i32 @i32_load(ptr noundef %1032, i64 noundef %1035)
  store i32 %1036, ptr %25, align 4, !tbaa !9
  %1037 = load ptr, ptr %6, align 8, !tbaa !5
  %1038 = load i32, ptr %22, align 4, !tbaa !9
  %1039 = load i32, ptr %23, align 4, !tbaa !9
  %1040 = load i32, ptr %24, align 4, !tbaa !9
  %1041 = load i32, ptr %25, align 4, !tbaa !9
  %1042 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1037, i32 noundef %1038, i32 noundef %1039, i32 noundef %1040, i32 noundef %1041)
  store i32 %1042, ptr %22, align 4, !tbaa !9
  br label %1225

1043:                                             ; preds = %1013
  %1044 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1044, ptr %22, align 4, !tbaa !9
  %1045 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1045, ptr %23, align 4, !tbaa !9
  %1046 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1046, ptr %24, align 4, !tbaa !9
  %1047 = load ptr, ptr %6, align 8, !tbaa !5
  %1048 = getelementptr inbounds %struct.w2c_hermes, ptr %1047, i32 0, i32 6
  %1049 = load i32, ptr %24, align 4, !tbaa !9
  %1050 = zext i32 %1049 to i64
  %1051 = add i64 %1050, 44
  %1052 = call i32 @i32_load(ptr noundef %1048, i64 noundef %1051)
  store i32 %1052, ptr %24, align 4, !tbaa !9
  %1053 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1053, ptr %25, align 4, !tbaa !9
  %1054 = load ptr, ptr %6, align 8, !tbaa !5
  %1055 = getelementptr inbounds %struct.w2c_hermes, ptr %1054, i32 0, i32 6
  %1056 = load i32, ptr %25, align 4, !tbaa !9
  %1057 = zext i32 %1056 to i64
  %1058 = add i64 %1057, 40
  %1059 = call i32 @i32_load8_u(ptr noundef %1055, i64 noundef %1058)
  store i32 %1059, ptr %25, align 4, !tbaa !9
  %1060 = load ptr, ptr %6, align 8, !tbaa !5
  %1061 = load i32, ptr %22, align 4, !tbaa !9
  %1062 = load i32, ptr %23, align 4, !tbaa !9
  %1063 = load i32, ptr %24, align 4, !tbaa !9
  %1064 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %1060, i32 noundef %1061, i32 noundef %1062, i32 noundef %1063, i32 noundef %1064)
  br label %1225

1065:                                             ; preds = %1015
  %1066 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1066, ptr %22, align 4, !tbaa !9
  %1067 = load ptr, ptr %6, align 8, !tbaa !5
  %1068 = getelementptr inbounds %struct.w2c_hermes, ptr %1067, i32 0, i32 6
  %1069 = load i32, ptr %22, align 4, !tbaa !9
  %1070 = zext i32 %1069 to i64
  %1071 = add i64 %1070, 44
  %1072 = call i32 @i32_load(ptr noundef %1068, i64 noundef %1071)
  store i32 %1072, ptr %22, align 4, !tbaa !9
  %1073 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1073, ptr %14, align 4, !tbaa !9
  %1074 = load ptr, ptr %6, align 8, !tbaa !5
  %1075 = getelementptr inbounds %struct.w2c_hermes, ptr %1074, i32 0, i32 6
  %1076 = load i32, ptr %22, align 4, !tbaa !9
  %1077 = zext i32 %1076 to i64
  %1078 = add i64 %1077, 8
  %1079 = call i32 @i32_load(ptr noundef %1075, i64 noundef %1078)
  store i32 %1079, ptr %22, align 4, !tbaa !9
  %1080 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1080, ptr %15, align 4, !tbaa !9
  %1081 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1081, ptr %22, align 4, !tbaa !9
  %1082 = load ptr, ptr %6, align 8, !tbaa !5
  %1083 = getelementptr inbounds %struct.w2c_hermes, ptr %1082, i32 0, i32 6
  %1084 = load i32, ptr %22, align 4, !tbaa !9
  %1085 = zext i32 %1084 to i64
  %1086 = add i64 %1085, 40
  %1087 = call i32 @i32_load8_u(ptr noundef %1083, i64 noundef %1086)
  store i32 %1087, ptr %22, align 4, !tbaa !9
  %1088 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1088, ptr %16, align 4, !tbaa !9
  %1089 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1089, ptr %22, align 4, !tbaa !9
  %1090 = load i32, ptr %22, align 4, !tbaa !9
  %1091 = icmp ne i32 %1090, 0
  %1092 = xor i1 %1091, true
  %1093 = zext i1 %1092 to i32
  store i32 %1093, ptr %22, align 4, !tbaa !9
  %1094 = load i32, ptr %22, align 4, !tbaa !9
  %1095 = icmp ne i32 %1094, 0
  br i1 %1095, label %1096, label %1097

1096:                                             ; preds = %1065
  br label %1120

1097:                                             ; preds = %1065
  %1098 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1098, ptr %22, align 4, !tbaa !9
  store i32 91, ptr %23, align 4, !tbaa !9
  %1099 = load i32, ptr %22, align 4, !tbaa !9
  %1100 = load i32, ptr %23, align 4, !tbaa !9
  %1101 = icmp ne i32 %1099, %1100
  %1102 = zext i1 %1101 to i32
  store i32 %1102, ptr %22, align 4, !tbaa !9
  %1103 = load i32, ptr %22, align 4, !tbaa !9
  %1104 = icmp ne i32 %1103, 0
  br i1 %1104, label %1105, label %1106

1105:                                             ; preds = %1097
  br label %1120

1106:                                             ; preds = %1097
  %1107 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1107, ptr %22, align 4, !tbaa !9
  %1108 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1108, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1109 = load i32, ptr %23, align 4, !tbaa !9
  %1110 = load i32, ptr %24, align 4, !tbaa !9
  %1111 = icmp ne i32 %1109, %1110
  %1112 = zext i1 %1111 to i32
  store i32 %1112, ptr %23, align 4, !tbaa !9
  %1113 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1113, ptr %24, align 4, !tbaa !9
  %1114 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1114, ptr %25, align 4, !tbaa !9
  %1115 = load ptr, ptr %6, align 8, !tbaa !5
  %1116 = load i32, ptr %22, align 4, !tbaa !9
  %1117 = load i32, ptr %23, align 4, !tbaa !9
  %1118 = load i32, ptr %24, align 4, !tbaa !9
  %1119 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1115, i32 noundef %1116, i32 noundef %1117, i32 noundef %1118, i32 noundef %1119)
  br label %1225

1120:                                             ; preds = %1105, %1096
  %1121 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1121, ptr %22, align 4, !tbaa !9
  %1122 = load i32, ptr %22, align 4, !tbaa !9
  %1123 = icmp ne i32 %1122, 0
  %1124 = xor i1 %1123, true
  %1125 = zext i1 %1124 to i32
  store i32 %1125, ptr %22, align 4, !tbaa !9
  %1126 = load i32, ptr %22, align 4, !tbaa !9
  %1127 = icmp ne i32 %1126, 0
  br i1 %1127, label %1128, label %1129

1128:                                             ; preds = %1120
  br label %1152

1129:                                             ; preds = %1120
  %1130 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1130, ptr %22, align 4, !tbaa !9
  store i32 90, ptr %23, align 4, !tbaa !9
  %1131 = load i32, ptr %22, align 4, !tbaa !9
  %1132 = load i32, ptr %23, align 4, !tbaa !9
  %1133 = icmp ne i32 %1131, %1132
  %1134 = zext i1 %1133 to i32
  store i32 %1134, ptr %22, align 4, !tbaa !9
  %1135 = load i32, ptr %22, align 4, !tbaa !9
  %1136 = icmp ne i32 %1135, 0
  br i1 %1136, label %1137, label %1138

1137:                                             ; preds = %1129
  br label %1152

1138:                                             ; preds = %1129
  %1139 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1139, ptr %22, align 4, !tbaa !9
  %1140 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1140, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1141 = load i32, ptr %23, align 4, !tbaa !9
  %1142 = load i32, ptr %24, align 4, !tbaa !9
  %1143 = icmp ne i32 %1141, %1142
  %1144 = zext i1 %1143 to i32
  store i32 %1144, ptr %23, align 4, !tbaa !9
  %1145 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1145, ptr %24, align 4, !tbaa !9
  %1146 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1146, ptr %25, align 4, !tbaa !9
  %1147 = load ptr, ptr %6, align 8, !tbaa !5
  %1148 = load i32, ptr %22, align 4, !tbaa !9
  %1149 = load i32, ptr %23, align 4, !tbaa !9
  %1150 = load i32, ptr %24, align 4, !tbaa !9
  %1151 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1147, i32 noundef %1148, i32 noundef %1149, i32 noundef %1150, i32 noundef %1151)
  br label %1225

1152:                                             ; preds = %1137, %1128
  %1153 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1153, ptr %22, align 4, !tbaa !9
  %1154 = load ptr, ptr %6, align 8, !tbaa !5
  %1155 = getelementptr inbounds %struct.w2c_hermes, ptr %1154, i32 0, i32 6
  %1156 = load i32, ptr %22, align 4, !tbaa !9
  %1157 = zext i32 %1156 to i64
  %1158 = call i32 @i32_load(ptr noundef %1155, i64 noundef %1157)
  store i32 %1158, ptr %22, align 4, !tbaa !9
  %1159 = load ptr, ptr %6, align 8, !tbaa !5
  %1160 = getelementptr inbounds %struct.w2c_hermes, ptr %1159, i32 0, i32 6
  %1161 = load i32, ptr %22, align 4, !tbaa !9
  %1162 = zext i32 %1161 to i64
  %1163 = add i64 %1162, 28
  %1164 = call i32 @i32_load(ptr noundef %1160, i64 noundef %1163)
  store i32 %1164, ptr %22, align 4, !tbaa !9
  %1165 = load ptr, ptr %6, align 8, !tbaa !5
  %1166 = getelementptr inbounds %struct.w2c_hermes, ptr %1165, i32 0, i32 6
  %1167 = load i32, ptr %22, align 4, !tbaa !9
  %1168 = zext i32 %1167 to i64
  %1169 = add i64 %1168, 72
  %1170 = call i32 @i32_load(ptr noundef %1166, i64 noundef %1169)
  store i32 %1170, ptr %22, align 4, !tbaa !9
  %1171 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1171, ptr %9, align 4, !tbaa !9
  %1172 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1172, ptr %22, align 4, !tbaa !9
  %1173 = load ptr, ptr %6, align 8, !tbaa !5
  %1174 = getelementptr inbounds %struct.w2c_hermes, ptr %1173, i32 0, i32 6
  %1175 = load i32, ptr %22, align 4, !tbaa !9
  %1176 = zext i32 %1175 to i64
  %1177 = add i64 %1176, 16
  %1178 = call i64 @i64_load(ptr noundef %1174, i64 noundef %1177)
  store i64 %1178, ptr %27, align 8, !tbaa !11
  %1179 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %1179, ptr %21, align 8, !tbaa !11
  %1180 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1180, ptr %22, align 4, !tbaa !9
  store i32 29154, ptr %23, align 4, !tbaa !9
  %1181 = load ptr, ptr %6, align 8, !tbaa !5
  %1182 = getelementptr inbounds %struct.w2c_hermes, ptr %1181, i32 0, i32 6
  %1183 = load i32, ptr %22, align 4, !tbaa !9
  %1184 = zext i32 %1183 to i64
  %1185 = add i64 %1184, 92
  %1186 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1182, i64 noundef %1185, i32 noundef %1186)
  %1187 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1187, ptr %22, align 4, !tbaa !9
  store i32 259, ptr %23, align 4, !tbaa !9
  %1188 = load ptr, ptr %6, align 8, !tbaa !5
  %1189 = getelementptr inbounds %struct.w2c_hermes, ptr %1188, i32 0, i32 6
  %1190 = load i32, ptr %22, align 4, !tbaa !9
  %1191 = zext i32 %1190 to i64
  %1192 = add i64 %1191, 100
  %1193 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1189, i64 noundef %1192, i32 noundef %1193)
  %1194 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1194, ptr %22, align 4, !tbaa !9
  %1195 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1195, ptr %28, align 8, !tbaa !11
  %1196 = load ptr, ptr %6, align 8, !tbaa !5
  %1197 = getelementptr inbounds %struct.w2c_hermes, ptr %1196, i32 0, i32 6
  %1198 = load i32, ptr %22, align 4, !tbaa !9
  %1199 = zext i32 %1198 to i64
  %1200 = add i64 %1199, 8
  %1201 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1197, i64 noundef %1200, i64 noundef %1201)
  %1202 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1202, ptr %22, align 4, !tbaa !9
  %1203 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1203, ptr %28, align 8, !tbaa !11
  %1204 = load ptr, ptr %6, align 8, !tbaa !5
  %1205 = getelementptr inbounds %struct.w2c_hermes, ptr %1204, i32 0, i32 6
  %1206 = load i32, ptr %22, align 4, !tbaa !9
  %1207 = zext i32 %1206 to i64
  %1208 = add i64 %1207, 104
  %1209 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1205, i64 noundef %1208, i64 noundef %1209)
  %1210 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1210, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1211 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1211, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %1212 = load i32, ptr %25, align 4, !tbaa !9
  %1213 = load i32, ptr %24, align 4, !tbaa !9
  %1214 = add i32 %1213, %1212
  store i32 %1214, ptr %24, align 4, !tbaa !9
  %1215 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1215, ptr %25, align 4, !tbaa !9
  store i32 92, ptr %26, align 4, !tbaa !9
  %1216 = load i32, ptr %26, align 4, !tbaa !9
  %1217 = load i32, ptr %25, align 4, !tbaa !9
  %1218 = add i32 %1217, %1216
  store i32 %1218, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %1219 = load ptr, ptr %6, align 8, !tbaa !5
  %1220 = load i32, ptr %22, align 4, !tbaa !9
  %1221 = load i32, ptr %23, align 4, !tbaa !9
  %1222 = load i32, ptr %24, align 4, !tbaa !9
  %1223 = load i32, ptr %25, align 4, !tbaa !9
  %1224 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %1219, i32 noundef %1220, i32 noundef %1221, i32 noundef %1222, i32 noundef %1223, i32 noundef %1224)
  br label %1225

1225:                                             ; preds = %1152, %1138, %1106, %1043, %1017, %1016, %1014, %793, %779, %747, %684, %658, %657, %655
  %1226 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1226, ptr %22, align 4, !tbaa !9
  %1227 = load ptr, ptr %6, align 8, !tbaa !5
  %1228 = getelementptr inbounds %struct.w2c_hermes, ptr %1227, i32 0, i32 6
  %1229 = load i32, ptr %22, align 4, !tbaa !9
  %1230 = zext i32 %1229 to i64
  %1231 = add i64 %1230, 4
  %1232 = call i32 @i32_load(ptr noundef %1228, i64 noundef %1231)
  store i32 %1232, ptr %22, align 4, !tbaa !9
  %1233 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1233, ptr %12, align 4, !tbaa !9
  %1234 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1234, ptr %23, align 4, !tbaa !9
  %1235 = load i32, ptr %22, align 4, !tbaa !9
  %1236 = load i32, ptr %23, align 4, !tbaa !9
  %1237 = icmp ne i32 %1235, %1236
  %1238 = zext i1 %1237 to i32
  store i32 %1238, ptr %22, align 4, !tbaa !9
  %1239 = load i32, ptr %22, align 4, !tbaa !9
  %1240 = icmp ne i32 %1239, 0
  br i1 %1240, label %1241, label %1242

1241:                                             ; preds = %1225
  br label %367

1242:                                             ; preds = %1225
  br label %2084

1243:                                             ; preds = %385
  %1244 = load ptr, ptr %6, align 8, !tbaa !5
  %1245 = getelementptr inbounds %struct.w2c_hermes, ptr %1244, i32 0, i32 3
  %1246 = load i32, ptr %1245, align 8, !tbaa !13
  store i32 %1246, ptr %22, align 4, !tbaa !9
  store i32 128, ptr %23, align 4, !tbaa !9
  %1247 = load i32, ptr %23, align 4, !tbaa !9
  %1248 = load i32, ptr %22, align 4, !tbaa !9
  %1249 = sub i32 %1248, %1247
  store i32 %1249, ptr %22, align 4, !tbaa !9
  %1250 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1250, ptr %9, align 4, !tbaa !9
  %1251 = load i32, ptr %22, align 4, !tbaa !9
  %1252 = load ptr, ptr %6, align 8, !tbaa !5
  %1253 = getelementptr inbounds %struct.w2c_hermes, ptr %1252, i32 0, i32 3
  store i32 %1251, ptr %1253, align 8, !tbaa !13
  %1254 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1254, ptr %22, align 4, !tbaa !9
  store i32 84, ptr %23, align 4, !tbaa !9
  %1255 = load i32, ptr %23, align 4, !tbaa !9
  %1256 = load i32, ptr %22, align 4, !tbaa !9
  %1257 = add i32 %1256, %1255
  store i32 %1257, ptr %22, align 4, !tbaa !9
  %1258 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1258, ptr %23, align 4, !tbaa !9
  %1259 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1259, ptr %24, align 4, !tbaa !9
  %1260 = load ptr, ptr %6, align 8, !tbaa !5
  %1261 = getelementptr inbounds %struct.w2c_hermes, ptr %1260, i32 0, i32 6
  %1262 = load i32, ptr %24, align 4, !tbaa !9
  %1263 = zext i32 %1262 to i64
  %1264 = add i64 %1263, 28
  %1265 = call i32 @i32_load(ptr noundef %1261, i64 noundef %1264)
  store i32 %1265, ptr %24, align 4, !tbaa !9
  %1266 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1266, ptr %25, align 4, !tbaa !9
  %1267 = load ptr, ptr %6, align 8, !tbaa !5
  %1268 = load i32, ptr %22, align 4, !tbaa !9
  %1269 = load i32, ptr %23, align 4, !tbaa !9
  %1270 = load i32, ptr %24, align 4, !tbaa !9
  %1271 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %1267, i32 noundef %1268, i32 noundef %1269, i32 noundef %1270, i32 noundef %1271)
  %1272 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1272, ptr %22, align 4, !tbaa !9
  store i64 17179869184, ptr %28, align 8, !tbaa !11
  %1273 = load ptr, ptr %6, align 8, !tbaa !5
  %1274 = getelementptr inbounds %struct.w2c_hermes, ptr %1273, i32 0, i32 6
  %1275 = load i32, ptr %22, align 4, !tbaa !9
  %1276 = zext i32 %1275 to i64
  %1277 = add i64 %1276, 60
  %1278 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1274, i64 noundef %1277, i64 noundef %1278)
  %1279 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1279, ptr %22, align 4, !tbaa !9
  %1280 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1280, ptr %23, align 4, !tbaa !9
  store i32 68, ptr %24, align 4, !tbaa !9
  %1281 = load i32, ptr %24, align 4, !tbaa !9
  %1282 = load i32, ptr %23, align 4, !tbaa !9
  %1283 = add i32 %1282, %1281
  store i32 %1283, ptr %23, align 4, !tbaa !9
  %1284 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1284, ptr %14, align 4, !tbaa !9
  %1285 = load ptr, ptr %6, align 8, !tbaa !5
  %1286 = getelementptr inbounds %struct.w2c_hermes, ptr %1285, i32 0, i32 6
  %1287 = load i32, ptr %22, align 4, !tbaa !9
  %1288 = zext i32 %1287 to i64
  %1289 = add i64 %1288, 56
  %1290 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1286, i64 noundef %1289, i32 noundef %1290)
  %1291 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1291, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1292 = load ptr, ptr %6, align 8, !tbaa !5
  %1293 = getelementptr inbounds %struct.w2c_hermes, ptr %1292, i32 0, i32 6
  %1294 = load i32, ptr %22, align 4, !tbaa !9
  %1295 = zext i32 %1294 to i64
  %1296 = add i64 %1295, 48
  %1297 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1293, i64 noundef %1296, i32 noundef %1297)
  %1298 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1298, ptr %22, align 4, !tbaa !9
  store i64 0, ptr %28, align 8, !tbaa !11
  %1299 = load ptr, ptr %6, align 8, !tbaa !5
  %1300 = getelementptr inbounds %struct.w2c_hermes, ptr %1299, i32 0, i32 6
  %1301 = load i32, ptr %22, align 4, !tbaa !9
  %1302 = zext i32 %1301 to i64
  %1303 = add i64 %1302, 40
  %1304 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1300, i64 noundef %1303, i64 noundef %1304)
  %1305 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1305, ptr %22, align 4, !tbaa !9
  store i64 0, ptr %28, align 8, !tbaa !11
  %1306 = load ptr, ptr %6, align 8, !tbaa !5
  %1307 = getelementptr inbounds %struct.w2c_hermes, ptr %1306, i32 0, i32 6
  %1308 = load i32, ptr %22, align 4, !tbaa !9
  %1309 = zext i32 %1308 to i64
  %1310 = add i64 %1309, 32
  %1311 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1307, i64 noundef %1310, i64 noundef %1311)
  %1312 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1312, ptr %22, align 4, !tbaa !9
  store i64 0, ptr %28, align 8, !tbaa !11
  %1313 = load ptr, ptr %6, align 8, !tbaa !5
  %1314 = getelementptr inbounds %struct.w2c_hermes, ptr %1313, i32 0, i32 6
  %1315 = load i32, ptr %22, align 4, !tbaa !9
  %1316 = zext i32 %1315 to i64
  %1317 = add i64 %1316, 24
  %1318 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1314, i64 noundef %1317, i64 noundef %1318)
  %1319 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1319, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1320 = load i32, ptr %23, align 4, !tbaa !9
  %1321 = load i32, ptr %22, align 4, !tbaa !9
  %1322 = add i32 %1321, %1320
  store i32 %1322, ptr %22, align 4, !tbaa !9
  %1323 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1323, ptr %8, align 4, !tbaa !9
  %1324 = load ptr, ptr %6, align 8, !tbaa !5
  %1325 = load i32, ptr %22, align 4, !tbaa !9
  %1326 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralPositiveZero0x280x29(ptr noundef %1324, i32 noundef %1325)
  store i32 %1326, ptr %22, align 4, !tbaa !9
  %1327 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1327, ptr %15, align 4, !tbaa !9
  %1328 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1328, ptr %22, align 4, !tbaa !9
  store i32 -64, ptr %23, align 4, !tbaa !9
  %1329 = load i32, ptr %23, align 4, !tbaa !9
  %1330 = load i32, ptr %22, align 4, !tbaa !9
  %1331 = sub i32 %1330, %1329
  store i32 %1331, ptr %22, align 4, !tbaa !9
  %1332 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1332, ptr %12, align 4, !tbaa !9
  %1333 = load ptr, ptr %6, align 8, !tbaa !5
  %1334 = getelementptr inbounds %struct.w2c_hermes, ptr %1333, i32 0, i32 6
  %1335 = load i32, ptr %22, align 4, !tbaa !9
  %1336 = zext i32 %1335 to i64
  %1337 = add i64 %1336, 4
  %1338 = call i32 @i32_load(ptr noundef %1334, i64 noundef %1337)
  store i32 %1338, ptr %22, align 4, !tbaa !9
  %1339 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1339, ptr %13, align 4, !tbaa !9
  %1340 = load i32, ptr %22, align 4, !tbaa !9
  %1341 = icmp ne i32 %1340, 0
  br i1 %1341, label %1342, label %1504

1342:                                             ; preds = %1243
  %1343 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1343, ptr %22, align 4, !tbaa !9
  %1344 = load ptr, ptr %6, align 8, !tbaa !5
  %1345 = getelementptr inbounds %struct.w2c_hermes, ptr %1344, i32 0, i32 6
  %1346 = load i32, ptr %22, align 4, !tbaa !9
  %1347 = zext i32 %1346 to i64
  %1348 = call i32 @i32_load(ptr noundef %1345, i64 noundef %1347)
  store i32 %1348, ptr %22, align 4, !tbaa !9
  %1349 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1349, ptr %7, align 4, !tbaa !9
  %1350 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1350, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1351 = load i32, ptr %24, align 4, !tbaa !9
  %1352 = and i32 %1351, 31
  %1353 = load i32, ptr %23, align 4, !tbaa !9
  %1354 = shl i32 %1353, %1352
  store i32 %1354, ptr %23, align 4, !tbaa !9
  %1355 = load i32, ptr %23, align 4, !tbaa !9
  %1356 = load i32, ptr %22, align 4, !tbaa !9
  %1357 = add i32 %1356, %1355
  store i32 %1357, ptr %22, align 4, !tbaa !9
  %1358 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1358, ptr %18, align 4, !tbaa !9
  br label %1359

1359:                                             ; preds = %1491, %1342
  %1360 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1360, ptr %22, align 4, !tbaa !9
  %1361 = load ptr, ptr %6, align 8, !tbaa !5
  %1362 = getelementptr inbounds %struct.w2c_hermes, ptr %1361, i32 0, i32 6
  %1363 = load i32, ptr %22, align 4, !tbaa !9
  %1364 = zext i32 %1363 to i64
  %1365 = call i32 @i32_load(ptr noundef %1362, i64 noundef %1364)
  store i32 %1365, ptr %22, align 4, !tbaa !9
  %1366 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1366, ptr %17, align 4, !tbaa !9
  %1367 = load ptr, ptr %6, align 8, !tbaa !5
  %1368 = getelementptr inbounds %struct.w2c_hermes, ptr %1367, i32 0, i32 6
  %1369 = load i32, ptr %22, align 4, !tbaa !9
  %1370 = zext i32 %1369 to i64
  %1371 = call i32 @i32_load8_u(ptr noundef %1368, i64 noundef %1370)
  store i32 %1371, ptr %22, align 4, !tbaa !9
  store i32 116, ptr %23, align 4, !tbaa !9
  %1372 = load i32, ptr %22, align 4, !tbaa !9
  %1373 = load i32, ptr %23, align 4, !tbaa !9
  %1374 = icmp eq i32 %1372, %1373
  %1375 = zext i1 %1374 to i32
  store i32 %1375, ptr %22, align 4, !tbaa !9
  %1376 = load i32, ptr %22, align 4, !tbaa !9
  %1377 = icmp ne i32 %1376, 0
  br i1 %1377, label %1378, label %1398

1378:                                             ; preds = %1359
  %1379 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1379, ptr %22, align 4, !tbaa !9
  %1380 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1380, ptr %23, align 4, !tbaa !9
  %1381 = load ptr, ptr %6, align 8, !tbaa !5
  %1382 = getelementptr inbounds %struct.w2c_hermes, ptr %1381, i32 0, i32 6
  %1383 = load i32, ptr %22, align 4, !tbaa !9
  %1384 = zext i32 %1383 to i64
  %1385 = add i64 %1384, 108
  %1386 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1382, i64 noundef %1385, i32 noundef %1386)
  %1387 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1387, ptr %22, align 4, !tbaa !9
  store i32 24, ptr %23, align 4, !tbaa !9
  %1388 = load i32, ptr %23, align 4, !tbaa !9
  %1389 = load i32, ptr %22, align 4, !tbaa !9
  %1390 = add i32 %1389, %1388
  store i32 %1390, ptr %22, align 4, !tbaa !9
  %1391 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1391, ptr %23, align 4, !tbaa !9
  store i32 108, ptr %24, align 4, !tbaa !9
  %1392 = load i32, ptr %24, align 4, !tbaa !9
  %1393 = load i32, ptr %23, align 4, !tbaa !9
  %1394 = add i32 %1393, %1392
  store i32 %1394, ptr %23, align 4, !tbaa !9
  %1395 = load ptr, ptr %6, align 8, !tbaa !5
  %1396 = load i32, ptr %22, align 4, !tbaa !9
  %1397 = load i32, ptr %23, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASetVector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x2C0x20llvh0x3A0x3ADenseSet0x3Chermes0x3A0x3AFunction0x2A0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x3E0x3A0x3Ainsert0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(ptr noundef %1395, i32 noundef %1396, i32 noundef %1397)
  br label %1478

1398:                                             ; preds = %1359
  %1399 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1399, ptr %22, align 4, !tbaa !9
  %1400 = load ptr, ptr %6, align 8, !tbaa !5
  %1401 = getelementptr inbounds %struct.w2c_hermes, ptr %1400, i32 0, i32 6
  %1402 = load i32, ptr %22, align 4, !tbaa !9
  %1403 = zext i32 %1402 to i64
  %1404 = add i64 %1403, 60
  %1405 = call i32 @i32_load(ptr noundef %1401, i64 noundef %1404)
  store i32 %1405, ptr %22, align 4, !tbaa !9
  %1406 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1406, ptr %13, align 4, !tbaa !9
  %1407 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1407, ptr %23, align 4, !tbaa !9
  %1408 = load ptr, ptr %6, align 8, !tbaa !5
  %1409 = getelementptr inbounds %struct.w2c_hermes, ptr %1408, i32 0, i32 6
  %1410 = load i32, ptr %23, align 4, !tbaa !9
  %1411 = zext i32 %1410 to i64
  %1412 = add i64 %1411, 64
  %1413 = call i32 @i32_load(ptr noundef %1409, i64 noundef %1412)
  store i32 %1413, ptr %23, align 4, !tbaa !9
  %1414 = load i32, ptr %22, align 4, !tbaa !9
  %1415 = load i32, ptr %23, align 4, !tbaa !9
  %1416 = icmp uge i32 %1414, %1415
  %1417 = zext i1 %1416 to i32
  store i32 %1417, ptr %22, align 4, !tbaa !9
  %1418 = load i32, ptr %22, align 4, !tbaa !9
  %1419 = icmp ne i32 %1418, 0
  br i1 %1419, label %1420, label %1439

1420:                                             ; preds = %1398
  %1421 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1421, ptr %22, align 4, !tbaa !9
  store i32 56, ptr %23, align 4, !tbaa !9
  %1422 = load i32, ptr %23, align 4, !tbaa !9
  %1423 = load i32, ptr %22, align 4, !tbaa !9
  %1424 = add i32 %1423, %1422
  store i32 %1424, ptr %22, align 4, !tbaa !9
  %1425 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1425, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  store i32 4, ptr %25, align 4, !tbaa !9
  %1426 = load ptr, ptr %6, align 8, !tbaa !5
  %1427 = load i32, ptr %22, align 4, !tbaa !9
  %1428 = load i32, ptr %23, align 4, !tbaa !9
  %1429 = load i32, ptr %24, align 4, !tbaa !9
  %1430 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %1426, i32 noundef %1427, i32 noundef %1428, i32 noundef %1429, i32 noundef %1430)
  %1431 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1431, ptr %22, align 4, !tbaa !9
  %1432 = load ptr, ptr %6, align 8, !tbaa !5
  %1433 = getelementptr inbounds %struct.w2c_hermes, ptr %1432, i32 0, i32 6
  %1434 = load i32, ptr %22, align 4, !tbaa !9
  %1435 = zext i32 %1434 to i64
  %1436 = add i64 %1435, 60
  %1437 = call i32 @i32_load(ptr noundef %1433, i64 noundef %1436)
  store i32 %1437, ptr %22, align 4, !tbaa !9
  %1438 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1438, ptr %13, align 4, !tbaa !9
  br label %1439

1439:                                             ; preds = %1420, %1398
  %1440 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1440, ptr %22, align 4, !tbaa !9
  %1441 = load ptr, ptr %6, align 8, !tbaa !5
  %1442 = getelementptr inbounds %struct.w2c_hermes, ptr %1441, i32 0, i32 6
  %1443 = load i32, ptr %22, align 4, !tbaa !9
  %1444 = zext i32 %1443 to i64
  %1445 = add i64 %1444, 56
  %1446 = call i32 @i32_load(ptr noundef %1442, i64 noundef %1445)
  store i32 %1446, ptr %22, align 4, !tbaa !9
  %1447 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1447, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1448 = load i32, ptr %24, align 4, !tbaa !9
  %1449 = and i32 %1448, 31
  %1450 = load i32, ptr %23, align 4, !tbaa !9
  %1451 = shl i32 %1450, %1449
  store i32 %1451, ptr %23, align 4, !tbaa !9
  %1452 = load i32, ptr %23, align 4, !tbaa !9
  %1453 = load i32, ptr %22, align 4, !tbaa !9
  %1454 = add i32 %1453, %1452
  store i32 %1454, ptr %22, align 4, !tbaa !9
  %1455 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1455, ptr %23, align 4, !tbaa !9
  %1456 = load ptr, ptr %6, align 8, !tbaa !5
  %1457 = getelementptr inbounds %struct.w2c_hermes, ptr %1456, i32 0, i32 6
  %1458 = load i32, ptr %22, align 4, !tbaa !9
  %1459 = zext i32 %1458 to i64
  %1460 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1457, i64 noundef %1459, i32 noundef %1460)
  %1461 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1461, ptr %22, align 4, !tbaa !9
  %1462 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1462, ptr %23, align 4, !tbaa !9
  %1463 = load ptr, ptr %6, align 8, !tbaa !5
  %1464 = getelementptr inbounds %struct.w2c_hermes, ptr %1463, i32 0, i32 6
  %1465 = load i32, ptr %23, align 4, !tbaa !9
  %1466 = zext i32 %1465 to i64
  %1467 = add i64 %1466, 60
  %1468 = call i32 @i32_load(ptr noundef %1464, i64 noundef %1467)
  store i32 %1468, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %24, align 4, !tbaa !9
  %1469 = load i32, ptr %24, align 4, !tbaa !9
  %1470 = load i32, ptr %23, align 4, !tbaa !9
  %1471 = add i32 %1470, %1469
  store i32 %1471, ptr %23, align 4, !tbaa !9
  %1472 = load ptr, ptr %6, align 8, !tbaa !5
  %1473 = getelementptr inbounds %struct.w2c_hermes, ptr %1472, i32 0, i32 6
  %1474 = load i32, ptr %22, align 4, !tbaa !9
  %1475 = zext i32 %1474 to i64
  %1476 = add i64 %1475, 60
  %1477 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1473, i64 noundef %1476, i32 noundef %1477)
  br label %1478

1478:                                             ; preds = %1439, %1378
  %1479 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1479, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1480 = load i32, ptr %23, align 4, !tbaa !9
  %1481 = load i32, ptr %22, align 4, !tbaa !9
  %1482 = add i32 %1481, %1480
  store i32 %1482, ptr %22, align 4, !tbaa !9
  %1483 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1483, ptr %7, align 4, !tbaa !9
  %1484 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1484, ptr %23, align 4, !tbaa !9
  %1485 = load i32, ptr %22, align 4, !tbaa !9
  %1486 = load i32, ptr %23, align 4, !tbaa !9
  %1487 = icmp ne i32 %1485, %1486
  %1488 = zext i1 %1487 to i32
  store i32 %1488, ptr %22, align 4, !tbaa !9
  %1489 = load i32, ptr %22, align 4, !tbaa !9
  %1490 = icmp ne i32 %1489, 0
  br i1 %1490, label %1491, label %1492

1491:                                             ; preds = %1478
  br label %1359

1492:                                             ; preds = %1478
  %1493 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1493, ptr %22, align 4, !tbaa !9
  %1494 = load ptr, ptr %6, align 8, !tbaa !5
  %1495 = getelementptr inbounds %struct.w2c_hermes, ptr %1494, i32 0, i32 6
  %1496 = load i32, ptr %22, 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 %22, align 4, !tbaa !9
  %1500 = load i32, ptr %22, align 4, !tbaa !9
  %1501 = icmp ne i32 %1500, 0
  br i1 %1501, label %1502, label %1503

1502:                                             ; preds = %1492
  br label %1515

1503:                                             ; preds = %1492
  br label %1504

1504:                                             ; preds = %1503, %1243
  %1505 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1505, ptr %22, align 4, !tbaa !9
  %1506 = load ptr, ptr %6, align 8, !tbaa !5
  %1507 = getelementptr inbounds %struct.w2c_hermes, ptr %1506, i32 0, i32 6
  %1508 = load i32, ptr %22, align 4, !tbaa !9
  %1509 = zext i32 %1508 to i64
  %1510 = call i32 @i32_load(ptr noundef %1507, i64 noundef %1509)
  store i32 %1510, ptr %22, align 4, !tbaa !9
  store i32 268, ptr %23, align 4, !tbaa !9
  %1511 = load i32, ptr %23, align 4, !tbaa !9
  %1512 = load i32, ptr %22, align 4, !tbaa !9
  %1513 = add i32 %1512, %1511
  store i32 %1513, ptr %22, align 4, !tbaa !9
  %1514 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1514, ptr %12, align 4, !tbaa !9
  br label %1692

1515:                                             ; preds = %1502
  %1516 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1516, ptr %22, align 4, !tbaa !9
  %1517 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1517, ptr %23, align 4, !tbaa !9
  %1518 = load ptr, ptr %6, align 8, !tbaa !5
  %1519 = getelementptr inbounds %struct.w2c_hermes, ptr %1518, i32 0, i32 6
  %1520 = load i32, ptr %23, align 4, !tbaa !9
  %1521 = zext i32 %1520 to i64
  %1522 = add i64 %1521, 60
  %1523 = call i32 @i32_load(ptr noundef %1519, i64 noundef %1522)
  store i32 %1523, ptr %23, align 4, !tbaa !9
  %1524 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1524, ptr %24, align 4, !tbaa !9
  %1525 = load ptr, ptr %6, align 8, !tbaa !5
  %1526 = getelementptr inbounds %struct.w2c_hermes, ptr %1525, i32 0, i32 6
  %1527 = load i32, ptr %24, align 4, !tbaa !9
  %1528 = zext i32 %1527 to i64
  %1529 = add i64 %1528, 44
  %1530 = call i32 @i32_load(ptr noundef %1526, i64 noundef %1529)
  store i32 %1530, ptr %24, align 4, !tbaa !9
  %1531 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1531, ptr %25, align 4, !tbaa !9
  %1532 = load ptr, ptr %6, align 8, !tbaa !5
  %1533 = getelementptr inbounds %struct.w2c_hermes, ptr %1532, i32 0, i32 6
  %1534 = load i32, ptr %25, align 4, !tbaa !9
  %1535 = zext i32 %1534 to i64
  %1536 = add i64 %1535, 40
  %1537 = call i32 @i32_load(ptr noundef %1533, i64 noundef %1536)
  store i32 %1537, ptr %25, align 4, !tbaa !9
  %1538 = load i32, ptr %25, align 4, !tbaa !9
  %1539 = load i32, ptr %24, align 4, !tbaa !9
  %1540 = sub i32 %1539, %1538
  store i32 %1540, ptr %24, align 4, !tbaa !9
  store i32 2, ptr %25, align 4, !tbaa !9
  %1541 = load i32, ptr %24, align 4, !tbaa !9
  %1542 = load i32, ptr %25, align 4, !tbaa !9
  %1543 = and i32 %1542, 31
  %1544 = ashr i32 %1541, %1543
  store i32 %1544, ptr %24, align 4, !tbaa !9
  %1545 = load i32, ptr %24, align 4, !tbaa !9
  %1546 = load i32, ptr %23, align 4, !tbaa !9
  %1547 = add i32 %1546, %1545
  store i32 %1547, ptr %23, align 4, !tbaa !9
  %1548 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1548, ptr %24, align 4, !tbaa !9
  %1549 = load ptr, ptr %6, align 8, !tbaa !5
  %1550 = getelementptr inbounds %struct.w2c_hermes, ptr %1549, i32 0, i32 6
  %1551 = load i32, ptr %24, align 4, !tbaa !9
  %1552 = zext i32 %1551 to i64
  %1553 = call i32 @i32_load(ptr noundef %1550, i64 noundef %1552)
  store i32 %1553, ptr %24, align 4, !tbaa !9
  store i32 296, ptr %25, align 4, !tbaa !9
  %1554 = load i32, ptr %25, align 4, !tbaa !9
  %1555 = load i32, ptr %24, align 4, !tbaa !9
  %1556 = add i32 %1555, %1554
  store i32 %1556, ptr %24, align 4, !tbaa !9
  %1557 = load ptr, ptr %6, align 8, !tbaa !5
  %1558 = load i32, ptr %22, align 4, !tbaa !9
  %1559 = load i32, ptr %23, align 4, !tbaa !9
  %1560 = load i32, ptr %24, align 4, !tbaa !9
  %1561 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateAllocObjectInst0x28unsigned0x20int0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1557, i32 noundef %1558, i32 noundef %1559, i32 noundef %1560)
  store i32 %1561, ptr %22, align 4, !tbaa !9
  %1562 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1562, ptr %7, align 4, !tbaa !9
  store i32 8, ptr %23, align 4, !tbaa !9
  %1563 = load i32, ptr %23, align 4, !tbaa !9
  %1564 = load i32, ptr %22, align 4, !tbaa !9
  %1565 = add i32 %1564, %1563
  store i32 %1565, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1566 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1566, ptr %24, align 4, !tbaa !9
  %1567 = load i32, ptr %24, align 4, !tbaa !9
  %1568 = icmp ne i32 %1567, 0
  br i1 %1568, label %1569, label %1571

1569:                                             ; preds = %1515
  %1570 = load i32, ptr %22, align 4, !tbaa !9
  br label %1573

1571:                                             ; preds = %1515
  %1572 = load i32, ptr %23, align 4, !tbaa !9
  br label %1573

1573:                                             ; preds = %1571, %1569
  %1574 = phi i32 [ %1570, %1569 ], [ %1572, %1571 ]
  store i32 %1574, ptr %22, align 4, !tbaa !9
  %1575 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1575, ptr %12, align 4, !tbaa !9
  %1576 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1576, ptr %22, align 4, !tbaa !9
  %1577 = load ptr, ptr %6, align 8, !tbaa !5
  %1578 = getelementptr inbounds %struct.w2c_hermes, ptr %1577, i32 0, i32 6
  %1579 = load i32, ptr %22, align 4, !tbaa !9
  %1580 = zext i32 %1579 to i64
  %1581 = add i64 %1580, 40
  %1582 = call i32 @i32_load(ptr noundef %1578, i64 noundef %1581)
  store i32 %1582, ptr %22, align 4, !tbaa !9
  %1583 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1583, ptr %7, align 4, !tbaa !9
  %1584 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1584, ptr %23, align 4, !tbaa !9
  %1585 = load ptr, ptr %6, align 8, !tbaa !5
  %1586 = getelementptr inbounds %struct.w2c_hermes, ptr %1585, i32 0, i32 6
  %1587 = load i32, ptr %23, align 4, !tbaa !9
  %1588 = zext i32 %1587 to i64
  %1589 = add i64 %1588, 44
  %1590 = call i32 @i32_load(ptr noundef %1586, i64 noundef %1589)
  store i32 %1590, ptr %23, align 4, !tbaa !9
  %1591 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1591, ptr %13, align 4, !tbaa !9
  %1592 = load i32, ptr %22, align 4, !tbaa !9
  %1593 = load i32, ptr %23, align 4, !tbaa !9
  %1594 = icmp ne i32 %1592, %1593
  %1595 = zext i1 %1594 to i32
  store i32 %1595, ptr %22, align 4, !tbaa !9
  %1596 = load i32, ptr %22, align 4, !tbaa !9
  %1597 = icmp ne i32 %1596, 0
  br i1 %1597, label %1598, label %1628

1598:                                             ; preds = %1573
  br label %1599

1599:                                             ; preds = %1626, %1598
  %1600 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1600, ptr %22, align 4, !tbaa !9
  %1601 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1601, ptr %23, align 4, !tbaa !9
  %1602 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1602, ptr %24, align 4, !tbaa !9
  %1603 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1603, ptr %25, align 4, !tbaa !9
  %1604 = load ptr, ptr %6, align 8, !tbaa !5
  %1605 = getelementptr inbounds %struct.w2c_hermes, ptr %1604, i32 0, i32 6
  %1606 = load i32, ptr %25, align 4, !tbaa !9
  %1607 = zext i32 %1606 to i64
  %1608 = call i32 @i32_load(ptr noundef %1605, i64 noundef %1607)
  store i32 %1608, ptr %25, align 4, !tbaa !9
  %1609 = load ptr, ptr %6, align 8, !tbaa !5
  %1610 = load i32, ptr %22, align 4, !tbaa !9
  %1611 = load i32, ptr %23, align 4, !tbaa !9
  %1612 = load i32, ptr %24, align 4, !tbaa !9
  %1613 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStoreNewOwnPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ALiteral0x2A0x2C0x20hermes0x3A0x3AIRBuilder0x3A0x3APropEnumerable0x29(ptr noundef %1609, i32 noundef %1610, i32 noundef %1611, i32 noundef %1612, i32 noundef %1613)
  %1614 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1614, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1615 = load i32, ptr %23, align 4, !tbaa !9
  %1616 = load i32, ptr %22, align 4, !tbaa !9
  %1617 = add i32 %1616, %1615
  store i32 %1617, ptr %22, align 4, !tbaa !9
  %1618 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1618, ptr %7, align 4, !tbaa !9
  %1619 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1619, ptr %23, align 4, !tbaa !9
  %1620 = load i32, ptr %22, align 4, !tbaa !9
  %1621 = load i32, ptr %23, align 4, !tbaa !9
  %1622 = icmp ne i32 %1620, %1621
  %1623 = zext i1 %1622 to i32
  store i32 %1623, ptr %22, align 4, !tbaa !9
  %1624 = load i32, ptr %22, align 4, !tbaa !9
  %1625 = icmp ne i32 %1624, 0
  br i1 %1625, label %1626, label %1627

1626:                                             ; preds = %1599
  br label %1599

1627:                                             ; preds = %1599
  br label %1628

1628:                                             ; preds = %1627, %1573
  %1629 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1629, ptr %22, align 4, !tbaa !9
  %1630 = load ptr, ptr %6, align 8, !tbaa !5
  %1631 = getelementptr inbounds %struct.w2c_hermes, ptr %1630, i32 0, i32 6
  %1632 = load i32, ptr %22, align 4, !tbaa !9
  %1633 = zext i32 %1632 to i64
  %1634 = add i64 %1633, 60
  %1635 = call i32 @i32_load(ptr noundef %1631, i64 noundef %1634)
  store i32 %1635, ptr %22, align 4, !tbaa !9
  %1636 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1636, ptr %13, align 4, !tbaa !9
  %1637 = load i32, ptr %22, align 4, !tbaa !9
  %1638 = icmp ne i32 %1637, 0
  %1639 = xor i1 %1638, true
  %1640 = zext i1 %1639 to i32
  store i32 %1640, ptr %22, align 4, !tbaa !9
  %1641 = load i32, ptr %22, align 4, !tbaa !9
  %1642 = icmp ne i32 %1641, 0
  br i1 %1642, label %1643, label %1644

1643:                                             ; preds = %1628
  br label %1692

1644:                                             ; preds = %1628
  %1645 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1645, ptr %22, align 4, !tbaa !9
  %1646 = load ptr, ptr %6, align 8, !tbaa !5
  %1647 = getelementptr inbounds %struct.w2c_hermes, ptr %1646, i32 0, i32 6
  %1648 = load i32, ptr %22, align 4, !tbaa !9
  %1649 = zext i32 %1648 to i64
  %1650 = add i64 %1649, 56
  %1651 = call i32 @i32_load(ptr noundef %1647, i64 noundef %1650)
  store i32 %1651, ptr %22, align 4, !tbaa !9
  %1652 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1652, ptr %7, align 4, !tbaa !9
  %1653 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1653, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %1654 = load i32, ptr %24, align 4, !tbaa !9
  %1655 = and i32 %1654, 31
  %1656 = load i32, ptr %23, align 4, !tbaa !9
  %1657 = shl i32 %1656, %1655
  store i32 %1657, ptr %23, align 4, !tbaa !9
  %1658 = load i32, ptr %23, align 4, !tbaa !9
  %1659 = load i32, ptr %22, align 4, !tbaa !9
  %1660 = add i32 %1659, %1658
  store i32 %1660, ptr %22, align 4, !tbaa !9
  %1661 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1661, ptr %13, align 4, !tbaa !9
  br label %1662

1662:                                             ; preds = %1690, %1644
  %1663 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1663, ptr %22, align 4, !tbaa !9
  %1664 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1664, ptr %23, align 4, !tbaa !9
  %1665 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1665, ptr %24, align 4, !tbaa !9
  %1666 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1666, ptr %25, align 4, !tbaa !9
  %1667 = load ptr, ptr %6, align 8, !tbaa !5
  %1668 = getelementptr inbounds %struct.w2c_hermes, ptr %1667, i32 0, i32 6
  %1669 = load i32, ptr %25, align 4, !tbaa !9
  %1670 = zext i32 %1669 to i64
  %1671 = call i32 @i32_load(ptr noundef %1668, i64 noundef %1670)
  store i32 %1671, ptr %25, align 4, !tbaa !9
  %1672 = load ptr, ptr %6, align 8, !tbaa !5
  %1673 = load i32, ptr %22, align 4, !tbaa !9
  %1674 = load i32, ptr %23, align 4, !tbaa !9
  %1675 = load i32, ptr %24, align 4, !tbaa !9
  %1676 = load i32, ptr %25, align 4, !tbaa !9
  %1677 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1672, i32 noundef %1673, i32 noundef %1674, i32 noundef %1675, i32 noundef %1676)
  store i32 %1677, ptr %22, align 4, !tbaa !9
  %1678 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1678, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1679 = load i32, ptr %23, align 4, !tbaa !9
  %1680 = load i32, ptr %22, align 4, !tbaa !9
  %1681 = add i32 %1680, %1679
  store i32 %1681, ptr %22, align 4, !tbaa !9
  %1682 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1682, ptr %7, align 4, !tbaa !9
  %1683 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1683, ptr %23, align 4, !tbaa !9
  %1684 = load i32, ptr %22, align 4, !tbaa !9
  %1685 = load i32, ptr %23, align 4, !tbaa !9
  %1686 = icmp ne i32 %1684, %1685
  %1687 = zext i1 %1686 to i32
  store i32 %1687, ptr %22, align 4, !tbaa !9
  %1688 = load i32, ptr %22, align 4, !tbaa !9
  %1689 = icmp ne i32 %1688, 0
  br i1 %1689, label %1690, label %1691

1690:                                             ; preds = %1662
  br label %1662

1691:                                             ; preds = %1662
  br label %1692

1692:                                             ; preds = %1691, %1643, %1504
  %1693 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1693, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1694 = load ptr, ptr %6, align 8, !tbaa !5
  %1695 = load i32, ptr %22, align 4, !tbaa !9
  %1696 = load i32, ptr %23, align 4, !tbaa !9
  %1697 = load i32, ptr %24, align 4, !tbaa !9
  %1698 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateAllocObjectInst0x28unsigned0x20int0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1694, i32 noundef %1695, i32 noundef %1696, i32 noundef %1697)
  store i32 %1698, ptr %22, align 4, !tbaa !9
  %1699 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1699, ptr %7, align 4, !tbaa !9
  %1700 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1700, ptr %22, align 4, !tbaa !9
  %1701 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1701, ptr %23, align 4, !tbaa !9
  %1702 = load ptr, ptr %6, align 8, !tbaa !5
  %1703 = getelementptr inbounds %struct.w2c_hermes, ptr %1702, i32 0, i32 6
  %1704 = load i32, ptr %22, align 4, !tbaa !9
  %1705 = zext i32 %1704 to i64
  %1706 = add i64 %1705, 116
  %1707 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1703, i64 noundef %1706, i32 noundef %1707)
  %1708 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1708, ptr %22, align 4, !tbaa !9
  %1709 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1709, ptr %23, align 4, !tbaa !9
  %1710 = load ptr, ptr %6, align 8, !tbaa !5
  %1711 = getelementptr inbounds %struct.w2c_hermes, ptr %1710, i32 0, i32 6
  %1712 = load i32, ptr %22, align 4, !tbaa !9
  %1713 = zext i32 %1712 to i64
  %1714 = add i64 %1713, 112
  %1715 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1711, i64 noundef %1714, i32 noundef %1715)
  %1716 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1716, ptr %22, align 4, !tbaa !9
  %1717 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1717, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1718 = load i32, ptr %24, align 4, !tbaa !9
  %1719 = load i32, ptr %23, align 4, !tbaa !9
  %1720 = add i32 %1719, %1718
  store i32 %1720, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1721 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1721, ptr %25, align 4, !tbaa !9
  %1722 = load i32, ptr %25, align 4, !tbaa !9
  %1723 = icmp ne i32 %1722, 0
  br i1 %1723, label %1724, label %1726

1724:                                             ; preds = %1692
  %1725 = load i32, ptr %23, align 4, !tbaa !9
  br label %1728

1726:                                             ; preds = %1692
  %1727 = load i32, ptr %24, align 4, !tbaa !9
  br label %1728

1728:                                             ; preds = %1726, %1724
  %1729 = phi i32 [ %1725, %1724 ], [ %1727, %1726 ]
  store i32 %1729, ptr %23, align 4, !tbaa !9
  %1730 = load ptr, ptr %6, align 8, !tbaa !5
  %1731 = getelementptr inbounds %struct.w2c_hermes, ptr %1730, i32 0, i32 6
  %1732 = load i32, ptr %22, align 4, !tbaa !9
  %1733 = zext i32 %1732 to i64
  %1734 = add i64 %1733, 108
  %1735 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1731, i64 noundef %1734, i32 noundef %1735)
  %1736 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1736, ptr %22, align 4, !tbaa !9
  store i32 3, ptr %23, align 4, !tbaa !9
  %1737 = load ptr, ptr %6, align 8, !tbaa !5
  %1738 = getelementptr inbounds %struct.w2c_hermes, ptr %1737, i32 0, i32 6
  %1739 = load i32, ptr %22, align 4, !tbaa !9
  %1740 = zext i32 %1739 to i64
  %1741 = add i64 %1740, 124
  %1742 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1738, i64 noundef %1741, i32 noundef %1742)
  %1743 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1743, ptr %22, align 4, !tbaa !9
  %1744 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1744, ptr %23, align 4, !tbaa !9
  store i32 108, ptr %24, align 4, !tbaa !9
  %1745 = load i32, ptr %24, align 4, !tbaa !9
  %1746 = load i32, ptr %23, align 4, !tbaa !9
  %1747 = add i32 %1746, %1745
  store i32 %1747, ptr %23, align 4, !tbaa !9
  %1748 = load ptr, ptr %6, align 8, !tbaa !5
  %1749 = getelementptr inbounds %struct.w2c_hermes, ptr %1748, i32 0, i32 6
  %1750 = load i32, ptr %22, align 4, !tbaa !9
  %1751 = zext i32 %1750 to i64
  %1752 = add i64 %1751, 120
  %1753 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1749, i64 noundef %1752, i32 noundef %1753)
  %1754 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1754, ptr %22, align 4, !tbaa !9
  %1755 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1755, ptr %23, align 4, !tbaa !9
  %1756 = load ptr, ptr %6, align 8, !tbaa !5
  %1757 = getelementptr inbounds %struct.w2c_hermes, ptr %1756, i32 0, i32 6
  %1758 = load i32, ptr %23, align 4, !tbaa !9
  %1759 = zext i32 %1758 to i64
  %1760 = add i64 %1759, 120
  %1761 = call i64 @i64_load(ptr noundef %1757, i64 noundef %1760)
  store i64 %1761, ptr %28, align 8, !tbaa !11
  %1762 = load ptr, ptr %6, align 8, !tbaa !5
  %1763 = getelementptr inbounds %struct.w2c_hermes, ptr %1762, i32 0, i32 6
  %1764 = load i32, ptr %22, align 4, !tbaa !9
  %1765 = zext i32 %1764 to i64
  %1766 = add i64 %1765, 16
  %1767 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1763, i64 noundef %1766, i64 noundef %1767)
  %1768 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1768, ptr %22, align 4, !tbaa !9
  store i32 44, ptr %23, align 4, !tbaa !9
  %1769 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1769, ptr %24, align 4, !tbaa !9
  store i32 16, ptr %25, align 4, !tbaa !9
  %1770 = load i32, ptr %25, align 4, !tbaa !9
  %1771 = load i32, ptr %24, align 4, !tbaa !9
  %1772 = add i32 %1771, %1770
  store i32 %1772, ptr %24, align 4, !tbaa !9
  %1773 = load ptr, ptr %6, align 8, !tbaa !5
  %1774 = load i32, ptr %22, align 4, !tbaa !9
  %1775 = load i32, ptr %23, align 4, !tbaa !9
  %1776 = load i32, ptr %24, align 4, !tbaa !9
  %1777 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCallBuiltinInst0x28hermes0x3A0x3ABuiltinMethod0x3A0x3AEnum0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3AValue0x2A0x3E0x29(ptr noundef %1773, i32 noundef %1774, i32 noundef %1775, i32 noundef %1776)
  store i32 %1777, ptr %22, align 4, !tbaa !9
  %1778 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1778, ptr %7, align 4, !tbaa !9
  store i32 8, ptr %23, align 4, !tbaa !9
  %1779 = load i32, ptr %23, align 4, !tbaa !9
  %1780 = load i32, ptr %22, align 4, !tbaa !9
  %1781 = add i32 %1780, %1779
  store i32 %1781, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1782 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1782, ptr %24, align 4, !tbaa !9
  %1783 = load i32, ptr %24, align 4, !tbaa !9
  %1784 = icmp ne i32 %1783, 0
  br i1 %1784, label %1785, label %1787

1785:                                             ; preds = %1728
  %1786 = load i32, ptr %22, align 4, !tbaa !9
  br label %1789

1787:                                             ; preds = %1728
  %1788 = load i32, ptr %23, align 4, !tbaa !9
  br label %1789

1789:                                             ; preds = %1787, %1785
  %1790 = phi i32 [ %1786, %1785 ], [ %1788, %1787 ]
  store i32 %1790, ptr %22, align 4, !tbaa !9
  %1791 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1791, ptr %10, align 4, !tbaa !9
  %1792 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1792, ptr %22, align 4, !tbaa !9
  %1793 = load ptr, ptr %6, align 8, !tbaa !5
  %1794 = getelementptr inbounds %struct.w2c_hermes, ptr %1793, i32 0, i32 6
  %1795 = load i32, ptr %22, align 4, !tbaa !9
  %1796 = zext i32 %1795 to i64
  %1797 = add i64 %1796, 88
  %1798 = call i32 @i32_load(ptr noundef %1794, i64 noundef %1797)
  store i32 %1798, ptr %22, align 4, !tbaa !9
  %1799 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1799, ptr %7, align 4, !tbaa !9
  %1800 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1800, ptr %22, align 4, !tbaa !9
  %1801 = load ptr, ptr %6, align 8, !tbaa !5
  %1802 = getelementptr inbounds %struct.w2c_hermes, ptr %1801, i32 0, i32 6
  %1803 = load i32, ptr %22, align 4, !tbaa !9
  %1804 = zext i32 %1803 to i64
  %1805 = add i64 %1804, 84
  %1806 = call i32 @i32_load(ptr noundef %1802, i64 noundef %1805)
  store i32 %1806, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %23, align 4, !tbaa !9
  %1807 = load i32, ptr %23, align 4, !tbaa !9
  %1808 = load i32, ptr %22, align 4, !tbaa !9
  %1809 = sub i32 %1808, %1807
  store i32 %1809, ptr %22, align 4, !tbaa !9
  %1810 = load i32, ptr %22, align 4, !tbaa !9
  switch i32 %1810, label %1815 [
    i32 0, label %1811
    i32 1, label %1812
    i32 2, label %1813
    i32 3, label %1814
  ]

1811:                                             ; preds = %1789
  br label %1816

1812:                                             ; preds = %1789
  br label %1842

1813:                                             ; preds = %1789
  br label %2024

1814:                                             ; preds = %1789
  br label %1864

1815:                                             ; preds = %1789
  br label %2024

1816:                                             ; preds = %1811
  %1817 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1817, ptr %22, align 4, !tbaa !9
  store i32 4, ptr %23, align 4, !tbaa !9
  %1818 = load i32, ptr %23, align 4, !tbaa !9
  %1819 = load i32, ptr %22, align 4, !tbaa !9
  %1820 = add i32 %1819, %1818
  store i32 %1820, ptr %22, align 4, !tbaa !9
  %1821 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1821, ptr %23, align 4, !tbaa !9
  %1822 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1822, ptr %24, align 4, !tbaa !9
  %1823 = load ptr, ptr %6, align 8, !tbaa !5
  %1824 = getelementptr inbounds %struct.w2c_hermes, ptr %1823, i32 0, i32 6
  %1825 = load i32, ptr %24, align 4, !tbaa !9
  %1826 = zext i32 %1825 to i64
  %1827 = add i64 %1826, 96
  %1828 = call i32 @i32_load(ptr noundef %1824, i64 noundef %1827)
  store i32 %1828, ptr %24, align 4, !tbaa !9
  %1829 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1829, ptr %25, align 4, !tbaa !9
  %1830 = load ptr, ptr %6, align 8, !tbaa !5
  %1831 = getelementptr inbounds %struct.w2c_hermes, ptr %1830, i32 0, i32 6
  %1832 = load i32, ptr %25, align 4, !tbaa !9
  %1833 = zext i32 %1832 to i64
  %1834 = add i64 %1833, 100
  %1835 = call i32 @i32_load(ptr noundef %1831, i64 noundef %1834)
  store i32 %1835, ptr %25, align 4, !tbaa !9
  %1836 = load ptr, ptr %6, align 8, !tbaa !5
  %1837 = load i32, ptr %22, align 4, !tbaa !9
  %1838 = load i32, ptr %23, align 4, !tbaa !9
  %1839 = load i32, ptr %24, align 4, !tbaa !9
  %1840 = load i32, ptr %25, align 4, !tbaa !9
  %1841 = call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1836, i32 noundef %1837, i32 noundef %1838, i32 noundef %1839, i32 noundef %1840)
  store i32 %1841, ptr %22, align 4, !tbaa !9
  br label %2024

1842:                                             ; preds = %1812
  %1843 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1843, ptr %22, align 4, !tbaa !9
  %1844 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1844, ptr %23, align 4, !tbaa !9
  %1845 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1845, ptr %24, align 4, !tbaa !9
  %1846 = load ptr, ptr %6, align 8, !tbaa !5
  %1847 = getelementptr inbounds %struct.w2c_hermes, ptr %1846, i32 0, i32 6
  %1848 = load i32, ptr %24, align 4, !tbaa !9
  %1849 = zext i32 %1848 to i64
  %1850 = add i64 %1849, 96
  %1851 = call i32 @i32_load(ptr noundef %1847, i64 noundef %1850)
  store i32 %1851, ptr %24, align 4, !tbaa !9
  %1852 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1852, ptr %25, align 4, !tbaa !9
  %1853 = load ptr, ptr %6, align 8, !tbaa !5
  %1854 = getelementptr inbounds %struct.w2c_hermes, ptr %1853, i32 0, i32 6
  %1855 = load i32, ptr %25, align 4, !tbaa !9
  %1856 = zext i32 %1855 to i64
  %1857 = add i64 %1856, 92
  %1858 = call i32 @i32_load8_u(ptr noundef %1854, i64 noundef %1857)
  store i32 %1858, ptr %25, align 4, !tbaa !9
  %1859 = load ptr, ptr %6, align 8, !tbaa !5
  %1860 = load i32, ptr %22, align 4, !tbaa !9
  %1861 = load i32, ptr %23, align 4, !tbaa !9
  %1862 = load i32, ptr %24, align 4, !tbaa !9
  %1863 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %1859, i32 noundef %1860, i32 noundef %1861, i32 noundef %1862, i32 noundef %1863)
  br label %2024

1864:                                             ; preds = %1814
  %1865 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1865, ptr %22, align 4, !tbaa !9
  %1866 = load ptr, ptr %6, align 8, !tbaa !5
  %1867 = getelementptr inbounds %struct.w2c_hermes, ptr %1866, i32 0, i32 6
  %1868 = load i32, ptr %22, align 4, !tbaa !9
  %1869 = zext i32 %1868 to i64
  %1870 = add i64 %1869, 96
  %1871 = call i32 @i32_load(ptr noundef %1867, i64 noundef %1870)
  store i32 %1871, ptr %22, align 4, !tbaa !9
  %1872 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1872, ptr %8, align 4, !tbaa !9
  %1873 = load ptr, ptr %6, align 8, !tbaa !5
  %1874 = getelementptr inbounds %struct.w2c_hermes, ptr %1873, i32 0, i32 6
  %1875 = load i32, ptr %22, align 4, !tbaa !9
  %1876 = zext i32 %1875 to i64
  %1877 = add i64 %1876, 8
  %1878 = call i32 @i32_load(ptr noundef %1874, i64 noundef %1877)
  store i32 %1878, ptr %22, align 4, !tbaa !9
  %1879 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1879, ptr %12, align 4, !tbaa !9
  %1880 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1880, ptr %22, align 4, !tbaa !9
  %1881 = load ptr, ptr %6, align 8, !tbaa !5
  %1882 = getelementptr inbounds %struct.w2c_hermes, ptr %1881, i32 0, i32 6
  %1883 = load i32, ptr %22, align 4, !tbaa !9
  %1884 = zext i32 %1883 to i64
  %1885 = add i64 %1884, 92
  %1886 = call i32 @i32_load8_u(ptr noundef %1882, i64 noundef %1885)
  store i32 %1886, ptr %22, align 4, !tbaa !9
  %1887 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1887, ptr %13, align 4, !tbaa !9
  %1888 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1888, ptr %22, align 4, !tbaa !9
  %1889 = load i32, ptr %22, align 4, !tbaa !9
  %1890 = icmp ne i32 %1889, 0
  %1891 = xor i1 %1890, true
  %1892 = zext i1 %1891 to i32
  store i32 %1892, ptr %22, align 4, !tbaa !9
  %1893 = load i32, ptr %22, align 4, !tbaa !9
  %1894 = icmp ne i32 %1893, 0
  br i1 %1894, label %1895, label %1896

1895:                                             ; preds = %1864
  br label %1919

1896:                                             ; preds = %1864
  %1897 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1897, ptr %22, align 4, !tbaa !9
  store i32 91, ptr %23, align 4, !tbaa !9
  %1898 = load i32, ptr %22, align 4, !tbaa !9
  %1899 = load i32, ptr %23, align 4, !tbaa !9
  %1900 = icmp ne i32 %1898, %1899
  %1901 = zext i1 %1900 to i32
  store i32 %1901, ptr %22, align 4, !tbaa !9
  %1902 = load i32, ptr %22, align 4, !tbaa !9
  %1903 = icmp ne i32 %1902, 0
  br i1 %1903, label %1904, label %1905

1904:                                             ; preds = %1896
  br label %1919

1905:                                             ; preds = %1896
  %1906 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1906, ptr %22, align 4, !tbaa !9
  %1907 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1907, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1908 = load i32, ptr %23, align 4, !tbaa !9
  %1909 = load i32, ptr %24, align 4, !tbaa !9
  %1910 = icmp ne i32 %1908, %1909
  %1911 = zext i1 %1910 to i32
  store i32 %1911, ptr %23, align 4, !tbaa !9
  %1912 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1912, ptr %24, align 4, !tbaa !9
  %1913 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1913, ptr %25, align 4, !tbaa !9
  %1914 = load ptr, ptr %6, align 8, !tbaa !5
  %1915 = load i32, ptr %22, align 4, !tbaa !9
  %1916 = load i32, ptr %23, align 4, !tbaa !9
  %1917 = load i32, ptr %24, align 4, !tbaa !9
  %1918 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1914, i32 noundef %1915, i32 noundef %1916, i32 noundef %1917, i32 noundef %1918)
  br label %2024

1919:                                             ; preds = %1904, %1895
  %1920 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1920, ptr %22, align 4, !tbaa !9
  %1921 = load i32, ptr %22, align 4, !tbaa !9
  %1922 = icmp ne i32 %1921, 0
  %1923 = xor i1 %1922, true
  %1924 = zext i1 %1923 to i32
  store i32 %1924, ptr %22, align 4, !tbaa !9
  %1925 = load i32, ptr %22, align 4, !tbaa !9
  %1926 = icmp ne i32 %1925, 0
  br i1 %1926, label %1927, label %1928

1927:                                             ; preds = %1919
  br label %1951

1928:                                             ; preds = %1919
  %1929 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1929, ptr %22, align 4, !tbaa !9
  store i32 90, ptr %23, align 4, !tbaa !9
  %1930 = load i32, ptr %22, align 4, !tbaa !9
  %1931 = load i32, ptr %23, align 4, !tbaa !9
  %1932 = icmp ne i32 %1930, %1931
  %1933 = zext i1 %1932 to i32
  store i32 %1933, ptr %22, align 4, !tbaa !9
  %1934 = load i32, ptr %22, align 4, !tbaa !9
  %1935 = icmp ne i32 %1934, 0
  br i1 %1935, label %1936, label %1937

1936:                                             ; preds = %1928
  br label %1951

1937:                                             ; preds = %1928
  %1938 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1938, ptr %22, align 4, !tbaa !9
  %1939 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1939, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %1940 = load i32, ptr %23, align 4, !tbaa !9
  %1941 = load i32, ptr %24, align 4, !tbaa !9
  %1942 = icmp ne i32 %1940, %1941
  %1943 = zext i1 %1942 to i32
  store i32 %1943, ptr %23, align 4, !tbaa !9
  %1944 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1944, ptr %24, align 4, !tbaa !9
  %1945 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1945, ptr %25, align 4, !tbaa !9
  %1946 = load ptr, ptr %6, align 8, !tbaa !5
  %1947 = load i32, ptr %22, align 4, !tbaa !9
  %1948 = load i32, ptr %23, align 4, !tbaa !9
  %1949 = load i32, ptr %24, align 4, !tbaa !9
  %1950 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %1946, i32 noundef %1947, i32 noundef %1948, i32 noundef %1949, i32 noundef %1950)
  br label %2024

1951:                                             ; preds = %1936, %1927
  %1952 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1952, ptr %22, align 4, !tbaa !9
  %1953 = load ptr, ptr %6, align 8, !tbaa !5
  %1954 = getelementptr inbounds %struct.w2c_hermes, ptr %1953, i32 0, i32 6
  %1955 = load i32, ptr %22, align 4, !tbaa !9
  %1956 = zext i32 %1955 to i64
  %1957 = call i32 @i32_load(ptr noundef %1954, i64 noundef %1956)
  store i32 %1957, ptr %22, align 4, !tbaa !9
  %1958 = load ptr, ptr %6, align 8, !tbaa !5
  %1959 = getelementptr inbounds %struct.w2c_hermes, ptr %1958, i32 0, i32 6
  %1960 = load i32, ptr %22, align 4, !tbaa !9
  %1961 = zext i32 %1960 to i64
  %1962 = add i64 %1961, 28
  %1963 = call i32 @i32_load(ptr noundef %1959, i64 noundef %1962)
  store i32 %1963, ptr %22, align 4, !tbaa !9
  %1964 = load ptr, ptr %6, align 8, !tbaa !5
  %1965 = getelementptr inbounds %struct.w2c_hermes, ptr %1964, i32 0, i32 6
  %1966 = load i32, ptr %22, align 4, !tbaa !9
  %1967 = zext i32 %1966 to i64
  %1968 = add i64 %1967, 72
  %1969 = call i32 @i32_load(ptr noundef %1965, i64 noundef %1968)
  store i32 %1969, ptr %22, align 4, !tbaa !9
  %1970 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1970, ptr %7, align 4, !tbaa !9
  %1971 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1971, ptr %22, align 4, !tbaa !9
  %1972 = load ptr, ptr %6, align 8, !tbaa !5
  %1973 = getelementptr inbounds %struct.w2c_hermes, ptr %1972, i32 0, i32 6
  %1974 = load i32, ptr %22, align 4, !tbaa !9
  %1975 = zext i32 %1974 to i64
  %1976 = add i64 %1975, 16
  %1977 = call i64 @i64_load(ptr noundef %1973, i64 noundef %1976)
  store i64 %1977, ptr %27, align 8, !tbaa !11
  %1978 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %1978, ptr %21, align 8, !tbaa !11
  %1979 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1979, ptr %22, align 4, !tbaa !9
  store i32 29154, ptr %23, align 4, !tbaa !9
  %1980 = load ptr, ptr %6, align 8, !tbaa !5
  %1981 = getelementptr inbounds %struct.w2c_hermes, ptr %1980, i32 0, i32 6
  %1982 = load i32, ptr %22, align 4, !tbaa !9
  %1983 = zext i32 %1982 to i64
  %1984 = add i64 %1983, 108
  %1985 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1981, i64 noundef %1984, i32 noundef %1985)
  %1986 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1986, ptr %22, align 4, !tbaa !9
  store i32 259, ptr %23, align 4, !tbaa !9
  %1987 = load ptr, ptr %6, align 8, !tbaa !5
  %1988 = getelementptr inbounds %struct.w2c_hermes, ptr %1987, i32 0, i32 6
  %1989 = load i32, ptr %22, align 4, !tbaa !9
  %1990 = zext i32 %1989 to i64
  %1991 = add i64 %1990, 116
  %1992 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %1988, i64 noundef %1991, i32 noundef %1992)
  %1993 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1993, ptr %22, align 4, !tbaa !9
  %1994 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1994, ptr %28, align 8, !tbaa !11
  %1995 = load ptr, ptr %6, align 8, !tbaa !5
  %1996 = getelementptr inbounds %struct.w2c_hermes, ptr %1995, i32 0, i32 6
  %1997 = load i32, ptr %22, align 4, !tbaa !9
  %1998 = zext i32 %1997 to i64
  %1999 = add i64 %1998, 8
  %2000 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1996, i64 noundef %1999, i64 noundef %2000)
  %2001 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2001, ptr %22, align 4, !tbaa !9
  %2002 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %2002, ptr %28, align 8, !tbaa !11
  %2003 = load ptr, ptr %6, align 8, !tbaa !5
  %2004 = getelementptr inbounds %struct.w2c_hermes, ptr %2003, i32 0, i32 6
  %2005 = load i32, ptr %22, align 4, !tbaa !9
  %2006 = zext i32 %2005 to i64
  %2007 = add i64 %2006, 120
  %2008 = load i64, ptr %28, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2004, i64 noundef %2007, i64 noundef %2008)
  %2009 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2009, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %2010 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2010, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %2011 = load i32, ptr %25, align 4, !tbaa !9
  %2012 = load i32, ptr %24, align 4, !tbaa !9
  %2013 = add i32 %2012, %2011
  store i32 %2013, ptr %24, align 4, !tbaa !9
  %2014 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2014, ptr %25, align 4, !tbaa !9
  store i32 108, ptr %26, align 4, !tbaa !9
  %2015 = load i32, ptr %26, align 4, !tbaa !9
  %2016 = load i32, ptr %25, align 4, !tbaa !9
  %2017 = add i32 %2016, %2015
  store i32 %2017, ptr %25, align 4, !tbaa !9
  store i32 0, ptr %26, align 4, !tbaa !9
  %2018 = load ptr, ptr %6, align 8, !tbaa !5
  %2019 = load i32, ptr %22, align 4, !tbaa !9
  %2020 = load i32, ptr %23, align 4, !tbaa !9
  %2021 = load i32, ptr %24, align 4, !tbaa !9
  %2022 = load i32, ptr %25, align 4, !tbaa !9
  %2023 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %2018, i32 noundef %2019, i32 noundef %2020, i32 noundef %2021, i32 noundef %2022, i32 noundef %2023)
  br label %2024

2024:                                             ; preds = %1951, %1937, %1905, %1842, %1816, %1815, %1813
  %2025 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2025, ptr %22, align 4, !tbaa !9
  %2026 = load ptr, ptr %6, align 8, !tbaa !5
  %2027 = getelementptr inbounds %struct.w2c_hermes, ptr %2026, i32 0, i32 6
  %2028 = load i32, ptr %22, align 4, !tbaa !9
  %2029 = zext i32 %2028 to i64
  %2030 = add i64 %2029, 40
  %2031 = call i32 @i32_load(ptr noundef %2027, i64 noundef %2030)
  store i32 %2031, ptr %22, align 4, !tbaa !9
  %2032 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2032, ptr %7, align 4, !tbaa !9
  %2033 = load i32, ptr %22, align 4, !tbaa !9
  %2034 = icmp ne i32 %2033, 0
  br i1 %2034, label %2035, label %2047

2035:                                             ; preds = %2024
  %2036 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2036, ptr %22, align 4, !tbaa !9
  %2037 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2037, ptr %23, align 4, !tbaa !9
  %2038 = load ptr, ptr %6, align 8, !tbaa !5
  %2039 = getelementptr inbounds %struct.w2c_hermes, ptr %2038, i32 0, i32 6
  %2040 = load i32, ptr %22, align 4, !tbaa !9
  %2041 = zext i32 %2040 to i64
  %2042 = add i64 %2041, 44
  %2043 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2039, i64 noundef %2042, i32 noundef %2043)
  %2044 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2044, ptr %22, align 4, !tbaa !9
  %2045 = load ptr, ptr %6, align 8, !tbaa !5
  %2046 = load i32, ptr %22, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2045, i32 noundef %2046)
  br label %2047

2047:                                             ; preds = %2035, %2024
  %2048 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2048, ptr %22, align 4, !tbaa !9
  %2049 = load ptr, ptr %6, align 8, !tbaa !5
  %2050 = getelementptr inbounds %struct.w2c_hermes, ptr %2049, i32 0, i32 6
  %2051 = load i32, ptr %22, align 4, !tbaa !9
  %2052 = zext i32 %2051 to i64
  %2053 = add i64 %2052, 24
  %2054 = call i32 @i32_load(ptr noundef %2050, i64 noundef %2053)
  store i32 %2054, ptr %22, align 4, !tbaa !9
  %2055 = load ptr, ptr %6, align 8, !tbaa !5
  %2056 = load i32, ptr %22, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2055, i32 noundef %2056)
  %2057 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2057, ptr %22, align 4, !tbaa !9
  %2058 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2058, ptr %23, align 4, !tbaa !9
  %2059 = load ptr, ptr %6, align 8, !tbaa !5
  %2060 = getelementptr inbounds %struct.w2c_hermes, ptr %2059, i32 0, i32 6
  %2061 = load i32, ptr %23, align 4, !tbaa !9
  %2062 = zext i32 %2061 to i64
  %2063 = add i64 %2062, 56
  %2064 = call i32 @i32_load(ptr noundef %2060, i64 noundef %2063)
  store i32 %2064, ptr %23, align 4, !tbaa !9
  %2065 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2065, ptr %7, align 4, !tbaa !9
  %2066 = load i32, ptr %22, align 4, !tbaa !9
  %2067 = load i32, ptr %23, align 4, !tbaa !9
  %2068 = icmp ne i32 %2066, %2067
  %2069 = zext i1 %2068 to i32
  store i32 %2069, ptr %22, align 4, !tbaa !9
  %2070 = load i32, ptr %22, align 4, !tbaa !9
  %2071 = icmp ne i32 %2070, 0
  br i1 %2071, label %2072, label %2076

2072:                                             ; preds = %2047
  %2073 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2073, ptr %22, align 4, !tbaa !9
  %2074 = load ptr, ptr %6, align 8, !tbaa !5
  %2075 = load i32, ptr %22, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2074, i32 noundef %2075)
  br label %2076

2076:                                             ; preds = %2072, %2047
  %2077 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2077, ptr %22, align 4, !tbaa !9
  store i32 128, ptr %23, align 4, !tbaa !9
  %2078 = load i32, ptr %23, align 4, !tbaa !9
  %2079 = load i32, ptr %22, align 4, !tbaa !9
  %2080 = add i32 %2079, %2078
  store i32 %2080, ptr %22, align 4, !tbaa !9
  %2081 = load i32, ptr %22, align 4, !tbaa !9
  %2082 = load ptr, ptr %6, align 8, !tbaa !5
  %2083 = getelementptr inbounds %struct.w2c_hermes, ptr %2082, i32 0, i32 3
  store i32 %2081, ptr %2083, align 8, !tbaa !13
  br label %2084

2084:                                             ; preds = %2076, %1242, %360
  %2085 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2085, ptr %22, align 4, !tbaa !9
  %2086 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2086, ptr %23, align 4, !tbaa !9
  %2087 = load ptr, ptr %6, align 8, !tbaa !5
  %2088 = getelementptr inbounds %struct.w2c_hermes, ptr %2087, i32 0, i32 6
  %2089 = load i32, ptr %23, align 4, !tbaa !9
  %2090 = zext i32 %2089 to i64
  %2091 = add i64 %2090, 64
  %2092 = call i32 @i32_load(ptr noundef %2088, i64 noundef %2091)
  store i32 %2092, ptr %23, align 4, !tbaa !9
  %2093 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2093, ptr %7, align 4, !tbaa !9
  %2094 = load i32, ptr %22, align 4, !tbaa !9
  %2095 = load i32, ptr %23, align 4, !tbaa !9
  %2096 = icmp ne i32 %2094, %2095
  %2097 = zext i1 %2096 to i32
  store i32 %2097, ptr %22, align 4, !tbaa !9
  %2098 = load i32, ptr %22, align 4, !tbaa !9
  %2099 = icmp ne i32 %2098, 0
  br i1 %2099, label %2100, label %2104

2100:                                             ; preds = %2084
  %2101 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2101, ptr %22, align 4, !tbaa !9
  %2102 = load ptr, ptr %6, align 8, !tbaa !5
  %2103 = load i32, ptr %22, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2102, i32 noundef %2103)
  br label %2104

2104:                                             ; preds = %2100, %2084
  %2105 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2105, ptr %22, align 4, !tbaa !9
  store i32 112, ptr %23, align 4, !tbaa !9
  %2106 = load i32, ptr %23, align 4, !tbaa !9
  %2107 = load i32, ptr %22, align 4, !tbaa !9
  %2108 = add i32 %2107, %2106
  store i32 %2108, ptr %22, align 4, !tbaa !9
  %2109 = load i32, ptr %22, align 4, !tbaa !9
  %2110 = load ptr, ptr %6, align 8, !tbaa !5
  %2111 = getelementptr inbounds %struct.w2c_hermes, ptr %2110, i32 0, i32 3
  store i32 %2109, ptr %2111, align 8, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  ret void
}

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

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

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

declare void @w2c_hermes_llvh0x3A0x3ASetVector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x2C0x20llvh0x3A0x3ADenseSet0x3Chermes0x3A0x3AFunction0x2A0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x3E0x3A0x3Ainsert0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(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 = { 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 }

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

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


; 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 i32 @i32_load(ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #2 {
  %6 = getelementptr inbounds i8, ptr %0, i64 24
  %7 = load i32, ptr %6, align 8, !tbaa !5
  %8 = add i32 %7, -112
  store i32 %8, ptr %6, align 8, !tbaa !5
  %9 = getelementptr inbounds i8, ptr %0, i64 40
  %10 = zext i32 %8 to i64
  %11 = add nuw nsw i64 %10, 68
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %11, i64 noundef 17179869184)
  %12 = add i32 %7, -36
  %13 = add nuw nsw i64 %10, 64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %13, i32 noundef %12)
  %14 = add i32 %3, 28
  %15 = zext i32 %3 to i64
  %16 = add nuw nsw i64 %15, 28
  %17 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %16)
  %.not = icmp eq i32 %14, %17
  %.pre1255 = add nuw nsw i64 %15, 32
  br i1 %.not, label %._crit_edge1254, label %18

18:                                               ; preds = %5
  %19 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre1255)
  %20 = zext i32 %19 to i64
  %21 = add nuw nsw i64 %20, 8
  %22 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %21)
  %.not1204 = icmp eq i32 %22, 92
  br i1 %.not1204, label %._crit_edge1254, label %66

._crit_edge1254:                                  ; preds = %5, %18
  %23 = add i32 %1, 4
  %24 = zext i32 %1 to i64
  %25 = add nuw nsw i64 %24, 12
  %26 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %25)
  %27 = zext i32 %26 to i64
  %28 = add nuw nsw i64 %27, 44
  %29 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %28)
  %30 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBasicBlock0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %29) #3
  %31 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %25)
  %32 = zext i32 %31 to i64
  %33 = add nuw nsw i64 %32, 44
  %34 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %33)
  %35 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBasicBlock0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %34) #3
  %36 = zext i32 %23 to i64
  %37 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %36)
  %38 = add i32 %37, 296
  %39 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateBinaryOperatorInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ABinaryOperatorInst0x3A0x3AOpKind0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %4, i32 noundef %38, i32 noundef 1) #3
  %40 = add i32 %39, 8
  %.not1205 = icmp eq i32 %39, 0
  %41 = select i1 %.not1205, i32 0, i32 %40
  tail call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCondBranchInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %41, i32 noundef %30, i32 noundef %35) #3
  %42 = add nuw nsw i64 %36, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %42, i32 noundef %30)
  %43 = add i32 %30, 36
  %.not1206 = icmp eq i32 %30, 0
  %44 = select i1 %.not1206, i32 0, i32 %43
  %45 = add nuw nsw i64 %36, 4
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %45, i32 noundef %44)
  %46 = add nuw nsw i64 %10, 60
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %46, i32 noundef 41)
  %47 = add nuw nsw i64 %10, 56
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %47, i32 noundef 59023)
  %48 = add nuw nsw i64 %10, 92
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %48, i32 noundef %4)
  %49 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %47)
  %50 = add nuw nsw i64 %10, 24
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %50, i64 noundef %49)
  %51 = add i32 %7, -88
  %52 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralString0x28llvh0x3A0x3AStringRef0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %51)
  %53 = add nuw nsw i64 %10, 96
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %53, i32 noundef %52)
  %54 = add nuw nsw i64 %10, 36
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %54, i32 noundef 2)
  %55 = add i32 %7, -20
  %56 = add nuw nsw i64 %10, 32
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %56, i32 noundef %55)
  %57 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %56)
  %58 = add nuw nsw i64 %10, 16
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %58, i64 noundef %57)
  %59 = add i32 %7, -96
  %60 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCallBuiltinInst0x28hermes0x3A0x3ABuiltinMethod0x3A0x3AEnum0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3AValue0x2A0x3E0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef 42, i32 noundef %59) #3
  %61 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %36)
  %62 = add i32 %61, 268
  tail call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateThrowInst0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef nonnull %0, i32 noundef %23, i32 noundef %62)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %42, i32 noundef %35)
  %63 = add i32 %35, 36
  %.not1207 = icmp eq i32 %35, 0
  %64 = select i1 %.not1207, i32 0, i32 %63
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %45, i32 noundef %64)
  %65 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre1255)
  br label %66

66:                                               ; preds = %18, %._crit_edge1254
  %.01186 = phi i32 [ %19, %18 ], [ %65, %._crit_edge1254 ]
  %67 = icmp eq i32 %.01186, %14
  br i1 %67, label %.loopexit1251, label %68

68:                                               ; preds = %66
  %69 = add i32 %1, 4
  %70 = add nuw nsw i64 %10, 72
  %71 = add i32 %7, -48
  %72 = add i32 %7, -80
  %73 = add nuw nsw i64 %10, 36
  %74 = add nuw nsw i64 %10, 32
  %75 = add nuw nsw i64 %10, 44
  %76 = add nuw nsw i64 %10, 40
  %77 = add nuw nsw i64 %10, 92
  %78 = add nuw nsw i64 %10, 100
  %79 = add nuw nsw i64 %10, 8
  %80 = add nuw nsw i64 %10, 104
  %81 = add i32 %7, -104
  %82 = add i32 %7, -20
  %83 = add nuw nsw i64 %10, 48
  br label %84

84:                                               ; preds = %222, %68
  %.11187 = phi i32 [ %.01186, %68 ], [ %224, %222 ]
  %.not1208 = icmp eq i32 %.11187, 0
  br i1 %.not1208, label %._crit_edge, label %85

85:                                               ; preds = %84
  %86 = zext i32 %.11187 to i64
  %87 = add nuw nsw i64 %86, 8
  %88 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %87)
  %89 = icmp eq i32 %88, 92
  br i1 %89, label %225, label %._crit_edge

._crit_edge:                                      ; preds = %84, %85
  %.pre-phi1258 = phi i64 [ %86, %85 ], [ 0, %84 ]
  %90 = add nuw nsw i64 %.pre-phi1258, 32
  %91 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %90)
  %92 = zext i32 %91 to i64
  %93 = add nuw nsw i64 %92, 8
  %94 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %93)
  %.not1209 = icmp ne i32 %91, 0
  %.not1210 = icmp eq i32 %94, 93
  %or.cond1249 = select i1 %.not1209, i1 %.not1210, i1 false
  br i1 %or.cond1249, label %95, label %103

95:                                               ; preds = %._crit_edge
  %96 = add nuw nsw i64 %92, 32
  %97 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %96)
  %98 = add nuw nsw i64 %92, 28
  %99 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %98)
  %100 = zext i32 %99 to i64
  %101 = add nuw nsw i64 %100, 8
  %102 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %101)
  br label %103

103:                                              ; preds = %._crit_edge, %95
  %.01188 = phi i32 [ %99, %95 ], [ %91, %._crit_edge ]
  %.01183 = phi i32 [ %102, %95 ], [ %94, %._crit_edge ]
  %.01182 = phi i32 [ %97, %95 ], [ 0, %._crit_edge ]
  %104 = icmp eq i32 %.01183, 62
  br i1 %104, label %105, label %109

105:                                              ; preds = %103
  %106 = zext i32 %.01188 to i64
  %107 = add nuw nsw i64 %106, 28
  %108 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %107)
  br label %109

109:                                              ; preds = %105, %103
  %.01184 = phi i32 [ %108, %105 ], [ 0, %103 ]
  %110 = add nuw nsw i64 %.pre-phi1258, 28
  %111 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %110)
  %112 = zext i32 %111 to i64
  %113 = add nuw nsw i64 %112, 8
  %114 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %113)
  %.not1211 = icmp eq i32 %114, 62
  br i1 %.not1211, label %115, label %171

115:                                              ; preds = %109
  %116 = add nuw nsw i64 %.pre-phi1258, 40
  %117 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %116)
  %.not1212 = icmp eq i32 %117, 0
  br i1 %.not1212, label %118, label %171

118:                                              ; preds = %115
  %119 = add nuw nsw i64 %112, 28
  %120 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %119)
  %121 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralString0x28hermes0x3A0x3AIdentifier0x29(ptr noundef %0, i32 noundef %69, i32 noundef %120)
  %122 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  %123 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %70)
  %.not1213 = icmp ult i32 %122, %123
  br i1 %.not1213, label %126, label %124

124:                                              ; preds = %118
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %71, i32 noundef %12, i32 noundef 0, i32 noundef 4) #3
  %125 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  br label %126

126:                                              ; preds = %124, %118
  %.1 = phi i32 [ %125, %124 ], [ %122, %118 ]
  %127 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %128 = shl i32 %.1, 2
  %129 = add i32 %127, %128
  %130 = zext i32 %129 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %130, i32 noundef %121)
  %131 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  %132 = add i32 %131, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %11, i32 noundef %132)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %72, i32 noundef %1, i32 noundef %.01188, i32 noundef %2)
  %133 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateLoadPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %0, i32 noundef %69, i32 noundef %4, i32 noundef %120) #3
  %134 = add i32 %133, 8
  %.not1214 = icmp eq i32 %133, 0
  %135 = select i1 %.not1214, i32 0, i32 %134
  %136 = tail call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitOptionalInitialization0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %0, i32 noundef %1, i32 noundef %135, i32 noundef %.01182, i32 noundef %.01184)
  %137 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %73)
  %138 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %74)
  switch i32 %138, label %222 [
    i32 1, label %139
    i32 2, label %144
    i32 4, label %147
  ]

139:                                              ; preds = %126
  %140 = add i32 %137, 4
  %141 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %142 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %83)
  %143 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %140, i32 noundef %136, i32 noundef %141, i32 noundef %142)
  br label %222

144:                                              ; preds = %126
  %145 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %146 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %76)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %137, i32 noundef %136, i32 noundef %145, i32 noundef %146)
  br label %222

147:                                              ; preds = %126
  %148 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %149 = zext i32 %148 to i64
  %150 = add nuw nsw i64 %149, 8
  %151 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %150)
  %152 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %76)
  %.not1215 = icmp ne i32 %148, 0
  %.not1216 = icmp eq i32 %151, 91
  %or.cond = select i1 %.not1215, i1 %.not1216, i1 false
  br i1 %or.cond, label %153, label %156

153:                                              ; preds = %147
  %154 = icmp ne i32 %152, 0
  %155 = zext i1 %154 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %137, i32 noundef %155, i32 noundef %148, i32 noundef %136)
  br label %222

156:                                              ; preds = %147
  %.not1217 = icmp eq i32 %151, 90
  %or.cond1242 = select i1 %.not1215, i1 %.not1217, i1 false
  br i1 %or.cond1242, label %157, label %160

157:                                              ; preds = %156
  %158 = icmp ne i32 %152, 0
  %159 = zext i1 %158 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %137, i32 noundef %159, i32 noundef %148, i32 noundef %136)
  br label %222

160:                                              ; preds = %156
  %161 = zext i32 %137 to i64
  %162 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %161)
  %163 = zext i32 %162 to i64
  %164 = add nuw nsw i64 %163, 28
  %165 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %164)
  %166 = zext i32 %165 to i64
  %167 = add nuw nsw i64 %166, 72
  %168 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %167)
  %169 = add nuw nsw i64 %149, 16
  %170 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %169)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %77, i32 noundef 29154)
  tail call void @i32_store16(ptr noundef nonnull %9, i64 noundef %78, i32 noundef 259)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %10, i64 noundef %170)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %80, i64 noundef %170)
  tail call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %0, i32 noundef %168, i32 noundef 0, i32 noundef %8, i32 noundef %82, i32 noundef 0)
  br label %222

171:                                              ; preds = %115, %109
  %172 = tail call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AgenExpression0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %0, i32 noundef %1, i32 noundef %111, i32 noundef 0)
  %173 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  %174 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %70)
  %.not1218 = icmp ult i32 %173, %174
  br i1 %.not1218, label %177, label %175

175:                                              ; preds = %171
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %71, i32 noundef %12, i32 noundef 0, i32 noundef 4) #3
  %176 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  br label %177

177:                                              ; preds = %175, %171
  %.0 = phi i32 [ %176, %175 ], [ %173, %171 ]
  %178 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %179 = shl i32 %.0, 2
  %180 = add i32 %178, %179
  %181 = zext i32 %180 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %181, i32 noundef %172)
  %182 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %11)
  %183 = add i32 %182, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %11, i32 noundef %183)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %72, i32 noundef %1, i32 noundef %.01188, i32 noundef %2)
  %184 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateLoadPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %69, i32 noundef %4, i32 noundef %172) #3
  %185 = add i32 %184, 8
  %.not1219 = icmp eq i32 %184, 0
  %186 = select i1 %.not1219, i32 0, i32 %185
  %187 = tail call i32 @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitOptionalInitialization0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20hermes0x3A0x3AIdentifier0x29(ptr noundef %0, i32 noundef %1, i32 noundef %186, i32 noundef %.01182, i32 noundef %.01184)
  %188 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %73)
  %189 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %74)
  switch i32 %189, label %222 [
    i32 1, label %190
    i32 2, label %195
    i32 4, label %198
  ]

190:                                              ; preds = %177
  %191 = add i32 %188, 4
  %192 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %193 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %83)
  %194 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %191, i32 noundef %187, i32 noundef %192, i32 noundef %193)
  br label %222

195:                                              ; preds = %177
  %196 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %197 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %76)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %188, i32 noundef %187, i32 noundef %196, i32 noundef %197)
  br label %222

198:                                              ; preds = %177
  %199 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %200 = zext i32 %199 to i64
  %201 = add nuw nsw i64 %200, 8
  %202 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %201)
  %203 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %76)
  %.not1220 = icmp ne i32 %199, 0
  %.not1221 = icmp eq i32 %202, 91
  %or.cond1243 = select i1 %.not1220, i1 %.not1221, i1 false
  br i1 %or.cond1243, label %204, label %207

204:                                              ; preds = %198
  %205 = icmp ne i32 %203, 0
  %206 = zext i1 %205 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %188, i32 noundef %206, i32 noundef %199, i32 noundef %187)
  br label %222

207:                                              ; preds = %198
  %.not1222 = icmp eq i32 %202, 90
  %or.cond1245 = select i1 %.not1220, i1 %.not1222, i1 false
  br i1 %or.cond1245, label %208, label %211

208:                                              ; preds = %207
  %209 = icmp ne i32 %203, 0
  %210 = zext i1 %209 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %188, i32 noundef %210, i32 noundef %199, i32 noundef %187)
  br label %222

211:                                              ; preds = %207
  %212 = zext i32 %188 to i64
  %213 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %212)
  %214 = zext i32 %213 to i64
  %215 = add nuw nsw i64 %214, 28
  %216 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %215)
  %217 = zext i32 %216 to i64
  %218 = add nuw nsw i64 %217, 72
  %219 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %218)
  %220 = add nuw nsw i64 %200, 16
  %221 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %220)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %77, i32 noundef 29154)
  tail call void @i32_store16(ptr noundef nonnull %9, i64 noundef %78, i32 noundef 259)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %79, i64 noundef %221)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %80, i64 noundef %221)
  tail call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %0, i32 noundef %219, i32 noundef 0, i32 noundef %81, i32 noundef %82, i32 noundef 0)
  br label %222

222:                                              ; preds = %177, %126, %211, %208, %204, %195, %190, %160, %157, %153, %144, %139
  %223 = add nuw nsw i64 %.pre-phi1258, 4
  %224 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %223)
  %.not1223 = icmp eq i32 %224, %14
  br i1 %.not1223, label %.loopexit1251, label %84

225:                                              ; preds = %85
  %226 = load i32, ptr %6, align 8, !tbaa !5
  %227 = add i32 %226, -128
  store i32 %227, ptr %6, align 8, !tbaa !5
  %228 = add i32 %226, -44
  %229 = add nuw nsw i64 %86, 28
  %230 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %229)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AcreateLRef0x28hermes0x3A0x3AESTree0x3A0x3ANode0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %228, i32 noundef %1, i32 noundef %230, i32 noundef %2)
  %231 = zext i32 %227 to i64
  %232 = add nuw nsw i64 %231, 60
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %232, i64 noundef 17179869184)
  %233 = add i32 %226, -60
  %234 = add nuw nsw i64 %231, 56
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %234, i32 noundef %233)
  %235 = add nuw nsw i64 %231, 48
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %235, i32 noundef 0)
  %236 = add nuw nsw i64 %231, 40
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %236, i64 noundef 0)
  %237 = add nuw nsw i64 %231, 32
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %237, i64 noundef 0)
  %238 = add nuw nsw i64 %231, 24
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %238, i64 noundef 0)
  %239 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AgetLiteralPositiveZero0x280x29(ptr noundef %0, i32 noundef %69)
  %240 = zext i32 %71 to i64
  %241 = add nuw nsw i64 %240, 4
  %242 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %241)
  %.not1224 = icmp eq i32 %242, 0
  br i1 %.not1224, label %._crit_edge1259, label %243

._crit_edge1259:                                  ; preds = %225
  %.pre1260 = add nuw nsw i64 %231, 108
  %.pre = add i32 %226, -20
  br label %275

243:                                              ; preds = %225
  %244 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %240)
  %245 = shl i32 %242, 2
  %246 = add i32 %244, %245
  %247 = add nuw nsw i64 %231, 64
  %248 = add i32 %226, -72
  %249 = add nuw nsw i64 %231, 108
  %250 = add i32 %226, -104
  %251 = add i32 %226, -20
  br label %252

252:                                              ; preds = %271, %243
  %.01189 = phi i32 [ %244, %243 ], [ %272, %271 ]
  %253 = zext i32 %.01189 to i64
  %254 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %253)
  %255 = zext i32 %254 to i64
  %256 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %255)
  %257 = icmp eq i32 %256, 116
  br i1 %257, label %258, label %259

258:                                              ; preds = %252
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %249, i32 noundef %254)
  tail call void @w2c_hermes_llvh0x3A0x3ASetVector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3AFunction0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x2C0x20llvh0x3A0x3ADenseSet0x3Chermes0x3A0x3AFunction0x2A0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AFunction0x2A0x3E0x3E0x3E0x3A0x3Ainsert0x28hermes0x3A0x3AFunction0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %250, i32 noundef %251) #3
  br label %271

259:                                              ; preds = %252
  %260 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %232)
  %261 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %247)
  %.not1225 = icmp ult i32 %260, %261
  br i1 %.not1225, label %264, label %262

262:                                              ; preds = %259
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %248, i32 noundef %233, i32 noundef 0, i32 noundef 4) #3
  %263 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %232)
  br label %264

264:                                              ; preds = %262, %259
  %.11185 = phi i32 [ %263, %262 ], [ %260, %259 ]
  %265 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %234)
  %266 = shl i32 %.11185, 2
  %267 = add i32 %265, %266
  %268 = zext i32 %267 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %268, i32 noundef %254)
  %269 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %232)
  %270 = add i32 %269, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %232, i32 noundef %270)
  br label %271

271:                                              ; preds = %264, %258
  %272 = add i32 %.01189, 4
  %.not1226 = icmp eq i32 %272, %246
  br i1 %.not1226, label %273, label %252

273:                                              ; preds = %271
  %274 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %241)
  %.not1227 = icmp eq i32 %274, 0
  br i1 %.not1227, label %275, label %279

275:                                              ; preds = %._crit_edge1259, %273
  %.pre1252.pre-phi = phi i32 [ %.pre, %._crit_edge1259 ], [ %251, %273 ]
  %.pre.pre-phi = phi i64 [ %.pre1260, %._crit_edge1259 ], [ %249, %273 ]
  %276 = zext i32 %69 to i64
  %277 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %276)
  %278 = add i32 %277, 268
  br label %.loopexit

279:                                              ; preds = %273
  %280 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %232)
  %281 = add nuw nsw i64 %231, 44
  %282 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %281)
  %283 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %236)
  %284 = sub i32 %282, %283
  %285 = ashr i32 %284, 2
  %286 = add i32 %285, %280
  %287 = zext i32 %69 to i64
  %288 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %287)
  %289 = add i32 %288, 296
  %290 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateAllocObjectInst0x28unsigned0x20int0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %69, i32 noundef %286, i32 noundef %289) #3
  %291 = add i32 %290, 8
  %.not1228 = icmp eq i32 %290, 0
  %292 = select i1 %.not1228, i32 0, i32 %291
  %293 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %236)
  %294 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %281)
  %.not1229 = icmp eq i32 %293, %294
  br i1 %.not1229, label %.loopexit1250, label %.preheader

.preheader:                                       ; preds = %279, %.preheader
  %.11190 = phi i32 [ %297, %.preheader ], [ %293, %279 ]
  %295 = zext i32 %.11190 to i64
  %296 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %295)
  tail call void @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStoreNewOwnPropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ALiteral0x2A0x2C0x20hermes0x3A0x3AIRBuilder0x3A0x3APropEnumerable0x29(ptr noundef %0, i32 noundef %69, i32 noundef %239, i32 noundef %292, i32 noundef %296)
  %297 = add i32 %.11190, 4
  %.not1230 = icmp eq i32 %297, %294
  br i1 %.not1230, label %.loopexit1250, label %.preheader

.loopexit1250:                                    ; preds = %.preheader, %279
  %298 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %232)
  %.not1231 = icmp eq i32 %298, 0
  br i1 %.not1231, label %.loopexit, label %299

299:                                              ; preds = %.loopexit1250
  %300 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %234)
  %301 = shl i32 %298, 2
  %302 = add i32 %300, %301
  br label %303

303:                                              ; preds = %303, %299
  %.21191 = phi i32 [ %300, %299 ], [ %307, %303 ]
  %304 = zext i32 %.21191 to i64
  %305 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %304)
  %306 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %69, i32 noundef %239, i32 noundef %292, i32 noundef %305)
  %307 = add i32 %.21191, 4
  %.not1232 = icmp eq i32 %307, %302
  br i1 %.not1232, label %.loopexit, label %303

.loopexit:                                        ; preds = %303, %.loopexit1250, %275
  %.pre-phi1253 = phi i32 [ %251, %.loopexit1250 ], [ %.pre1252.pre-phi, %275 ], [ %251, %303 ]
  %.pre-phi = phi i64 [ %249, %.loopexit1250 ], [ %.pre.pre-phi, %275 ], [ %249, %303 ]
  %.2 = phi i32 [ %292, %.loopexit1250 ], [ %278, %275 ], [ %292, %303 ]
  %308 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateAllocObjectInst0x28unsigned0x20int0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %69, i32 noundef 0, i32 noundef 0) #3
  %309 = add nuw nsw i64 %231, 116
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %309, i32 noundef %.2)
  %310 = add nuw nsw i64 %231, 112
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %310, i32 noundef %4)
  %311 = add i32 %308, 8
  %.not1233 = icmp eq i32 %308, 0
  %312 = select i1 %.not1233, i32 0, i32 %311
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi, i32 noundef %312)
  %313 = add nuw nsw i64 %231, 124
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %313, i32 noundef 3)
  %314 = add nuw nsw i64 %231, 120
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %314, i32 noundef %.pre-phi1253)
  %315 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %314)
  %316 = add nuw nsw i64 %231, 16
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %316, i64 noundef %315)
  %317 = add i32 %226, -112
  %318 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateCallBuiltinInst0x28hermes0x3A0x3ABuiltinMethod0x3A0x3AEnum0x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3AValue0x2A0x3E0x29(ptr noundef %0, i32 noundef %69, i32 noundef 44, i32 noundef %317) #3
  %319 = add i32 %318, 8
  %.not1234 = icmp eq i32 %318, 0
  %320 = select i1 %.not1234, i32 0, i32 %319
  %321 = add nuw nsw i64 %231, 88
  %322 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %321)
  %323 = add nuw nsw i64 %231, 84
  %324 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %323)
  switch i32 %324, label %365 [
    i32 1, label %325
    i32 2, label %332
    i32 4, label %337
  ]

325:                                              ; preds = %.loopexit
  %326 = add i32 %322, 4
  %327 = add nuw nsw i64 %231, 96
  %328 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %327)
  %329 = add nuw nsw i64 %231, 100
  %330 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %329)
  %331 = tail call i32 @w2c_hermes_hermes0x3A0x3AIRBuilder0x3A0x3AcreateStorePropertyInst0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %326, i32 noundef %320, i32 noundef %328, i32 noundef %330)
  br label %365

332:                                              ; preds = %.loopexit
  %333 = add nuw nsw i64 %231, 96
  %334 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %333)
  %335 = add nuw nsw i64 %231, 92
  %336 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %335)
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitStore0x28hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %322, i32 noundef %320, i32 noundef %334, i32 noundef %336)
  br label %365

337:                                              ; preds = %.loopexit
  %338 = add nuw nsw i64 %231, 96
  %339 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %338)
  %340 = zext i32 %339 to i64
  %341 = add nuw nsw i64 %340, 8
  %342 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %341)
  %343 = add nuw nsw i64 %231, 92
  %344 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %343)
  %.not1235 = icmp ne i32 %339, 0
  %.not1236 = icmp eq i32 %342, 91
  %or.cond1246 = select i1 %.not1235, i1 %.not1236, i1 false
  br i1 %or.cond1246, label %345, label %348

345:                                              ; preds = %337
  %346 = icmp ne i32 %344, 0
  %347 = zext i1 %346 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringArray0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AArrayPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %322, i32 noundef %347, i32 noundef %339, i32 noundef %320)
  br label %365

348:                                              ; preds = %337
  %.not1237 = icmp eq i32 %342, 90
  %or.cond1248 = select i1 %.not1235, i1 %.not1237, i1 false
  br i1 %or.cond1248, label %349, label %352

349:                                              ; preds = %348
  %350 = icmp ne i32 %344, 0
  %351 = zext i1 %350 to i32
  tail call void @w2c_hermes_hermes0x3A0x3Airgen0x3A0x3AESTreeIRGen0x3A0x3AemitDestructuringObject0x28bool0x2C0x20hermes0x3A0x3AESTree0x3A0x3AObjectPatternNode0x2A0x2C0x20hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %322, i32 noundef %351, i32 noundef %339, i32 noundef %320)
  br label %365

352:                                              ; preds = %348
  %353 = zext i32 %322 to i64
  %354 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %353)
  %355 = zext i32 %354 to i64
  %356 = add nuw nsw i64 %355, 28
  %357 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %356)
  %358 = zext i32 %357 to i64
  %359 = add nuw nsw i64 %358, 72
  %360 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %359)
  %361 = add nuw nsw i64 %340, 16
  %362 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %361)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi, i32 noundef 29154)
  tail call void @i32_store16(ptr noundef nonnull %9, i64 noundef %309, i32 noundef 259)
  %363 = add nuw nsw i64 %231, 8
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %363, i64 noundef %362)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %314, i64 noundef %362)
  %364 = add i32 %226, -120
  tail call void @w2c_hermes_hermes0x3A0x3ASourceErrorManager0x3A0x3Amessage0x28hermes0x3A0x3ASourceErrorManager0x3A0x3ADiagKind0x2C0x20llvh0x3A0x3ASMRange0x2C0x20llvh0x3A0x3ATwine0x20const0x260x2C0x20hermes0x3A0x3ASubsystem0x29(ptr noundef %0, i32 noundef %360, i32 noundef 0, i32 noundef %364, i32 noundef %.pre-phi1253, i32 noundef 0)
  br label %365

365:                                              ; preds = %.loopexit, %352, %349, %345, %332, %325
  %366 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %236)
  %.not1238 = icmp eq i32 %366, 0
  br i1 %.not1238, label %369, label %367

367:                                              ; preds = %365
  %368 = add nuw nsw i64 %231, 44
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %368, i32 noundef %366)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %366) #3
  br label %369

369:                                              ; preds = %367, %365
  %370 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %238)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %370) #3
  %371 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %234)
  %.not1239 = icmp eq i32 %233, %371
  br i1 %.not1239, label %373, label %372

372:                                              ; preds = %369
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %371) #3
  br label %373

373:                                              ; preds = %372, %369
  store i32 %226, ptr %6, align 8, !tbaa !5
  br label %.loopexit1251

.loopexit1251:                                    ; preds = %222, %66, %373
  %374 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %.not1240 = icmp eq i32 %12, %374
  br i1 %.not1240, label %376, label %375

375:                                              ; preds = %.loopexit1251
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %374) #3
  br label %376

376:                                              ; preds = %375, %.loopexit1251
  store i32 %7, ptr %6, align 8, !tbaa !5
  ret void
}

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

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

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

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


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