; LLVM IR from aws/s2n-tls :: tests/unit (s2n_quic_support_io_test)

; 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.s2n_handshake_action = type { i8, i8, i8, [2 x ptr] }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_errno = external thread_local global i32, align 4
@tls13_state_machine = external hidden global [21 x %struct.s2n_handshake_action], align 16
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.20 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [83 x i8], align 1
@stderr = external global ptr, align 8
@.str.22 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [72 x i8], align 1
@__const.main.message_data = external hidden unnamed_addr constant [22 x i8], align 16
@.str.38 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [79 x i8], align 1
@TEST_DATA = external hidden constant [5 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [72 x i8], align 1
@input_stuffer = external dso_local global %struct.s2n_stuffer, align 8
@.str.75 = external hidden unnamed_addr constant [74 x i8], align 1
@output_stuffer = external dso_local global %struct.s2n_stuffer, align 8
@.str.76 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.ticket_message_bytes = external hidden unnamed_addr constant [22 x i8], align 16
@.str.107 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [123 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.112 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [122 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_conn_get_current_message_type(ptr noundef) #0

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #3

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #4

declare i32 @s2n_quic_write_handshake_message(ptr noundef) #5

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) #5

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #6

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca %struct.s2n_result, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca [22 x i8], align 16
  %18 = alloca i32, align 4
  %19 = alloca %struct.s2n_result, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %struct.s2n_connection, align 8
  %25 = alloca i8, align 1
  %26 = alloca %struct.s2n_result, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %struct.s2n_result, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca %struct.s2n_stuffer, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i8, align 1
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i8, align 1
  %44 = alloca %struct.s2n_result, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca i32, align 4
  %54 = alloca %struct.s2n_stuffer, align 8
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i8, align 1
  %59 = alloca %struct.s2n_result, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca %struct.s2n_stuffer, align 8
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i8, align 1
  %74 = alloca %struct.s2n_result, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca i32, align 4
  %82 = alloca %struct.s2n_stuffer, align 8
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i8, align 1
  %88 = alloca %struct.s2n_result, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca ptr, align 8
  %95 = alloca i32, align 4
  %96 = alloca %struct.s2n_stuffer, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i8, align 1
  %100 = alloca i64, align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca %struct.s2n_result, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca %struct.s2n_result, align 4
  %109 = alloca i32, align 4
  %110 = alloca i64, align 8
  %111 = alloca i32, align 4
  %112 = alloca i64, align 8
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca %struct.s2n_result, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca %struct.s2n_result, align 4
  %121 = alloca i32, align 4
  %122 = alloca i64, align 8
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca %struct.s2n_result, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca %struct.s2n_result, align 4
  %132 = alloca ptr, align 8
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_stuffer, align 8
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i8, align 1
  %138 = alloca i64, align 8
  %139 = alloca i64, align 8
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_result, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_result, align 4
  %149 = alloca i32, align 4
  %150 = alloca i64, align 8
  %151 = alloca i32, align 4
  %152 = alloca %struct.s2n_result, align 4
  %153 = alloca i32, align 4
  %154 = alloca i64, align 8
  %155 = alloca %struct.s2n_blob, align 8
  %156 = alloca %struct.s2n_result, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca ptr, align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca ptr, align 8
  %164 = alloca i32, align 4
  %165 = alloca %struct.s2n_result, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i64, align 8
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca %struct.s2n_result, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca ptr, align 8
  %195 = alloca i32, align 4
  %196 = alloca %struct.s2n_result, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_blob, align 8
  %200 = alloca %struct.s2n_result, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca ptr, align 8
  %211 = alloca i32, align 4
  %212 = alloca %struct.s2n_result, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca ptr, align 8
  %222 = alloca i32, align 4
  %223 = alloca %struct.s2n_result, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca ptr, align 8
  %232 = alloca i32, align 4
  %233 = alloca %struct.s2n_result, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i8, align 1
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca ptr, align 8
  %250 = alloca i32, align 4
  %251 = alloca %struct.s2n_result, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_stuffer, align 8
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca [22 x i8], align 16
  %276 = alloca ptr, align 8
  %277 = alloca %struct.s2n_stuffer, align 8
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca %struct.s2n_result, align 4
  %287 = alloca ptr, align 8
  %288 = alloca ptr, align 8
  %289 = alloca i32, align 4
  %290 = alloca i8, align 1
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca %struct.s2n_stuffer, align 8
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca %struct.s2n_result, align 4
  %300 = alloca %struct.s2n_result, align 4
  %301 = alloca i64, align 8
  %302 = alloca ptr, align 8
  %303 = alloca ptr, align 8
  %304 = alloca i32, align 4
  %305 = alloca i8, align 1
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca %struct.s2n_stuffer, align 8
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca %struct.s2n_result, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %324

324:                                              ; preds = %2
  br label %325

325:                                              ; preds = %324
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %326 = load ptr, ptr @stdout, align 8, !tbaa !9
  %327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %326, ptr noundef @.str.20, ptr noundef @.str.21) #11
  %328 = load ptr, ptr @stdout, align 8, !tbaa !9
  %329 = call i32 @fflush(ptr noundef %328)
  br label %330

330:                                              ; preds = %325
  %331 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %332 = icmp eq i32 %331, -1
  br i1 %332, label %333, label %384

333:                                              ; preds = %330
  br label %334

334:                                              ; preds = %333
  br label %335

335:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %336 = call ptr @__errno_location() #12
  %337 = load i32, ptr %336, align 4, !tbaa !5
  store i32 %337, ptr %6, align 4, !tbaa !5
  %338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %339 = call i32 @s2n_print_stacktrace(ptr noundef %338)
  %340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %341 = trunc i8 %340 to i1
  br i1 %341, label %342, label %364

342:                                              ; preds = %335
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = call i32 @fileno(ptr noundef %343) #11
  %345 = call i32 @isatty(i32 noundef %344) #11
  %346 = icmp ne i32 %345, 0
  br i1 %346, label %347, label %364

347:                                              ; preds = %342
  %348 = load i32, ptr %6, align 4, !tbaa !5
  %349 = call ptr @__errno_location() #12
  store i32 %348, ptr %349, align 4, !tbaa !5
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = load i32, ptr @test_count, align 4, !tbaa !5
  %352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = call ptr @s2n_strerror(i32 noundef %353, ptr noundef @.str.24)
  %355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror_debug(i32 noundef %356, ptr noundef @.str.24)
  %358 = call ptr @__errno_location() #12
  %359 = load i32, ptr %358, align 4, !tbaa !5
  %360 = call ptr @strerror(i32 noundef %359) #11
  %361 = call ptr @__errno_location() #12
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %350, ptr noundef @.str.22, i32 noundef %351, ptr noundef @.str.23, ptr noundef @.str.21, i32 noundef 122, ptr noundef %354, ptr noundef %357, ptr noundef %360, i32 noundef %362) #11
  br label %381

364:                                              ; preds = %342, %335
  %365 = load i32, ptr %6, align 4, !tbaa !5
  %366 = call ptr @__errno_location() #12
  store i32 %365, ptr %366, align 4, !tbaa !5
  %367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %368 = load i32, ptr @test_count, align 4, !tbaa !5
  %369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef @.str.24)
  %372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror_debug(i32 noundef %373, ptr noundef @.str.24)
  %375 = call ptr @__errno_location() #12
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @strerror(i32 noundef %376) #11
  %378 = call ptr @__errno_location() #12
  %379 = load i32, ptr %378, align 4, !tbaa !5
  %380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %367, ptr noundef @.str.25, i32 noundef %368, ptr noundef @.str.23, ptr noundef @.str.21, i32 noundef 122, ptr noundef %371, ptr noundef %374, ptr noundef %377, i32 noundef %379) #11
  br label %381

381:                                              ; preds = %364, %347
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %382

382:                                              ; preds = %381
  call void @exit(i32 noundef 1) #13
  unreachable

383:                                              ; No predecessors!
  br label %384

384:                                              ; preds = %383, %330
  br label %385

385:                                              ; preds = %384
  br label %386

386:                                              ; preds = %385
  %387 = load i32, ptr @test_count, align 4, !tbaa !5
  %388 = add nsw i32 %387, 1
  store i32 %388, ptr @test_count, align 4, !tbaa !5
  %389 = call i32 @s2n_enable_atexit()
  %390 = icmp eq i32 %389, -1
  br i1 %390, label %391, label %442

391:                                              ; preds = %386
  br label %392

392:                                              ; preds = %391
  br label %393

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %394 = call ptr @__errno_location() #12
  %395 = load i32, ptr %394, align 4, !tbaa !5
  store i32 %395, ptr %7, align 4, !tbaa !5
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = call i32 @s2n_print_stacktrace(ptr noundef %396)
  %398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %399 = trunc i8 %398 to i1
  br i1 %399, label %400, label %422

400:                                              ; preds = %393
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = call i32 @fileno(ptr noundef %401) #11
  %403 = call i32 @isatty(i32 noundef %402) #11
  %404 = icmp ne i32 %403, 0
  br i1 %404, label %405, label %422

405:                                              ; preds = %400
  %406 = load i32, ptr %7, align 4, !tbaa !5
  %407 = call ptr @__errno_location() #12
  store i32 %406, ptr %407, align 4, !tbaa !5
  %408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %409 = load i32, ptr @test_count, align 4, !tbaa !5
  %410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @s2n_strerror(i32 noundef %411, ptr noundef @.str.24)
  %413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror_debug(i32 noundef %414, ptr noundef @.str.24)
  %416 = call ptr @__errno_location() #12
  %417 = load i32, ptr %416, align 4, !tbaa !5
  %418 = call ptr @strerror(i32 noundef %417) #11
  %419 = call ptr @__errno_location() #12
  %420 = load i32, ptr %419, align 4, !tbaa !5
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %408, ptr noundef @.str.22, i32 noundef %409, ptr noundef @.str.26, ptr noundef @.str.21, i32 noundef 122, ptr noundef %412, ptr noundef %415, ptr noundef %418, i32 noundef %420) #11
  br label %439

422:                                              ; preds = %400, %393
  %423 = load i32, ptr %7, align 4, !tbaa !5
  %424 = call ptr @__errno_location() #12
  store i32 %423, ptr %424, align 4, !tbaa !5
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = call ptr @s2n_strerror(i32 noundef %428, ptr noundef @.str.24)
  %430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror_debug(i32 noundef %431, ptr noundef @.str.24)
  %433 = call ptr @__errno_location() #12
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = call ptr @strerror(i32 noundef %434) #11
  %436 = call ptr @__errno_location() #12
  %437 = load i32, ptr %436, align 4, !tbaa !5
  %438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %425, ptr noundef @.str.25, i32 noundef %426, ptr noundef @.str.26, ptr noundef @.str.21, i32 noundef 122, ptr noundef %429, ptr noundef %432, ptr noundef %435, i32 noundef %437) #11
  br label %439

439:                                              ; preds = %422, %405
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %440

440:                                              ; preds = %439
  call void @exit(i32 noundef 1) #13
  unreachable

441:                                              ; No predecessors!
  br label %442

442:                                              ; preds = %441, %386
  br label %443

443:                                              ; preds = %442
  br label %444

444:                                              ; preds = %443
  br label %445

445:                                              ; preds = %444
  %446 = call i32 @s2n_init()
  %447 = icmp eq i32 %446, -1
  br i1 %447, label %448, label %499

448:                                              ; preds = %445
  br label %449

449:                                              ; preds = %448
  br label %450

450:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %451 = call ptr @__errno_location() #12
  %452 = load i32, ptr %451, align 4, !tbaa !5
  store i32 %452, ptr %8, align 4, !tbaa !5
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @s2n_print_stacktrace(ptr noundef %453)
  %455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %456 = trunc i8 %455 to i1
  br i1 %456, label %457, label %479

457:                                              ; preds = %450
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = call i32 @fileno(ptr noundef %458) #11
  %460 = call i32 @isatty(i32 noundef %459) #11
  %461 = icmp ne i32 %460, 0
  br i1 %461, label %462, label %479

462:                                              ; preds = %457
  %463 = load i32, ptr %8, align 4, !tbaa !5
  %464 = call ptr @__errno_location() #12
  store i32 %463, ptr %464, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call ptr @s2n_strerror(i32 noundef %468, ptr noundef @.str.24)
  %470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror_debug(i32 noundef %471, ptr noundef @.str.24)
  %473 = call ptr @__errno_location() #12
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = call ptr @strerror(i32 noundef %474) #11
  %476 = call ptr @__errno_location() #12
  %477 = load i32, ptr %476, align 4, !tbaa !5
  %478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %465, ptr noundef @.str.22, i32 noundef %466, ptr noundef @.str.27, ptr noundef @.str.21, i32 noundef 122, ptr noundef %469, ptr noundef %472, ptr noundef %475, i32 noundef %477) #11
  br label %496

479:                                              ; preds = %457, %450
  %480 = load i32, ptr %8, align 4, !tbaa !5
  %481 = call ptr @__errno_location() #12
  store i32 %480, ptr %481, align 4, !tbaa !5
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = load i32, ptr @test_count, align 4, !tbaa !5
  %484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = call ptr @s2n_strerror(i32 noundef %485, ptr noundef @.str.24)
  %487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror_debug(i32 noundef %488, ptr noundef @.str.24)
  %490 = call ptr @__errno_location() #12
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @strerror(i32 noundef %491) #11
  %493 = call ptr @__errno_location() #12
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %482, ptr noundef @.str.25, i32 noundef %483, ptr noundef @.str.27, ptr noundef @.str.21, i32 noundef 122, ptr noundef %486, ptr noundef %489, ptr noundef %492, i32 noundef %494) #11
  br label %496

496:                                              ; preds = %479, %462
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %497

497:                                              ; preds = %496
  call void @exit(i32 noundef 1) #13
  unreachable

498:                                              ; No predecessors!
  br label %499

499:                                              ; preds = %498, %445
  br label %500

500:                                              ; preds = %499
  br label %501

501:                                              ; preds = %500
  %502 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %502, label %650, label %503

503:                                              ; preds = %501
  br label %504

504:                                              ; preds = %503
  br label %505

505:                                              ; preds = %504
  %506 = call i32 @s2n_cleanup()
  %507 = icmp eq i32 %506, -1
  br i1 %507, label %508, label %559

508:                                              ; preds = %505
  br label %509

509:                                              ; preds = %508
  br label %510

510:                                              ; preds = %509
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #11
  %511 = call ptr @__errno_location() #12
  %512 = load i32, ptr %511, align 4, !tbaa !5
  store i32 %512, ptr %9, align 4, !tbaa !5
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @s2n_print_stacktrace(ptr noundef %513)
  %515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %516 = trunc i8 %515 to i1
  br i1 %516, label %517, label %539

517:                                              ; preds = %510
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = call i32 @fileno(ptr noundef %518) #11
  %520 = call i32 @isatty(i32 noundef %519) #11
  %521 = icmp ne i32 %520, 0
  br i1 %521, label %522, label %539

522:                                              ; preds = %517
  %523 = load i32, ptr %9, align 4, !tbaa !5
  %524 = call ptr @__errno_location() #12
  store i32 %523, ptr %524, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror(i32 noundef %528, ptr noundef @.str.24)
  %530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %531 = load i32, ptr %530, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror_debug(i32 noundef %531, ptr noundef @.str.24)
  %533 = call ptr @__errno_location() #12
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = call ptr @strerror(i32 noundef %534) #11
  %536 = call ptr @__errno_location() #12
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef @.str.22, i32 noundef %526, ptr noundef @.str.28, ptr noundef @.str.21, i32 noundef 125, ptr noundef %529, ptr noundef %532, ptr noundef %535, i32 noundef %537) #11
  br label %556

539:                                              ; preds = %517, %510
  %540 = load i32, ptr %9, align 4, !tbaa !5
  %541 = call ptr @__errno_location() #12
  store i32 %540, ptr %541, align 4, !tbaa !5
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = load i32, ptr @test_count, align 4, !tbaa !5
  %544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = call ptr @s2n_strerror(i32 noundef %545, ptr noundef @.str.24)
  %547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = call ptr @s2n_strerror_debug(i32 noundef %548, ptr noundef @.str.24)
  %550 = call ptr @__errno_location() #12
  %551 = load i32, ptr %550, align 4, !tbaa !5
  %552 = call ptr @strerror(i32 noundef %551) #11
  %553 = call ptr @__errno_location() #12
  %554 = load i32, ptr %553, align 4, !tbaa !5
  %555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %542, ptr noundef @.str.25, i32 noundef %543, ptr noundef @.str.28, ptr noundef @.str.21, i32 noundef 125, ptr noundef %546, ptr noundef %549, ptr noundef %552, i32 noundef %554) #11
  br label %556

556:                                              ; preds = %539, %522
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #11
  br label %557

557:                                              ; preds = %556
  call void @exit(i32 noundef 1) #13
  unreachable

558:                                              ; No predecessors!
  br label %559

559:                                              ; preds = %558, %505
  br label %560

560:                                              ; preds = %559
  br label %561

561:                                              ; preds = %560
  br label %562

562:                                              ; preds = %561
  %563 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %564 = icmp eq i32 %563, -1
  br i1 %564, label %565, label %616

565:                                              ; preds = %562
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %568 = call ptr @__errno_location() #12
  %569 = load i32, ptr %568, align 4, !tbaa !5
  store i32 %569, ptr %10, align 4, !tbaa !5
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = call i32 @s2n_print_stacktrace(ptr noundef %570)
  %572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %573 = trunc i8 %572 to i1
  br i1 %573, label %574, label %596

574:                                              ; preds = %567
  %575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %576 = call i32 @fileno(ptr noundef %575) #11
  %577 = call i32 @isatty(i32 noundef %576) #11
  %578 = icmp ne i32 %577, 0
  br i1 %578, label %579, label %596

579:                                              ; preds = %574
  %580 = load i32, ptr %10, align 4, !tbaa !5
  %581 = call ptr @__errno_location() #12
  store i32 %580, ptr %581, align 4, !tbaa !5
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call ptr @s2n_strerror(i32 noundef %585, ptr noundef @.str.24)
  %587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = call ptr @s2n_strerror_debug(i32 noundef %588, ptr noundef @.str.24)
  %590 = call ptr @__errno_location() #12
  %591 = load i32, ptr %590, align 4, !tbaa !5
  %592 = call ptr @strerror(i32 noundef %591) #11
  %593 = call ptr @__errno_location() #12
  %594 = load i32, ptr %593, align 4, !tbaa !5
  %595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %582, ptr noundef @.str.22, i32 noundef %583, ptr noundef @.str.29, ptr noundef @.str.21, i32 noundef 125, ptr noundef %586, ptr noundef %589, ptr noundef %592, i32 noundef %594) #11
  br label %613

596:                                              ; preds = %574, %567
  %597 = load i32, ptr %10, align 4, !tbaa !5
  %598 = call ptr @__errno_location() #12
  store i32 %597, ptr %598, align 4, !tbaa !5
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = load i32, ptr @test_count, align 4, !tbaa !5
  %601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call ptr @s2n_strerror(i32 noundef %602, ptr noundef @.str.24)
  %604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %605 = load i32, ptr %604, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror_debug(i32 noundef %605, ptr noundef @.str.24)
  %607 = call ptr @__errno_location() #12
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = call ptr @strerror(i32 noundef %608) #11
  %610 = call ptr @__errno_location() #12
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %599, ptr noundef @.str.25, i32 noundef %600, ptr noundef @.str.29, ptr noundef @.str.21, i32 noundef 125, ptr noundef %603, ptr noundef %606, ptr noundef %609, i32 noundef %611) #11
  br label %613

613:                                              ; preds = %596, %579
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %614

614:                                              ; preds = %613
  call void @exit(i32 noundef 1) #13
  unreachable

615:                                              ; No predecessors!
  br label %616

616:                                              ; preds = %615, %562
  br label %617

617:                                              ; preds = %616
  %618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %619 = trunc i8 %618 to i1
  br i1 %619, label %620, label %636

620:                                              ; preds = %617
  %621 = load ptr, ptr @stdout, align 8, !tbaa !9
  %622 = call i32 @fileno(ptr noundef %621) #11
  %623 = call i32 @isatty(i32 noundef %622) #11
  %624 = icmp ne i32 %623, 0
  br i1 %624, label %625, label %636

625:                                              ; preds = %620
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = icmp ne i32 %626, 0
  br i1 %627, label %628, label %632

628:                                              ; preds = %625
  %629 = load ptr, ptr @stdout, align 8, !tbaa !9
  %630 = load i32, ptr @test_count, align 4, !tbaa !5
  %631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %629, ptr noundef @.str.30, i32 noundef %630) #11
  br label %635

632:                                              ; preds = %625
  %633 = load ptr, ptr @stdout, align 8, !tbaa !9
  %634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %633, ptr noundef @.str.31) #11
  br label %635

635:                                              ; preds = %632, %628
  br label %647

636:                                              ; preds = %620, %617
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = icmp ne i32 %637, 0
  br i1 %638, label %639, label %643

639:                                              ; preds = %636
  %640 = load ptr, ptr @stdout, align 8, !tbaa !9
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %640, ptr noundef @.str.32, i32 noundef %641) #11
  br label %646

643:                                              ; preds = %636
  %644 = load ptr, ptr @stdout, align 8, !tbaa !9
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %644, ptr noundef @.str.33) #11
  br label %646

646:                                              ; preds = %643, %639
  br label %647

647:                                              ; preds = %646, %635
  store i32 0, ptr %3, align 4
  br label %14906

648:                                              ; No predecessors!
  br label %649

649:                                              ; preds = %648
  br label %650

650:                                              ; preds = %649, %501
  br label %651

651:                                              ; preds = %650
  br label %652

652:                                              ; preds = %651
  %653 = load i32, ptr @test_count, align 4, !tbaa !5
  %654 = add nsw i32 %653, 1
  store i32 %654, ptr @test_count, align 4, !tbaa !5
  %655 = call i32 @s2n_quic_write_handshake_message(ptr noundef null)
  %656 = getelementptr inbounds %struct.s2n_result, ptr %11, i32 0, i32 0
  store i32 %655, ptr %656, align 4
  %657 = getelementptr inbounds %struct.s2n_result, ptr %11, i32 0, i32 0
  %658 = load i32, ptr %657, align 4
  %659 = call zeroext i1 @s2n_result_is_error(i32 %658)
  br i1 %659, label %711, label %660

660:                                              ; preds = %652
  br label %661

661:                                              ; preds = %660
  br label %662

662:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %663 = call ptr @__errno_location() #12
  %664 = load i32, ptr %663, align 4, !tbaa !5
  store i32 %664, ptr %12, align 4, !tbaa !5
  %665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %666 = call i32 @s2n_print_stacktrace(ptr noundef %665)
  %667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %668 = trunc i8 %667 to i1
  br i1 %668, label %669, label %691

669:                                              ; preds = %662
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = call i32 @fileno(ptr noundef %670) #11
  %672 = call i32 @isatty(i32 noundef %671) #11
  %673 = icmp ne i32 %672, 0
  br i1 %673, label %674, label %691

674:                                              ; preds = %669
  %675 = load i32, ptr %12, align 4, !tbaa !5
  %676 = call ptr @__errno_location() #12
  store i32 %675, ptr %676, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef @.str.24)
  %682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror_debug(i32 noundef %683, ptr noundef @.str.24)
  %685 = call ptr @__errno_location() #12
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @strerror(i32 noundef %686) #11
  %688 = call ptr @__errno_location() #12
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef @.str.22, i32 noundef %678, ptr noundef @.str.34, ptr noundef @.str.21, i32 noundef 131, ptr noundef %681, ptr noundef %684, ptr noundef %687, i32 noundef %689) #11
  br label %708

691:                                              ; preds = %669, %662
  %692 = load i32, ptr %12, align 4, !tbaa !5
  %693 = call ptr @__errno_location() #12
  store i32 %692, ptr %693, align 4, !tbaa !5
  %694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %695 = load i32, ptr @test_count, align 4, !tbaa !5
  %696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = call ptr @s2n_strerror(i32 noundef %697, ptr noundef @.str.24)
  %699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %700 = load i32, ptr %699, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror_debug(i32 noundef %700, ptr noundef @.str.24)
  %702 = call ptr @__errno_location() #12
  %703 = load i32, ptr %702, align 4, !tbaa !5
  %704 = call ptr @strerror(i32 noundef %703) #11
  %705 = call ptr @__errno_location() #12
  %706 = load i32, ptr %705, align 4, !tbaa !5
  %707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %694, ptr noundef @.str.25, i32 noundef %695, ptr noundef @.str.34, ptr noundef @.str.21, i32 noundef 131, ptr noundef %698, ptr noundef %701, ptr noundef %704, i32 noundef %706) #11
  br label %708

708:                                              ; preds = %691, %674
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %709

709:                                              ; preds = %708
  call void @exit(i32 noundef 1) #13
  unreachable

710:                                              ; No predecessors!
  br label %711

711:                                              ; preds = %710, %652
  br label %712

712:                                              ; preds = %711
  br label %713

713:                                              ; preds = %712
  %714 = load i32, ptr @test_count, align 4, !tbaa !5
  %715 = add nsw i32 %714, 1
  store i32 %715, ptr @test_count, align 4, !tbaa !5
  %716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %717 = load i32, ptr %716, align 4, !tbaa !5
  %718 = icmp eq i32 %717, 0
  br i1 %718, label %719, label %770

719:                                              ; preds = %713
  br label %720

720:                                              ; preds = %719
  br label %721

721:                                              ; preds = %720
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %722 = call ptr @__errno_location() #12
  %723 = load i32, ptr %722, align 4, !tbaa !5
  store i32 %723, ptr %13, align 4, !tbaa !5
  %724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %725 = call i32 @s2n_print_stacktrace(ptr noundef %724)
  %726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %727 = trunc i8 %726 to i1
  br i1 %727, label %728, label %750

728:                                              ; preds = %721
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @fileno(ptr noundef %729) #11
  %731 = call i32 @isatty(i32 noundef %730) #11
  %732 = icmp ne i32 %731, 0
  br i1 %732, label %733, label %750

733:                                              ; preds = %728
  %734 = load i32, ptr %13, align 4, !tbaa !5
  %735 = call ptr @__errno_location() #12
  store i32 %734, ptr %735, align 4, !tbaa !5
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror(i32 noundef %739, ptr noundef @.str.24)
  %741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @s2n_strerror_debug(i32 noundef %742, ptr noundef @.str.24)
  %744 = call ptr @__errno_location() #12
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call ptr @strerror(i32 noundef %745) #11
  %747 = call ptr @__errno_location() #12
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef @.str.22, i32 noundef %737, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 131, ptr noundef %740, ptr noundef %743, ptr noundef %746, i32 noundef %748) #11
  br label %767

750:                                              ; preds = %728, %721
  %751 = load i32, ptr %13, align 4, !tbaa !5
  %752 = call ptr @__errno_location() #12
  store i32 %751, ptr %752, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror(i32 noundef %756, ptr noundef @.str.24)
  %758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call ptr @s2n_strerror_debug(i32 noundef %759, ptr noundef @.str.24)
  %761 = call ptr @__errno_location() #12
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @strerror(i32 noundef %762) #11
  %764 = call ptr @__errno_location() #12
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef @.str.25, i32 noundef %754, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 131, ptr noundef %757, ptr noundef %760, ptr noundef %763, i32 noundef %765) #11
  br label %767

767:                                              ; preds = %750, %733
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %768

768:                                              ; preds = %767
  call void @exit(i32 noundef 1) #13
  unreachable

769:                                              ; No predecessors!
  br label %770

770:                                              ; preds = %769, %713
  br label %771

771:                                              ; preds = %770
  br label %772

772:                                              ; preds = %771
  %773 = load i32, ptr @test_count, align 4, !tbaa !5
  %774 = add nsw i32 %773, 1
  store i32 %774, ptr @test_count, align 4, !tbaa !5
  %775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror_debug(i32 noundef %776, ptr noundef @.str.24)
  %778 = icmp eq ptr %777, null
  br i1 %778, label %779, label %830

779:                                              ; preds = %772
  br label %780

780:                                              ; preds = %779
  br label %781

781:                                              ; preds = %780
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %782 = call ptr @__errno_location() #12
  %783 = load i32, ptr %782, align 4, !tbaa !5
  store i32 %783, ptr %14, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 @s2n_print_stacktrace(ptr noundef %784)
  %786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %787 = trunc i8 %786 to i1
  br i1 %787, label %788, label %810

788:                                              ; preds = %781
  %789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %790 = call i32 @fileno(ptr noundef %789) #11
  %791 = call i32 @isatty(i32 noundef %790) #11
  %792 = icmp ne i32 %791, 0
  br i1 %792, label %793, label %810

793:                                              ; preds = %788
  %794 = load i32, ptr %14, align 4, !tbaa !5
  %795 = call ptr @__errno_location() #12
  store i32 %794, ptr %795, align 4, !tbaa !5
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call ptr @s2n_strerror(i32 noundef %799, ptr noundef @.str.24)
  %801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = call ptr @s2n_strerror_debug(i32 noundef %802, ptr noundef @.str.24)
  %804 = call ptr @__errno_location() #12
  %805 = load i32, ptr %804, align 4, !tbaa !5
  %806 = call ptr @strerror(i32 noundef %805) #11
  %807 = call ptr @__errno_location() #12
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %796, ptr noundef @.str.22, i32 noundef %797, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 131, ptr noundef %800, ptr noundef %803, ptr noundef %806, i32 noundef %808) #11
  br label %827

810:                                              ; preds = %788, %781
  %811 = load i32, ptr %14, align 4, !tbaa !5
  %812 = call ptr @__errno_location() #12
  store i32 %811, ptr %812, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror(i32 noundef %816, ptr noundef @.str.24)
  %818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %819 = load i32, ptr %818, align 4, !tbaa !5
  %820 = call ptr @s2n_strerror_debug(i32 noundef %819, ptr noundef @.str.24)
  %821 = call ptr @__errno_location() #12
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call ptr @strerror(i32 noundef %822) #11
  %824 = call ptr @__errno_location() #12
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef @.str.25, i32 noundef %814, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 131, ptr noundef %817, ptr noundef %820, ptr noundef %823, i32 noundef %825) #11
  br label %827

827:                                              ; preds = %810, %793
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %828

828:                                              ; preds = %827
  call void @exit(i32 noundef 1) #13
  unreachable

829:                                              ; No predecessors!
  br label %830

830:                                              ; preds = %829, %772
  br label %831

831:                                              ; preds = %830
  br label %832

832:                                              ; preds = %831
  %833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %833, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %834 = call ptr @__errno_location() #12
  store i32 0, ptr %834, align 4, !tbaa !5
  br label %835

835:                                              ; preds = %832
  br label %836

836:                                              ; preds = %835
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #11
  store ptr null, ptr %15, align 8, !tbaa !9
  br label %837

837:                                              ; preds = %836
  %838 = load i32, ptr @test_count, align 4, !tbaa !5
  %839 = add nsw i32 %838, 1
  store i32 %839, ptr @test_count, align 4, !tbaa !5
  %840 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %840, ptr %15, align 8, !tbaa !9
  %841 = icmp eq ptr %840, null
  br i1 %841, label %842, label %895

842:                                              ; preds = %837
  br label %843

843:                                              ; preds = %842
  br label %844

844:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %845 = call ptr @__errno_location() #12
  %846 = load i32, ptr %845, align 4, !tbaa !5
  store i32 %846, ptr %16, align 4, !tbaa !5
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = call i32 @s2n_print_stacktrace(ptr noundef %847)
  %849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %850 = trunc i8 %849 to i1
  br i1 %850, label %851, label %873

851:                                              ; preds = %844
  %852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %853 = call i32 @fileno(ptr noundef %852) #11
  %854 = call i32 @isatty(i32 noundef %853) #11
  %855 = icmp ne i32 %854, 0
  br i1 %855, label %856, label %873

856:                                              ; preds = %851
  %857 = load i32, ptr %16, align 4, !tbaa !5
  %858 = call ptr @__errno_location() #12
  store i32 %857, ptr %858, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = load i32, ptr @test_count, align 4, !tbaa !5
  %861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call ptr @s2n_strerror(i32 noundef %862, ptr noundef @.str.24)
  %864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %865 = load i32, ptr %864, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror_debug(i32 noundef %865, ptr noundef @.str.24)
  %867 = call ptr @__errno_location() #12
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = call ptr @strerror(i32 noundef %868) #11
  %870 = call ptr @__errno_location() #12
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %859, ptr noundef @.str.22, i32 noundef %860, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 136, ptr noundef %863, ptr noundef %866, ptr noundef %869, i32 noundef %871) #11
  br label %890

873:                                              ; preds = %851, %844
  %874 = load i32, ptr %16, align 4, !tbaa !5
  %875 = call ptr @__errno_location() #12
  store i32 %874, ptr %875, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror(i32 noundef %879, ptr noundef @.str.24)
  %881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror_debug(i32 noundef %882, ptr noundef @.str.24)
  %884 = call ptr @__errno_location() #12
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call ptr @strerror(i32 noundef %885) #11
  %887 = call ptr @__errno_location() #12
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %876, ptr noundef @.str.25, i32 noundef %877, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 136, ptr noundef %880, ptr noundef %883, ptr noundef %886, i32 noundef %888) #11
  br label %890

890:                                              ; preds = %873, %856
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %891

891:                                              ; preds = %890
  br label %892

892:                                              ; preds = %891
  call void @exit(i32 noundef 1) #13
  unreachable

893:                                              ; No predecessors!
  br label %894

894:                                              ; preds = %893
  br label %895

895:                                              ; preds = %894, %837
  br label %896

896:                                              ; preds = %895
  br label %897

897:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 22, ptr %17) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %17, ptr align 16 @__const.main.message_data, i64 22, i1 false)
  br label %898

898:                                              ; preds = %897
  %899 = load i32, ptr @test_count, align 4, !tbaa !5
  %900 = add nsw i32 %899, 1
  store i32 %900, ptr @test_count, align 4, !tbaa !5
  %901 = load ptr, ptr %15, align 8, !tbaa !9
  %902 = getelementptr inbounds %struct.s2n_connection, ptr %901, i32 0, i32 52
  %903 = getelementptr inbounds %struct.s2n_handshake, ptr %902, i32 0, i32 0
  %904 = getelementptr inbounds [22 x i8], ptr %17, i64 0, i64 0
  %905 = call i32 @s2n_stuffer_write_bytes(ptr noundef %903, ptr noundef %904, i32 noundef 22)
  %906 = icmp eq i32 %905, -1
  br i1 %906, label %907, label %960

907:                                              ; preds = %898
  br label %908

908:                                              ; preds = %907
  br label %909

909:                                              ; preds = %908
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %910 = call ptr @__errno_location() #12
  %911 = load i32, ptr %910, align 4, !tbaa !5
  store i32 %911, ptr %18, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @s2n_print_stacktrace(ptr noundef %912)
  %914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %915 = trunc i8 %914 to i1
  br i1 %915, label %916, label %938

916:                                              ; preds = %909
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @fileno(ptr noundef %917) #11
  %919 = call i32 @isatty(i32 noundef %918) #11
  %920 = icmp ne i32 %919, 0
  br i1 %920, label %921, label %938

921:                                              ; preds = %916
  %922 = load i32, ptr %18, align 4, !tbaa !5
  %923 = call ptr @__errno_location() #12
  store i32 %922, ptr %923, align 4, !tbaa !5
  %924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %925 = load i32, ptr @test_count, align 4, !tbaa !5
  %926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %927 = load i32, ptr %926, align 4, !tbaa !5
  %928 = call ptr @s2n_strerror(i32 noundef %927, ptr noundef @.str.24)
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror_debug(i32 noundef %930, ptr noundef @.str.24)
  %932 = call ptr @__errno_location() #12
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call ptr @strerror(i32 noundef %933) #11
  %935 = call ptr @__errno_location() #12
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %924, ptr noundef @.str.22, i32 noundef %925, ptr noundef @.str.38, ptr noundef @.str.21, i32 noundef 139, ptr noundef %928, ptr noundef %931, ptr noundef %934, i32 noundef %936) #11
  br label %955

938:                                              ; preds = %916, %909
  %939 = load i32, ptr %18, align 4, !tbaa !5
  %940 = call ptr @__errno_location() #12
  store i32 %939, ptr %940, align 4, !tbaa !5
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = load i32, ptr @test_count, align 4, !tbaa !5
  %943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror(i32 noundef %944, ptr noundef @.str.24)
  %946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %947 = load i32, ptr %946, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror_debug(i32 noundef %947, ptr noundef @.str.24)
  %949 = call ptr @__errno_location() #12
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @strerror(i32 noundef %950) #11
  %952 = call ptr @__errno_location() #12
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %941, ptr noundef @.str.25, i32 noundef %942, ptr noundef @.str.38, ptr noundef @.str.21, i32 noundef 139, ptr noundef %945, ptr noundef %948, ptr noundef %951, i32 noundef %953) #11
  br label %955

955:                                              ; preds = %938, %921
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %956

956:                                              ; preds = %955
  br label %957

957:                                              ; preds = %956
  call void @exit(i32 noundef 1) #13
  unreachable

958:                                              ; No predecessors!
  br label %959

959:                                              ; preds = %958
  br label %960

960:                                              ; preds = %959, %898
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  %964 = load i32, ptr @test_count, align 4, !tbaa !5
  %965 = add nsw i32 %964, 1
  store i32 %965, ptr @test_count, align 4, !tbaa !5
  %966 = load ptr, ptr %15, align 8, !tbaa !9
  %967 = call i32 @s2n_quic_write_handshake_message(ptr noundef %966)
  %968 = getelementptr inbounds %struct.s2n_result, ptr %19, i32 0, i32 0
  store i32 %967, ptr %968, align 4
  %969 = getelementptr inbounds %struct.s2n_result, ptr %19, i32 0, i32 0
  %970 = load i32, ptr %969, align 4
  %971 = call zeroext i1 @s2n_result_is_ok(i32 %970)
  br i1 %971, label %1025, label %972

972:                                              ; preds = %963
  br label %973

973:                                              ; preds = %972
  br label %974

974:                                              ; preds = %973
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %975 = call ptr @__errno_location() #12
  %976 = load i32, ptr %975, align 4, !tbaa !5
  store i32 %976, ptr %20, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @s2n_print_stacktrace(ptr noundef %977)
  %979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %980 = trunc i8 %979 to i1
  br i1 %980, label %981, label %1003

981:                                              ; preds = %974
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = call i32 @fileno(ptr noundef %982) #11
  %984 = call i32 @isatty(i32 noundef %983) #11
  %985 = icmp ne i32 %984, 0
  br i1 %985, label %986, label %1003

986:                                              ; preds = %981
  %987 = load i32, ptr %20, align 4, !tbaa !5
  %988 = call ptr @__errno_location() #12
  store i32 %987, ptr %988, align 4, !tbaa !5
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = load i32, ptr @test_count, align 4, !tbaa !5
  %991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror(i32 noundef %992, ptr noundef @.str.24)
  %994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call ptr @s2n_strerror_debug(i32 noundef %995, ptr noundef @.str.24)
  %997 = call ptr @__errno_location() #12
  %998 = load i32, ptr %997, align 4, !tbaa !5
  %999 = call ptr @strerror(i32 noundef %998) #11
  %1000 = call ptr @__errno_location() #12
  %1001 = load i32, ptr %1000, align 4, !tbaa !5
  %1002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %989, ptr noundef @.str.22, i32 noundef %990, ptr noundef @.str.39, ptr noundef @.str.21, i32 noundef 141, ptr noundef %993, ptr noundef %996, ptr noundef %999, i32 noundef %1001) #11
  br label %1020

1003:                                             ; preds = %981, %974
  %1004 = load i32, ptr %20, align 4, !tbaa !5
  %1005 = call ptr @__errno_location() #12
  store i32 %1004, ptr %1005, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef @.str.24)
  %1011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror_debug(i32 noundef %1012, ptr noundef @.str.24)
  %1014 = call ptr @__errno_location() #12
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #11
  %1017 = call ptr @__errno_location() #12
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef @.str.25, i32 noundef %1007, ptr noundef @.str.39, ptr noundef @.str.21, i32 noundef 141, ptr noundef %1010, ptr noundef %1013, ptr noundef %1016, i32 noundef %1018) #11
  br label %1020

1020:                                             ; preds = %1003, %986
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1021

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021
  call void @exit(i32 noundef 1) #13
  unreachable

1023:                                             ; No predecessors!
  br label %1024

1024:                                             ; preds = %1023
  br label %1025

1025:                                             ; preds = %1024, %963
  br label %1026

1026:                                             ; preds = %1025
  br label %1027

1027:                                             ; preds = %1026
  br label %1028

1028:                                             ; preds = %1027
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = add nsw i32 %1029, 1
  store i32 %1030, ptr @test_count, align 4, !tbaa !5
  %1031 = load ptr, ptr %15, align 8, !tbaa !9
  %1032 = getelementptr inbounds %struct.s2n_connection, ptr %1031, i32 0, i32 41
  %1033 = getelementptr inbounds %struct.s2n_stuffer, ptr %1032, i32 0, i32 2
  %1034 = load i32, ptr %1033, align 4, !tbaa !15
  %1035 = load ptr, ptr %15, align 8, !tbaa !9
  %1036 = getelementptr inbounds %struct.s2n_connection, ptr %1035, i32 0, i32 41
  %1037 = getelementptr inbounds %struct.s2n_stuffer, ptr %1036, i32 0, i32 1
  %1038 = load i32, ptr %1037, align 8, !tbaa !42
  %1039 = sub i32 %1034, %1038
  %1040 = zext i32 %1039 to i64
  %1041 = icmp eq i64 %1040, 22
  br i1 %1041, label %1095, label %1042

1042:                                             ; preds = %1028
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

1044:                                             ; preds = %1043
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %1045 = call ptr @__errno_location() #12
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  store i32 %1046, ptr %21, align 4, !tbaa !5
  %1047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1048 = call i32 @s2n_print_stacktrace(ptr noundef %1047)
  %1049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1050 = trunc i8 %1049 to i1
  br i1 %1050, label %1051, label %1073

1051:                                             ; preds = %1044
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 @fileno(ptr noundef %1052) #11
  %1054 = call i32 @isatty(i32 noundef %1053) #11
  %1055 = icmp ne i32 %1054, 0
  br i1 %1055, label %1056, label %1073

1056:                                             ; preds = %1051
  %1057 = load i32, ptr %21, align 4, !tbaa !5
  %1058 = call ptr @__errno_location() #12
  store i32 %1057, ptr %1058, align 4, !tbaa !5
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = load i32, ptr @test_count, align 4, !tbaa !5
  %1061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1062 = load i32, ptr %1061, align 4, !tbaa !5
  %1063 = call ptr @s2n_strerror(i32 noundef %1062, ptr noundef @.str.24)
  %1064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror_debug(i32 noundef %1065, ptr noundef @.str.24)
  %1067 = call ptr @__errno_location() #12
  %1068 = load i32, ptr %1067, align 4, !tbaa !5
  %1069 = call ptr @strerror(i32 noundef %1068) #11
  %1070 = call ptr @__errno_location() #12
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1059, ptr noundef @.str.22, i32 noundef %1060, ptr noundef @.str.40, ptr noundef @.str.21, i32 noundef 142, ptr noundef %1063, ptr noundef %1066, ptr noundef %1069, i32 noundef %1071) #11
  br label %1090

1073:                                             ; preds = %1051, %1044
  %1074 = load i32, ptr %21, align 4, !tbaa !5
  %1075 = call ptr @__errno_location() #12
  store i32 %1074, ptr %1075, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef @.str.24)
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror_debug(i32 noundef %1082, ptr noundef @.str.24)
  %1084 = call ptr @__errno_location() #12
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #11
  %1087 = call ptr @__errno_location() #12
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef @.str.25, i32 noundef %1077, ptr noundef @.str.40, ptr noundef @.str.21, i32 noundef 142, ptr noundef %1080, ptr noundef %1083, ptr noundef %1086, i32 noundef %1088) #11
  br label %1090

1090:                                             ; preds = %1073, %1056
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1091

1091:                                             ; preds = %1090
  br label %1092

1092:                                             ; preds = %1091
  call void @exit(i32 noundef 1) #13
  unreachable

1093:                                             ; No predecessors!
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

1095:                                             ; preds = %1094, %1028
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097
  br label %1099

1099:                                             ; preds = %1098
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = add nsw i32 %1100, 1
  store i32 %1101, ptr @test_count, align 4, !tbaa !5
  %1102 = load ptr, ptr %15, align 8, !tbaa !9
  %1103 = getelementptr inbounds %struct.s2n_connection, ptr %1102, i32 0, i32 41
  %1104 = call ptr @s2n_stuffer_raw_read(ptr noundef %1103, i32 noundef 22)
  %1105 = getelementptr inbounds [22 x i8], ptr %17, i64 0, i64 0
  %1106 = call i32 @memcmp(ptr noundef %1104, ptr noundef %1105, i64 noundef 22) #14
  %1107 = icmp eq i32 %1106, 0
  br i1 %1107, label %1161, label %1108

1108:                                             ; preds = %1099
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

1110:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %1111 = call ptr @__errno_location() #12
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  store i32 %1112, ptr %22, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @s2n_print_stacktrace(ptr noundef %1113)
  %1115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1116 = trunc i8 %1115 to i1
  br i1 %1116, label %1117, label %1139

1117:                                             ; preds = %1110
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @fileno(ptr noundef %1118) #11
  %1120 = call i32 @isatty(i32 noundef %1119) #11
  %1121 = icmp ne i32 %1120, 0
  br i1 %1121, label %1122, label %1139

1122:                                             ; preds = %1117
  %1123 = load i32, ptr %22, align 4, !tbaa !5
  %1124 = call ptr @__errno_location() #12
  store i32 %1123, ptr %1124, align 4, !tbaa !5
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = load i32, ptr @test_count, align 4, !tbaa !5
  %1127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1128 = load i32, ptr %1127, align 4, !tbaa !5
  %1129 = call ptr @s2n_strerror(i32 noundef %1128, ptr noundef @.str.24)
  %1130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call ptr @s2n_strerror_debug(i32 noundef %1131, ptr noundef @.str.24)
  %1133 = call ptr @__errno_location() #12
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  %1135 = call ptr @strerror(i32 noundef %1134) #11
  %1136 = call ptr @__errno_location() #12
  %1137 = load i32, ptr %1136, align 4, !tbaa !5
  %1138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1125, ptr noundef @.str.22, i32 noundef %1126, ptr noundef @.str.41, ptr noundef @.str.21, i32 noundef 144, ptr noundef %1129, ptr noundef %1132, ptr noundef %1135, i32 noundef %1137) #11
  br label %1156

1139:                                             ; preds = %1117, %1110
  %1140 = load i32, ptr %22, align 4, !tbaa !5
  %1141 = call ptr @__errno_location() #12
  store i32 %1140, ptr %1141, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef @.str.24)
  %1147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call ptr @s2n_strerror_debug(i32 noundef %1148, ptr noundef @.str.24)
  %1150 = call ptr @__errno_location() #12
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #11
  %1153 = call ptr @__errno_location() #12
  %1154 = load i32, ptr %1153, align 4, !tbaa !5
  %1155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef @.str.25, i32 noundef %1143, ptr noundef @.str.41, ptr noundef @.str.21, i32 noundef 144, ptr noundef %1146, ptr noundef %1149, ptr noundef %1152, i32 noundef %1154) #11
  br label %1156

1156:                                             ; preds = %1139, %1122
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

1158:                                             ; preds = %1157
  call void @exit(i32 noundef 1) #13
  unreachable

1159:                                             ; No predecessors!
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

1161:                                             ; preds = %1160, %1099
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164
  br label %1166

1166:                                             ; preds = %1165
  %1167 = load i32, ptr @test_count, align 4, !tbaa !5
  %1168 = add nsw i32 %1167, 1
  store i32 %1168, ptr @test_count, align 4, !tbaa !5
  %1169 = load ptr, ptr %15, align 8, !tbaa !9
  %1170 = call i32 @s2n_connection_free(ptr noundef %1169)
  %1171 = icmp eq i32 %1170, -1
  br i1 %1171, label %1172, label %1225

1172:                                             ; preds = %1166
  br label %1173

1173:                                             ; preds = %1172
  br label %1174

1174:                                             ; preds = %1173
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1175 = call ptr @__errno_location() #12
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  store i32 %1176, ptr %23, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @s2n_print_stacktrace(ptr noundef %1177)
  %1179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc i8 %1179 to i1
  br i1 %1180, label %1181, label %1203

1181:                                             ; preds = %1174
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = call i32 @fileno(ptr noundef %1182) #11
  %1184 = call i32 @isatty(i32 noundef %1183) #11
  %1185 = icmp ne i32 %1184, 0
  br i1 %1185, label %1186, label %1203

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %23, align 4, !tbaa !5
  %1188 = call ptr @__errno_location() #12
  store i32 %1187, ptr %1188, align 4, !tbaa !5
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror(i32 noundef %1192, ptr noundef @.str.24)
  %1194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef @.str.24)
  %1197 = call ptr @__errno_location() #12
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call ptr @strerror(i32 noundef %1198) #11
  %1200 = call ptr @__errno_location() #12
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1189, ptr noundef @.str.22, i32 noundef %1190, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 146, ptr noundef %1193, ptr noundef %1196, ptr noundef %1199, i32 noundef %1201) #11
  br label %1220

1203:                                             ; preds = %1181, %1174
  %1204 = load i32, ptr %23, align 4, !tbaa !5
  %1205 = call ptr @__errno_location() #12
  store i32 %1204, ptr %1205, align 4, !tbaa !5
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = load i32, ptr @test_count, align 4, !tbaa !5
  %1208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @s2n_strerror(i32 noundef %1209, ptr noundef @.str.24)
  %1211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call ptr @s2n_strerror_debug(i32 noundef %1212, ptr noundef @.str.24)
  %1214 = call ptr @__errno_location() #12
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @strerror(i32 noundef %1215) #11
  %1217 = call ptr @__errno_location() #12
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1206, ptr noundef @.str.25, i32 noundef %1207, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 146, ptr noundef %1210, ptr noundef %1213, ptr noundef %1216, i32 noundef %1218) #11
  br label %1220

1220:                                             ; preds = %1203, %1186
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

1222:                                             ; preds = %1221
  call void @exit(i32 noundef 1) #13
  unreachable

1223:                                             ; No predecessors!
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

1225:                                             ; preds = %1224, %1166
  br label %1226

1226:                                             ; preds = %1225
  br label %1227

1227:                                             ; preds = %1226
  call void @llvm.lifetime.end.p0(i64 22, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #11
  call void @llvm.lifetime.start.p0(i64 4184, ptr %24) #11
  call void @llvm.memset.p0.i64(ptr align 8 %24, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #11
  store i8 0, ptr %25, align 1, !tbaa !43
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = call i32 @s2n_quic_read_handshake_message(ptr noundef null, ptr noundef %25)
  %1233 = getelementptr inbounds %struct.s2n_result, ptr %26, i32 0, i32 0
  store i32 %1232, ptr %1233, align 4
  %1234 = getelementptr inbounds %struct.s2n_result, ptr %26, i32 0, i32 0
  %1235 = load i32, ptr %1234, align 4
  %1236 = call zeroext i1 @s2n_result_is_error(i32 %1235)
  br i1 %1236, label %1290, label %1237

1237:                                             ; preds = %1229
  br label %1238

1238:                                             ; preds = %1237
  br label %1239

1239:                                             ; preds = %1238
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %1240 = call ptr @__errno_location() #12
  %1241 = load i32, ptr %1240, align 4, !tbaa !5
  store i32 %1241, ptr %27, align 4, !tbaa !5
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = call i32 @s2n_print_stacktrace(ptr noundef %1242)
  %1244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1245 = trunc i8 %1244 to i1
  br i1 %1245, label %1246, label %1268

1246:                                             ; preds = %1239
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = call i32 @fileno(ptr noundef %1247) #11
  %1249 = call i32 @isatty(i32 noundef %1248) #11
  %1250 = icmp ne i32 %1249, 0
  br i1 %1250, label %1251, label %1268

1251:                                             ; preds = %1246
  %1252 = load i32, ptr %27, align 4, !tbaa !5
  %1253 = call ptr @__errno_location() #12
  store i32 %1252, ptr %1253, align 4, !tbaa !5
  %1254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror(i32 noundef %1257, ptr noundef @.str.24)
  %1259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @s2n_strerror_debug(i32 noundef %1260, ptr noundef @.str.24)
  %1262 = call ptr @__errno_location() #12
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call ptr @strerror(i32 noundef %1263) #11
  %1265 = call ptr @__errno_location() #12
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1254, ptr noundef @.str.22, i32 noundef %1255, ptr noundef @.str.43, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1258, ptr noundef %1261, ptr noundef %1264, i32 noundef %1266) #11
  br label %1285

1268:                                             ; preds = %1246, %1239
  %1269 = load i32, ptr %27, align 4, !tbaa !5
  %1270 = call ptr @__errno_location() #12
  store i32 %1269, ptr %1270, align 4, !tbaa !5
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = load i32, ptr @test_count, align 4, !tbaa !5
  %1273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1274 = load i32, ptr %1273, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror(i32 noundef %1274, ptr noundef @.str.24)
  %1276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call ptr @s2n_strerror_debug(i32 noundef %1277, ptr noundef @.str.24)
  %1279 = call ptr @__errno_location() #12
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call ptr @strerror(i32 noundef %1280) #11
  %1282 = call ptr @__errno_location() #12
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1271, ptr noundef @.str.25, i32 noundef %1272, ptr noundef @.str.43, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1275, ptr noundef %1278, ptr noundef %1281, i32 noundef %1283) #11
  br label %1285

1285:                                             ; preds = %1268, %1251
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

1287:                                             ; preds = %1286
  call void @exit(i32 noundef 1) #13
  unreachable

1288:                                             ; No predecessors!
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289, %1229
  br label %1291

1291:                                             ; preds = %1290
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = icmp eq i32 %1297, 0
  br i1 %1298, label %1299, label %1352

1299:                                             ; preds = %1293
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1302 = call ptr @__errno_location() #12
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  store i32 %1303, ptr %28, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = call i32 @s2n_print_stacktrace(ptr noundef %1304)
  %1306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1307 = trunc i8 %1306 to i1
  br i1 %1307, label %1308, label %1330

1308:                                             ; preds = %1301
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @fileno(ptr noundef %1309) #11
  %1311 = call i32 @isatty(i32 noundef %1310) #11
  %1312 = icmp ne i32 %1311, 0
  br i1 %1312, label %1313, label %1330

1313:                                             ; preds = %1308
  %1314 = load i32, ptr %28, align 4, !tbaa !5
  %1315 = call ptr @__errno_location() #12
  store i32 %1314, ptr %1315, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call ptr @s2n_strerror(i32 noundef %1319, ptr noundef @.str.24)
  %1321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call ptr @s2n_strerror_debug(i32 noundef %1322, ptr noundef @.str.24)
  %1324 = call ptr @__errno_location() #12
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call ptr @strerror(i32 noundef %1325) #11
  %1327 = call ptr @__errno_location() #12
  %1328 = load i32, ptr %1327, align 4, !tbaa !5
  %1329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1316, ptr noundef @.str.22, i32 noundef %1317, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1320, ptr noundef %1323, ptr noundef %1326, i32 noundef %1328) #11
  br label %1347

1330:                                             ; preds = %1308, %1301
  %1331 = load i32, ptr %28, align 4, !tbaa !5
  %1332 = call ptr @__errno_location() #12
  store i32 %1331, ptr %1332, align 4, !tbaa !5
  %1333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1334 = load i32, ptr @test_count, align 4, !tbaa !5
  %1335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror(i32 noundef %1336, ptr noundef @.str.24)
  %1338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @s2n_strerror_debug(i32 noundef %1339, ptr noundef @.str.24)
  %1341 = call ptr @__errno_location() #12
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #11
  %1344 = call ptr @__errno_location() #12
  %1345 = load i32, ptr %1344, align 4, !tbaa !5
  %1346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1333, ptr noundef @.str.25, i32 noundef %1334, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1337, ptr noundef %1340, ptr noundef %1343, i32 noundef %1345) #11
  br label %1347

1347:                                             ; preds = %1330, %1313
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348
  call void @exit(i32 noundef 1) #13
  unreachable

1350:                                             ; No predecessors!
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351, %1293
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353
  br label %1355

1355:                                             ; preds = %1354
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = add nsw i32 %1356, 1
  store i32 %1357, ptr @test_count, align 4, !tbaa !5
  %1358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror_debug(i32 noundef %1359, ptr noundef @.str.24)
  %1361 = icmp eq ptr %1360, null
  br i1 %1361, label %1362, label %1415

1362:                                             ; preds = %1355
  br label %1363

1363:                                             ; preds = %1362
  br label %1364

1364:                                             ; preds = %1363
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1365 = call ptr @__errno_location() #12
  %1366 = load i32, ptr %1365, align 4, !tbaa !5
  store i32 %1366, ptr %29, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = call i32 @s2n_print_stacktrace(ptr noundef %1367)
  %1369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1370 = trunc i8 %1369 to i1
  br i1 %1370, label %1371, label %1393

1371:                                             ; preds = %1364
  %1372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1373 = call i32 @fileno(ptr noundef %1372) #11
  %1374 = call i32 @isatty(i32 noundef %1373) #11
  %1375 = icmp ne i32 %1374, 0
  br i1 %1375, label %1376, label %1393

1376:                                             ; preds = %1371
  %1377 = load i32, ptr %29, align 4, !tbaa !5
  %1378 = call ptr @__errno_location() #12
  store i32 %1377, ptr %1378, align 4, !tbaa !5
  %1379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1380 = load i32, ptr @test_count, align 4, !tbaa !5
  %1381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1382 = load i32, ptr %1381, align 4, !tbaa !5
  %1383 = call ptr @s2n_strerror(i32 noundef %1382, ptr noundef @.str.24)
  %1384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1385 = load i32, ptr %1384, align 4, !tbaa !5
  %1386 = call ptr @s2n_strerror_debug(i32 noundef %1385, ptr noundef @.str.24)
  %1387 = call ptr @__errno_location() #12
  %1388 = load i32, ptr %1387, align 4, !tbaa !5
  %1389 = call ptr @strerror(i32 noundef %1388) #11
  %1390 = call ptr @__errno_location() #12
  %1391 = load i32, ptr %1390, align 4, !tbaa !5
  %1392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1379, ptr noundef @.str.22, i32 noundef %1380, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1383, ptr noundef %1386, ptr noundef %1389, i32 noundef %1391) #11
  br label %1410

1393:                                             ; preds = %1371, %1364
  %1394 = load i32, ptr %29, align 4, !tbaa !5
  %1395 = call ptr @__errno_location() #12
  store i32 %1394, ptr %1395, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef @.str.24)
  %1401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror_debug(i32 noundef %1402, ptr noundef @.str.24)
  %1404 = call ptr @__errno_location() #12
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #11
  %1407 = call ptr @__errno_location() #12
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef @.str.25, i32 noundef %1397, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 157, ptr noundef %1400, ptr noundef %1403, ptr noundef %1406, i32 noundef %1408) #11
  br label %1410

1410:                                             ; preds = %1393, %1376
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1411

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411
  call void @exit(i32 noundef 1) #13
  unreachable

1413:                                             ; No predecessors!
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

1415:                                             ; preds = %1414, %1355
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

1417:                                             ; preds = %1416
  br label %1418

1418:                                             ; preds = %1417
  %1419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1419, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1420 = call ptr @__errno_location() #12
  store i32 0, ptr %1420, align 4, !tbaa !5
  br label %1421

1421:                                             ; preds = %1418
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

1426:                                             ; preds = %1425
  %1427 = load i32, ptr @test_count, align 4, !tbaa !5
  %1428 = add nsw i32 %1427, 1
  store i32 %1428, ptr @test_count, align 4, !tbaa !5
  %1429 = call i32 @s2n_quic_read_handshake_message(ptr noundef %24, ptr noundef null)
  %1430 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1429, ptr %1430, align 4
  %1431 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1432 = load i32, ptr %1431, align 4
  %1433 = call zeroext i1 @s2n_result_is_error(i32 %1432)
  br i1 %1433, label %1487, label %1434

1434:                                             ; preds = %1426
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1437 = call ptr @__errno_location() #12
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  store i32 %1438, ptr %31, align 4, !tbaa !5
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @s2n_print_stacktrace(ptr noundef %1439)
  %1441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1442 = trunc i8 %1441 to i1
  br i1 %1442, label %1443, label %1465

1443:                                             ; preds = %1436
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = call i32 @fileno(ptr noundef %1444) #11
  %1446 = call i32 @isatty(i32 noundef %1445) #11
  %1447 = icmp ne i32 %1446, 0
  br i1 %1447, label %1448, label %1465

1448:                                             ; preds = %1443
  %1449 = load i32, ptr %31, align 4, !tbaa !5
  %1450 = call ptr @__errno_location() #12
  store i32 %1449, ptr %1450, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = load i32, ptr @test_count, align 4, !tbaa !5
  %1453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror(i32 noundef %1454, ptr noundef @.str.24)
  %1456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror_debug(i32 noundef %1457, ptr noundef @.str.24)
  %1459 = call ptr @__errno_location() #12
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @strerror(i32 noundef %1460) #11
  %1462 = call ptr @__errno_location() #12
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1451, ptr noundef @.str.22, i32 noundef %1452, ptr noundef @.str.44, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1455, ptr noundef %1458, ptr noundef %1461, i32 noundef %1463) #11
  br label %1482

1465:                                             ; preds = %1443, %1436
  %1466 = load i32, ptr %31, align 4, !tbaa !5
  %1467 = call ptr @__errno_location() #12
  store i32 %1466, ptr %1467, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror(i32 noundef %1471, ptr noundef @.str.24)
  %1473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror_debug(i32 noundef %1474, ptr noundef @.str.24)
  %1476 = call ptr @__errno_location() #12
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call ptr @strerror(i32 noundef %1477) #11
  %1479 = call ptr @__errno_location() #12
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1468, ptr noundef @.str.25, i32 noundef %1469, ptr noundef @.str.44, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1472, ptr noundef %1475, ptr noundef %1478, i32 noundef %1480) #11
  br label %1482

1482:                                             ; preds = %1465, %1448
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  call void @exit(i32 noundef 1) #13
  unreachable

1485:                                             ; No predecessors!
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

1487:                                             ; preds = %1486, %1426
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

1490:                                             ; preds = %1489
  %1491 = load i32, ptr @test_count, align 4, !tbaa !5
  %1492 = add nsw i32 %1491, 1
  store i32 %1492, ptr @test_count, align 4, !tbaa !5
  %1493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1494 = load i32, ptr %1493, align 4, !tbaa !5
  %1495 = icmp eq i32 %1494, 0
  br i1 %1495, label %1496, label %1549

1496:                                             ; preds = %1490
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

1498:                                             ; preds = %1497
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1499 = call ptr @__errno_location() #12
  %1500 = load i32, ptr %1499, align 4, !tbaa !5
  store i32 %1500, ptr %32, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = call i32 @s2n_print_stacktrace(ptr noundef %1501)
  %1503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1504 = trunc i8 %1503 to i1
  br i1 %1504, label %1505, label %1527

1505:                                             ; preds = %1498
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = call i32 @fileno(ptr noundef %1506) #11
  %1508 = call i32 @isatty(i32 noundef %1507) #11
  %1509 = icmp ne i32 %1508, 0
  br i1 %1509, label %1510, label %1527

1510:                                             ; preds = %1505
  %1511 = load i32, ptr %32, align 4, !tbaa !5
  %1512 = call ptr @__errno_location() #12
  store i32 %1511, ptr %1512, align 4, !tbaa !5
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = load i32, ptr @test_count, align 4, !tbaa !5
  %1515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror(i32 noundef %1516, ptr noundef @.str.24)
  %1518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror_debug(i32 noundef %1519, ptr noundef @.str.24)
  %1521 = call ptr @__errno_location() #12
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call ptr @strerror(i32 noundef %1522) #11
  %1524 = call ptr @__errno_location() #12
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1513, ptr noundef @.str.22, i32 noundef %1514, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1517, ptr noundef %1520, ptr noundef %1523, i32 noundef %1525) #11
  br label %1544

1527:                                             ; preds = %1505, %1498
  %1528 = load i32, ptr %32, align 4, !tbaa !5
  %1529 = call ptr @__errno_location() #12
  store i32 %1528, ptr %1529, align 4, !tbaa !5
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = load i32, ptr @test_count, align 4, !tbaa !5
  %1532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call ptr @s2n_strerror(i32 noundef %1533, ptr noundef @.str.24)
  %1535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1536 = load i32, ptr %1535, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror_debug(i32 noundef %1536, ptr noundef @.str.24)
  %1538 = call ptr @__errno_location() #12
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  %1540 = call ptr @strerror(i32 noundef %1539) #11
  %1541 = call ptr @__errno_location() #12
  %1542 = load i32, ptr %1541, align 4, !tbaa !5
  %1543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1530, ptr noundef @.str.25, i32 noundef %1531, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1534, ptr noundef %1537, ptr noundef %1540, i32 noundef %1542) #11
  br label %1544

1544:                                             ; preds = %1527, %1510
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1545

1545:                                             ; preds = %1544
  br label %1546

1546:                                             ; preds = %1545
  call void @exit(i32 noundef 1) #13
  unreachable

1547:                                             ; No predecessors!
  br label %1548

1548:                                             ; preds = %1547
  br label %1549

1549:                                             ; preds = %1548, %1490
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550
  br label %1552

1552:                                             ; preds = %1551
  %1553 = load i32, ptr @test_count, align 4, !tbaa !5
  %1554 = add nsw i32 %1553, 1
  store i32 %1554, ptr @test_count, align 4, !tbaa !5
  %1555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1556 = load i32, ptr %1555, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror_debug(i32 noundef %1556, ptr noundef @.str.24)
  %1558 = icmp eq ptr %1557, null
  br i1 %1558, label %1559, label %1612

1559:                                             ; preds = %1552
  br label %1560

1560:                                             ; preds = %1559
  br label %1561

1561:                                             ; preds = %1560
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1562 = call ptr @__errno_location() #12
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  store i32 %1563, ptr %33, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = call i32 @s2n_print_stacktrace(ptr noundef %1564)
  %1566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1567 = trunc i8 %1566 to i1
  br i1 %1567, label %1568, label %1590

1568:                                             ; preds = %1561
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = call i32 @fileno(ptr noundef %1569) #11
  %1571 = call i32 @isatty(i32 noundef %1570) #11
  %1572 = icmp ne i32 %1571, 0
  br i1 %1572, label %1573, label %1590

1573:                                             ; preds = %1568
  %1574 = load i32, ptr %33, align 4, !tbaa !5
  %1575 = call ptr @__errno_location() #12
  store i32 %1574, ptr %1575, align 4, !tbaa !5
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = load i32, ptr @test_count, align 4, !tbaa !5
  %1578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1579 = load i32, ptr %1578, align 4, !tbaa !5
  %1580 = call ptr @s2n_strerror(i32 noundef %1579, ptr noundef @.str.24)
  %1581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1582 = load i32, ptr %1581, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror_debug(i32 noundef %1582, ptr noundef @.str.24)
  %1584 = call ptr @__errno_location() #12
  %1585 = load i32, ptr %1584, align 4, !tbaa !5
  %1586 = call ptr @strerror(i32 noundef %1585) #11
  %1587 = call ptr @__errno_location() #12
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1576, ptr noundef @.str.22, i32 noundef %1577, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1580, ptr noundef %1583, ptr noundef %1586, i32 noundef %1588) #11
  br label %1607

1590:                                             ; preds = %1568, %1561
  %1591 = load i32, ptr %33, align 4, !tbaa !5
  %1592 = call ptr @__errno_location() #12
  store i32 %1591, ptr %1592, align 4, !tbaa !5
  %1593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1596 = load i32, ptr %1595, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror(i32 noundef %1596, ptr noundef @.str.24)
  %1598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror_debug(i32 noundef %1599, ptr noundef @.str.24)
  %1601 = call ptr @__errno_location() #12
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call ptr @strerror(i32 noundef %1602) #11
  %1604 = call ptr @__errno_location() #12
  %1605 = load i32, ptr %1604, align 4, !tbaa !5
  %1606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1593, ptr noundef @.str.25, i32 noundef %1594, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 158, ptr noundef %1597, ptr noundef %1600, ptr noundef %1603, i32 noundef %1605) #11
  br label %1607

1607:                                             ; preds = %1590, %1573
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1608

1608:                                             ; preds = %1607
  br label %1609

1609:                                             ; preds = %1608
  call void @exit(i32 noundef 1) #13
  unreachable

1610:                                             ; No predecessors!
  br label %1611

1611:                                             ; preds = %1610
  br label %1612

1612:                                             ; preds = %1611, %1552
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614
  %1616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1616, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1617 = call ptr @__errno_location() #12
  store i32 0, ptr %1617, align 4, !tbaa !5
  br label %1618

1618:                                             ; preds = %1615
  br label %1619

1619:                                             ; preds = %1618
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %24) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #11
  store ptr null, ptr %34, align 8, !tbaa !9
  br label %1622

1622:                                             ; preds = %1621
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = add nsw i32 %1623, 1
  store i32 %1624, ptr @test_count, align 4, !tbaa !5
  %1625 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1625, ptr %34, align 8, !tbaa !9
  %1626 = icmp eq ptr %1625, null
  br i1 %1626, label %1627, label %1680

1627:                                             ; preds = %1622
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1630 = call ptr @__errno_location() #12
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  store i32 %1631, ptr %35, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @s2n_print_stacktrace(ptr noundef %1632)
  %1634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1635 = trunc i8 %1634 to i1
  br i1 %1635, label %1636, label %1658

1636:                                             ; preds = %1629
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @fileno(ptr noundef %1637) #11
  %1639 = call i32 @isatty(i32 noundef %1638) #11
  %1640 = icmp ne i32 %1639, 0
  br i1 %1640, label %1641, label %1658

1641:                                             ; preds = %1636
  %1642 = load i32, ptr %35, align 4, !tbaa !5
  %1643 = call ptr @__errno_location() #12
  store i32 %1642, ptr %1643, align 4, !tbaa !5
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror(i32 noundef %1647, ptr noundef @.str.24)
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror_debug(i32 noundef %1650, ptr noundef @.str.24)
  %1652 = call ptr @__errno_location() #12
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call ptr @strerror(i32 noundef %1653) #11
  %1655 = call ptr @__errno_location() #12
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1644, ptr noundef @.str.22, i32 noundef %1645, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 164, ptr noundef %1648, ptr noundef %1651, ptr noundef %1654, i32 noundef %1656) #11
  br label %1675

1658:                                             ; preds = %1636, %1629
  %1659 = load i32, ptr %35, align 4, !tbaa !5
  %1660 = call ptr @__errno_location() #12
  store i32 %1659, ptr %1660, align 4, !tbaa !5
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @s2n_strerror(i32 noundef %1664, ptr noundef @.str.24)
  %1666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call ptr @s2n_strerror_debug(i32 noundef %1667, ptr noundef @.str.24)
  %1669 = call ptr @__errno_location() #12
  %1670 = load i32, ptr %1669, align 4, !tbaa !5
  %1671 = call ptr @strerror(i32 noundef %1670) #11
  %1672 = call ptr @__errno_location() #12
  %1673 = load i32, ptr %1672, align 4, !tbaa !5
  %1674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1661, ptr noundef @.str.25, i32 noundef %1662, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 164, ptr noundef %1665, ptr noundef %1668, ptr noundef %1671, i32 noundef %1673) #11
  br label %1675

1675:                                             ; preds = %1658, %1641
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1676

1676:                                             ; preds = %1675
  br label %1677

1677:                                             ; preds = %1676
  call void @exit(i32 noundef 1) #13
  unreachable

1678:                                             ; No predecessors!
  br label %1679

1679:                                             ; preds = %1678
  br label %1680

1680:                                             ; preds = %1679, %1622
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

1682:                                             ; preds = %1681
  call void @llvm.lifetime.start.p0(i64 40, ptr %36) #11
  call void @llvm.memset.p0.i64(ptr align 8 %36, i8 0, i64 40, i1 false)
  br label %1683

1683:                                             ; preds = %1682
  %1684 = load i32, ptr @test_count, align 4, !tbaa !5
  %1685 = add nsw i32 %1684, 1
  store i32 %1685, ptr @test_count, align 4, !tbaa !5
  %1686 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %36, i32 noundef 0)
  %1687 = icmp eq i32 %1686, -1
  br i1 %1687, label %1688, label %1741

1688:                                             ; preds = %1683
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1691 = call ptr @__errno_location() #12
  %1692 = load i32, ptr %1691, align 4, !tbaa !5
  store i32 %1692, ptr %37, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = call i32 @s2n_print_stacktrace(ptr noundef %1693)
  %1695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1696 = trunc i8 %1695 to i1
  br i1 %1696, label %1697, label %1719

1697:                                             ; preds = %1690
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = call i32 @fileno(ptr noundef %1698) #11
  %1700 = call i32 @isatty(i32 noundef %1699) #11
  %1701 = icmp ne i32 %1700, 0
  br i1 %1701, label %1702, label %1719

1702:                                             ; preds = %1697
  %1703 = load i32, ptr %37, align 4, !tbaa !5
  %1704 = call ptr @__errno_location() #12
  store i32 %1703, ptr %1704, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror(i32 noundef %1708, ptr noundef @.str.24)
  %1710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1711 = load i32, ptr %1710, align 4, !tbaa !5
  %1712 = call ptr @s2n_strerror_debug(i32 noundef %1711, ptr noundef @.str.24)
  %1713 = call ptr @__errno_location() #12
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = call ptr @strerror(i32 noundef %1714) #11
  %1716 = call ptr @__errno_location() #12
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1705, ptr noundef @.str.22, i32 noundef %1706, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 167, ptr noundef %1709, ptr noundef %1712, ptr noundef %1715, i32 noundef %1717) #11
  br label %1736

1719:                                             ; preds = %1697, %1690
  %1720 = load i32, ptr %37, align 4, !tbaa !5
  %1721 = call ptr @__errno_location() #12
  store i32 %1720, ptr %1721, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror(i32 noundef %1725, ptr noundef @.str.24)
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror_debug(i32 noundef %1728, ptr noundef @.str.24)
  %1730 = call ptr @__errno_location() #12
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @strerror(i32 noundef %1731) #11
  %1733 = call ptr @__errno_location() #12
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef @.str.25, i32 noundef %1723, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 167, ptr noundef %1726, ptr noundef %1729, ptr noundef %1732, i32 noundef %1734) #11
  br label %1736

1736:                                             ; preds = %1719, %1702
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1737

1737:                                             ; preds = %1736
  br label %1738

1738:                                             ; preds = %1737
  call void @exit(i32 noundef 1) #13
  unreachable

1739:                                             ; No predecessors!
  br label %1740

1740:                                             ; preds = %1739
  br label %1741

1741:                                             ; preds = %1740, %1683
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742
  br label %1744

1744:                                             ; preds = %1743
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = add nsw i32 %1745, 1
  store i32 %1746, ptr @test_count, align 4, !tbaa !5
  %1747 = load ptr, ptr %34, align 8, !tbaa !9
  %1748 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %36, ptr noundef %36, ptr noundef %1747)
  %1749 = icmp eq i32 %1748, -1
  br i1 %1749, label %1750, label %1803

1750:                                             ; preds = %1744
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

1752:                                             ; preds = %1751
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1753 = call ptr @__errno_location() #12
  %1754 = load i32, ptr %1753, align 4, !tbaa !5
  store i32 %1754, ptr %38, align 4, !tbaa !5
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = call i32 @s2n_print_stacktrace(ptr noundef %1755)
  %1757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1758 = trunc i8 %1757 to i1
  br i1 %1758, label %1759, label %1781

1759:                                             ; preds = %1752
  %1760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1761 = call i32 @fileno(ptr noundef %1760) #11
  %1762 = call i32 @isatty(i32 noundef %1761) #11
  %1763 = icmp ne i32 %1762, 0
  br i1 %1763, label %1764, label %1781

1764:                                             ; preds = %1759
  %1765 = load i32, ptr %38, align 4, !tbaa !5
  %1766 = call ptr @__errno_location() #12
  store i32 %1765, ptr %1766, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call ptr @s2n_strerror(i32 noundef %1770, ptr noundef @.str.24)
  %1772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call ptr @s2n_strerror_debug(i32 noundef %1773, ptr noundef @.str.24)
  %1775 = call ptr @__errno_location() #12
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = call ptr @strerror(i32 noundef %1776) #11
  %1778 = call ptr @__errno_location() #12
  %1779 = load i32, ptr %1778, align 4, !tbaa !5
  %1780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1767, ptr noundef @.str.22, i32 noundef %1768, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 168, ptr noundef %1771, ptr noundef %1774, ptr noundef %1777, i32 noundef %1779) #11
  br label %1798

1781:                                             ; preds = %1759, %1752
  %1782 = load i32, ptr %38, align 4, !tbaa !5
  %1783 = call ptr @__errno_location() #12
  store i32 %1782, ptr %1783, align 4, !tbaa !5
  %1784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror(i32 noundef %1787, ptr noundef @.str.24)
  %1789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror_debug(i32 noundef %1790, ptr noundef @.str.24)
  %1792 = call ptr @__errno_location() #12
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call ptr @strerror(i32 noundef %1793) #11
  %1795 = call ptr @__errno_location() #12
  %1796 = load i32, ptr %1795, align 4, !tbaa !5
  %1797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1784, ptr noundef @.str.25, i32 noundef %1785, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 168, ptr noundef %1788, ptr noundef %1791, ptr noundef %1794, i32 noundef %1796) #11
  br label %1798

1798:                                             ; preds = %1781, %1764
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799
  call void @exit(i32 noundef 1) #13
  unreachable

1801:                                             ; No predecessors!
  br label %1802

1802:                                             ; preds = %1801
  br label %1803

1803:                                             ; preds = %1802, %1744
  br label %1804

1804:                                             ; preds = %1803
  br label %1805

1805:                                             ; preds = %1804
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #11
  store i8 7, ptr %39, align 1, !tbaa !43
  br label %1806

1806:                                             ; preds = %1805
  %1807 = load i32, ptr @test_count, align 4, !tbaa !5
  %1808 = add nsw i32 %1807, 1
  store i32 %1808, ptr @test_count, align 4, !tbaa !5
  %1809 = load i8, ptr %39, align 1, !tbaa !43
  %1810 = call i32 @s2n_stuffer_write_uint8(ptr noundef %36, i8 noundef zeroext %1809)
  %1811 = icmp eq i32 %1810, -1
  br i1 %1811, label %1812, label %1865

1812:                                             ; preds = %1806
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

1814:                                             ; preds = %1813
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1815 = call ptr @__errno_location() #12
  %1816 = load i32, ptr %1815, align 4, !tbaa !5
  store i32 %1816, ptr %40, align 4, !tbaa !5
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = call i32 @s2n_print_stacktrace(ptr noundef %1817)
  %1819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1820 = trunc i8 %1819 to i1
  br i1 %1820, label %1821, label %1843

1821:                                             ; preds = %1814
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @fileno(ptr noundef %1822) #11
  %1824 = call i32 @isatty(i32 noundef %1823) #11
  %1825 = icmp ne i32 %1824, 0
  br i1 %1825, label %1826, label %1843

1826:                                             ; preds = %1821
  %1827 = load i32, ptr %40, align 4, !tbaa !5
  %1828 = call ptr @__errno_location() #12
  store i32 %1827, ptr %1828, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror(i32 noundef %1832, ptr noundef @.str.24)
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror_debug(i32 noundef %1835, ptr noundef @.str.24)
  %1837 = call ptr @__errno_location() #12
  %1838 = load i32, ptr %1837, align 4, !tbaa !5
  %1839 = call ptr @strerror(i32 noundef %1838) #11
  %1840 = call ptr @__errno_location() #12
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1829, ptr noundef @.str.22, i32 noundef %1830, ptr noundef @.str.47, ptr noundef @.str.21, i32 noundef 171, ptr noundef %1833, ptr noundef %1836, ptr noundef %1839, i32 noundef %1841) #11
  br label %1860

1843:                                             ; preds = %1821, %1814
  %1844 = load i32, ptr %40, align 4, !tbaa !5
  %1845 = call ptr @__errno_location() #12
  store i32 %1844, ptr %1845, align 4, !tbaa !5
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror(i32 noundef %1849, ptr noundef @.str.24)
  %1851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call ptr @s2n_strerror_debug(i32 noundef %1852, ptr noundef @.str.24)
  %1854 = call ptr @__errno_location() #12
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  %1856 = call ptr @strerror(i32 noundef %1855) #11
  %1857 = call ptr @__errno_location() #12
  %1858 = load i32, ptr %1857, align 4, !tbaa !5
  %1859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1846, ptr noundef @.str.25, i32 noundef %1847, ptr noundef @.str.47, ptr noundef @.str.21, i32 noundef 171, ptr noundef %1850, ptr noundef %1853, ptr noundef %1856, i32 noundef %1858) #11
  br label %1860

1860:                                             ; preds = %1843, %1826
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

1862:                                             ; preds = %1861
  call void @exit(i32 noundef 1) #13
  unreachable

1863:                                             ; No predecessors!
  br label %1864

1864:                                             ; preds = %1863
  br label %1865

1865:                                             ; preds = %1864, %1806
  br label %1866

1866:                                             ; preds = %1865
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867
  %1869 = load i32, ptr @test_count, align 4, !tbaa !5
  %1870 = add nsw i32 %1869, 1
  store i32 %1870, ptr @test_count, align 4, !tbaa !5
  %1871 = call i32 @s2n_stuffer_write_uint24(ptr noundef %36, i32 noundef 5)
  %1872 = icmp eq i32 %1871, -1
  br i1 %1872, label %1873, label %1926

1873:                                             ; preds = %1868
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

1875:                                             ; preds = %1874
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %1876 = call ptr @__errno_location() #12
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  store i32 %1877, ptr %41, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @s2n_print_stacktrace(ptr noundef %1878)
  %1880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1881 = trunc i8 %1880 to i1
  br i1 %1881, label %1882, label %1904

1882:                                             ; preds = %1875
  %1883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1884 = call i32 @fileno(ptr noundef %1883) #11
  %1885 = call i32 @isatty(i32 noundef %1884) #11
  %1886 = icmp ne i32 %1885, 0
  br i1 %1886, label %1887, label %1904

1887:                                             ; preds = %1882
  %1888 = load i32, ptr %41, align 4, !tbaa !5
  %1889 = call ptr @__errno_location() #12
  store i32 %1888, ptr %1889, align 4, !tbaa !5
  %1890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1891 = load i32, ptr @test_count, align 4, !tbaa !5
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror(i32 noundef %1893, ptr noundef @.str.24)
  %1895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @s2n_strerror_debug(i32 noundef %1896, ptr noundef @.str.24)
  %1898 = call ptr @__errno_location() #12
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call ptr @strerror(i32 noundef %1899) #11
  %1901 = call ptr @__errno_location() #12
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1890, ptr noundef @.str.22, i32 noundef %1891, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 172, ptr noundef %1894, ptr noundef %1897, ptr noundef %1900, i32 noundef %1902) #11
  br label %1921

1904:                                             ; preds = %1882, %1875
  %1905 = load i32, ptr %41, align 4, !tbaa !5
  %1906 = call ptr @__errno_location() #12
  store i32 %1905, ptr %1906, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror(i32 noundef %1910, ptr noundef @.str.24)
  %1912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @s2n_strerror_debug(i32 noundef %1913, ptr noundef @.str.24)
  %1915 = call ptr @__errno_location() #12
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call ptr @strerror(i32 noundef %1916) #11
  %1918 = call ptr @__errno_location() #12
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef @.str.25, i32 noundef %1908, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 172, ptr noundef %1911, ptr noundef %1914, ptr noundef %1917, i32 noundef %1919) #11
  br label %1921

1921:                                             ; preds = %1904, %1887
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

1923:                                             ; preds = %1922
  call void @exit(i32 noundef 1) #13
  unreachable

1924:                                             ; No predecessors!
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

1926:                                             ; preds = %1925, %1868
  br label %1927

1927:                                             ; preds = %1926
  br label %1928

1928:                                             ; preds = %1927
  br label %1929

1929:                                             ; preds = %1928
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = add nsw i32 %1930, 1
  store i32 %1931, ptr @test_count, align 4, !tbaa !5
  %1932 = call i32 @s2n_stuffer_write_bytes(ptr noundef %36, ptr noundef @TEST_DATA, i32 noundef 5)
  %1933 = icmp eq i32 %1932, -1
  br i1 %1933, label %1934, label %1987

1934:                                             ; preds = %1929
  br label %1935

1935:                                             ; preds = %1934
  br label %1936

1936:                                             ; preds = %1935
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %1937 = call ptr @__errno_location() #12
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  store i32 %1938, ptr %42, align 4, !tbaa !5
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @s2n_print_stacktrace(ptr noundef %1939)
  %1941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1942 = trunc i8 %1941 to i1
  br i1 %1942, label %1943, label %1965

1943:                                             ; preds = %1936
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @fileno(ptr noundef %1944) #11
  %1946 = call i32 @isatty(i32 noundef %1945) #11
  %1947 = icmp ne i32 %1946, 0
  br i1 %1947, label %1948, label %1965

1948:                                             ; preds = %1943
  %1949 = load i32, ptr %42, align 4, !tbaa !5
  %1950 = call ptr @__errno_location() #12
  store i32 %1949, ptr %1950, align 4, !tbaa !5
  %1951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1952 = load i32, ptr @test_count, align 4, !tbaa !5
  %1953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1954 = load i32, ptr %1953, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror(i32 noundef %1954, ptr noundef @.str.24)
  %1956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror_debug(i32 noundef %1957, ptr noundef @.str.24)
  %1959 = call ptr @__errno_location() #12
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = call ptr @strerror(i32 noundef %1960) #11
  %1962 = call ptr @__errno_location() #12
  %1963 = load i32, ptr %1962, align 4, !tbaa !5
  %1964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1951, ptr noundef @.str.22, i32 noundef %1952, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 173, ptr noundef %1955, ptr noundef %1958, ptr noundef %1961, i32 noundef %1963) #11
  br label %1982

1965:                                             ; preds = %1943, %1936
  %1966 = load i32, ptr %42, align 4, !tbaa !5
  %1967 = call ptr @__errno_location() #12
  store i32 %1966, ptr %1967, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror(i32 noundef %1971, ptr noundef @.str.24)
  %1973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror_debug(i32 noundef %1974, ptr noundef @.str.24)
  %1976 = call ptr @__errno_location() #12
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call ptr @strerror(i32 noundef %1977) #11
  %1979 = call ptr @__errno_location() #12
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1968, ptr noundef @.str.25, i32 noundef %1969, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 173, ptr noundef %1972, ptr noundef %1975, ptr noundef %1978, i32 noundef %1980) #11
  br label %1982

1982:                                             ; preds = %1965, %1948
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1983

1983:                                             ; preds = %1982
  br label %1984

1984:                                             ; preds = %1983
  call void @exit(i32 noundef 1) #13
  unreachable

1985:                                             ; No predecessors!
  br label %1986

1986:                                             ; preds = %1985
  br label %1987

1987:                                             ; preds = %1986, %1929
  br label %1988

1988:                                             ; preds = %1987
  br label %1989

1989:                                             ; preds = %1988
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #11
  store i8 0, ptr %43, align 1, !tbaa !43
  br label %1990

1990:                                             ; preds = %1989
  %1991 = load i32, ptr @test_count, align 4, !tbaa !5
  %1992 = add nsw i32 %1991, 1
  store i32 %1992, ptr @test_count, align 4, !tbaa !5
  %1993 = load ptr, ptr %34, align 8, !tbaa !9
  %1994 = call i32 @s2n_quic_read_handshake_message(ptr noundef %1993, ptr noundef %43)
  %1995 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  store i32 %1994, ptr %1995, align 4
  %1996 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  %1997 = load i32, ptr %1996, align 4
  %1998 = call zeroext i1 @s2n_result_is_ok(i32 %1997)
  br i1 %1998, label %2052, label %1999

1999:                                             ; preds = %1990
  br label %2000

2000:                                             ; preds = %1999
  br label %2001

2001:                                             ; preds = %2000
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %2002 = call ptr @__errno_location() #12
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  store i32 %2003, ptr %45, align 4, !tbaa !5
  %2004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2005 = call i32 @s2n_print_stacktrace(ptr noundef %2004)
  %2006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2007 = trunc i8 %2006 to i1
  br i1 %2007, label %2008, label %2030

2008:                                             ; preds = %2001
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = call i32 @fileno(ptr noundef %2009) #11
  %2011 = call i32 @isatty(i32 noundef %2010) #11
  %2012 = icmp ne i32 %2011, 0
  br i1 %2012, label %2013, label %2030

2013:                                             ; preds = %2008
  %2014 = load i32, ptr %45, align 4, !tbaa !5
  %2015 = call ptr @__errno_location() #12
  store i32 %2014, ptr %2015, align 4, !tbaa !5
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = load i32, ptr @test_count, align 4, !tbaa !5
  %2018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef @.str.24)
  %2021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2022 = load i32, ptr %2021, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror_debug(i32 noundef %2022, ptr noundef @.str.24)
  %2024 = call ptr @__errno_location() #12
  %2025 = load i32, ptr %2024, align 4, !tbaa !5
  %2026 = call ptr @strerror(i32 noundef %2025) #11
  %2027 = call ptr @__errno_location() #12
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  %2029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2016, ptr noundef @.str.22, i32 noundef %2017, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 176, ptr noundef %2020, ptr noundef %2023, ptr noundef %2026, i32 noundef %2028) #11
  br label %2047

2030:                                             ; preds = %2008, %2001
  %2031 = load i32, ptr %45, align 4, !tbaa !5
  %2032 = call ptr @__errno_location() #12
  store i32 %2031, ptr %2032, align 4, !tbaa !5
  %2033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2034 = load i32, ptr @test_count, align 4, !tbaa !5
  %2035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2036 = load i32, ptr %2035, align 4, !tbaa !5
  %2037 = call ptr @s2n_strerror(i32 noundef %2036, ptr noundef @.str.24)
  %2038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = call ptr @s2n_strerror_debug(i32 noundef %2039, ptr noundef @.str.24)
  %2041 = call ptr @__errno_location() #12
  %2042 = load i32, ptr %2041, align 4, !tbaa !5
  %2043 = call ptr @strerror(i32 noundef %2042) #11
  %2044 = call ptr @__errno_location() #12
  %2045 = load i32, ptr %2044, align 4, !tbaa !5
  %2046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2033, ptr noundef @.str.25, i32 noundef %2034, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 176, ptr noundef %2037, ptr noundef %2040, ptr noundef %2043, i32 noundef %2045) #11
  br label %2047

2047:                                             ; preds = %2030, %2013
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2048

2048:                                             ; preds = %2047
  br label %2049

2049:                                             ; preds = %2048
  call void @exit(i32 noundef 1) #13
  unreachable

2050:                                             ; No predecessors!
  br label %2051

2051:                                             ; preds = %2050
  br label %2052

2052:                                             ; preds = %2051, %1990
  br label %2053

2053:                                             ; preds = %2052
  br label %2054

2054:                                             ; preds = %2053
  br label %2055

2055:                                             ; preds = %2054
  %2056 = load i32, ptr @test_count, align 4, !tbaa !5
  %2057 = add nsw i32 %2056, 1
  store i32 %2057, ptr @test_count, align 4, !tbaa !5
  %2058 = load i8, ptr %43, align 1, !tbaa !43
  %2059 = zext i8 %2058 to i32
  %2060 = load i8, ptr %39, align 1, !tbaa !43
  %2061 = zext i8 %2060 to i32
  %2062 = icmp eq i32 %2059, %2061
  br i1 %2062, label %2116, label %2063

2063:                                             ; preds = %2055
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %2066 = call ptr @__errno_location() #12
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  store i32 %2067, ptr %46, align 4, !tbaa !5
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @s2n_print_stacktrace(ptr noundef %2068)
  %2070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2071 = trunc i8 %2070 to i1
  br i1 %2071, label %2072, label %2094

2072:                                             ; preds = %2065
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = call i32 @fileno(ptr noundef %2073) #11
  %2075 = call i32 @isatty(i32 noundef %2074) #11
  %2076 = icmp ne i32 %2075, 0
  br i1 %2076, label %2077, label %2094

2077:                                             ; preds = %2072
  %2078 = load i32, ptr %46, align 4, !tbaa !5
  %2079 = call ptr @__errno_location() #12
  store i32 %2078, ptr %2079, align 4, !tbaa !5
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call ptr @s2n_strerror(i32 noundef %2083, ptr noundef @.str.24)
  %2085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call ptr @s2n_strerror_debug(i32 noundef %2086, ptr noundef @.str.24)
  %2088 = call ptr @__errno_location() #12
  %2089 = load i32, ptr %2088, align 4, !tbaa !5
  %2090 = call ptr @strerror(i32 noundef %2089) #11
  %2091 = call ptr @__errno_location() #12
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2080, ptr noundef @.str.22, i32 noundef %2081, ptr noundef @.str.51, ptr noundef @.str.21, i32 noundef 178, ptr noundef %2084, ptr noundef %2087, ptr noundef %2090, i32 noundef %2092) #11
  br label %2111

2094:                                             ; preds = %2072, %2065
  %2095 = load i32, ptr %46, align 4, !tbaa !5
  %2096 = call ptr @__errno_location() #12
  store i32 %2095, ptr %2096, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = load i32, ptr @test_count, align 4, !tbaa !5
  %2099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2100 = load i32, ptr %2099, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror(i32 noundef %2100, ptr noundef @.str.24)
  %2102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror_debug(i32 noundef %2103, ptr noundef @.str.24)
  %2105 = call ptr @__errno_location() #12
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @strerror(i32 noundef %2106) #11
  %2108 = call ptr @__errno_location() #12
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2097, ptr noundef @.str.25, i32 noundef %2098, ptr noundef @.str.51, ptr noundef @.str.21, i32 noundef 178, ptr noundef %2101, ptr noundef %2104, ptr noundef %2107, i32 noundef %2109) #11
  br label %2111

2111:                                             ; preds = %2094, %2077
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2112

2112:                                             ; preds = %2111
  br label %2113

2113:                                             ; preds = %2112
  call void @exit(i32 noundef 1) #13
  unreachable

2114:                                             ; No predecessors!
  br label %2115

2115:                                             ; preds = %2114
  br label %2116

2116:                                             ; preds = %2115, %2055
  br label %2117

2117:                                             ; preds = %2116
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

2119:                                             ; preds = %2118
  %2120 = load i32, ptr @test_count, align 4, !tbaa !5
  %2121 = add nsw i32 %2120, 1
  store i32 %2121, ptr @test_count, align 4, !tbaa !5
  %2122 = load ptr, ptr %34, align 8, !tbaa !9
  %2123 = getelementptr inbounds %struct.s2n_connection, ptr %2122, i32 0, i32 52
  %2124 = getelementptr inbounds %struct.s2n_handshake, ptr %2123, i32 0, i32 0
  %2125 = getelementptr inbounds %struct.s2n_stuffer, ptr %2124, i32 0, i32 2
  %2126 = load i32, ptr %2125, align 4, !tbaa !44
  %2127 = load ptr, ptr %34, align 8, !tbaa !9
  %2128 = getelementptr inbounds %struct.s2n_connection, ptr %2127, i32 0, i32 52
  %2129 = getelementptr inbounds %struct.s2n_handshake, ptr %2128, i32 0, i32 0
  %2130 = getelementptr inbounds %struct.s2n_stuffer, ptr %2129, i32 0, i32 1
  %2131 = load i32, ptr %2130, align 8, !tbaa !45
  %2132 = sub i32 %2126, %2131
  %2133 = icmp eq i32 %2132, 4
  br i1 %2133, label %2187, label %2134

2134:                                             ; preds = %2119
  br label %2135

2135:                                             ; preds = %2134
  br label %2136

2136:                                             ; preds = %2135
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2137 = call ptr @__errno_location() #12
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  store i32 %2138, ptr %47, align 4, !tbaa !5
  %2139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2140 = call i32 @s2n_print_stacktrace(ptr noundef %2139)
  %2141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2142 = trunc i8 %2141 to i1
  br i1 %2142, label %2143, label %2165

2143:                                             ; preds = %2136
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = call i32 @fileno(ptr noundef %2144) #11
  %2146 = call i32 @isatty(i32 noundef %2145) #11
  %2147 = icmp ne i32 %2146, 0
  br i1 %2147, label %2148, label %2165

2148:                                             ; preds = %2143
  %2149 = load i32, ptr %47, align 4, !tbaa !5
  %2150 = call ptr @__errno_location() #12
  store i32 %2149, ptr %2150, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror(i32 noundef %2154, ptr noundef @.str.24)
  %2156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror_debug(i32 noundef %2157, ptr noundef @.str.24)
  %2159 = call ptr @__errno_location() #12
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @strerror(i32 noundef %2160) #11
  %2162 = call ptr @__errno_location() #12
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2151, ptr noundef @.str.22, i32 noundef %2152, ptr noundef @.str.52, ptr noundef @.str.21, i32 noundef 179, ptr noundef %2155, ptr noundef %2158, ptr noundef %2161, i32 noundef %2163) #11
  br label %2182

2165:                                             ; preds = %2143, %2136
  %2166 = load i32, ptr %47, align 4, !tbaa !5
  %2167 = call ptr @__errno_location() #12
  store i32 %2166, ptr %2167, align 4, !tbaa !5
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = load i32, ptr @test_count, align 4, !tbaa !5
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef @.str.24)
  %2173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @s2n_strerror_debug(i32 noundef %2174, ptr noundef @.str.24)
  %2176 = call ptr @__errno_location() #12
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @strerror(i32 noundef %2177) #11
  %2179 = call ptr @__errno_location() #12
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2168, ptr noundef @.str.25, i32 noundef %2169, ptr noundef @.str.52, ptr noundef @.str.21, i32 noundef 179, ptr noundef %2172, ptr noundef %2175, ptr noundef %2178, i32 noundef %2180) #11
  br label %2182

2182:                                             ; preds = %2165, %2148
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2183

2183:                                             ; preds = %2182
  br label %2184

2184:                                             ; preds = %2183
  call void @exit(i32 noundef 1) #13
  unreachable

2185:                                             ; No predecessors!
  br label %2186

2186:                                             ; preds = %2185
  br label %2187

2187:                                             ; preds = %2186, %2119
  br label %2188

2188:                                             ; preds = %2187
  br label %2189

2189:                                             ; preds = %2188
  br label %2190

2190:                                             ; preds = %2189
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = add nsw i32 %2191, 1
  store i32 %2192, ptr @test_count, align 4, !tbaa !5
  %2193 = load ptr, ptr %34, align 8, !tbaa !9
  %2194 = getelementptr inbounds %struct.s2n_connection, ptr %2193, i32 0, i32 40
  %2195 = getelementptr inbounds %struct.s2n_stuffer, ptr %2194, i32 0, i32 2
  %2196 = load i32, ptr %2195, align 4, !tbaa !46
  %2197 = load ptr, ptr %34, align 8, !tbaa !9
  %2198 = getelementptr inbounds %struct.s2n_connection, ptr %2197, i32 0, i32 40
  %2199 = getelementptr inbounds %struct.s2n_stuffer, ptr %2198, i32 0, i32 1
  %2200 = load i32, ptr %2199, align 8, !tbaa !47
  %2201 = sub i32 %2196, %2200
  %2202 = zext i32 %2201 to i64
  %2203 = icmp eq i64 %2202, 5
  br i1 %2203, label %2257, label %2204

2204:                                             ; preds = %2190
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2207 = call ptr @__errno_location() #12
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  store i32 %2208, ptr %48, align 4, !tbaa !5
  %2209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2210 = call i32 @s2n_print_stacktrace(ptr noundef %2209)
  %2211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2212 = trunc i8 %2211 to i1
  br i1 %2212, label %2213, label %2235

2213:                                             ; preds = %2206
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = call i32 @fileno(ptr noundef %2214) #11
  %2216 = call i32 @isatty(i32 noundef %2215) #11
  %2217 = icmp ne i32 %2216, 0
  br i1 %2217, label %2218, label %2235

2218:                                             ; preds = %2213
  %2219 = load i32, ptr %48, align 4, !tbaa !5
  %2220 = call ptr @__errno_location() #12
  store i32 %2219, ptr %2220, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2224 = load i32, ptr %2223, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef @.str.24)
  %2226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2227 = load i32, ptr %2226, align 4, !tbaa !5
  %2228 = call ptr @s2n_strerror_debug(i32 noundef %2227, ptr noundef @.str.24)
  %2229 = call ptr @__errno_location() #12
  %2230 = load i32, ptr %2229, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #11
  %2232 = call ptr @__errno_location() #12
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef @.str.22, i32 noundef %2222, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 180, ptr noundef %2225, ptr noundef %2228, ptr noundef %2231, i32 noundef %2233) #11
  br label %2252

2235:                                             ; preds = %2213, %2206
  %2236 = load i32, ptr %48, align 4, !tbaa !5
  %2237 = call ptr @__errno_location() #12
  store i32 %2236, ptr %2237, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = load i32, ptr @test_count, align 4, !tbaa !5
  %2240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror(i32 noundef %2241, ptr noundef @.str.24)
  %2243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef @.str.24)
  %2246 = call ptr @__errno_location() #12
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call ptr @strerror(i32 noundef %2247) #11
  %2249 = call ptr @__errno_location() #12
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2238, ptr noundef @.str.25, i32 noundef %2239, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 180, ptr noundef %2242, ptr noundef %2245, ptr noundef %2248, i32 noundef %2250) #11
  br label %2252

2252:                                             ; preds = %2235, %2218
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2253

2253:                                             ; preds = %2252
  br label %2254

2254:                                             ; preds = %2253
  call void @exit(i32 noundef 1) #13
  unreachable

2255:                                             ; No predecessors!
  br label %2256

2256:                                             ; preds = %2255
  br label %2257

2257:                                             ; preds = %2256, %2190
  br label %2258

2258:                                             ; preds = %2257
  br label %2259

2259:                                             ; preds = %2258
  br label %2260

2260:                                             ; preds = %2259
  br label %2261

2261:                                             ; preds = %2260
  %2262 = load i32, ptr @test_count, align 4, !tbaa !5
  %2263 = add nsw i32 %2262, 1
  store i32 %2263, ptr @test_count, align 4, !tbaa !5
  %2264 = load ptr, ptr %34, align 8, !tbaa !9
  %2265 = getelementptr inbounds %struct.s2n_connection, ptr %2264, i32 0, i32 40
  %2266 = call ptr @s2n_stuffer_raw_read(ptr noundef %2265, i32 noundef 5)
  %2267 = call i32 @memcmp(ptr noundef %2266, ptr noundef @TEST_DATA, i64 noundef 5) #14
  %2268 = icmp eq i32 %2267, 0
  br i1 %2268, label %2322, label %2269

2269:                                             ; preds = %2261
  br label %2270

2270:                                             ; preds = %2269
  br label %2271

2271:                                             ; preds = %2270
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2272 = call ptr @__errno_location() #12
  %2273 = load i32, ptr %2272, align 4, !tbaa !5
  store i32 %2273, ptr %49, align 4, !tbaa !5
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = call i32 @s2n_print_stacktrace(ptr noundef %2274)
  %2276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2277 = trunc i8 %2276 to i1
  br i1 %2277, label %2278, label %2300

2278:                                             ; preds = %2271
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = call i32 @fileno(ptr noundef %2279) #11
  %2281 = call i32 @isatty(i32 noundef %2280) #11
  %2282 = icmp ne i32 %2281, 0
  br i1 %2282, label %2283, label %2300

2283:                                             ; preds = %2278
  %2284 = load i32, ptr %49, align 4, !tbaa !5
  %2285 = call ptr @__errno_location() #12
  store i32 %2284, ptr %2285, align 4, !tbaa !5
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = load i32, ptr @test_count, align 4, !tbaa !5
  %2288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2289 = load i32, ptr %2288, align 4, !tbaa !5
  %2290 = call ptr @s2n_strerror(i32 noundef %2289, ptr noundef @.str.24)
  %2291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2292 = load i32, ptr %2291, align 4, !tbaa !5
  %2293 = call ptr @s2n_strerror_debug(i32 noundef %2292, ptr noundef @.str.24)
  %2294 = call ptr @__errno_location() #12
  %2295 = load i32, ptr %2294, align 4, !tbaa !5
  %2296 = call ptr @strerror(i32 noundef %2295) #11
  %2297 = call ptr @__errno_location() #12
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2286, ptr noundef @.str.22, i32 noundef %2287, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 182, ptr noundef %2290, ptr noundef %2293, ptr noundef %2296, i32 noundef %2298) #11
  br label %2317

2300:                                             ; preds = %2278, %2271
  %2301 = load i32, ptr %49, align 4, !tbaa !5
  %2302 = call ptr @__errno_location() #12
  store i32 %2301, ptr %2302, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef @.str.24)
  %2308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @s2n_strerror_debug(i32 noundef %2309, ptr noundef @.str.24)
  %2311 = call ptr @__errno_location() #12
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @strerror(i32 noundef %2312) #11
  %2314 = call ptr @__errno_location() #12
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2303, ptr noundef @.str.25, i32 noundef %2304, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 182, ptr noundef %2307, ptr noundef %2310, ptr noundef %2313, i32 noundef %2315) #11
  br label %2317

2317:                                             ; preds = %2300, %2283
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2318

2318:                                             ; preds = %2317
  br label %2319

2319:                                             ; preds = %2318
  call void @exit(i32 noundef 1) #13
  unreachable

2320:                                             ; No predecessors!
  br label %2321

2321:                                             ; preds = %2320
  br label %2322

2322:                                             ; preds = %2321, %2261
  br label %2323

2323:                                             ; preds = %2322
  br label %2324

2324:                                             ; preds = %2323
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

2327:                                             ; preds = %2326
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = add nsw i32 %2328, 1
  store i32 %2329, ptr @test_count, align 4, !tbaa !5
  %2330 = call i32 @s2n_stuffer_free(ptr noundef %36)
  %2331 = icmp eq i32 %2330, -1
  br i1 %2331, label %2332, label %2385

2332:                                             ; preds = %2327
  br label %2333

2333:                                             ; preds = %2332
  br label %2334

2334:                                             ; preds = %2333
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2335 = call ptr @__errno_location() #12
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  store i32 %2336, ptr %50, align 4, !tbaa !5
  %2337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2338 = call i32 @s2n_print_stacktrace(ptr noundef %2337)
  %2339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2340 = trunc i8 %2339 to i1
  br i1 %2340, label %2341, label %2363

2341:                                             ; preds = %2334
  %2342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2343 = call i32 @fileno(ptr noundef %2342) #11
  %2344 = call i32 @isatty(i32 noundef %2343) #11
  %2345 = icmp ne i32 %2344, 0
  br i1 %2345, label %2346, label %2363

2346:                                             ; preds = %2341
  %2347 = load i32, ptr %50, align 4, !tbaa !5
  %2348 = call ptr @__errno_location() #12
  store i32 %2347, ptr %2348, align 4, !tbaa !5
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2352 = load i32, ptr %2351, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror(i32 noundef %2352, ptr noundef @.str.24)
  %2354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2355 = load i32, ptr %2354, align 4, !tbaa !5
  %2356 = call ptr @s2n_strerror_debug(i32 noundef %2355, ptr noundef @.str.24)
  %2357 = call ptr @__errno_location() #12
  %2358 = load i32, ptr %2357, align 4, !tbaa !5
  %2359 = call ptr @strerror(i32 noundef %2358) #11
  %2360 = call ptr @__errno_location() #12
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2349, ptr noundef @.str.22, i32 noundef %2350, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 184, ptr noundef %2353, ptr noundef %2356, ptr noundef %2359, i32 noundef %2361) #11
  br label %2380

2363:                                             ; preds = %2341, %2334
  %2364 = load i32, ptr %50, align 4, !tbaa !5
  %2365 = call ptr @__errno_location() #12
  store i32 %2364, ptr %2365, align 4, !tbaa !5
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = load i32, ptr @test_count, align 4, !tbaa !5
  %2368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2369 = load i32, ptr %2368, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror(i32 noundef %2369, ptr noundef @.str.24)
  %2371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2372 = load i32, ptr %2371, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror_debug(i32 noundef %2372, ptr noundef @.str.24)
  %2374 = call ptr @__errno_location() #12
  %2375 = load i32, ptr %2374, align 4, !tbaa !5
  %2376 = call ptr @strerror(i32 noundef %2375) #11
  %2377 = call ptr @__errno_location() #12
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2366, ptr noundef @.str.25, i32 noundef %2367, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 184, ptr noundef %2370, ptr noundef %2373, ptr noundef %2376, i32 noundef %2378) #11
  br label %2380

2380:                                             ; preds = %2363, %2346
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2381

2381:                                             ; preds = %2380
  br label %2382

2382:                                             ; preds = %2381
  call void @exit(i32 noundef 1) #13
  unreachable

2383:                                             ; No predecessors!
  br label %2384

2384:                                             ; preds = %2383
  br label %2385

2385:                                             ; preds = %2384, %2327
  br label %2386

2386:                                             ; preds = %2385
  br label %2387

2387:                                             ; preds = %2386
  br label %2388

2388:                                             ; preds = %2387
  %2389 = load i32, ptr @test_count, align 4, !tbaa !5
  %2390 = add nsw i32 %2389, 1
  store i32 %2390, ptr @test_count, align 4, !tbaa !5
  %2391 = load ptr, ptr %34, align 8, !tbaa !9
  %2392 = call i32 @s2n_connection_free(ptr noundef %2391)
  %2393 = icmp eq i32 %2392, -1
  br i1 %2393, label %2394, label %2447

2394:                                             ; preds = %2388
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2397 = call ptr @__errno_location() #12
  %2398 = load i32, ptr %2397, align 4, !tbaa !5
  store i32 %2398, ptr %51, align 4, !tbaa !5
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @s2n_print_stacktrace(ptr noundef %2399)
  %2401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2402 = trunc i8 %2401 to i1
  br i1 %2402, label %2403, label %2425

2403:                                             ; preds = %2396
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = call i32 @fileno(ptr noundef %2404) #11
  %2406 = call i32 @isatty(i32 noundef %2405) #11
  %2407 = icmp ne i32 %2406, 0
  br i1 %2407, label %2408, label %2425

2408:                                             ; preds = %2403
  %2409 = load i32, ptr %51, align 4, !tbaa !5
  %2410 = call ptr @__errno_location() #12
  store i32 %2409, ptr %2410, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = load i32, ptr @test_count, align 4, !tbaa !5
  %2413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef @.str.24)
  %2416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2417 = load i32, ptr %2416, align 4, !tbaa !5
  %2418 = call ptr @s2n_strerror_debug(i32 noundef %2417, ptr noundef @.str.24)
  %2419 = call ptr @__errno_location() #12
  %2420 = load i32, ptr %2419, align 4, !tbaa !5
  %2421 = call ptr @strerror(i32 noundef %2420) #11
  %2422 = call ptr @__errno_location() #12
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2411, ptr noundef @.str.22, i32 noundef %2412, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 185, ptr noundef %2415, ptr noundef %2418, ptr noundef %2421, i32 noundef %2423) #11
  br label %2442

2425:                                             ; preds = %2403, %2396
  %2426 = load i32, ptr %51, align 4, !tbaa !5
  %2427 = call ptr @__errno_location() #12
  store i32 %2426, ptr %2427, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2431 = load i32, ptr %2430, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror(i32 noundef %2431, ptr noundef @.str.24)
  %2433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror_debug(i32 noundef %2434, ptr noundef @.str.24)
  %2436 = call ptr @__errno_location() #12
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @strerror(i32 noundef %2437) #11
  %2439 = call ptr @__errno_location() #12
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef @.str.25, i32 noundef %2429, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 185, ptr noundef %2432, ptr noundef %2435, ptr noundef %2438, i32 noundef %2440) #11
  br label %2442

2442:                                             ; preds = %2425, %2408
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2443

2443:                                             ; preds = %2442
  br label %2444

2444:                                             ; preds = %2443
  call void @exit(i32 noundef 1) #13
  unreachable

2445:                                             ; No predecessors!
  br label %2446

2446:                                             ; preds = %2445
  br label %2447

2447:                                             ; preds = %2446, %2388
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  store ptr null, ptr %52, align 8, !tbaa !9
  br label %2450

2450:                                             ; preds = %2449
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2453, ptr %52, align 8, !tbaa !9
  %2454 = icmp eq ptr %2453, null
  br i1 %2454, label %2455, label %2508

2455:                                             ; preds = %2450
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2458 = call ptr @__errno_location() #12
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  store i32 %2459, ptr %53, align 4, !tbaa !5
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = call i32 @s2n_print_stacktrace(ptr noundef %2460)
  %2462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2463 = trunc i8 %2462 to i1
  br i1 %2463, label %2464, label %2486

2464:                                             ; preds = %2457
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = call i32 @fileno(ptr noundef %2465) #11
  %2467 = call i32 @isatty(i32 noundef %2466) #11
  %2468 = icmp ne i32 %2467, 0
  br i1 %2468, label %2469, label %2486

2469:                                             ; preds = %2464
  %2470 = load i32, ptr %53, align 4, !tbaa !5
  %2471 = call ptr @__errno_location() #12
  store i32 %2470, ptr %2471, align 4, !tbaa !5
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = load i32, ptr @test_count, align 4, !tbaa !5
  %2474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2475 = load i32, ptr %2474, align 4, !tbaa !5
  %2476 = call ptr @s2n_strerror(i32 noundef %2475, ptr noundef @.str.24)
  %2477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2478 = load i32, ptr %2477, align 4, !tbaa !5
  %2479 = call ptr @s2n_strerror_debug(i32 noundef %2478, ptr noundef @.str.24)
  %2480 = call ptr @__errno_location() #12
  %2481 = load i32, ptr %2480, align 4, !tbaa !5
  %2482 = call ptr @strerror(i32 noundef %2481) #11
  %2483 = call ptr @__errno_location() #12
  %2484 = load i32, ptr %2483, align 4, !tbaa !5
  %2485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2472, ptr noundef @.str.22, i32 noundef %2473, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 191, ptr noundef %2476, ptr noundef %2479, ptr noundef %2482, i32 noundef %2484) #11
  br label %2503

2486:                                             ; preds = %2464, %2457
  %2487 = load i32, ptr %53, align 4, !tbaa !5
  %2488 = call ptr @__errno_location() #12
  store i32 %2487, ptr %2488, align 4, !tbaa !5
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = load i32, ptr @test_count, align 4, !tbaa !5
  %2491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2492 = load i32, ptr %2491, align 4, !tbaa !5
  %2493 = call ptr @s2n_strerror(i32 noundef %2492, ptr noundef @.str.24)
  %2494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror_debug(i32 noundef %2495, ptr noundef @.str.24)
  %2497 = call ptr @__errno_location() #12
  %2498 = load i32, ptr %2497, align 4, !tbaa !5
  %2499 = call ptr @strerror(i32 noundef %2498) #11
  %2500 = call ptr @__errno_location() #12
  %2501 = load i32, ptr %2500, align 4, !tbaa !5
  %2502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2489, ptr noundef @.str.25, i32 noundef %2490, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 191, ptr noundef %2493, ptr noundef %2496, ptr noundef %2499, i32 noundef %2501) #11
  br label %2503

2503:                                             ; preds = %2486, %2469
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2504

2504:                                             ; preds = %2503
  br label %2505

2505:                                             ; preds = %2504
  call void @exit(i32 noundef 1) #13
  unreachable

2506:                                             ; No predecessors!
  br label %2507

2507:                                             ; preds = %2506
  br label %2508

2508:                                             ; preds = %2507, %2450
  br label %2509

2509:                                             ; preds = %2508
  br label %2510

2510:                                             ; preds = %2509
  call void @llvm.lifetime.start.p0(i64 40, ptr %54) #11
  call void @llvm.memset.p0.i64(ptr align 8 %54, i8 0, i64 40, i1 false)
  br label %2511

2511:                                             ; preds = %2510
  %2512 = load i32, ptr @test_count, align 4, !tbaa !5
  %2513 = add nsw i32 %2512, 1
  store i32 %2513, ptr @test_count, align 4, !tbaa !5
  %2514 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %54, i32 noundef 0)
  %2515 = icmp eq i32 %2514, -1
  br i1 %2515, label %2516, label %2569

2516:                                             ; preds = %2511
  br label %2517

2517:                                             ; preds = %2516
  br label %2518

2518:                                             ; preds = %2517
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2519 = call ptr @__errno_location() #12
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  store i32 %2520, ptr %55, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = call i32 @s2n_print_stacktrace(ptr noundef %2521)
  %2523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2524 = trunc i8 %2523 to i1
  br i1 %2524, label %2525, label %2547

2525:                                             ; preds = %2518
  %2526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2527 = call i32 @fileno(ptr noundef %2526) #11
  %2528 = call i32 @isatty(i32 noundef %2527) #11
  %2529 = icmp ne i32 %2528, 0
  br i1 %2529, label %2530, label %2547

2530:                                             ; preds = %2525
  %2531 = load i32, ptr %55, align 4, !tbaa !5
  %2532 = call ptr @__errno_location() #12
  store i32 %2531, ptr %2532, align 4, !tbaa !5
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = load i32, ptr @test_count, align 4, !tbaa !5
  %2535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror(i32 noundef %2536, ptr noundef @.str.24)
  %2538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror_debug(i32 noundef %2539, ptr noundef @.str.24)
  %2541 = call ptr @__errno_location() #12
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @strerror(i32 noundef %2542) #11
  %2544 = call ptr @__errno_location() #12
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2533, ptr noundef @.str.22, i32 noundef %2534, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 194, ptr noundef %2537, ptr noundef %2540, ptr noundef %2543, i32 noundef %2545) #11
  br label %2564

2547:                                             ; preds = %2525, %2518
  %2548 = load i32, ptr %55, align 4, !tbaa !5
  %2549 = call ptr @__errno_location() #12
  store i32 %2548, ptr %2549, align 4, !tbaa !5
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = load i32, ptr @test_count, align 4, !tbaa !5
  %2552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror(i32 noundef %2553, ptr noundef @.str.24)
  %2555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @s2n_strerror_debug(i32 noundef %2556, ptr noundef @.str.24)
  %2558 = call ptr @__errno_location() #12
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @strerror(i32 noundef %2559) #11
  %2561 = call ptr @__errno_location() #12
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2550, ptr noundef @.str.25, i32 noundef %2551, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 194, ptr noundef %2554, ptr noundef %2557, ptr noundef %2560, i32 noundef %2562) #11
  br label %2564

2564:                                             ; preds = %2547, %2530
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

2566:                                             ; preds = %2565
  call void @exit(i32 noundef 1) #13
  unreachable

2567:                                             ; No predecessors!
  br label %2568

2568:                                             ; preds = %2567
  br label %2569

2569:                                             ; preds = %2568, %2511
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570
  br label %2572

2572:                                             ; preds = %2571
  %2573 = load i32, ptr @test_count, align 4, !tbaa !5
  %2574 = add nsw i32 %2573, 1
  store i32 %2574, ptr @test_count, align 4, !tbaa !5
  %2575 = load ptr, ptr %52, align 8, !tbaa !9
  %2576 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %54, ptr noundef %54, ptr noundef %2575)
  %2577 = icmp eq i32 %2576, -1
  br i1 %2577, label %2578, label %2631

2578:                                             ; preds = %2572
  br label %2579

2579:                                             ; preds = %2578
  br label %2580

2580:                                             ; preds = %2579
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2581 = call ptr @__errno_location() #12
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  store i32 %2582, ptr %56, align 4, !tbaa !5
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = call i32 @s2n_print_stacktrace(ptr noundef %2583)
  %2585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2586 = trunc i8 %2585 to i1
  br i1 %2586, label %2587, label %2609

2587:                                             ; preds = %2580
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @fileno(ptr noundef %2588) #11
  %2590 = call i32 @isatty(i32 noundef %2589) #11
  %2591 = icmp ne i32 %2590, 0
  br i1 %2591, label %2592, label %2609

2592:                                             ; preds = %2587
  %2593 = load i32, ptr %56, align 4, !tbaa !5
  %2594 = call ptr @__errno_location() #12
  store i32 %2593, ptr %2594, align 4, !tbaa !5
  %2595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2596 = load i32, ptr @test_count, align 4, !tbaa !5
  %2597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2598 = load i32, ptr %2597, align 4, !tbaa !5
  %2599 = call ptr @s2n_strerror(i32 noundef %2598, ptr noundef @.str.24)
  %2600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  %2602 = call ptr @s2n_strerror_debug(i32 noundef %2601, ptr noundef @.str.24)
  %2603 = call ptr @__errno_location() #12
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  %2605 = call ptr @strerror(i32 noundef %2604) #11
  %2606 = call ptr @__errno_location() #12
  %2607 = load i32, ptr %2606, align 4, !tbaa !5
  %2608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2595, ptr noundef @.str.22, i32 noundef %2596, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 195, ptr noundef %2599, ptr noundef %2602, ptr noundef %2605, i32 noundef %2607) #11
  br label %2626

2609:                                             ; preds = %2587, %2580
  %2610 = load i32, ptr %56, align 4, !tbaa !5
  %2611 = call ptr @__errno_location() #12
  store i32 %2610, ptr %2611, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = load i32, ptr @test_count, align 4, !tbaa !5
  %2614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = call ptr @s2n_strerror(i32 noundef %2615, ptr noundef @.str.24)
  %2617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  %2619 = call ptr @s2n_strerror_debug(i32 noundef %2618, ptr noundef @.str.24)
  %2620 = call ptr @__errno_location() #12
  %2621 = load i32, ptr %2620, align 4, !tbaa !5
  %2622 = call ptr @strerror(i32 noundef %2621) #11
  %2623 = call ptr @__errno_location() #12
  %2624 = load i32, ptr %2623, align 4, !tbaa !5
  %2625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2612, ptr noundef @.str.25, i32 noundef %2613, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 195, ptr noundef %2616, ptr noundef %2619, ptr noundef %2622, i32 noundef %2624) #11
  br label %2626

2626:                                             ; preds = %2609, %2592
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2627

2627:                                             ; preds = %2626
  br label %2628

2628:                                             ; preds = %2627
  call void @exit(i32 noundef 1) #13
  unreachable

2629:                                             ; No predecessors!
  br label %2630

2630:                                             ; preds = %2629
  br label %2631

2631:                                             ; preds = %2630, %2572
  br label %2632

2632:                                             ; preds = %2631
  br label %2633

2633:                                             ; preds = %2632
  br label %2634

2634:                                             ; preds = %2633
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = add nsw i32 %2635, 1
  store i32 %2636, ptr @test_count, align 4, !tbaa !5
  %2637 = call i32 @s2n_stuffer_write_uint8(ptr noundef %54, i8 noundef zeroext 7)
  %2638 = icmp eq i32 %2637, -1
  br i1 %2638, label %2639, label %2692

2639:                                             ; preds = %2634
  br label %2640

2640:                                             ; preds = %2639
  br label %2641

2641:                                             ; preds = %2640
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2642 = call ptr @__errno_location() #12
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  store i32 %2643, ptr %57, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = call i32 @s2n_print_stacktrace(ptr noundef %2644)
  %2646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2647 = trunc i8 %2646 to i1
  br i1 %2647, label %2648, label %2670

2648:                                             ; preds = %2641
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = call i32 @fileno(ptr noundef %2649) #11
  %2651 = call i32 @isatty(i32 noundef %2650) #11
  %2652 = icmp ne i32 %2651, 0
  br i1 %2652, label %2653, label %2670

2653:                                             ; preds = %2648
  %2654 = load i32, ptr %57, align 4, !tbaa !5
  %2655 = call ptr @__errno_location() #12
  store i32 %2654, ptr %2655, align 4, !tbaa !5
  %2656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2657 = load i32, ptr @test_count, align 4, !tbaa !5
  %2658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2659 = load i32, ptr %2658, align 4, !tbaa !5
  %2660 = call ptr @s2n_strerror(i32 noundef %2659, ptr noundef @.str.24)
  %2661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2662 = load i32, ptr %2661, align 4, !tbaa !5
  %2663 = call ptr @s2n_strerror_debug(i32 noundef %2662, ptr noundef @.str.24)
  %2664 = call ptr @__errno_location() #12
  %2665 = load i32, ptr %2664, align 4, !tbaa !5
  %2666 = call ptr @strerror(i32 noundef %2665) #11
  %2667 = call ptr @__errno_location() #12
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2656, ptr noundef @.str.22, i32 noundef %2657, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 197, ptr noundef %2660, ptr noundef %2663, ptr noundef %2666, i32 noundef %2668) #11
  br label %2687

2670:                                             ; preds = %2648, %2641
  %2671 = load i32, ptr %57, align 4, !tbaa !5
  %2672 = call ptr @__errno_location() #12
  store i32 %2671, ptr %2672, align 4, !tbaa !5
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = load i32, ptr @test_count, align 4, !tbaa !5
  %2675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef @.str.24)
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror_debug(i32 noundef %2679, ptr noundef @.str.24)
  %2681 = call ptr @__errno_location() #12
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @strerror(i32 noundef %2682) #11
  %2684 = call ptr @__errno_location() #12
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2673, ptr noundef @.str.25, i32 noundef %2674, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 197, ptr noundef %2677, ptr noundef %2680, ptr noundef %2683, i32 noundef %2685) #11
  br label %2687

2687:                                             ; preds = %2670, %2653
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2688

2688:                                             ; preds = %2687
  br label %2689

2689:                                             ; preds = %2688
  call void @exit(i32 noundef 1) #13
  unreachable

2690:                                             ; No predecessors!
  br label %2691

2691:                                             ; preds = %2690
  br label %2692

2692:                                             ; preds = %2691, %2634
  br label %2693

2693:                                             ; preds = %2692
  br label %2694

2694:                                             ; preds = %2693
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #11
  store i8 0, ptr %58, align 1, !tbaa !43
  br label %2695

2695:                                             ; preds = %2694
  br label %2696

2696:                                             ; preds = %2695
  br label %2697

2697:                                             ; preds = %2696
  %2698 = load i32, ptr @test_count, align 4, !tbaa !5
  %2699 = add nsw i32 %2698, 1
  store i32 %2699, ptr @test_count, align 4, !tbaa !5
  %2700 = load ptr, ptr %52, align 8, !tbaa !9
  %2701 = call i32 @s2n_quic_read_handshake_message(ptr noundef %2700, ptr noundef %58)
  %2702 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2701, ptr %2702, align 4
  %2703 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  %2704 = load i32, ptr %2703, align 4
  %2705 = call zeroext i1 @s2n_result_is_error(i32 %2704)
  br i1 %2705, label %2759, label %2706

2706:                                             ; preds = %2697
  br label %2707

2707:                                             ; preds = %2706
  br label %2708

2708:                                             ; preds = %2707
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2709 = call ptr @__errno_location() #12
  %2710 = load i32, ptr %2709, align 4, !tbaa !5
  store i32 %2710, ptr %60, align 4, !tbaa !5
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = call i32 @s2n_print_stacktrace(ptr noundef %2711)
  %2713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2714 = trunc i8 %2713 to i1
  br i1 %2714, label %2715, label %2737

2715:                                             ; preds = %2708
  %2716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2717 = call i32 @fileno(ptr noundef %2716) #11
  %2718 = call i32 @isatty(i32 noundef %2717) #11
  %2719 = icmp ne i32 %2718, 0
  br i1 %2719, label %2720, label %2737

2720:                                             ; preds = %2715
  %2721 = load i32, ptr %60, align 4, !tbaa !5
  %2722 = call ptr @__errno_location() #12
  store i32 %2721, ptr %2722, align 4, !tbaa !5
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = load i32, ptr @test_count, align 4, !tbaa !5
  %2725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2726 = load i32, ptr %2725, align 4, !tbaa !5
  %2727 = call ptr @s2n_strerror(i32 noundef %2726, ptr noundef @.str.24)
  %2728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2729 = load i32, ptr %2728, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror_debug(i32 noundef %2729, ptr noundef @.str.24)
  %2731 = call ptr @__errno_location() #12
  %2732 = load i32, ptr %2731, align 4, !tbaa !5
  %2733 = call ptr @strerror(i32 noundef %2732) #11
  %2734 = call ptr @__errno_location() #12
  %2735 = load i32, ptr %2734, align 4, !tbaa !5
  %2736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2723, ptr noundef @.str.22, i32 noundef %2724, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2727, ptr noundef %2730, ptr noundef %2733, i32 noundef %2735) #11
  br label %2754

2737:                                             ; preds = %2715, %2708
  %2738 = load i32, ptr %60, align 4, !tbaa !5
  %2739 = call ptr @__errno_location() #12
  store i32 %2738, ptr %2739, align 4, !tbaa !5
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror(i32 noundef %2743, ptr noundef @.str.24)
  %2745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2746 = load i32, ptr %2745, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror_debug(i32 noundef %2746, ptr noundef @.str.24)
  %2748 = call ptr @__errno_location() #12
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  %2750 = call ptr @strerror(i32 noundef %2749) #11
  %2751 = call ptr @__errno_location() #12
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2740, ptr noundef @.str.25, i32 noundef %2741, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2744, ptr noundef %2747, ptr noundef %2750, i32 noundef %2752) #11
  br label %2754

2754:                                             ; preds = %2737, %2720
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2755

2755:                                             ; preds = %2754
  br label %2756

2756:                                             ; preds = %2755
  call void @exit(i32 noundef 1) #13
  unreachable

2757:                                             ; No predecessors!
  br label %2758

2758:                                             ; preds = %2757
  br label %2759

2759:                                             ; preds = %2758, %2697
  br label %2760

2760:                                             ; preds = %2759
  br label %2761

2761:                                             ; preds = %2760
  br label %2762

2762:                                             ; preds = %2761
  %2763 = load i32, ptr @test_count, align 4, !tbaa !5
  %2764 = add nsw i32 %2763, 1
  store i32 %2764, ptr @test_count, align 4, !tbaa !5
  %2765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = icmp eq i32 %2766, 201326592
  br i1 %2767, label %2821, label %2768

2768:                                             ; preds = %2762
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

2770:                                             ; preds = %2769
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2771 = call ptr @__errno_location() #12
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  store i32 %2772, ptr %61, align 4, !tbaa !5
  %2773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2774 = call i32 @s2n_print_stacktrace(ptr noundef %2773)
  %2775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2776 = trunc i8 %2775 to i1
  br i1 %2776, label %2777, label %2799

2777:                                             ; preds = %2770
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = call i32 @fileno(ptr noundef %2778) #11
  %2780 = call i32 @isatty(i32 noundef %2779) #11
  %2781 = icmp ne i32 %2780, 0
  br i1 %2781, label %2782, label %2799

2782:                                             ; preds = %2777
  %2783 = load i32, ptr %61, align 4, !tbaa !5
  %2784 = call ptr @__errno_location() #12
  store i32 %2783, ptr %2784, align 4, !tbaa !5
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = load i32, ptr @test_count, align 4, !tbaa !5
  %2787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2788 = load i32, ptr %2787, align 4, !tbaa !5
  %2789 = call ptr @s2n_strerror(i32 noundef %2788, ptr noundef @.str.24)
  %2790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror_debug(i32 noundef %2791, ptr noundef @.str.24)
  %2793 = call ptr @__errno_location() #12
  %2794 = load i32, ptr %2793, align 4, !tbaa !5
  %2795 = call ptr @strerror(i32 noundef %2794) #11
  %2796 = call ptr @__errno_location() #12
  %2797 = load i32, ptr %2796, align 4, !tbaa !5
  %2798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2785, ptr noundef @.str.22, i32 noundef %2786, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2789, ptr noundef %2792, ptr noundef %2795, i32 noundef %2797) #11
  br label %2816

2799:                                             ; preds = %2777, %2770
  %2800 = load i32, ptr %61, align 4, !tbaa !5
  %2801 = call ptr @__errno_location() #12
  store i32 %2800, ptr %2801, align 4, !tbaa !5
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = load i32, ptr @test_count, align 4, !tbaa !5
  %2804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2805 = load i32, ptr %2804, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror(i32 noundef %2805, ptr noundef @.str.24)
  %2807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2808 = load i32, ptr %2807, align 4, !tbaa !5
  %2809 = call ptr @s2n_strerror_debug(i32 noundef %2808, ptr noundef @.str.24)
  %2810 = call ptr @__errno_location() #12
  %2811 = load i32, ptr %2810, align 4, !tbaa !5
  %2812 = call ptr @strerror(i32 noundef %2811) #11
  %2813 = call ptr @__errno_location() #12
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2802, ptr noundef @.str.25, i32 noundef %2803, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2806, ptr noundef %2809, ptr noundef %2812, i32 noundef %2814) #11
  br label %2816

2816:                                             ; preds = %2799, %2782
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2817

2817:                                             ; preds = %2816
  br label %2818

2818:                                             ; preds = %2817
  call void @exit(i32 noundef 1) #13
  unreachable

2819:                                             ; No predecessors!
  br label %2820

2820:                                             ; preds = %2819
  br label %2821

2821:                                             ; preds = %2820, %2762
  br label %2822

2822:                                             ; preds = %2821
  br label %2823

2823:                                             ; preds = %2822
  br label %2824

2824:                                             ; preds = %2823
  %2825 = load i32, ptr @test_count, align 4, !tbaa !5
  %2826 = add nsw i32 %2825, 1
  store i32 %2826, ptr @test_count, align 4, !tbaa !5
  %2827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror_debug(i32 noundef %2828, ptr noundef @.str.24)
  %2830 = icmp eq ptr %2829, null
  br i1 %2830, label %2831, label %2884

2831:                                             ; preds = %2824
  br label %2832

2832:                                             ; preds = %2831
  br label %2833

2833:                                             ; preds = %2832
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2834 = call ptr @__errno_location() #12
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  store i32 %2835, ptr %62, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = call i32 @s2n_print_stacktrace(ptr noundef %2836)
  %2838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2839 = trunc i8 %2838 to i1
  br i1 %2839, label %2840, label %2862

2840:                                             ; preds = %2833
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = call i32 @fileno(ptr noundef %2841) #11
  %2843 = call i32 @isatty(i32 noundef %2842) #11
  %2844 = icmp ne i32 %2843, 0
  br i1 %2844, label %2845, label %2862

2845:                                             ; preds = %2840
  %2846 = load i32, ptr %62, align 4, !tbaa !5
  %2847 = call ptr @__errno_location() #12
  store i32 %2846, ptr %2847, align 4, !tbaa !5
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = load i32, ptr @test_count, align 4, !tbaa !5
  %2850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror(i32 noundef %2851, ptr noundef @.str.24)
  %2853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call ptr @s2n_strerror_debug(i32 noundef %2854, ptr noundef @.str.24)
  %2856 = call ptr @__errno_location() #12
  %2857 = load i32, ptr %2856, align 4, !tbaa !5
  %2858 = call ptr @strerror(i32 noundef %2857) #11
  %2859 = call ptr @__errno_location() #12
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  %2861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2848, ptr noundef @.str.22, i32 noundef %2849, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2852, ptr noundef %2855, ptr noundef %2858, i32 noundef %2860) #11
  br label %2879

2862:                                             ; preds = %2840, %2833
  %2863 = load i32, ptr %62, align 4, !tbaa !5
  %2864 = call ptr @__errno_location() #12
  store i32 %2863, ptr %2864, align 4, !tbaa !5
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = load i32, ptr @test_count, align 4, !tbaa !5
  %2867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call ptr @s2n_strerror(i32 noundef %2868, ptr noundef @.str.24)
  %2870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2871 = load i32, ptr %2870, align 4, !tbaa !5
  %2872 = call ptr @s2n_strerror_debug(i32 noundef %2871, ptr noundef @.str.24)
  %2873 = call ptr @__errno_location() #12
  %2874 = load i32, ptr %2873, align 4, !tbaa !5
  %2875 = call ptr @strerror(i32 noundef %2874) #11
  %2876 = call ptr @__errno_location() #12
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  %2878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2865, ptr noundef @.str.25, i32 noundef %2866, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 201, ptr noundef %2869, ptr noundef %2872, ptr noundef %2875, i32 noundef %2877) #11
  br label %2879

2879:                                             ; preds = %2862, %2845
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880
  call void @exit(i32 noundef 1) #13
  unreachable

2882:                                             ; No predecessors!
  br label %2883

2883:                                             ; preds = %2882
  br label %2884

2884:                                             ; preds = %2883, %2824
  br label %2885

2885:                                             ; preds = %2884
  br label %2886

2886:                                             ; preds = %2885
  br label %2887

2887:                                             ; preds = %2886
  br label %2888

2888:                                             ; preds = %2887
  br label %2889

2889:                                             ; preds = %2888
  %2890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2890, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2891 = call ptr @__errno_location() #12
  store i32 0, ptr %2891, align 4, !tbaa !5
  br label %2892

2892:                                             ; preds = %2889
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894
  br label %2896

2896:                                             ; preds = %2895
  %2897 = load i32, ptr @test_count, align 4, !tbaa !5
  %2898 = add nsw i32 %2897, 1
  store i32 %2898, ptr @test_count, align 4, !tbaa !5
  %2899 = call i32 @s2n_stuffer_free(ptr noundef %54)
  %2900 = icmp eq i32 %2899, -1
  br i1 %2900, label %2901, label %2954

2901:                                             ; preds = %2896
  br label %2902

2902:                                             ; preds = %2901
  br label %2903

2903:                                             ; preds = %2902
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %2904 = call ptr @__errno_location() #12
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  store i32 %2905, ptr %63, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = call i32 @s2n_print_stacktrace(ptr noundef %2906)
  %2908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2909 = trunc i8 %2908 to i1
  br i1 %2909, label %2910, label %2932

2910:                                             ; preds = %2903
  %2911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2912 = call i32 @fileno(ptr noundef %2911) #11
  %2913 = call i32 @isatty(i32 noundef %2912) #11
  %2914 = icmp ne i32 %2913, 0
  br i1 %2914, label %2915, label %2932

2915:                                             ; preds = %2910
  %2916 = load i32, ptr %63, align 4, !tbaa !5
  %2917 = call ptr @__errno_location() #12
  store i32 %2916, ptr %2917, align 4, !tbaa !5
  %2918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2919 = load i32, ptr @test_count, align 4, !tbaa !5
  %2920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror(i32 noundef %2921, ptr noundef @.str.24)
  %2923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @s2n_strerror_debug(i32 noundef %2924, ptr noundef @.str.24)
  %2926 = call ptr @__errno_location() #12
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call ptr @strerror(i32 noundef %2927) #11
  %2929 = call ptr @__errno_location() #12
  %2930 = load i32, ptr %2929, align 4, !tbaa !5
  %2931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2918, ptr noundef @.str.22, i32 noundef %2919, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 203, ptr noundef %2922, ptr noundef %2925, ptr noundef %2928, i32 noundef %2930) #11
  br label %2949

2932:                                             ; preds = %2910, %2903
  %2933 = load i32, ptr %63, align 4, !tbaa !5
  %2934 = call ptr @__errno_location() #12
  store i32 %2933, ptr %2934, align 4, !tbaa !5
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = load i32, ptr @test_count, align 4, !tbaa !5
  %2937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror(i32 noundef %2938, ptr noundef @.str.24)
  %2940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call ptr @s2n_strerror_debug(i32 noundef %2941, ptr noundef @.str.24)
  %2943 = call ptr @__errno_location() #12
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call ptr @strerror(i32 noundef %2944) #11
  %2946 = call ptr @__errno_location() #12
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2935, ptr noundef @.str.25, i32 noundef %2936, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 203, ptr noundef %2939, ptr noundef %2942, ptr noundef %2945, i32 noundef %2947) #11
  br label %2949

2949:                                             ; preds = %2932, %2915
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %2950

2950:                                             ; preds = %2949
  br label %2951

2951:                                             ; preds = %2950
  call void @exit(i32 noundef 1) #13
  unreachable

2952:                                             ; No predecessors!
  br label %2953

2953:                                             ; preds = %2952
  br label %2954

2954:                                             ; preds = %2953, %2896
  br label %2955

2955:                                             ; preds = %2954
  br label %2956

2956:                                             ; preds = %2955
  br label %2957

2957:                                             ; preds = %2956
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = add nsw i32 %2958, 1
  store i32 %2959, ptr @test_count, align 4, !tbaa !5
  %2960 = load ptr, ptr %52, align 8, !tbaa !9
  %2961 = call i32 @s2n_connection_free(ptr noundef %2960)
  %2962 = icmp eq i32 %2961, -1
  br i1 %2962, label %2963, label %3016

2963:                                             ; preds = %2957
  br label %2964

2964:                                             ; preds = %2963
  br label %2965

2965:                                             ; preds = %2964
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2966 = call ptr @__errno_location() #12
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  store i32 %2967, ptr %64, align 4, !tbaa !5
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = call i32 @s2n_print_stacktrace(ptr noundef %2968)
  %2970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2971 = trunc i8 %2970 to i1
  br i1 %2971, label %2972, label %2994

2972:                                             ; preds = %2965
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = call i32 @fileno(ptr noundef %2973) #11
  %2975 = call i32 @isatty(i32 noundef %2974) #11
  %2976 = icmp ne i32 %2975, 0
  br i1 %2976, label %2977, label %2994

2977:                                             ; preds = %2972
  %2978 = load i32, ptr %64, align 4, !tbaa !5
  %2979 = call ptr @__errno_location() #12
  store i32 %2978, ptr %2979, align 4, !tbaa !5
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = load i32, ptr @test_count, align 4, !tbaa !5
  %2982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call ptr @s2n_strerror(i32 noundef %2983, ptr noundef @.str.24)
  %2985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2986 = load i32, ptr %2985, align 4, !tbaa !5
  %2987 = call ptr @s2n_strerror_debug(i32 noundef %2986, ptr noundef @.str.24)
  %2988 = call ptr @__errno_location() #12
  %2989 = load i32, ptr %2988, align 4, !tbaa !5
  %2990 = call ptr @strerror(i32 noundef %2989) #11
  %2991 = call ptr @__errno_location() #12
  %2992 = load i32, ptr %2991, align 4, !tbaa !5
  %2993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2980, ptr noundef @.str.22, i32 noundef %2981, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 204, ptr noundef %2984, ptr noundef %2987, ptr noundef %2990, i32 noundef %2992) #11
  br label %3011

2994:                                             ; preds = %2972, %2965
  %2995 = load i32, ptr %64, align 4, !tbaa !5
  %2996 = call ptr @__errno_location() #12
  store i32 %2995, ptr %2996, align 4, !tbaa !5
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef @.str.24)
  %3002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror_debug(i32 noundef %3003, ptr noundef @.str.24)
  %3005 = call ptr @__errno_location() #12
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #11
  %3008 = call ptr @__errno_location() #12
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2997, ptr noundef @.str.25, i32 noundef %2998, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 204, ptr noundef %3001, ptr noundef %3004, ptr noundef %3007, i32 noundef %3009) #11
  br label %3011

3011:                                             ; preds = %2994, %2977
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3012

3012:                                             ; preds = %3011
  br label %3013

3013:                                             ; preds = %3012
  call void @exit(i32 noundef 1) #13
  unreachable

3014:                                             ; No predecessors!
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015, %2957
  br label %3017

3017:                                             ; preds = %3016
  br label %3018

3018:                                             ; preds = %3017
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %54) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #11
  store ptr null, ptr %65, align 8, !tbaa !9
  br label %3019

3019:                                             ; preds = %3018
  %3020 = load i32, ptr @test_count, align 4, !tbaa !5
  %3021 = add nsw i32 %3020, 1
  store i32 %3021, ptr @test_count, align 4, !tbaa !5
  %3022 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3022, ptr %65, align 8, !tbaa !9
  %3023 = icmp eq ptr %3022, null
  br i1 %3023, label %3024, label %3077

3024:                                             ; preds = %3019
  br label %3025

3025:                                             ; preds = %3024
  br label %3026

3026:                                             ; preds = %3025
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3027 = call ptr @__errno_location() #12
  %3028 = load i32, ptr %3027, align 4, !tbaa !5
  store i32 %3028, ptr %66, align 4, !tbaa !5
  %3029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3030 = call i32 @s2n_print_stacktrace(ptr noundef %3029)
  %3031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3032 = trunc i8 %3031 to i1
  br i1 %3032, label %3033, label %3055

3033:                                             ; preds = %3026
  %3034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3035 = call i32 @fileno(ptr noundef %3034) #11
  %3036 = call i32 @isatty(i32 noundef %3035) #11
  %3037 = icmp ne i32 %3036, 0
  br i1 %3037, label %3038, label %3055

3038:                                             ; preds = %3033
  %3039 = load i32, ptr %66, align 4, !tbaa !5
  %3040 = call ptr @__errno_location() #12
  store i32 %3039, ptr %3040, align 4, !tbaa !5
  %3041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3042 = load i32, ptr @test_count, align 4, !tbaa !5
  %3043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3044 = load i32, ptr %3043, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror(i32 noundef %3044, ptr noundef @.str.24)
  %3046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3047 = load i32, ptr %3046, align 4, !tbaa !5
  %3048 = call ptr @s2n_strerror_debug(i32 noundef %3047, ptr noundef @.str.24)
  %3049 = call ptr @__errno_location() #12
  %3050 = load i32, ptr %3049, align 4, !tbaa !5
  %3051 = call ptr @strerror(i32 noundef %3050) #11
  %3052 = call ptr @__errno_location() #12
  %3053 = load i32, ptr %3052, align 4, !tbaa !5
  %3054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3041, ptr noundef @.str.22, i32 noundef %3042, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 210, ptr noundef %3045, ptr noundef %3048, ptr noundef %3051, i32 noundef %3053) #11
  br label %3072

3055:                                             ; preds = %3033, %3026
  %3056 = load i32, ptr %66, align 4, !tbaa !5
  %3057 = call ptr @__errno_location() #12
  store i32 %3056, ptr %3057, align 4, !tbaa !5
  %3058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3061 = load i32, ptr %3060, align 4, !tbaa !5
  %3062 = call ptr @s2n_strerror(i32 noundef %3061, ptr noundef @.str.24)
  %3063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror_debug(i32 noundef %3064, ptr noundef @.str.24)
  %3066 = call ptr @__errno_location() #12
  %3067 = load i32, ptr %3066, align 4, !tbaa !5
  %3068 = call ptr @strerror(i32 noundef %3067) #11
  %3069 = call ptr @__errno_location() #12
  %3070 = load i32, ptr %3069, align 4, !tbaa !5
  %3071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3058, ptr noundef @.str.25, i32 noundef %3059, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 210, ptr noundef %3062, ptr noundef %3065, ptr noundef %3068, i32 noundef %3070) #11
  br label %3072

3072:                                             ; preds = %3055, %3038
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3073

3073:                                             ; preds = %3072
  br label %3074

3074:                                             ; preds = %3073
  call void @exit(i32 noundef 1) #13
  unreachable

3075:                                             ; No predecessors!
  br label %3076

3076:                                             ; preds = %3075
  br label %3077

3077:                                             ; preds = %3076, %3019
  br label %3078

3078:                                             ; preds = %3077
  br label %3079

3079:                                             ; preds = %3078
  call void @llvm.lifetime.start.p0(i64 40, ptr %67) #11
  call void @llvm.memset.p0.i64(ptr align 8 %67, i8 0, i64 40, i1 false)
  br label %3080

3080:                                             ; preds = %3079
  %3081 = load i32, ptr @test_count, align 4, !tbaa !5
  %3082 = add nsw i32 %3081, 1
  store i32 %3082, ptr @test_count, align 4, !tbaa !5
  %3083 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %67, i32 noundef 0)
  %3084 = icmp eq i32 %3083, -1
  br i1 %3084, label %3085, label %3138

3085:                                             ; preds = %3080
  br label %3086

3086:                                             ; preds = %3085
  br label %3087

3087:                                             ; preds = %3086
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3088 = call ptr @__errno_location() #12
  %3089 = load i32, ptr %3088, align 4, !tbaa !5
  store i32 %3089, ptr %68, align 4, !tbaa !5
  %3090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3091 = call i32 @s2n_print_stacktrace(ptr noundef %3090)
  %3092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3093 = trunc i8 %3092 to i1
  br i1 %3093, label %3094, label %3116

3094:                                             ; preds = %3087
  %3095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3096 = call i32 @fileno(ptr noundef %3095) #11
  %3097 = call i32 @isatty(i32 noundef %3096) #11
  %3098 = icmp ne i32 %3097, 0
  br i1 %3098, label %3099, label %3116

3099:                                             ; preds = %3094
  %3100 = load i32, ptr %68, align 4, !tbaa !5
  %3101 = call ptr @__errno_location() #12
  store i32 %3100, ptr %3101, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = load i32, ptr @test_count, align 4, !tbaa !5
  %3104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror(i32 noundef %3105, ptr noundef @.str.24)
  %3107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call ptr @s2n_strerror_debug(i32 noundef %3108, ptr noundef @.str.24)
  %3110 = call ptr @__errno_location() #12
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call ptr @strerror(i32 noundef %3111) #11
  %3113 = call ptr @__errno_location() #12
  %3114 = load i32, ptr %3113, align 4, !tbaa !5
  %3115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3102, ptr noundef @.str.22, i32 noundef %3103, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 213, ptr noundef %3106, ptr noundef %3109, ptr noundef %3112, i32 noundef %3114) #11
  br label %3133

3116:                                             ; preds = %3094, %3087
  %3117 = load i32, ptr %68, align 4, !tbaa !5
  %3118 = call ptr @__errno_location() #12
  store i32 %3117, ptr %3118, align 4, !tbaa !5
  %3119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3122 = load i32, ptr %3121, align 4, !tbaa !5
  %3123 = call ptr @s2n_strerror(i32 noundef %3122, ptr noundef @.str.24)
  %3124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3125 = load i32, ptr %3124, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror_debug(i32 noundef %3125, ptr noundef @.str.24)
  %3127 = call ptr @__errno_location() #12
  %3128 = load i32, ptr %3127, align 4, !tbaa !5
  %3129 = call ptr @strerror(i32 noundef %3128) #11
  %3130 = call ptr @__errno_location() #12
  %3131 = load i32, ptr %3130, align 4, !tbaa !5
  %3132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3119, ptr noundef @.str.25, i32 noundef %3120, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 213, ptr noundef %3123, ptr noundef %3126, ptr noundef %3129, i32 noundef %3131) #11
  br label %3133

3133:                                             ; preds = %3116, %3099
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3134

3134:                                             ; preds = %3133
  br label %3135

3135:                                             ; preds = %3134
  call void @exit(i32 noundef 1) #13
  unreachable

3136:                                             ; No predecessors!
  br label %3137

3137:                                             ; preds = %3136
  br label %3138

3138:                                             ; preds = %3137, %3080
  br label %3139

3139:                                             ; preds = %3138
  br label %3140

3140:                                             ; preds = %3139
  br label %3141

3141:                                             ; preds = %3140
  %3142 = load i32, ptr @test_count, align 4, !tbaa !5
  %3143 = add nsw i32 %3142, 1
  store i32 %3143, ptr @test_count, align 4, !tbaa !5
  %3144 = load ptr, ptr %65, align 8, !tbaa !9
  %3145 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %67, ptr noundef %67, ptr noundef %3144)
  %3146 = icmp eq i32 %3145, -1
  br i1 %3146, label %3147, label %3200

3147:                                             ; preds = %3141
  br label %3148

3148:                                             ; preds = %3147
  br label %3149

3149:                                             ; preds = %3148
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3150 = call ptr @__errno_location() #12
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  store i32 %3151, ptr %69, align 4, !tbaa !5
  %3152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3153 = call i32 @s2n_print_stacktrace(ptr noundef %3152)
  %3154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3155 = trunc i8 %3154 to i1
  br i1 %3155, label %3156, label %3178

3156:                                             ; preds = %3149
  %3157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3158 = call i32 @fileno(ptr noundef %3157) #11
  %3159 = call i32 @isatty(i32 noundef %3158) #11
  %3160 = icmp ne i32 %3159, 0
  br i1 %3160, label %3161, label %3178

3161:                                             ; preds = %3156
  %3162 = load i32, ptr %69, align 4, !tbaa !5
  %3163 = call ptr @__errno_location() #12
  store i32 %3162, ptr %3163, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3167 = load i32, ptr %3166, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror(i32 noundef %3167, ptr noundef @.str.24)
  %3169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3170 = load i32, ptr %3169, align 4, !tbaa !5
  %3171 = call ptr @s2n_strerror_debug(i32 noundef %3170, ptr noundef @.str.24)
  %3172 = call ptr @__errno_location() #12
  %3173 = load i32, ptr %3172, align 4, !tbaa !5
  %3174 = call ptr @strerror(i32 noundef %3173) #11
  %3175 = call ptr @__errno_location() #12
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  %3177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef @.str.22, i32 noundef %3165, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 214, ptr noundef %3168, ptr noundef %3171, ptr noundef %3174, i32 noundef %3176) #11
  br label %3195

3178:                                             ; preds = %3156, %3149
  %3179 = load i32, ptr %69, align 4, !tbaa !5
  %3180 = call ptr @__errno_location() #12
  store i32 %3179, ptr %3180, align 4, !tbaa !5
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = load i32, ptr @test_count, align 4, !tbaa !5
  %3183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = call ptr @s2n_strerror(i32 noundef %3184, ptr noundef @.str.24)
  %3186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  %3188 = call ptr @s2n_strerror_debug(i32 noundef %3187, ptr noundef @.str.24)
  %3189 = call ptr @__errno_location() #12
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  %3191 = call ptr @strerror(i32 noundef %3190) #11
  %3192 = call ptr @__errno_location() #12
  %3193 = load i32, ptr %3192, align 4, !tbaa !5
  %3194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3181, ptr noundef @.str.25, i32 noundef %3182, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 214, ptr noundef %3185, ptr noundef %3188, ptr noundef %3191, i32 noundef %3193) #11
  br label %3195

3195:                                             ; preds = %3178, %3161
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3196

3196:                                             ; preds = %3195
  br label %3197

3197:                                             ; preds = %3196
  call void @exit(i32 noundef 1) #13
  unreachable

3198:                                             ; No predecessors!
  br label %3199

3199:                                             ; preds = %3198
  br label %3200

3200:                                             ; preds = %3199, %3141
  br label %3201

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201
  br label %3203

3203:                                             ; preds = %3202
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = add nsw i32 %3204, 1
  store i32 %3205, ptr @test_count, align 4, !tbaa !5
  %3206 = call i32 @s2n_stuffer_write_uint8(ptr noundef %67, i8 noundef zeroext 7)
  %3207 = icmp eq i32 %3206, -1
  br i1 %3207, label %3208, label %3261

3208:                                             ; preds = %3203
  br label %3209

3209:                                             ; preds = %3208
  br label %3210

3210:                                             ; preds = %3209
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3211 = call ptr @__errno_location() #12
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  store i32 %3212, ptr %70, align 4, !tbaa !5
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = call i32 @s2n_print_stacktrace(ptr noundef %3213)
  %3215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3216 = trunc i8 %3215 to i1
  br i1 %3216, label %3217, label %3239

3217:                                             ; preds = %3210
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = call i32 @fileno(ptr noundef %3218) #11
  %3220 = call i32 @isatty(i32 noundef %3219) #11
  %3221 = icmp ne i32 %3220, 0
  br i1 %3221, label %3222, label %3239

3222:                                             ; preds = %3217
  %3223 = load i32, ptr %70, align 4, !tbaa !5
  %3224 = call ptr @__errno_location() #12
  store i32 %3223, ptr %3224, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror(i32 noundef %3228, ptr noundef @.str.24)
  %3230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror_debug(i32 noundef %3231, ptr noundef @.str.24)
  %3233 = call ptr @__errno_location() #12
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @strerror(i32 noundef %3234) #11
  %3236 = call ptr @__errno_location() #12
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3225, ptr noundef @.str.22, i32 noundef %3226, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 216, ptr noundef %3229, ptr noundef %3232, ptr noundef %3235, i32 noundef %3237) #11
  br label %3256

3239:                                             ; preds = %3217, %3210
  %3240 = load i32, ptr %70, align 4, !tbaa !5
  %3241 = call ptr @__errno_location() #12
  store i32 %3240, ptr %3241, align 4, !tbaa !5
  %3242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3245 = load i32, ptr %3244, align 4, !tbaa !5
  %3246 = call ptr @s2n_strerror(i32 noundef %3245, ptr noundef @.str.24)
  %3247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3248 = load i32, ptr %3247, align 4, !tbaa !5
  %3249 = call ptr @s2n_strerror_debug(i32 noundef %3248, ptr noundef @.str.24)
  %3250 = call ptr @__errno_location() #12
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  %3252 = call ptr @strerror(i32 noundef %3251) #11
  %3253 = call ptr @__errno_location() #12
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3242, ptr noundef @.str.25, i32 noundef %3243, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 216, ptr noundef %3246, ptr noundef %3249, ptr noundef %3252, i32 noundef %3254) #11
  br label %3256

3256:                                             ; preds = %3239, %3222
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3257

3257:                                             ; preds = %3256
  br label %3258

3258:                                             ; preds = %3257
  call void @exit(i32 noundef 1) #13
  unreachable

3259:                                             ; No predecessors!
  br label %3260

3260:                                             ; preds = %3259
  br label %3261

3261:                                             ; preds = %3260, %3203
  br label %3262

3262:                                             ; preds = %3261
  br label %3263

3263:                                             ; preds = %3262
  br label %3264

3264:                                             ; preds = %3263
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = add nsw i32 %3265, 1
  store i32 %3266, ptr @test_count, align 4, !tbaa !5
  %3267 = call i32 @s2n_stuffer_write_uint24(ptr noundef %67, i32 noundef 5)
  %3268 = icmp eq i32 %3267, -1
  br i1 %3268, label %3269, label %3322

3269:                                             ; preds = %3264
  br label %3270

3270:                                             ; preds = %3269
  br label %3271

3271:                                             ; preds = %3270
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3272 = call ptr @__errno_location() #12
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  store i32 %3273, ptr %71, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274)
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc i8 %3276 to i1
  br i1 %3277, label %3278, label %3300

3278:                                             ; preds = %3271
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #11
  %3281 = call i32 @isatty(i32 noundef %3280) #11
  %3282 = icmp ne i32 %3281, 0
  br i1 %3282, label %3283, label %3300

3283:                                             ; preds = %3278
  %3284 = load i32, ptr %71, align 4, !tbaa !5
  %3285 = call ptr @__errno_location() #12
  store i32 %3284, ptr %3285, align 4, !tbaa !5
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror(i32 noundef %3289, ptr noundef @.str.24)
  %3291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror_debug(i32 noundef %3292, ptr noundef @.str.24)
  %3294 = call ptr @__errno_location() #12
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #11
  %3297 = call ptr @__errno_location() #12
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3286, ptr noundef @.str.22, i32 noundef %3287, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 217, ptr noundef %3290, ptr noundef %3293, ptr noundef %3296, i32 noundef %3298) #11
  br label %3317

3300:                                             ; preds = %3278, %3271
  %3301 = load i32, ptr %71, align 4, !tbaa !5
  %3302 = call ptr @__errno_location() #12
  store i32 %3301, ptr %3302, align 4, !tbaa !5
  %3303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3304 = load i32, ptr @test_count, align 4, !tbaa !5
  %3305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3306 = load i32, ptr %3305, align 4, !tbaa !5
  %3307 = call ptr @s2n_strerror(i32 noundef %3306, ptr noundef @.str.24)
  %3308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = call ptr @s2n_strerror_debug(i32 noundef %3309, ptr noundef @.str.24)
  %3311 = call ptr @__errno_location() #12
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call ptr @strerror(i32 noundef %3312) #11
  %3314 = call ptr @__errno_location() #12
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3303, ptr noundef @.str.25, i32 noundef %3304, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 217, ptr noundef %3307, ptr noundef %3310, ptr noundef %3313, i32 noundef %3315) #11
  br label %3317

3317:                                             ; preds = %3300, %3283
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3318

3318:                                             ; preds = %3317
  br label %3319

3319:                                             ; preds = %3318
  call void @exit(i32 noundef 1) #13
  unreachable

3320:                                             ; No predecessors!
  br label %3321

3321:                                             ; preds = %3320
  br label %3322

3322:                                             ; preds = %3321, %3264
  br label %3323

3323:                                             ; preds = %3322
  br label %3324

3324:                                             ; preds = %3323
  br label %3325

3325:                                             ; preds = %3324
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = add nsw i32 %3326, 1
  store i32 %3327, ptr @test_count, align 4, !tbaa !5
  %3328 = call i32 @s2n_stuffer_write_bytes(ptr noundef %67, ptr noundef @TEST_DATA, i32 noundef 4)
  %3329 = icmp eq i32 %3328, -1
  br i1 %3329, label %3330, label %3383

3330:                                             ; preds = %3325
  br label %3331

3331:                                             ; preds = %3330
  br label %3332

3332:                                             ; preds = %3331
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #11
  %3333 = call ptr @__errno_location() #12
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  store i32 %3334, ptr %72, align 4, !tbaa !5
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @s2n_print_stacktrace(ptr noundef %3335)
  %3337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3338 = trunc i8 %3337 to i1
  br i1 %3338, label %3339, label %3361

3339:                                             ; preds = %3332
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @fileno(ptr noundef %3340) #11
  %3342 = call i32 @isatty(i32 noundef %3341) #11
  %3343 = icmp ne i32 %3342, 0
  br i1 %3343, label %3344, label %3361

3344:                                             ; preds = %3339
  %3345 = load i32, ptr %72, align 4, !tbaa !5
  %3346 = call ptr @__errno_location() #12
  store i32 %3345, ptr %3346, align 4, !tbaa !5
  %3347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3348 = load i32, ptr @test_count, align 4, !tbaa !5
  %3349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  %3351 = call ptr @s2n_strerror(i32 noundef %3350, ptr noundef @.str.24)
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror_debug(i32 noundef %3353, ptr noundef @.str.24)
  %3355 = call ptr @__errno_location() #12
  %3356 = load i32, ptr %3355, align 4, !tbaa !5
  %3357 = call ptr @strerror(i32 noundef %3356) #11
  %3358 = call ptr @__errno_location() #12
  %3359 = load i32, ptr %3358, align 4, !tbaa !5
  %3360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3347, ptr noundef @.str.22, i32 noundef %3348, ptr noundef @.str.59, ptr noundef @.str.21, i32 noundef 218, ptr noundef %3351, ptr noundef %3354, ptr noundef %3357, i32 noundef %3359) #11
  br label %3378

3361:                                             ; preds = %3339, %3332
  %3362 = load i32, ptr %72, align 4, !tbaa !5
  %3363 = call ptr @__errno_location() #12
  store i32 %3362, ptr %3363, align 4, !tbaa !5
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3367 = load i32, ptr %3366, align 4, !tbaa !5
  %3368 = call ptr @s2n_strerror(i32 noundef %3367, ptr noundef @.str.24)
  %3369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3370 = load i32, ptr %3369, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror_debug(i32 noundef %3370, ptr noundef @.str.24)
  %3372 = call ptr @__errno_location() #12
  %3373 = load i32, ptr %3372, align 4, !tbaa !5
  %3374 = call ptr @strerror(i32 noundef %3373) #11
  %3375 = call ptr @__errno_location() #12
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3364, ptr noundef @.str.25, i32 noundef %3365, ptr noundef @.str.59, ptr noundef @.str.21, i32 noundef 218, ptr noundef %3368, ptr noundef %3371, ptr noundef %3374, i32 noundef %3376) #11
  br label %3378

3378:                                             ; preds = %3361, %3344
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3379

3379:                                             ; preds = %3378
  br label %3380

3380:                                             ; preds = %3379
  call void @exit(i32 noundef 1) #13
  unreachable

3381:                                             ; No predecessors!
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382, %3325
  br label %3384

3384:                                             ; preds = %3383
  br label %3385

3385:                                             ; preds = %3384
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #11
  store i8 0, ptr %73, align 1, !tbaa !43
  br label %3386

3386:                                             ; preds = %3385
  br label %3387

3387:                                             ; preds = %3386
  br label %3388

3388:                                             ; preds = %3387
  %3389 = load i32, ptr @test_count, align 4, !tbaa !5
  %3390 = add nsw i32 %3389, 1
  store i32 %3390, ptr @test_count, align 4, !tbaa !5
  %3391 = load ptr, ptr %65, align 8, !tbaa !9
  %3392 = call i32 @s2n_quic_read_handshake_message(ptr noundef %3391, ptr noundef %73)
  %3393 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  store i32 %3392, ptr %3393, align 4
  %3394 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  %3395 = load i32, ptr %3394, align 4
  %3396 = call zeroext i1 @s2n_result_is_error(i32 %3395)
  br i1 %3396, label %3450, label %3397

3397:                                             ; preds = %3388
  br label %3398

3398:                                             ; preds = %3397
  br label %3399

3399:                                             ; preds = %3398
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3400 = call ptr @__errno_location() #12
  %3401 = load i32, ptr %3400, align 4, !tbaa !5
  store i32 %3401, ptr %75, align 4, !tbaa !5
  %3402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3403 = call i32 @s2n_print_stacktrace(ptr noundef %3402)
  %3404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3405 = trunc i8 %3404 to i1
  br i1 %3405, label %3406, label %3428

3406:                                             ; preds = %3399
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = call i32 @fileno(ptr noundef %3407) #11
  %3409 = call i32 @isatty(i32 noundef %3408) #11
  %3410 = icmp ne i32 %3409, 0
  br i1 %3410, label %3411, label %3428

3411:                                             ; preds = %3406
  %3412 = load i32, ptr %75, align 4, !tbaa !5
  %3413 = call ptr @__errno_location() #12
  store i32 %3412, ptr %3413, align 4, !tbaa !5
  %3414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3415 = load i32, ptr @test_count, align 4, !tbaa !5
  %3416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3417 = load i32, ptr %3416, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror(i32 noundef %3417, ptr noundef @.str.24)
  %3419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call ptr @s2n_strerror_debug(i32 noundef %3420, ptr noundef @.str.24)
  %3422 = call ptr @__errno_location() #12
  %3423 = load i32, ptr %3422, align 4, !tbaa !5
  %3424 = call ptr @strerror(i32 noundef %3423) #11
  %3425 = call ptr @__errno_location() #12
  %3426 = load i32, ptr %3425, align 4, !tbaa !5
  %3427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3414, ptr noundef @.str.22, i32 noundef %3415, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3418, ptr noundef %3421, ptr noundef %3424, i32 noundef %3426) #11
  br label %3445

3428:                                             ; preds = %3406, %3399
  %3429 = load i32, ptr %75, align 4, !tbaa !5
  %3430 = call ptr @__errno_location() #12
  store i32 %3429, ptr %3430, align 4, !tbaa !5
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3434 = load i32, ptr %3433, align 4, !tbaa !5
  %3435 = call ptr @s2n_strerror(i32 noundef %3434, ptr noundef @.str.24)
  %3436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3437 = load i32, ptr %3436, align 4, !tbaa !5
  %3438 = call ptr @s2n_strerror_debug(i32 noundef %3437, ptr noundef @.str.24)
  %3439 = call ptr @__errno_location() #12
  %3440 = load i32, ptr %3439, align 4, !tbaa !5
  %3441 = call ptr @strerror(i32 noundef %3440) #11
  %3442 = call ptr @__errno_location() #12
  %3443 = load i32, ptr %3442, align 4, !tbaa !5
  %3444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3431, ptr noundef @.str.25, i32 noundef %3432, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3435, ptr noundef %3438, ptr noundef %3441, i32 noundef %3443) #11
  br label %3445

3445:                                             ; preds = %3428, %3411
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3446

3446:                                             ; preds = %3445
  br label %3447

3447:                                             ; preds = %3446
  call void @exit(i32 noundef 1) #13
  unreachable

3448:                                             ; No predecessors!
  br label %3449

3449:                                             ; preds = %3448
  br label %3450

3450:                                             ; preds = %3449, %3388
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451
  br label %3453

3453:                                             ; preds = %3452
  %3454 = load i32, ptr @test_count, align 4, !tbaa !5
  %3455 = add nsw i32 %3454, 1
  store i32 %3455, ptr @test_count, align 4, !tbaa !5
  %3456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3457 = load i32, ptr %3456, align 4, !tbaa !5
  %3458 = icmp eq i32 %3457, 201326592
  br i1 %3458, label %3512, label %3459

3459:                                             ; preds = %3453
  br label %3460

3460:                                             ; preds = %3459
  br label %3461

3461:                                             ; preds = %3460
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3462 = call ptr @__errno_location() #12
  %3463 = load i32, ptr %3462, align 4, !tbaa !5
  store i32 %3463, ptr %76, align 4, !tbaa !5
  %3464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3465 = call i32 @s2n_print_stacktrace(ptr noundef %3464)
  %3466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3467 = trunc i8 %3466 to i1
  br i1 %3467, label %3468, label %3490

3468:                                             ; preds = %3461
  %3469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3470 = call i32 @fileno(ptr noundef %3469) #11
  %3471 = call i32 @isatty(i32 noundef %3470) #11
  %3472 = icmp ne i32 %3471, 0
  br i1 %3472, label %3473, label %3490

3473:                                             ; preds = %3468
  %3474 = load i32, ptr %76, align 4, !tbaa !5
  %3475 = call ptr @__errno_location() #12
  store i32 %3474, ptr %3475, align 4, !tbaa !5
  %3476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3477 = load i32, ptr @test_count, align 4, !tbaa !5
  %3478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call ptr @s2n_strerror(i32 noundef %3479, ptr noundef @.str.24)
  %3481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3482 = load i32, ptr %3481, align 4, !tbaa !5
  %3483 = call ptr @s2n_strerror_debug(i32 noundef %3482, ptr noundef @.str.24)
  %3484 = call ptr @__errno_location() #12
  %3485 = load i32, ptr %3484, align 4, !tbaa !5
  %3486 = call ptr @strerror(i32 noundef %3485) #11
  %3487 = call ptr @__errno_location() #12
  %3488 = load i32, ptr %3487, align 4, !tbaa !5
  %3489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3476, ptr noundef @.str.22, i32 noundef %3477, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3480, ptr noundef %3483, ptr noundef %3486, i32 noundef %3488) #11
  br label %3507

3490:                                             ; preds = %3468, %3461
  %3491 = load i32, ptr %76, align 4, !tbaa !5
  %3492 = call ptr @__errno_location() #12
  store i32 %3491, ptr %3492, align 4, !tbaa !5
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = load i32, ptr @test_count, align 4, !tbaa !5
  %3495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call ptr @s2n_strerror(i32 noundef %3496, ptr noundef @.str.24)
  %3498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  %3500 = call ptr @s2n_strerror_debug(i32 noundef %3499, ptr noundef @.str.24)
  %3501 = call ptr @__errno_location() #12
  %3502 = load i32, ptr %3501, align 4, !tbaa !5
  %3503 = call ptr @strerror(i32 noundef %3502) #11
  %3504 = call ptr @__errno_location() #12
  %3505 = load i32, ptr %3504, align 4, !tbaa !5
  %3506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3493, ptr noundef @.str.25, i32 noundef %3494, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3497, ptr noundef %3500, ptr noundef %3503, i32 noundef %3505) #11
  br label %3507

3507:                                             ; preds = %3490, %3473
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3508

3508:                                             ; preds = %3507
  br label %3509

3509:                                             ; preds = %3508
  call void @exit(i32 noundef 1) #13
  unreachable

3510:                                             ; No predecessors!
  br label %3511

3511:                                             ; preds = %3510
  br label %3512

3512:                                             ; preds = %3511, %3453
  br label %3513

3513:                                             ; preds = %3512
  br label %3514

3514:                                             ; preds = %3513
  br label %3515

3515:                                             ; preds = %3514
  %3516 = load i32, ptr @test_count, align 4, !tbaa !5
  %3517 = add nsw i32 %3516, 1
  store i32 %3517, ptr @test_count, align 4, !tbaa !5
  %3518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3519 = load i32, ptr %3518, align 4, !tbaa !5
  %3520 = call ptr @s2n_strerror_debug(i32 noundef %3519, ptr noundef @.str.24)
  %3521 = icmp eq ptr %3520, null
  br i1 %3521, label %3522, label %3575

3522:                                             ; preds = %3515
  br label %3523

3523:                                             ; preds = %3522
  br label %3524

3524:                                             ; preds = %3523
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3525 = call ptr @__errno_location() #12
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  store i32 %3526, ptr %77, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @s2n_print_stacktrace(ptr noundef %3527)
  %3529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3530 = trunc i8 %3529 to i1
  br i1 %3530, label %3531, label %3553

3531:                                             ; preds = %3524
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @fileno(ptr noundef %3532) #11
  %3534 = call i32 @isatty(i32 noundef %3533) #11
  %3535 = icmp ne i32 %3534, 0
  br i1 %3535, label %3536, label %3553

3536:                                             ; preds = %3531
  %3537 = load i32, ptr %77, align 4, !tbaa !5
  %3538 = call ptr @__errno_location() #12
  store i32 %3537, ptr %3538, align 4, !tbaa !5
  %3539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3540 = load i32, ptr @test_count, align 4, !tbaa !5
  %3541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3542 = load i32, ptr %3541, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef @.str.24)
  %3544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3545 = load i32, ptr %3544, align 4, !tbaa !5
  %3546 = call ptr @s2n_strerror_debug(i32 noundef %3545, ptr noundef @.str.24)
  %3547 = call ptr @__errno_location() #12
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  %3549 = call ptr @strerror(i32 noundef %3548) #11
  %3550 = call ptr @__errno_location() #12
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3539, ptr noundef @.str.22, i32 noundef %3540, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3543, ptr noundef %3546, ptr noundef %3549, i32 noundef %3551) #11
  br label %3570

3553:                                             ; preds = %3531, %3524
  %3554 = load i32, ptr %77, align 4, !tbaa !5
  %3555 = call ptr @__errno_location() #12
  store i32 %3554, ptr %3555, align 4, !tbaa !5
  %3556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3557 = load i32, ptr @test_count, align 4, !tbaa !5
  %3558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror(i32 noundef %3559, ptr noundef @.str.24)
  %3561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3562 = load i32, ptr %3561, align 4, !tbaa !5
  %3563 = call ptr @s2n_strerror_debug(i32 noundef %3562, ptr noundef @.str.24)
  %3564 = call ptr @__errno_location() #12
  %3565 = load i32, ptr %3564, align 4, !tbaa !5
  %3566 = call ptr @strerror(i32 noundef %3565) #11
  %3567 = call ptr @__errno_location() #12
  %3568 = load i32, ptr %3567, align 4, !tbaa !5
  %3569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3556, ptr noundef @.str.25, i32 noundef %3557, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 222, ptr noundef %3560, ptr noundef %3563, ptr noundef %3566, i32 noundef %3568) #11
  br label %3570

3570:                                             ; preds = %3553, %3536
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3571

3571:                                             ; preds = %3570
  br label %3572

3572:                                             ; preds = %3571
  call void @exit(i32 noundef 1) #13
  unreachable

3573:                                             ; No predecessors!
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574, %3515
  br label %3576

3576:                                             ; preds = %3575
  br label %3577

3577:                                             ; preds = %3576
  br label %3578

3578:                                             ; preds = %3577
  br label %3579

3579:                                             ; preds = %3578
  br label %3580

3580:                                             ; preds = %3579
  %3581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3581, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3582 = call ptr @__errno_location() #12
  store i32 0, ptr %3582, align 4, !tbaa !5
  br label %3583

3583:                                             ; preds = %3580
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

3587:                                             ; preds = %3586
  %3588 = load i32, ptr @test_count, align 4, !tbaa !5
  %3589 = add nsw i32 %3588, 1
  store i32 %3589, ptr @test_count, align 4, !tbaa !5
  %3590 = call i32 @s2n_stuffer_free(ptr noundef %67)
  %3591 = icmp eq i32 %3590, -1
  br i1 %3591, label %3592, label %3645

3592:                                             ; preds = %3587
  br label %3593

3593:                                             ; preds = %3592
  br label %3594

3594:                                             ; preds = %3593
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3595 = call ptr @__errno_location() #12
  %3596 = load i32, ptr %3595, align 4, !tbaa !5
  store i32 %3596, ptr %78, align 4, !tbaa !5
  %3597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3598 = call i32 @s2n_print_stacktrace(ptr noundef %3597)
  %3599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3600 = trunc i8 %3599 to i1
  br i1 %3600, label %3601, label %3623

3601:                                             ; preds = %3594
  %3602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3603 = call i32 @fileno(ptr noundef %3602) #11
  %3604 = call i32 @isatty(i32 noundef %3603) #11
  %3605 = icmp ne i32 %3604, 0
  br i1 %3605, label %3606, label %3623

3606:                                             ; preds = %3601
  %3607 = load i32, ptr %78, align 4, !tbaa !5
  %3608 = call ptr @__errno_location() #12
  store i32 %3607, ptr %3608, align 4, !tbaa !5
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = load i32, ptr @test_count, align 4, !tbaa !5
  %3611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3612 = load i32, ptr %3611, align 4, !tbaa !5
  %3613 = call ptr @s2n_strerror(i32 noundef %3612, ptr noundef @.str.24)
  %3614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3615 = load i32, ptr %3614, align 4, !tbaa !5
  %3616 = call ptr @s2n_strerror_debug(i32 noundef %3615, ptr noundef @.str.24)
  %3617 = call ptr @__errno_location() #12
  %3618 = load i32, ptr %3617, align 4, !tbaa !5
  %3619 = call ptr @strerror(i32 noundef %3618) #11
  %3620 = call ptr @__errno_location() #12
  %3621 = load i32, ptr %3620, align 4, !tbaa !5
  %3622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3609, ptr noundef @.str.22, i32 noundef %3610, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 224, ptr noundef %3613, ptr noundef %3616, ptr noundef %3619, i32 noundef %3621) #11
  br label %3640

3623:                                             ; preds = %3601, %3594
  %3624 = load i32, ptr %78, align 4, !tbaa !5
  %3625 = call ptr @__errno_location() #12
  store i32 %3624, ptr %3625, align 4, !tbaa !5
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = load i32, ptr @test_count, align 4, !tbaa !5
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror(i32 noundef %3629, ptr noundef @.str.24)
  %3631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @s2n_strerror_debug(i32 noundef %3632, ptr noundef @.str.24)
  %3634 = call ptr @__errno_location() #12
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call ptr @strerror(i32 noundef %3635) #11
  %3637 = call ptr @__errno_location() #12
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  %3639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3626, ptr noundef @.str.25, i32 noundef %3627, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 224, ptr noundef %3630, ptr noundef %3633, ptr noundef %3636, i32 noundef %3638) #11
  br label %3640

3640:                                             ; preds = %3623, %3606
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3641

3641:                                             ; preds = %3640
  br label %3642

3642:                                             ; preds = %3641
  call void @exit(i32 noundef 1) #13
  unreachable

3643:                                             ; No predecessors!
  br label %3644

3644:                                             ; preds = %3643
  br label %3645

3645:                                             ; preds = %3644, %3587
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

3647:                                             ; preds = %3646
  br label %3648

3648:                                             ; preds = %3647
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = add nsw i32 %3649, 1
  store i32 %3650, ptr @test_count, align 4, !tbaa !5
  %3651 = load ptr, ptr %65, align 8, !tbaa !9
  %3652 = call i32 @s2n_connection_free(ptr noundef %3651)
  %3653 = icmp eq i32 %3652, -1
  br i1 %3653, label %3654, label %3707

3654:                                             ; preds = %3648
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

3656:                                             ; preds = %3655
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3657 = call ptr @__errno_location() #12
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  store i32 %3658, ptr %79, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = call i32 @s2n_print_stacktrace(ptr noundef %3659)
  %3661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3662 = trunc i8 %3661 to i1
  br i1 %3662, label %3663, label %3685

3663:                                             ; preds = %3656
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @fileno(ptr noundef %3664) #11
  %3666 = call i32 @isatty(i32 noundef %3665) #11
  %3667 = icmp ne i32 %3666, 0
  br i1 %3667, label %3668, label %3685

3668:                                             ; preds = %3663
  %3669 = load i32, ptr %79, align 4, !tbaa !5
  %3670 = call ptr @__errno_location() #12
  store i32 %3669, ptr %3670, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror(i32 noundef %3674, ptr noundef @.str.24)
  %3676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror_debug(i32 noundef %3677, ptr noundef @.str.24)
  %3679 = call ptr @__errno_location() #12
  %3680 = load i32, ptr %3679, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #11
  %3682 = call ptr @__errno_location() #12
  %3683 = load i32, ptr %3682, align 4, !tbaa !5
  %3684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef @.str.22, i32 noundef %3672, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 225, ptr noundef %3675, ptr noundef %3678, ptr noundef %3681, i32 noundef %3683) #11
  br label %3702

3685:                                             ; preds = %3663, %3656
  %3686 = load i32, ptr %79, align 4, !tbaa !5
  %3687 = call ptr @__errno_location() #12
  store i32 %3686, ptr %3687, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = load i32, ptr @test_count, align 4, !tbaa !5
  %3690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call ptr @s2n_strerror(i32 noundef %3691, ptr noundef @.str.24)
  %3693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3694 = load i32, ptr %3693, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror_debug(i32 noundef %3694, ptr noundef @.str.24)
  %3696 = call ptr @__errno_location() #12
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call ptr @strerror(i32 noundef %3697) #11
  %3699 = call ptr @__errno_location() #12
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3688, ptr noundef @.str.25, i32 noundef %3689, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 225, ptr noundef %3692, ptr noundef %3695, ptr noundef %3698, i32 noundef %3700) #11
  br label %3702

3702:                                             ; preds = %3685, %3668
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3703

3703:                                             ; preds = %3702
  br label %3704

3704:                                             ; preds = %3703
  call void @exit(i32 noundef 1) #13
  unreachable

3705:                                             ; No predecessors!
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706, %3648
  br label %3708

3708:                                             ; preds = %3707
  br label %3709

3709:                                             ; preds = %3708
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %67) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #11
  store ptr null, ptr %80, align 8, !tbaa !9
  br label %3710

3710:                                             ; preds = %3709
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = add nsw i32 %3711, 1
  store i32 %3712, ptr @test_count, align 4, !tbaa !5
  %3713 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3713, ptr %80, align 8, !tbaa !9
  %3714 = icmp eq ptr %3713, null
  br i1 %3714, label %3715, label %3768

3715:                                             ; preds = %3710
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

3717:                                             ; preds = %3716
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %3718 = call ptr @__errno_location() #12
  %3719 = load i32, ptr %3718, align 4, !tbaa !5
  store i32 %3719, ptr %81, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = call i32 @s2n_print_stacktrace(ptr noundef %3720)
  %3722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3723 = trunc i8 %3722 to i1
  br i1 %3723, label %3724, label %3746

3724:                                             ; preds = %3717
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = call i32 @fileno(ptr noundef %3725) #11
  %3727 = call i32 @isatty(i32 noundef %3726) #11
  %3728 = icmp ne i32 %3727, 0
  br i1 %3728, label %3729, label %3746

3729:                                             ; preds = %3724
  %3730 = load i32, ptr %81, align 4, !tbaa !5
  %3731 = call ptr @__errno_location() #12
  store i32 %3730, ptr %3731, align 4, !tbaa !5
  %3732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3733 = load i32, ptr @test_count, align 4, !tbaa !5
  %3734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror(i32 noundef %3735, ptr noundef @.str.24)
  %3737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call ptr @s2n_strerror_debug(i32 noundef %3738, ptr noundef @.str.24)
  %3740 = call ptr @__errno_location() #12
  %3741 = load i32, ptr %3740, align 4, !tbaa !5
  %3742 = call ptr @strerror(i32 noundef %3741) #11
  %3743 = call ptr @__errno_location() #12
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  %3745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3732, ptr noundef @.str.22, i32 noundef %3733, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 231, ptr noundef %3736, ptr noundef %3739, ptr noundef %3742, i32 noundef %3744) #11
  br label %3763

3746:                                             ; preds = %3724, %3717
  %3747 = load i32, ptr %81, align 4, !tbaa !5
  %3748 = call ptr @__errno_location() #12
  store i32 %3747, ptr %3748, align 4, !tbaa !5
  %3749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @s2n_strerror(i32 noundef %3752, ptr noundef @.str.24)
  %3754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef %3755, ptr noundef @.str.24)
  %3757 = call ptr @__errno_location() #12
  %3758 = load i32, ptr %3757, align 4, !tbaa !5
  %3759 = call ptr @strerror(i32 noundef %3758) #11
  %3760 = call ptr @__errno_location() #12
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3749, ptr noundef @.str.25, i32 noundef %3750, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 231, ptr noundef %3753, ptr noundef %3756, ptr noundef %3759, i32 noundef %3761) #11
  br label %3763

3763:                                             ; preds = %3746, %3729
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3764

3764:                                             ; preds = %3763
  br label %3765

3765:                                             ; preds = %3764
  call void @exit(i32 noundef 1) #13
  unreachable

3766:                                             ; No predecessors!
  br label %3767

3767:                                             ; preds = %3766
  br label %3768

3768:                                             ; preds = %3767, %3710
  br label %3769

3769:                                             ; preds = %3768
  br label %3770

3770:                                             ; preds = %3769
  call void @llvm.lifetime.start.p0(i64 40, ptr %82) #11
  call void @llvm.memset.p0.i64(ptr align 8 %82, i8 0, i64 40, i1 false)
  br label %3771

3771:                                             ; preds = %3770
  %3772 = load i32, ptr @test_count, align 4, !tbaa !5
  %3773 = add nsw i32 %3772, 1
  store i32 %3773, ptr @test_count, align 4, !tbaa !5
  %3774 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %82, i32 noundef 0)
  %3775 = icmp eq i32 %3774, -1
  br i1 %3775, label %3776, label %3829

3776:                                             ; preds = %3771
  br label %3777

3777:                                             ; preds = %3776
  br label %3778

3778:                                             ; preds = %3777
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %3779 = call ptr @__errno_location() #12
  %3780 = load i32, ptr %3779, align 4, !tbaa !5
  store i32 %3780, ptr %83, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = call i32 @s2n_print_stacktrace(ptr noundef %3781)
  %3783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3784 = trunc i8 %3783 to i1
  br i1 %3784, label %3785, label %3807

3785:                                             ; preds = %3778
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = call i32 @fileno(ptr noundef %3786) #11
  %3788 = call i32 @isatty(i32 noundef %3787) #11
  %3789 = icmp ne i32 %3788, 0
  br i1 %3789, label %3790, label %3807

3790:                                             ; preds = %3785
  %3791 = load i32, ptr %83, align 4, !tbaa !5
  %3792 = call ptr @__errno_location() #12
  store i32 %3791, ptr %3792, align 4, !tbaa !5
  %3793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3794 = load i32, ptr @test_count, align 4, !tbaa !5
  %3795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3796 = load i32, ptr %3795, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror(i32 noundef %3796, ptr noundef @.str.24)
  %3798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  %3800 = call ptr @s2n_strerror_debug(i32 noundef %3799, ptr noundef @.str.24)
  %3801 = call ptr @__errno_location() #12
  %3802 = load i32, ptr %3801, align 4, !tbaa !5
  %3803 = call ptr @strerror(i32 noundef %3802) #11
  %3804 = call ptr @__errno_location() #12
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3793, ptr noundef @.str.22, i32 noundef %3794, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 234, ptr noundef %3797, ptr noundef %3800, ptr noundef %3803, i32 noundef %3805) #11
  br label %3824

3807:                                             ; preds = %3785, %3778
  %3808 = load i32, ptr %83, align 4, !tbaa !5
  %3809 = call ptr @__errno_location() #12
  store i32 %3808, ptr %3809, align 4, !tbaa !5
  %3810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3811 = load i32, ptr @test_count, align 4, !tbaa !5
  %3812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3813 = load i32, ptr %3812, align 4, !tbaa !5
  %3814 = call ptr @s2n_strerror(i32 noundef %3813, ptr noundef @.str.24)
  %3815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3816 = load i32, ptr %3815, align 4, !tbaa !5
  %3817 = call ptr @s2n_strerror_debug(i32 noundef %3816, ptr noundef @.str.24)
  %3818 = call ptr @__errno_location() #12
  %3819 = load i32, ptr %3818, align 4, !tbaa !5
  %3820 = call ptr @strerror(i32 noundef %3819) #11
  %3821 = call ptr @__errno_location() #12
  %3822 = load i32, ptr %3821, align 4, !tbaa !5
  %3823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3810, ptr noundef @.str.25, i32 noundef %3811, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 234, ptr noundef %3814, ptr noundef %3817, ptr noundef %3820, i32 noundef %3822) #11
  br label %3824

3824:                                             ; preds = %3807, %3790
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3825

3825:                                             ; preds = %3824
  br label %3826

3826:                                             ; preds = %3825
  call void @exit(i32 noundef 1) #13
  unreachable

3827:                                             ; No predecessors!
  br label %3828

3828:                                             ; preds = %3827
  br label %3829

3829:                                             ; preds = %3828, %3771
  br label %3830

3830:                                             ; preds = %3829
  br label %3831

3831:                                             ; preds = %3830
  br label %3832

3832:                                             ; preds = %3831
  %3833 = load i32, ptr @test_count, align 4, !tbaa !5
  %3834 = add nsw i32 %3833, 1
  store i32 %3834, ptr @test_count, align 4, !tbaa !5
  %3835 = load ptr, ptr %80, align 8, !tbaa !9
  %3836 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %82, ptr noundef %82, ptr noundef %3835)
  %3837 = icmp eq i32 %3836, -1
  br i1 %3837, label %3838, label %3891

3838:                                             ; preds = %3832
  br label %3839

3839:                                             ; preds = %3838
  br label %3840

3840:                                             ; preds = %3839
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %3841 = call ptr @__errno_location() #12
  %3842 = load i32, ptr %3841, align 4, !tbaa !5
  store i32 %3842, ptr %84, align 4, !tbaa !5
  %3843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3844 = call i32 @s2n_print_stacktrace(ptr noundef %3843)
  %3845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3846 = trunc i8 %3845 to i1
  br i1 %3846, label %3847, label %3869

3847:                                             ; preds = %3840
  %3848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3849 = call i32 @fileno(ptr noundef %3848) #11
  %3850 = call i32 @isatty(i32 noundef %3849) #11
  %3851 = icmp ne i32 %3850, 0
  br i1 %3851, label %3852, label %3869

3852:                                             ; preds = %3847
  %3853 = load i32, ptr %84, align 4, !tbaa !5
  %3854 = call ptr @__errno_location() #12
  store i32 %3853, ptr %3854, align 4, !tbaa !5
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = load i32, ptr @test_count, align 4, !tbaa !5
  %3857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3858 = load i32, ptr %3857, align 4, !tbaa !5
  %3859 = call ptr @s2n_strerror(i32 noundef %3858, ptr noundef @.str.24)
  %3860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3861 = load i32, ptr %3860, align 4, !tbaa !5
  %3862 = call ptr @s2n_strerror_debug(i32 noundef %3861, ptr noundef @.str.24)
  %3863 = call ptr @__errno_location() #12
  %3864 = load i32, ptr %3863, align 4, !tbaa !5
  %3865 = call ptr @strerror(i32 noundef %3864) #11
  %3866 = call ptr @__errno_location() #12
  %3867 = load i32, ptr %3866, align 4, !tbaa !5
  %3868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3855, ptr noundef @.str.22, i32 noundef %3856, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 235, ptr noundef %3859, ptr noundef %3862, ptr noundef %3865, i32 noundef %3867) #11
  br label %3886

3869:                                             ; preds = %3847, %3840
  %3870 = load i32, ptr %84, align 4, !tbaa !5
  %3871 = call ptr @__errno_location() #12
  store i32 %3870, ptr %3871, align 4, !tbaa !5
  %3872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3875 = load i32, ptr %3874, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef @.str.24)
  %3877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3878 = load i32, ptr %3877, align 4, !tbaa !5
  %3879 = call ptr @s2n_strerror_debug(i32 noundef %3878, ptr noundef @.str.24)
  %3880 = call ptr @__errno_location() #12
  %3881 = load i32, ptr %3880, align 4, !tbaa !5
  %3882 = call ptr @strerror(i32 noundef %3881) #11
  %3883 = call ptr @__errno_location() #12
  %3884 = load i32, ptr %3883, align 4, !tbaa !5
  %3885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3872, ptr noundef @.str.25, i32 noundef %3873, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 235, ptr noundef %3876, ptr noundef %3879, ptr noundef %3882, i32 noundef %3884) #11
  br label %3886

3886:                                             ; preds = %3869, %3852
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %3887

3887:                                             ; preds = %3886
  br label %3888

3888:                                             ; preds = %3887
  call void @exit(i32 noundef 1) #13
  unreachable

3889:                                             ; No predecessors!
  br label %3890

3890:                                             ; preds = %3889
  br label %3891

3891:                                             ; preds = %3890, %3832
  br label %3892

3892:                                             ; preds = %3891
  br label %3893

3893:                                             ; preds = %3892
  br label %3894

3894:                                             ; preds = %3893
  %3895 = load i32, ptr @test_count, align 4, !tbaa !5
  %3896 = add nsw i32 %3895, 1
  store i32 %3896, ptr @test_count, align 4, !tbaa !5
  %3897 = call i32 @s2n_stuffer_write_uint8(ptr noundef %82, i8 noundef zeroext 7)
  %3898 = icmp eq i32 %3897, -1
  br i1 %3898, label %3899, label %3952

3899:                                             ; preds = %3894
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3902 = call ptr @__errno_location() #12
  %3903 = load i32, ptr %3902, align 4, !tbaa !5
  store i32 %3903, ptr %85, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @s2n_print_stacktrace(ptr noundef %3904)
  %3906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc i8 %3906 to i1
  br i1 %3907, label %3908, label %3930

3908:                                             ; preds = %3901
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #11
  %3911 = call i32 @isatty(i32 noundef %3910) #11
  %3912 = icmp ne i32 %3911, 0
  br i1 %3912, label %3913, label %3930

3913:                                             ; preds = %3908
  %3914 = load i32, ptr %85, align 4, !tbaa !5
  %3915 = call ptr @__errno_location() #12
  store i32 %3914, ptr %3915, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call ptr @s2n_strerror(i32 noundef %3919, ptr noundef @.str.24)
  %3921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3922 = load i32, ptr %3921, align 4, !tbaa !5
  %3923 = call ptr @s2n_strerror_debug(i32 noundef %3922, ptr noundef @.str.24)
  %3924 = call ptr @__errno_location() #12
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #11
  %3927 = call ptr @__errno_location() #12
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef @.str.22, i32 noundef %3917, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 237, ptr noundef %3920, ptr noundef %3923, ptr noundef %3926, i32 noundef %3928) #11
  br label %3947

3930:                                             ; preds = %3908, %3901
  %3931 = load i32, ptr %85, align 4, !tbaa !5
  %3932 = call ptr @__errno_location() #12
  store i32 %3931, ptr %3932, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %3935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @s2n_strerror(i32 noundef %3936, ptr noundef @.str.24)
  %3938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror_debug(i32 noundef %3939, ptr noundef @.str.24)
  %3941 = call ptr @__errno_location() #12
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call ptr @strerror(i32 noundef %3942) #11
  %3944 = call ptr @__errno_location() #12
  %3945 = load i32, ptr %3944, align 4, !tbaa !5
  %3946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3933, ptr noundef @.str.25, i32 noundef %3934, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 237, ptr noundef %3937, ptr noundef %3940, ptr noundef %3943, i32 noundef %3945) #11
  br label %3947

3947:                                             ; preds = %3930, %3913
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3948

3948:                                             ; preds = %3947
  br label %3949

3949:                                             ; preds = %3948
  call void @exit(i32 noundef 1) #13
  unreachable

3950:                                             ; No predecessors!
  br label %3951

3951:                                             ; preds = %3950
  br label %3952

3952:                                             ; preds = %3951, %3894
  br label %3953

3953:                                             ; preds = %3952
  br label %3954

3954:                                             ; preds = %3953
  br label %3955

3955:                                             ; preds = %3954
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = add nsw i32 %3956, 1
  store i32 %3957, ptr @test_count, align 4, !tbaa !5
  %3958 = call i32 @s2n_stuffer_write_uint24(ptr noundef %82, i32 noundef 65537)
  %3959 = icmp eq i32 %3958, -1
  br i1 %3959, label %3960, label %4013

3960:                                             ; preds = %3955
  br label %3961

3961:                                             ; preds = %3960
  br label %3962

3962:                                             ; preds = %3961
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %3963 = call ptr @__errno_location() #12
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  store i32 %3964, ptr %86, align 4, !tbaa !5
  %3965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3966 = call i32 @s2n_print_stacktrace(ptr noundef %3965)
  %3967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3968 = trunc i8 %3967 to i1
  br i1 %3968, label %3969, label %3991

3969:                                             ; preds = %3962
  %3970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3971 = call i32 @fileno(ptr noundef %3970) #11
  %3972 = call i32 @isatty(i32 noundef %3971) #11
  %3973 = icmp ne i32 %3972, 0
  br i1 %3973, label %3974, label %3991

3974:                                             ; preds = %3969
  %3975 = load i32, ptr %86, align 4, !tbaa !5
  %3976 = call ptr @__errno_location() #12
  store i32 %3975, ptr %3976, align 4, !tbaa !5
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3980 = load i32, ptr %3979, align 4, !tbaa !5
  %3981 = call ptr @s2n_strerror(i32 noundef %3980, ptr noundef @.str.24)
  %3982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3983 = load i32, ptr %3982, align 4, !tbaa !5
  %3984 = call ptr @s2n_strerror_debug(i32 noundef %3983, ptr noundef @.str.24)
  %3985 = call ptr @__errno_location() #12
  %3986 = load i32, ptr %3985, align 4, !tbaa !5
  %3987 = call ptr @strerror(i32 noundef %3986) #11
  %3988 = call ptr @__errno_location() #12
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  %3990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3977, ptr noundef @.str.22, i32 noundef %3978, ptr noundef @.str.60, ptr noundef @.str.21, i32 noundef 238, ptr noundef %3981, ptr noundef %3984, ptr noundef %3987, i32 noundef %3989) #11
  br label %4008

3991:                                             ; preds = %3969, %3962
  %3992 = load i32, ptr %86, align 4, !tbaa !5
  %3993 = call ptr @__errno_location() #12
  store i32 %3992, ptr %3993, align 4, !tbaa !5
  %3994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3995 = load i32, ptr @test_count, align 4, !tbaa !5
  %3996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror(i32 noundef %3997, ptr noundef @.str.24)
  %3999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4000 = load i32, ptr %3999, align 4, !tbaa !5
  %4001 = call ptr @s2n_strerror_debug(i32 noundef %4000, ptr noundef @.str.24)
  %4002 = call ptr @__errno_location() #12
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = call ptr @strerror(i32 noundef %4003) #11
  %4005 = call ptr @__errno_location() #12
  %4006 = load i32, ptr %4005, align 4, !tbaa !5
  %4007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3994, ptr noundef @.str.25, i32 noundef %3995, ptr noundef @.str.60, ptr noundef @.str.21, i32 noundef 238, ptr noundef %3998, ptr noundef %4001, ptr noundef %4004, i32 noundef %4006) #11
  br label %4008

4008:                                             ; preds = %3991, %3974
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4009

4009:                                             ; preds = %4008
  br label %4010

4010:                                             ; preds = %4009
  call void @exit(i32 noundef 1) #13
  unreachable

4011:                                             ; No predecessors!
  br label %4012

4012:                                             ; preds = %4011
  br label %4013

4013:                                             ; preds = %4012, %3955
  br label %4014

4014:                                             ; preds = %4013
  br label %4015

4015:                                             ; preds = %4014
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #11
  store i8 0, ptr %87, align 1, !tbaa !43
  br label %4016

4016:                                             ; preds = %4015
  br label %4017

4017:                                             ; preds = %4016
  br label %4018

4018:                                             ; preds = %4017
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = add nsw i32 %4019, 1
  store i32 %4020, ptr @test_count, align 4, !tbaa !5
  %4021 = load ptr, ptr %80, align 8, !tbaa !9
  %4022 = call i32 @s2n_quic_read_handshake_message(ptr noundef %4021, ptr noundef %87)
  %4023 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  store i32 %4022, ptr %4023, align 4
  %4024 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  %4025 = load i32, ptr %4024, align 4
  %4026 = call zeroext i1 @s2n_result_is_error(i32 %4025)
  br i1 %4026, label %4080, label %4027

4027:                                             ; preds = %4018
  br label %4028

4028:                                             ; preds = %4027
  br label %4029

4029:                                             ; preds = %4028
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  %4030 = call ptr @__errno_location() #12
  %4031 = load i32, ptr %4030, align 4, !tbaa !5
  store i32 %4031, ptr %89, align 4, !tbaa !5
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = call i32 @s2n_print_stacktrace(ptr noundef %4032)
  %4034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4035 = trunc i8 %4034 to i1
  br i1 %4035, label %4036, label %4058

4036:                                             ; preds = %4029
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = call i32 @fileno(ptr noundef %4037) #11
  %4039 = call i32 @isatty(i32 noundef %4038) #11
  %4040 = icmp ne i32 %4039, 0
  br i1 %4040, label %4041, label %4058

4041:                                             ; preds = %4036
  %4042 = load i32, ptr %89, align 4, !tbaa !5
  %4043 = call ptr @__errno_location() #12
  store i32 %4042, ptr %4043, align 4, !tbaa !5
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = load i32, ptr @test_count, align 4, !tbaa !5
  %4046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4047 = load i32, ptr %4046, align 4, !tbaa !5
  %4048 = call ptr @s2n_strerror(i32 noundef %4047, ptr noundef @.str.24)
  %4049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror_debug(i32 noundef %4050, ptr noundef @.str.24)
  %4052 = call ptr @__errno_location() #12
  %4053 = load i32, ptr %4052, align 4, !tbaa !5
  %4054 = call ptr @strerror(i32 noundef %4053) #11
  %4055 = call ptr @__errno_location() #12
  %4056 = load i32, ptr %4055, align 4, !tbaa !5
  %4057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4044, ptr noundef @.str.22, i32 noundef %4045, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4048, ptr noundef %4051, ptr noundef %4054, i32 noundef %4056) #11
  br label %4075

4058:                                             ; preds = %4036, %4029
  %4059 = load i32, ptr %89, align 4, !tbaa !5
  %4060 = call ptr @__errno_location() #12
  store i32 %4059, ptr %4060, align 4, !tbaa !5
  %4061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4062 = load i32, ptr @test_count, align 4, !tbaa !5
  %4063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4064 = load i32, ptr %4063, align 4, !tbaa !5
  %4065 = call ptr @s2n_strerror(i32 noundef %4064, ptr noundef @.str.24)
  %4066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4067 = load i32, ptr %4066, align 4, !tbaa !5
  %4068 = call ptr @s2n_strerror_debug(i32 noundef %4067, ptr noundef @.str.24)
  %4069 = call ptr @__errno_location() #12
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call ptr @strerror(i32 noundef %4070) #11
  %4072 = call ptr @__errno_location() #12
  %4073 = load i32, ptr %4072, align 4, !tbaa !5
  %4074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4061, ptr noundef @.str.25, i32 noundef %4062, ptr noundef @.str.57, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4065, ptr noundef %4068, ptr noundef %4071, i32 noundef %4073) #11
  br label %4075

4075:                                             ; preds = %4058, %4041
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4076

4076:                                             ; preds = %4075
  br label %4077

4077:                                             ; preds = %4076
  call void @exit(i32 noundef 1) #13
  unreachable

4078:                                             ; No predecessors!
  br label %4079

4079:                                             ; preds = %4078
  br label %4080

4080:                                             ; preds = %4079, %4018
  br label %4081

4081:                                             ; preds = %4080
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

4083:                                             ; preds = %4082
  %4084 = load i32, ptr @test_count, align 4, !tbaa !5
  %4085 = add nsw i32 %4084, 1
  store i32 %4085, ptr @test_count, align 4, !tbaa !5
  %4086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4087 = load i32, ptr %4086, align 4, !tbaa !5
  %4088 = icmp eq i32 %4087, 335544322
  br i1 %4088, label %4142, label %4089

4089:                                             ; preds = %4083
  br label %4090

4090:                                             ; preds = %4089
  br label %4091

4091:                                             ; preds = %4090
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %4092 = call ptr @__errno_location() #12
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  store i32 %4093, ptr %90, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = call i32 @s2n_print_stacktrace(ptr noundef %4094)
  %4096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4097 = trunc i8 %4096 to i1
  br i1 %4097, label %4098, label %4120

4098:                                             ; preds = %4091
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @fileno(ptr noundef %4099) #11
  %4101 = call i32 @isatty(i32 noundef %4100) #11
  %4102 = icmp ne i32 %4101, 0
  br i1 %4102, label %4103, label %4120

4103:                                             ; preds = %4098
  %4104 = load i32, ptr %90, align 4, !tbaa !5
  %4105 = call ptr @__errno_location() #12
  store i32 %4104, ptr %4105, align 4, !tbaa !5
  %4106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4107 = load i32, ptr @test_count, align 4, !tbaa !5
  %4108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4109 = load i32, ptr %4108, align 4, !tbaa !5
  %4110 = call ptr @s2n_strerror(i32 noundef %4109, ptr noundef @.str.24)
  %4111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4112 = load i32, ptr %4111, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror_debug(i32 noundef %4112, ptr noundef @.str.24)
  %4114 = call ptr @__errno_location() #12
  %4115 = load i32, ptr %4114, align 4, !tbaa !5
  %4116 = call ptr @strerror(i32 noundef %4115) #11
  %4117 = call ptr @__errno_location() #12
  %4118 = load i32, ptr %4117, align 4, !tbaa !5
  %4119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4106, ptr noundef @.str.22, i32 noundef %4107, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4110, ptr noundef %4113, ptr noundef %4116, i32 noundef %4118) #11
  br label %4137

4120:                                             ; preds = %4098, %4091
  %4121 = load i32, ptr %90, align 4, !tbaa !5
  %4122 = call ptr @__errno_location() #12
  store i32 %4121, ptr %4122, align 4, !tbaa !5
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = load i32, ptr @test_count, align 4, !tbaa !5
  %4125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4126 = load i32, ptr %4125, align 4, !tbaa !5
  %4127 = call ptr @s2n_strerror(i32 noundef %4126, ptr noundef @.str.24)
  %4128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror_debug(i32 noundef %4129, ptr noundef @.str.24)
  %4131 = call ptr @__errno_location() #12
  %4132 = load i32, ptr %4131, align 4, !tbaa !5
  %4133 = call ptr @strerror(i32 noundef %4132) #11
  %4134 = call ptr @__errno_location() #12
  %4135 = load i32, ptr %4134, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4123, ptr noundef @.str.25, i32 noundef %4124, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4127, ptr noundef %4130, ptr noundef %4133, i32 noundef %4135) #11
  br label %4137

4137:                                             ; preds = %4120, %4103
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4138

4138:                                             ; preds = %4137
  br label %4139

4139:                                             ; preds = %4138
  call void @exit(i32 noundef 1) #13
  unreachable

4140:                                             ; No predecessors!
  br label %4141

4141:                                             ; preds = %4140
  br label %4142

4142:                                             ; preds = %4141, %4083
  br label %4143

4143:                                             ; preds = %4142
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

4145:                                             ; preds = %4144
  %4146 = load i32, ptr @test_count, align 4, !tbaa !5
  %4147 = add nsw i32 %4146, 1
  store i32 %4147, ptr @test_count, align 4, !tbaa !5
  %4148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4149 = load i32, ptr %4148, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror_debug(i32 noundef %4149, ptr noundef @.str.24)
  %4151 = icmp eq ptr %4150, null
  br i1 %4151, label %4152, label %4205

4152:                                             ; preds = %4145
  br label %4153

4153:                                             ; preds = %4152
  br label %4154

4154:                                             ; preds = %4153
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4155 = call ptr @__errno_location() #12
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  store i32 %4156, ptr %91, align 4, !tbaa !5
  %4157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4158 = call i32 @s2n_print_stacktrace(ptr noundef %4157)
  %4159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4160 = trunc i8 %4159 to i1
  br i1 %4160, label %4161, label %4183

4161:                                             ; preds = %4154
  %4162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4163 = call i32 @fileno(ptr noundef %4162) #11
  %4164 = call i32 @isatty(i32 noundef %4163) #11
  %4165 = icmp ne i32 %4164, 0
  br i1 %4165, label %4166, label %4183

4166:                                             ; preds = %4161
  %4167 = load i32, ptr %91, align 4, !tbaa !5
  %4168 = call ptr @__errno_location() #12
  store i32 %4167, ptr %4168, align 4, !tbaa !5
  %4169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  %4173 = call ptr @s2n_strerror(i32 noundef %4172, ptr noundef @.str.24)
  %4174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4175 = load i32, ptr %4174, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror_debug(i32 noundef %4175, ptr noundef @.str.24)
  %4177 = call ptr @__errno_location() #12
  %4178 = load i32, ptr %4177, align 4, !tbaa !5
  %4179 = call ptr @strerror(i32 noundef %4178) #11
  %4180 = call ptr @__errno_location() #12
  %4181 = load i32, ptr %4180, align 4, !tbaa !5
  %4182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4169, ptr noundef @.str.22, i32 noundef %4170, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4173, ptr noundef %4176, ptr noundef %4179, i32 noundef %4181) #11
  br label %4200

4183:                                             ; preds = %4161, %4154
  %4184 = load i32, ptr %91, align 4, !tbaa !5
  %4185 = call ptr @__errno_location() #12
  store i32 %4184, ptr %4185, align 4, !tbaa !5
  %4186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4187 = load i32, ptr @test_count, align 4, !tbaa !5
  %4188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4189 = load i32, ptr %4188, align 4, !tbaa !5
  %4190 = call ptr @s2n_strerror(i32 noundef %4189, ptr noundef @.str.24)
  %4191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror_debug(i32 noundef %4192, ptr noundef @.str.24)
  %4194 = call ptr @__errno_location() #12
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @strerror(i32 noundef %4195) #11
  %4197 = call ptr @__errno_location() #12
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  %4199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4186, ptr noundef @.str.25, i32 noundef %4187, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 242, ptr noundef %4190, ptr noundef %4193, ptr noundef %4196, i32 noundef %4198) #11
  br label %4200

4200:                                             ; preds = %4183, %4166
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4201

4201:                                             ; preds = %4200
  br label %4202

4202:                                             ; preds = %4201
  call void @exit(i32 noundef 1) #13
  unreachable

4203:                                             ; No predecessors!
  br label %4204

4204:                                             ; preds = %4203
  br label %4205

4205:                                             ; preds = %4204, %4145
  br label %4206

4206:                                             ; preds = %4205
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

4208:                                             ; preds = %4207
  br label %4209

4209:                                             ; preds = %4208
  br label %4210

4210:                                             ; preds = %4209
  %4211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4211, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4212 = call ptr @__errno_location() #12
  store i32 0, ptr %4212, align 4, !tbaa !5
  br label %4213

4213:                                             ; preds = %4210
  br label %4214

4214:                                             ; preds = %4213
  br label %4215

4215:                                             ; preds = %4214
  br label %4216

4216:                                             ; preds = %4215
  br label %4217

4217:                                             ; preds = %4216
  %4218 = load i32, ptr @test_count, align 4, !tbaa !5
  %4219 = add nsw i32 %4218, 1
  store i32 %4219, ptr @test_count, align 4, !tbaa !5
  %4220 = call i32 @s2n_stuffer_free(ptr noundef %82)
  %4221 = icmp eq i32 %4220, -1
  br i1 %4221, label %4222, label %4275

4222:                                             ; preds = %4217
  br label %4223

4223:                                             ; preds = %4222
  br label %4224

4224:                                             ; preds = %4223
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4225 = call ptr @__errno_location() #12
  %4226 = load i32, ptr %4225, align 4, !tbaa !5
  store i32 %4226, ptr %92, align 4, !tbaa !5
  %4227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4228 = call i32 @s2n_print_stacktrace(ptr noundef %4227)
  %4229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4230 = trunc i8 %4229 to i1
  br i1 %4230, label %4231, label %4253

4231:                                             ; preds = %4224
  %4232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4233 = call i32 @fileno(ptr noundef %4232) #11
  %4234 = call i32 @isatty(i32 noundef %4233) #11
  %4235 = icmp ne i32 %4234, 0
  br i1 %4235, label %4236, label %4253

4236:                                             ; preds = %4231
  %4237 = load i32, ptr %92, align 4, !tbaa !5
  %4238 = call ptr @__errno_location() #12
  store i32 %4237, ptr %4238, align 4, !tbaa !5
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = load i32, ptr @test_count, align 4, !tbaa !5
  %4241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4242 = load i32, ptr %4241, align 4, !tbaa !5
  %4243 = call ptr @s2n_strerror(i32 noundef %4242, ptr noundef @.str.24)
  %4244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4245 = load i32, ptr %4244, align 4, !tbaa !5
  %4246 = call ptr @s2n_strerror_debug(i32 noundef %4245, ptr noundef @.str.24)
  %4247 = call ptr @__errno_location() #12
  %4248 = load i32, ptr %4247, align 4, !tbaa !5
  %4249 = call ptr @strerror(i32 noundef %4248) #11
  %4250 = call ptr @__errno_location() #12
  %4251 = load i32, ptr %4250, align 4, !tbaa !5
  %4252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4239, ptr noundef @.str.22, i32 noundef %4240, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 244, ptr noundef %4243, ptr noundef %4246, ptr noundef %4249, i32 noundef %4251) #11
  br label %4270

4253:                                             ; preds = %4231, %4224
  %4254 = load i32, ptr %92, align 4, !tbaa !5
  %4255 = call ptr @__errno_location() #12
  store i32 %4254, ptr %4255, align 4, !tbaa !5
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = load i32, ptr @test_count, align 4, !tbaa !5
  %4258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4259 = load i32, ptr %4258, align 4, !tbaa !5
  %4260 = call ptr @s2n_strerror(i32 noundef %4259, ptr noundef @.str.24)
  %4261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4262 = load i32, ptr %4261, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror_debug(i32 noundef %4262, ptr noundef @.str.24)
  %4264 = call ptr @__errno_location() #12
  %4265 = load i32, ptr %4264, align 4, !tbaa !5
  %4266 = call ptr @strerror(i32 noundef %4265) #11
  %4267 = call ptr @__errno_location() #12
  %4268 = load i32, ptr %4267, align 4, !tbaa !5
  %4269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4256, ptr noundef @.str.25, i32 noundef %4257, ptr noundef @.str.55, ptr noundef @.str.21, i32 noundef 244, ptr noundef %4260, ptr noundef %4263, ptr noundef %4266, i32 noundef %4268) #11
  br label %4270

4270:                                             ; preds = %4253, %4236
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4271

4271:                                             ; preds = %4270
  br label %4272

4272:                                             ; preds = %4271
  call void @exit(i32 noundef 1) #13
  unreachable

4273:                                             ; No predecessors!
  br label %4274

4274:                                             ; preds = %4273
  br label %4275

4275:                                             ; preds = %4274, %4217
  br label %4276

4276:                                             ; preds = %4275
  br label %4277

4277:                                             ; preds = %4276
  br label %4278

4278:                                             ; preds = %4277
  %4279 = load i32, ptr @test_count, align 4, !tbaa !5
  %4280 = add nsw i32 %4279, 1
  store i32 %4280, ptr @test_count, align 4, !tbaa !5
  %4281 = load ptr, ptr %80, align 8, !tbaa !9
  %4282 = call i32 @s2n_connection_free(ptr noundef %4281)
  %4283 = icmp eq i32 %4282, -1
  br i1 %4283, label %4284, label %4337

4284:                                             ; preds = %4278
  br label %4285

4285:                                             ; preds = %4284
  br label %4286

4286:                                             ; preds = %4285
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4287 = call ptr @__errno_location() #12
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  store i32 %4288, ptr %93, align 4, !tbaa !5
  %4289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4290 = call i32 @s2n_print_stacktrace(ptr noundef %4289)
  %4291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4292 = trunc i8 %4291 to i1
  br i1 %4292, label %4293, label %4315

4293:                                             ; preds = %4286
  %4294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4295 = call i32 @fileno(ptr noundef %4294) #11
  %4296 = call i32 @isatty(i32 noundef %4295) #11
  %4297 = icmp ne i32 %4296, 0
  br i1 %4297, label %4298, label %4315

4298:                                             ; preds = %4293
  %4299 = load i32, ptr %93, align 4, !tbaa !5
  %4300 = call ptr @__errno_location() #12
  store i32 %4299, ptr %4300, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call ptr @s2n_strerror(i32 noundef %4304, ptr noundef @.str.24)
  %4306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror_debug(i32 noundef %4307, ptr noundef @.str.24)
  %4309 = call ptr @__errno_location() #12
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call ptr @strerror(i32 noundef %4310) #11
  %4312 = call ptr @__errno_location() #12
  %4313 = load i32, ptr %4312, align 4, !tbaa !5
  %4314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4301, ptr noundef @.str.22, i32 noundef %4302, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 245, ptr noundef %4305, ptr noundef %4308, ptr noundef %4311, i32 noundef %4313) #11
  br label %4332

4315:                                             ; preds = %4293, %4286
  %4316 = load i32, ptr %93, align 4, !tbaa !5
  %4317 = call ptr @__errno_location() #12
  store i32 %4316, ptr %4317, align 4, !tbaa !5
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = load i32, ptr @test_count, align 4, !tbaa !5
  %4320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call ptr @s2n_strerror(i32 noundef %4321, ptr noundef @.str.24)
  %4323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4324 = load i32, ptr %4323, align 4, !tbaa !5
  %4325 = call ptr @s2n_strerror_debug(i32 noundef %4324, ptr noundef @.str.24)
  %4326 = call ptr @__errno_location() #12
  %4327 = load i32, ptr %4326, align 4, !tbaa !5
  %4328 = call ptr @strerror(i32 noundef %4327) #11
  %4329 = call ptr @__errno_location() #12
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4318, ptr noundef @.str.25, i32 noundef %4319, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 245, ptr noundef %4322, ptr noundef %4325, ptr noundef %4328, i32 noundef %4330) #11
  br label %4332

4332:                                             ; preds = %4315, %4298
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4333

4333:                                             ; preds = %4332
  br label %4334

4334:                                             ; preds = %4333
  call void @exit(i32 noundef 1) #13
  unreachable

4335:                                             ; No predecessors!
  br label %4336

4336:                                             ; preds = %4335
  br label %4337

4337:                                             ; preds = %4336, %4278
  br label %4338

4338:                                             ; preds = %4337
  br label %4339

4339:                                             ; preds = %4338
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %82) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  %4340 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4340, ptr %94, align 8, !tbaa !9
  br label %4341

4341:                                             ; preds = %4339
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = add nsw i32 %4342, 1
  store i32 %4343, ptr @test_count, align 4, !tbaa !5
  %4344 = load ptr, ptr %94, align 8, !tbaa !9
  %4345 = icmp eq ptr %4344, null
  br i1 %4345, label %4346, label %4399

4346:                                             ; preds = %4341
  br label %4347

4347:                                             ; preds = %4346
  br label %4348

4348:                                             ; preds = %4347
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4349 = call ptr @__errno_location() #12
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  store i32 %4350, ptr %95, align 4, !tbaa !5
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @s2n_print_stacktrace(ptr noundef %4351)
  %4353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4354 = trunc i8 %4353 to i1
  br i1 %4354, label %4355, label %4377

4355:                                             ; preds = %4348
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = call i32 @fileno(ptr noundef %4356) #11
  %4358 = call i32 @isatty(i32 noundef %4357) #11
  %4359 = icmp ne i32 %4358, 0
  br i1 %4359, label %4360, label %4377

4360:                                             ; preds = %4355
  %4361 = load i32, ptr %95, align 4, !tbaa !5
  %4362 = call ptr @__errno_location() #12
  store i32 %4361, ptr %4362, align 4, !tbaa !5
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  %4367 = call ptr @s2n_strerror(i32 noundef %4366, ptr noundef @.str.24)
  %4368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4369 = load i32, ptr %4368, align 4, !tbaa !5
  %4370 = call ptr @s2n_strerror_debug(i32 noundef %4369, ptr noundef @.str.24)
  %4371 = call ptr @__errno_location() #12
  %4372 = load i32, ptr %4371, align 4, !tbaa !5
  %4373 = call ptr @strerror(i32 noundef %4372) #11
  %4374 = call ptr @__errno_location() #12
  %4375 = load i32, ptr %4374, align 4, !tbaa !5
  %4376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4363, ptr noundef @.str.22, i32 noundef %4364, ptr noundef @.str.62, ptr noundef @.str.21, i32 noundef 252, ptr noundef %4367, ptr noundef %4370, ptr noundef %4373, i32 noundef %4375) #11
  br label %4394

4377:                                             ; preds = %4355, %4348
  %4378 = load i32, ptr %95, align 4, !tbaa !5
  %4379 = call ptr @__errno_location() #12
  store i32 %4378, ptr %4379, align 4, !tbaa !5
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = load i32, ptr @test_count, align 4, !tbaa !5
  %4382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4383 = load i32, ptr %4382, align 4, !tbaa !5
  %4384 = call ptr @s2n_strerror(i32 noundef %4383, ptr noundef @.str.24)
  %4385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4386 = load i32, ptr %4385, align 4, !tbaa !5
  %4387 = call ptr @s2n_strerror_debug(i32 noundef %4386, ptr noundef @.str.24)
  %4388 = call ptr @__errno_location() #12
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = call ptr @strerror(i32 noundef %4389) #11
  %4391 = call ptr @__errno_location() #12
  %4392 = load i32, ptr %4391, align 4, !tbaa !5
  %4393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4380, ptr noundef @.str.25, i32 noundef %4381, ptr noundef @.str.62, ptr noundef @.str.21, i32 noundef 252, ptr noundef %4384, ptr noundef %4387, ptr noundef %4390, i32 noundef %4392) #11
  br label %4394

4394:                                             ; preds = %4377, %4360
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

4396:                                             ; preds = %4395
  call void @exit(i32 noundef 1) #13
  unreachable

4397:                                             ; No predecessors!
  br label %4398

4398:                                             ; preds = %4397
  br label %4399

4399:                                             ; preds = %4398, %4341
  br label %4400

4400:                                             ; preds = %4399
  br label %4401

4401:                                             ; preds = %4400
  call void @llvm.lifetime.start.p0(i64 40, ptr %96) #11
  call void @llvm.memset.p0.i64(ptr align 8 %96, i8 0, i64 40, i1 false)
  br label %4402

4402:                                             ; preds = %4401
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = add nsw i32 %4403, 1
  store i32 %4404, ptr @test_count, align 4, !tbaa !5
  %4405 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %96, i32 noundef 0)
  %4406 = icmp eq i32 %4405, -1
  br i1 %4406, label %4407, label %4460

4407:                                             ; preds = %4402
  br label %4408

4408:                                             ; preds = %4407
  br label %4409

4409:                                             ; preds = %4408
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4410 = call ptr @__errno_location() #12
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  store i32 %4411, ptr %97, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = call i32 @s2n_print_stacktrace(ptr noundef %4412)
  %4414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4415 = trunc i8 %4414 to i1
  br i1 %4415, label %4416, label %4438

4416:                                             ; preds = %4409
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @fileno(ptr noundef %4417) #11
  %4419 = call i32 @isatty(i32 noundef %4418) #11
  %4420 = icmp ne i32 %4419, 0
  br i1 %4420, label %4421, label %4438

4421:                                             ; preds = %4416
  %4422 = load i32, ptr %97, align 4, !tbaa !5
  %4423 = call ptr @__errno_location() #12
  store i32 %4422, ptr %4423, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = load i32, ptr @test_count, align 4, !tbaa !5
  %4426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef @.str.24)
  %4429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror_debug(i32 noundef %4430, ptr noundef @.str.24)
  %4432 = call ptr @__errno_location() #12
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @strerror(i32 noundef %4433) #11
  %4435 = call ptr @__errno_location() #12
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4424, ptr noundef @.str.22, i32 noundef %4425, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 255, ptr noundef %4428, ptr noundef %4431, ptr noundef %4434, i32 noundef %4436) #11
  br label %4455

4438:                                             ; preds = %4416, %4409
  %4439 = load i32, ptr %97, align 4, !tbaa !5
  %4440 = call ptr @__errno_location() #12
  store i32 %4439, ptr %4440, align 4, !tbaa !5
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call ptr @s2n_strerror(i32 noundef %4444, ptr noundef @.str.24)
  %4446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4447 = load i32, ptr %4446, align 4, !tbaa !5
  %4448 = call ptr @s2n_strerror_debug(i32 noundef %4447, ptr noundef @.str.24)
  %4449 = call ptr @__errno_location() #12
  %4450 = load i32, ptr %4449, align 4, !tbaa !5
  %4451 = call ptr @strerror(i32 noundef %4450) #11
  %4452 = call ptr @__errno_location() #12
  %4453 = load i32, ptr %4452, align 4, !tbaa !5
  %4454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4441, ptr noundef @.str.25, i32 noundef %4442, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 255, ptr noundef %4445, ptr noundef %4448, ptr noundef %4451, i32 noundef %4453) #11
  br label %4455

4455:                                             ; preds = %4438, %4421
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

4457:                                             ; preds = %4456
  call void @exit(i32 noundef 1) #13
  unreachable

4458:                                             ; No predecessors!
  br label %4459

4459:                                             ; preds = %4458
  br label %4460

4460:                                             ; preds = %4459, %4402
  br label %4461

4461:                                             ; preds = %4460
  br label %4462

4462:                                             ; preds = %4461
  br label %4463

4463:                                             ; preds = %4462
  %4464 = load i32, ptr @test_count, align 4, !tbaa !5
  %4465 = add nsw i32 %4464, 1
  store i32 %4465, ptr @test_count, align 4, !tbaa !5
  %4466 = load ptr, ptr %94, align 8, !tbaa !9
  %4467 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %96, ptr noundef %96, ptr noundef %4466)
  %4468 = icmp eq i32 %4467, -1
  br i1 %4468, label %4469, label %4522

4469:                                             ; preds = %4463
  br label %4470

4470:                                             ; preds = %4469
  br label %4471

4471:                                             ; preds = %4470
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4472 = call ptr @__errno_location() #12
  %4473 = load i32, ptr %4472, align 4, !tbaa !5
  store i32 %4473, ptr %98, align 4, !tbaa !5
  %4474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4475 = call i32 @s2n_print_stacktrace(ptr noundef %4474)
  %4476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4477 = trunc i8 %4476 to i1
  br i1 %4477, label %4478, label %4500

4478:                                             ; preds = %4471
  %4479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4480 = call i32 @fileno(ptr noundef %4479) #11
  %4481 = call i32 @isatty(i32 noundef %4480) #11
  %4482 = icmp ne i32 %4481, 0
  br i1 %4482, label %4483, label %4500

4483:                                             ; preds = %4478
  %4484 = load i32, ptr %98, align 4, !tbaa !5
  %4485 = call ptr @__errno_location() #12
  store i32 %4484, ptr %4485, align 4, !tbaa !5
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = load i32, ptr @test_count, align 4, !tbaa !5
  %4488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror(i32 noundef %4489, ptr noundef @.str.24)
  %4491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @s2n_strerror_debug(i32 noundef %4492, ptr noundef @.str.24)
  %4494 = call ptr @__errno_location() #12
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call ptr @strerror(i32 noundef %4495) #11
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4486, ptr noundef @.str.22, i32 noundef %4487, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 256, ptr noundef %4490, ptr noundef %4493, ptr noundef %4496, i32 noundef %4498) #11
  br label %4517

4500:                                             ; preds = %4478, %4471
  %4501 = load i32, ptr %98, align 4, !tbaa !5
  %4502 = call ptr @__errno_location() #12
  store i32 %4501, ptr %4502, align 4, !tbaa !5
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = load i32, ptr @test_count, align 4, !tbaa !5
  %4505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4506 = load i32, ptr %4505, align 4, !tbaa !5
  %4507 = call ptr @s2n_strerror(i32 noundef %4506, ptr noundef @.str.24)
  %4508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  %4510 = call ptr @s2n_strerror_debug(i32 noundef %4509, ptr noundef @.str.24)
  %4511 = call ptr @__errno_location() #12
  %4512 = load i32, ptr %4511, align 4, !tbaa !5
  %4513 = call ptr @strerror(i32 noundef %4512) #11
  %4514 = call ptr @__errno_location() #12
  %4515 = load i32, ptr %4514, align 4, !tbaa !5
  %4516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4503, ptr noundef @.str.25, i32 noundef %4504, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 256, ptr noundef %4507, ptr noundef %4510, ptr noundef %4513, i32 noundef %4515) #11
  br label %4517

4517:                                             ; preds = %4500, %4483
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4518

4518:                                             ; preds = %4517
  br label %4519

4519:                                             ; preds = %4518
  call void @exit(i32 noundef 1) #13
  unreachable

4520:                                             ; No predecessors!
  br label %4521

4521:                                             ; preds = %4520
  br label %4522

4522:                                             ; preds = %4521, %4463
  br label %4523

4523:                                             ; preds = %4522
  br label %4524

4524:                                             ; preds = %4523
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #11
  store i8 0, ptr %99, align 1, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  store i64 10, ptr %100, align 8, !tbaa !48
  br label %4525

4525:                                             ; preds = %4524
  %4526 = load i32, ptr @test_count, align 4, !tbaa !5
  %4527 = add nsw i32 %4526, 1
  store i32 %4527, ptr @test_count, align 4, !tbaa !5
  %4528 = call i32 @s2n_stuffer_write_uint8(ptr noundef %96, i8 noundef zeroext 7)
  %4529 = icmp eq i32 %4528, -1
  br i1 %4529, label %4530, label %4583

4530:                                             ; preds = %4525
  br label %4531

4531:                                             ; preds = %4530
  br label %4532

4532:                                             ; preds = %4531
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %4533 = call ptr @__errno_location() #12
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  store i32 %4534, ptr %101, align 4, !tbaa !5
  %4535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4536 = call i32 @s2n_print_stacktrace(ptr noundef %4535)
  %4537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4538 = trunc i8 %4537 to i1
  br i1 %4538, label %4539, label %4561

4539:                                             ; preds = %4532
  %4540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4541 = call i32 @fileno(ptr noundef %4540) #11
  %4542 = call i32 @isatty(i32 noundef %4541) #11
  %4543 = icmp ne i32 %4542, 0
  br i1 %4543, label %4544, label %4561

4544:                                             ; preds = %4539
  %4545 = load i32, ptr %101, align 4, !tbaa !5
  %4546 = call ptr @__errno_location() #12
  store i32 %4545, ptr %4546, align 4, !tbaa !5
  %4547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4548 = load i32, ptr @test_count, align 4, !tbaa !5
  %4549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4550 = load i32, ptr %4549, align 4, !tbaa !5
  %4551 = call ptr @s2n_strerror(i32 noundef %4550, ptr noundef @.str.24)
  %4552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4553 = load i32, ptr %4552, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror_debug(i32 noundef %4553, ptr noundef @.str.24)
  %4555 = call ptr @__errno_location() #12
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @strerror(i32 noundef %4556) #11
  %4558 = call ptr @__errno_location() #12
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4547, ptr noundef @.str.22, i32 noundef %4548, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 262, ptr noundef %4551, ptr noundef %4554, ptr noundef %4557, i32 noundef %4559) #11
  br label %4578

4561:                                             ; preds = %4539, %4532
  %4562 = load i32, ptr %101, align 4, !tbaa !5
  %4563 = call ptr @__errno_location() #12
  store i32 %4562, ptr %4563, align 4, !tbaa !5
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4567 = load i32, ptr %4566, align 4, !tbaa !5
  %4568 = call ptr @s2n_strerror(i32 noundef %4567, ptr noundef @.str.24)
  %4569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4570 = load i32, ptr %4569, align 4, !tbaa !5
  %4571 = call ptr @s2n_strerror_debug(i32 noundef %4570, ptr noundef @.str.24)
  %4572 = call ptr @__errno_location() #12
  %4573 = load i32, ptr %4572, align 4, !tbaa !5
  %4574 = call ptr @strerror(i32 noundef %4573) #11
  %4575 = call ptr @__errno_location() #12
  %4576 = load i32, ptr %4575, align 4, !tbaa !5
  %4577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4564, ptr noundef @.str.25, i32 noundef %4565, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 262, ptr noundef %4568, ptr noundef %4571, ptr noundef %4574, i32 noundef %4576) #11
  br label %4578

4578:                                             ; preds = %4561, %4544
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4579

4579:                                             ; preds = %4578
  br label %4580

4580:                                             ; preds = %4579
  call void @exit(i32 noundef 1) #13
  unreachable

4581:                                             ; No predecessors!
  br label %4582

4582:                                             ; preds = %4581
  br label %4583

4583:                                             ; preds = %4582, %4525
  br label %4584

4584:                                             ; preds = %4583
  br label %4585

4585:                                             ; preds = %4584
  br label %4586

4586:                                             ; preds = %4585
  %4587 = load i32, ptr @test_count, align 4, !tbaa !5
  %4588 = add nsw i32 %4587, 1
  store i32 %4588, ptr @test_count, align 4, !tbaa !5
  %4589 = call i32 @s2n_stuffer_write_uint24(ptr noundef %96, i32 noundef 10)
  %4590 = icmp eq i32 %4589, -1
  br i1 %4590, label %4591, label %4644

4591:                                             ; preds = %4586
  br label %4592

4592:                                             ; preds = %4591
  br label %4593

4593:                                             ; preds = %4592
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %4594 = call ptr @__errno_location() #12
  %4595 = load i32, ptr %4594, align 4, !tbaa !5
  store i32 %4595, ptr %102, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @s2n_print_stacktrace(ptr noundef %4596)
  %4598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4599 = trunc i8 %4598 to i1
  br i1 %4599, label %4600, label %4622

4600:                                             ; preds = %4593
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = call i32 @fileno(ptr noundef %4601) #11
  %4603 = call i32 @isatty(i32 noundef %4602) #11
  %4604 = icmp ne i32 %4603, 0
  br i1 %4604, label %4605, label %4622

4605:                                             ; preds = %4600
  %4606 = load i32, ptr %102, align 4, !tbaa !5
  %4607 = call ptr @__errno_location() #12
  store i32 %4606, ptr %4607, align 4, !tbaa !5
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4611 = load i32, ptr %4610, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror(i32 noundef %4611, ptr noundef @.str.24)
  %4613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = call ptr @s2n_strerror_debug(i32 noundef %4614, ptr noundef @.str.24)
  %4616 = call ptr @__errno_location() #12
  %4617 = load i32, ptr %4616, align 4, !tbaa !5
  %4618 = call ptr @strerror(i32 noundef %4617) #11
  %4619 = call ptr @__errno_location() #12
  %4620 = load i32, ptr %4619, align 4, !tbaa !5
  %4621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4608, ptr noundef @.str.22, i32 noundef %4609, ptr noundef @.str.63, ptr noundef @.str.21, i32 noundef 263, ptr noundef %4612, ptr noundef %4615, ptr noundef %4618, i32 noundef %4620) #11
  br label %4639

4622:                                             ; preds = %4600, %4593
  %4623 = load i32, ptr %102, align 4, !tbaa !5
  %4624 = call ptr @__errno_location() #12
  store i32 %4623, ptr %4624, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = load i32, ptr @test_count, align 4, !tbaa !5
  %4627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror(i32 noundef %4628, ptr noundef @.str.24)
  %4630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call ptr @s2n_strerror_debug(i32 noundef %4631, ptr noundef @.str.24)
  %4633 = call ptr @__errno_location() #12
  %4634 = load i32, ptr %4633, align 4, !tbaa !5
  %4635 = call ptr @strerror(i32 noundef %4634) #11
  %4636 = call ptr @__errno_location() #12
  %4637 = load i32, ptr %4636, align 4, !tbaa !5
  %4638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4625, ptr noundef @.str.25, i32 noundef %4626, ptr noundef @.str.63, ptr noundef @.str.21, i32 noundef 263, ptr noundef %4629, ptr noundef %4632, ptr noundef %4635, i32 noundef %4637) #11
  br label %4639

4639:                                             ; preds = %4622, %4605
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640
  call void @exit(i32 noundef 1) #13
  unreachable

4642:                                             ; No predecessors!
  br label %4643

4643:                                             ; preds = %4642
  br label %4644

4644:                                             ; preds = %4643, %4586
  br label %4645

4645:                                             ; preds = %4644
  br label %4646

4646:                                             ; preds = %4645
  br label %4647

4647:                                             ; preds = %4646
  %4648 = load i32, ptr @test_count, align 4, !tbaa !5
  %4649 = add nsw i32 %4648, 1
  store i32 %4649, ptr @test_count, align 4, !tbaa !5
  %4650 = call i32 @s2n_stuffer_skip_write(ptr noundef %96, i32 noundef 10)
  %4651 = icmp eq i32 %4650, -1
  br i1 %4651, label %4652, label %4705

4652:                                             ; preds = %4647
  br label %4653

4653:                                             ; preds = %4652
  br label %4654

4654:                                             ; preds = %4653
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4655 = call ptr @__errno_location() #12
  %4656 = load i32, ptr %4655, align 4, !tbaa !5
  store i32 %4656, ptr %103, align 4, !tbaa !5
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @s2n_print_stacktrace(ptr noundef %4657)
  %4659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4660 = trunc i8 %4659 to i1
  br i1 %4660, label %4661, label %4683

4661:                                             ; preds = %4654
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = call i32 @fileno(ptr noundef %4662) #11
  %4664 = call i32 @isatty(i32 noundef %4663) #11
  %4665 = icmp ne i32 %4664, 0
  br i1 %4665, label %4666, label %4683

4666:                                             ; preds = %4661
  %4667 = load i32, ptr %103, align 4, !tbaa !5
  %4668 = call ptr @__errno_location() #12
  store i32 %4667, ptr %4668, align 4, !tbaa !5
  %4669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4670 = load i32, ptr @test_count, align 4, !tbaa !5
  %4671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4672 = load i32, ptr %4671, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror(i32 noundef %4672, ptr noundef @.str.24)
  %4674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4675 = load i32, ptr %4674, align 4, !tbaa !5
  %4676 = call ptr @s2n_strerror_debug(i32 noundef %4675, ptr noundef @.str.24)
  %4677 = call ptr @__errno_location() #12
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = call ptr @strerror(i32 noundef %4678) #11
  %4680 = call ptr @__errno_location() #12
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4669, ptr noundef @.str.22, i32 noundef %4670, ptr noundef @.str.64, ptr noundef @.str.21, i32 noundef 264, ptr noundef %4673, ptr noundef %4676, ptr noundef %4679, i32 noundef %4681) #11
  br label %4700

4683:                                             ; preds = %4661, %4654
  %4684 = load i32, ptr %103, align 4, !tbaa !5
  %4685 = call ptr @__errno_location() #12
  store i32 %4684, ptr %4685, align 4, !tbaa !5
  %4686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call ptr @s2n_strerror(i32 noundef %4689, ptr noundef @.str.24)
  %4691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror_debug(i32 noundef %4692, ptr noundef @.str.24)
  %4694 = call ptr @__errno_location() #12
  %4695 = load i32, ptr %4694, align 4, !tbaa !5
  %4696 = call ptr @strerror(i32 noundef %4695) #11
  %4697 = call ptr @__errno_location() #12
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4686, ptr noundef @.str.25, i32 noundef %4687, ptr noundef @.str.64, ptr noundef @.str.21, i32 noundef 264, ptr noundef %4690, ptr noundef %4693, ptr noundef %4696, i32 noundef %4698) #11
  br label %4700

4700:                                             ; preds = %4683, %4666
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %4701

4701:                                             ; preds = %4700
  br label %4702

4702:                                             ; preds = %4701
  call void @exit(i32 noundef 1) #13
  unreachable

4703:                                             ; No predecessors!
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704, %4647
  br label %4706

4706:                                             ; preds = %4705
  br label %4707

4707:                                             ; preds = %4706
  br label %4708

4708:                                             ; preds = %4707
  %4709 = load i32, ptr @test_count, align 4, !tbaa !5
  %4710 = add nsw i32 %4709, 1
  store i32 %4710, ptr @test_count, align 4, !tbaa !5
  %4711 = load ptr, ptr %94, align 8, !tbaa !9
  %4712 = call i32 @s2n_quic_read_handshake_message(ptr noundef %4711, ptr noundef %99)
  %4713 = getelementptr inbounds %struct.s2n_result, ptr %104, i32 0, i32 0
  store i32 %4712, ptr %4713, align 4
  %4714 = getelementptr inbounds %struct.s2n_result, ptr %104, i32 0, i32 0
  %4715 = load i32, ptr %4714, align 4
  %4716 = call zeroext i1 @s2n_result_is_ok(i32 %4715)
  br i1 %4716, label %4770, label %4717

4717:                                             ; preds = %4708
  br label %4718

4718:                                             ; preds = %4717
  br label %4719

4719:                                             ; preds = %4718
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %4720 = call ptr @__errno_location() #12
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  store i32 %4721, ptr %105, align 4, !tbaa !5
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4723 = call i32 @s2n_print_stacktrace(ptr noundef %4722)
  %4724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4725 = trunc i8 %4724 to i1
  br i1 %4725, label %4726, label %4748

4726:                                             ; preds = %4719
  %4727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4728 = call i32 @fileno(ptr noundef %4727) #11
  %4729 = call i32 @isatty(i32 noundef %4728) #11
  %4730 = icmp ne i32 %4729, 0
  br i1 %4730, label %4731, label %4748

4731:                                             ; preds = %4726
  %4732 = load i32, ptr %105, align 4, !tbaa !5
  %4733 = call ptr @__errno_location() #12
  store i32 %4732, ptr %4733, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  %4738 = call ptr @s2n_strerror(i32 noundef %4737, ptr noundef @.str.24)
  %4739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  %4741 = call ptr @s2n_strerror_debug(i32 noundef %4740, ptr noundef @.str.24)
  %4742 = call ptr @__errno_location() #12
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call ptr @strerror(i32 noundef %4743) #11
  %4745 = call ptr @__errno_location() #12
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4734, ptr noundef @.str.22, i32 noundef %4735, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 265, ptr noundef %4738, ptr noundef %4741, ptr noundef %4744, i32 noundef %4746) #11
  br label %4765

4748:                                             ; preds = %4726, %4719
  %4749 = load i32, ptr %105, align 4, !tbaa !5
  %4750 = call ptr @__errno_location() #12
  store i32 %4749, ptr %4750, align 4, !tbaa !5
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror(i32 noundef %4754, ptr noundef @.str.24)
  %4756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror_debug(i32 noundef %4757, ptr noundef @.str.24)
  %4759 = call ptr @__errno_location() #12
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call ptr @strerror(i32 noundef %4760) #11
  %4762 = call ptr @__errno_location() #12
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4751, ptr noundef @.str.25, i32 noundef %4752, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 265, ptr noundef %4755, ptr noundef %4758, ptr noundef %4761, i32 noundef %4763) #11
  br label %4765

4765:                                             ; preds = %4748, %4731
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766
  call void @exit(i32 noundef 1) #13
  unreachable

4768:                                             ; No predecessors!
  br label %4769

4769:                                             ; preds = %4768
  br label %4770

4770:                                             ; preds = %4769, %4708
  br label %4771

4771:                                             ; preds = %4770
  br label %4772

4772:                                             ; preds = %4771
  br label %4773

4773:                                             ; preds = %4772
  %4774 = load i32, ptr @test_count, align 4, !tbaa !5
  %4775 = add nsw i32 %4774, 1
  store i32 %4775, ptr @test_count, align 4, !tbaa !5
  %4776 = load ptr, ptr %94, align 8, !tbaa !9
  %4777 = getelementptr inbounds %struct.s2n_connection, ptr %4776, i32 0, i32 40
  %4778 = getelementptr inbounds %struct.s2n_stuffer, ptr %4777, i32 0, i32 2
  %4779 = load i32, ptr %4778, align 4, !tbaa !46
  %4780 = load ptr, ptr %94, align 8, !tbaa !9
  %4781 = getelementptr inbounds %struct.s2n_connection, ptr %4780, i32 0, i32 40
  %4782 = getelementptr inbounds %struct.s2n_stuffer, ptr %4781, i32 0, i32 1
  %4783 = load i32, ptr %4782, align 8, !tbaa !47
  %4784 = sub i32 %4779, %4783
  %4785 = zext i32 %4784 to i64
  %4786 = icmp eq i64 %4785, 10
  br i1 %4786, label %4840, label %4787

4787:                                             ; preds = %4773
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %4790 = call ptr @__errno_location() #12
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  store i32 %4791, ptr %106, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792)
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc i8 %4794 to i1
  br i1 %4795, label %4796, label %4818

4796:                                             ; preds = %4789
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #11
  %4799 = call i32 @isatty(i32 noundef %4798) #11
  %4800 = icmp ne i32 %4799, 0
  br i1 %4800, label %4801, label %4818

4801:                                             ; preds = %4796
  %4802 = load i32, ptr %106, align 4, !tbaa !5
  %4803 = call ptr @__errno_location() #12
  store i32 %4802, ptr %4803, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror(i32 noundef %4807, ptr noundef @.str.24)
  %4809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror_debug(i32 noundef %4810, ptr noundef @.str.24)
  %4812 = call ptr @__errno_location() #12
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @strerror(i32 noundef %4813) #11
  %4815 = call ptr @__errno_location() #12
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4804, ptr noundef @.str.22, i32 noundef %4805, ptr noundef @.str.65, ptr noundef @.str.21, i32 noundef 266, ptr noundef %4808, ptr noundef %4811, ptr noundef %4814, i32 noundef %4816) #11
  br label %4835

4818:                                             ; preds = %4796, %4789
  %4819 = load i32, ptr %106, align 4, !tbaa !5
  %4820 = call ptr @__errno_location() #12
  store i32 %4819, ptr %4820, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call ptr @s2n_strerror(i32 noundef %4824, ptr noundef @.str.24)
  %4826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror_debug(i32 noundef %4827, ptr noundef @.str.24)
  %4829 = call ptr @__errno_location() #12
  %4830 = load i32, ptr %4829, align 4, !tbaa !5
  %4831 = call ptr @strerror(i32 noundef %4830) #11
  %4832 = call ptr @__errno_location() #12
  %4833 = load i32, ptr %4832, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef @.str.25, i32 noundef %4822, ptr noundef @.str.65, ptr noundef @.str.21, i32 noundef 266, ptr noundef %4825, ptr noundef %4828, ptr noundef %4831, i32 noundef %4833) #11
  br label %4835

4835:                                             ; preds = %4818, %4801
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

4837:                                             ; preds = %4836
  call void @exit(i32 noundef 1) #13
  unreachable

4838:                                             ; No predecessors!
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839, %4773
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  br label %4843

4843:                                             ; preds = %4842
  %4844 = load i32, ptr @test_count, align 4, !tbaa !5
  %4845 = add nsw i32 %4844, 1
  store i32 %4845, ptr @test_count, align 4, !tbaa !5
  %4846 = load ptr, ptr %94, align 8, !tbaa !9
  %4847 = getelementptr inbounds %struct.s2n_connection, ptr %4846, i32 0, i32 52
  %4848 = getelementptr inbounds %struct.s2n_handshake, ptr %4847, i32 0, i32 0
  %4849 = call i32 @s2n_stuffer_wipe(ptr noundef %4848)
  %4850 = icmp eq i32 %4849, -1
  br i1 %4850, label %4851, label %4904

4851:                                             ; preds = %4843
  br label %4852

4852:                                             ; preds = %4851
  br label %4853

4853:                                             ; preds = %4852
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %4854 = call ptr @__errno_location() #12
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  store i32 %4855, ptr %107, align 4, !tbaa !5
  %4856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4857 = call i32 @s2n_print_stacktrace(ptr noundef %4856)
  %4858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4859 = trunc i8 %4858 to i1
  br i1 %4859, label %4860, label %4882

4860:                                             ; preds = %4853
  %4861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4862 = call i32 @fileno(ptr noundef %4861) #11
  %4863 = call i32 @isatty(i32 noundef %4862) #11
  %4864 = icmp ne i32 %4863, 0
  br i1 %4864, label %4865, label %4882

4865:                                             ; preds = %4860
  %4866 = load i32, ptr %107, align 4, !tbaa !5
  %4867 = call ptr @__errno_location() #12
  store i32 %4866, ptr %4867, align 4, !tbaa !5
  %4868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  %4872 = call ptr @s2n_strerror(i32 noundef %4871, ptr noundef @.str.24)
  %4873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  %4875 = call ptr @s2n_strerror_debug(i32 noundef %4874, ptr noundef @.str.24)
  %4876 = call ptr @__errno_location() #12
  %4877 = load i32, ptr %4876, align 4, !tbaa !5
  %4878 = call ptr @strerror(i32 noundef %4877) #11
  %4879 = call ptr @__errno_location() #12
  %4880 = load i32, ptr %4879, align 4, !tbaa !5
  %4881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4868, ptr noundef @.str.22, i32 noundef %4869, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 268, ptr noundef %4872, ptr noundef %4875, ptr noundef %4878, i32 noundef %4880) #11
  br label %4899

4882:                                             ; preds = %4860, %4853
  %4883 = load i32, ptr %107, align 4, !tbaa !5
  %4884 = call ptr @__errno_location() #12
  store i32 %4883, ptr %4884, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4888 = load i32, ptr %4887, align 4, !tbaa !5
  %4889 = call ptr @s2n_strerror(i32 noundef %4888, ptr noundef @.str.24)
  %4890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4891 = load i32, ptr %4890, align 4, !tbaa !5
  %4892 = call ptr @s2n_strerror_debug(i32 noundef %4891, ptr noundef @.str.24)
  %4893 = call ptr @__errno_location() #12
  %4894 = load i32, ptr %4893, align 4, !tbaa !5
  %4895 = call ptr @strerror(i32 noundef %4894) #11
  %4896 = call ptr @__errno_location() #12
  %4897 = load i32, ptr %4896, align 4, !tbaa !5
  %4898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4885, ptr noundef @.str.25, i32 noundef %4886, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 268, ptr noundef %4889, ptr noundef %4892, ptr noundef %4895, i32 noundef %4897) #11
  br label %4899

4899:                                             ; preds = %4882, %4865
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %4900

4900:                                             ; preds = %4899
  br label %4901

4901:                                             ; preds = %4900
  call void @exit(i32 noundef 1) #13
  unreachable

4902:                                             ; No predecessors!
  br label %4903

4903:                                             ; preds = %4902
  br label %4904

4904:                                             ; preds = %4903, %4843
  br label %4905

4905:                                             ; preds = %4904
  br label %4906

4906:                                             ; preds = %4905
  br label %4907

4907:                                             ; preds = %4906
  %4908 = load i32, ptr @test_count, align 4, !tbaa !5
  %4909 = add nsw i32 %4908, 1
  store i32 %4909, ptr @test_count, align 4, !tbaa !5
  %4910 = load ptr, ptr %94, align 8, !tbaa !9
  %4911 = call i32 @s2n_record_wipe(ptr noundef %4910)
  %4912 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  store i32 %4911, ptr %4912, align 4
  %4913 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  %4914 = load i32, ptr %4913, align 4
  %4915 = call zeroext i1 @s2n_result_is_ok(i32 %4914)
  br i1 %4915, label %4969, label %4916

4916:                                             ; preds = %4907
  br label %4917

4917:                                             ; preds = %4916
  br label %4918

4918:                                             ; preds = %4917
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %4919 = call ptr @__errno_location() #12
  %4920 = load i32, ptr %4919, align 4, !tbaa !5
  store i32 %4920, ptr %109, align 4, !tbaa !5
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4922 = call i32 @s2n_print_stacktrace(ptr noundef %4921)
  %4923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4924 = trunc i8 %4923 to i1
  br i1 %4924, label %4925, label %4947

4925:                                             ; preds = %4918
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4927 = call i32 @fileno(ptr noundef %4926) #11
  %4928 = call i32 @isatty(i32 noundef %4927) #11
  %4929 = icmp ne i32 %4928, 0
  br i1 %4929, label %4930, label %4947

4930:                                             ; preds = %4925
  %4931 = load i32, ptr %109, align 4, !tbaa !5
  %4932 = call ptr @__errno_location() #12
  store i32 %4931, ptr %4932, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = load i32, ptr @test_count, align 4, !tbaa !5
  %4935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4936 = load i32, ptr %4935, align 4, !tbaa !5
  %4937 = call ptr @s2n_strerror(i32 noundef %4936, ptr noundef @.str.24)
  %4938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4939 = load i32, ptr %4938, align 4, !tbaa !5
  %4940 = call ptr @s2n_strerror_debug(i32 noundef %4939, ptr noundef @.str.24)
  %4941 = call ptr @__errno_location() #12
  %4942 = load i32, ptr %4941, align 4, !tbaa !5
  %4943 = call ptr @strerror(i32 noundef %4942) #11
  %4944 = call ptr @__errno_location() #12
  %4945 = load i32, ptr %4944, align 4, !tbaa !5
  %4946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4933, ptr noundef @.str.22, i32 noundef %4934, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 269, ptr noundef %4937, ptr noundef %4940, ptr noundef %4943, i32 noundef %4945) #11
  br label %4964

4947:                                             ; preds = %4925, %4918
  %4948 = load i32, ptr %109, align 4, !tbaa !5
  %4949 = call ptr @__errno_location() #12
  store i32 %4948, ptr %4949, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = load i32, ptr @test_count, align 4, !tbaa !5
  %4952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4953 = load i32, ptr %4952, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror(i32 noundef %4953, ptr noundef @.str.24)
  %4955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror_debug(i32 noundef %4956, ptr noundef @.str.24)
  %4958 = call ptr @__errno_location() #12
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call ptr @strerror(i32 noundef %4959) #11
  %4961 = call ptr @__errno_location() #12
  %4962 = load i32, ptr %4961, align 4, !tbaa !5
  %4963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4950, ptr noundef @.str.25, i32 noundef %4951, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 269, ptr noundef %4954, ptr noundef %4957, ptr noundef %4960, i32 noundef %4962) #11
  br label %4964

4964:                                             ; preds = %4947, %4930
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965
  call void @exit(i32 noundef 1) #13
  unreachable

4967:                                             ; No predecessors!
  br label %4968

4968:                                             ; preds = %4967
  br label %4969

4969:                                             ; preds = %4968, %4907
  br label %4970

4970:                                             ; preds = %4969
  br label %4971

4971:                                             ; preds = %4970
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #11
  %4972 = load ptr, ptr %94, align 8, !tbaa !9
  %4973 = getelementptr inbounds %struct.s2n_connection, ptr %4972, i32 0, i32 39
  %4974 = getelementptr inbounds %struct.s2n_stuffer, ptr %4973, i32 0, i32 0
  %4975 = getelementptr inbounds %struct.s2n_blob, ptr %4974, i32 0, i32 1
  %4976 = load i32, ptr %4975, align 8, !tbaa !49
  %4977 = load ptr, ptr %94, align 8, !tbaa !9
  %4978 = getelementptr inbounds %struct.s2n_connection, ptr %4977, i32 0, i32 39
  %4979 = getelementptr inbounds %struct.s2n_stuffer, ptr %4978, i32 0, i32 2
  %4980 = load i32, ptr %4979, align 4, !tbaa !50
  %4981 = sub i32 %4976, %4980
  %4982 = zext i32 %4981 to i64
  store i64 %4982, ptr %110, align 8, !tbaa !48
  br label %4983

4983:                                             ; preds = %4971
  %4984 = load i32, ptr @test_count, align 4, !tbaa !5
  %4985 = add nsw i32 %4984, 1
  store i32 %4985, ptr @test_count, align 4, !tbaa !5
  %4986 = load i64, ptr %110, align 8, !tbaa !48
  %4987 = icmp ugt i64 %4986, 10
  br i1 %4987, label %5041, label %4988

4988:                                             ; preds = %4983
  br label %4989

4989:                                             ; preds = %4988
  br label %4990

4990:                                             ; preds = %4989
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  %4991 = call ptr @__errno_location() #12
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  store i32 %4992, ptr %111, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = call i32 @s2n_print_stacktrace(ptr noundef %4993)
  %4995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4996 = trunc i8 %4995 to i1
  br i1 %4996, label %4997, label %5019

4997:                                             ; preds = %4990
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = call i32 @fileno(ptr noundef %4998) #11
  %5000 = call i32 @isatty(i32 noundef %4999) #11
  %5001 = icmp ne i32 %5000, 0
  br i1 %5001, label %5002, label %5019

5002:                                             ; preds = %4997
  %5003 = load i32, ptr %111, align 4, !tbaa !5
  %5004 = call ptr @__errno_location() #12
  store i32 %5003, ptr %5004, align 4, !tbaa !5
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = load i32, ptr @test_count, align 4, !tbaa !5
  %5007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5008 = load i32, ptr %5007, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror(i32 noundef %5008, ptr noundef @.str.24)
  %5010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5011 = load i32, ptr %5010, align 4, !tbaa !5
  %5012 = call ptr @s2n_strerror_debug(i32 noundef %5011, ptr noundef @.str.24)
  %5013 = call ptr @__errno_location() #12
  %5014 = load i32, ptr %5013, align 4, !tbaa !5
  %5015 = call ptr @strerror(i32 noundef %5014) #11
  %5016 = call ptr @__errno_location() #12
  %5017 = load i32, ptr %5016, align 4, !tbaa !5
  %5018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5005, ptr noundef @.str.22, i32 noundef %5006, ptr noundef @.str.68, ptr noundef @.str.21, i32 noundef 271, ptr noundef %5009, ptr noundef %5012, ptr noundef %5015, i32 noundef %5017) #11
  br label %5036

5019:                                             ; preds = %4997, %4990
  %5020 = load i32, ptr %111, align 4, !tbaa !5
  %5021 = call ptr @__errno_location() #12
  store i32 %5020, ptr %5021, align 4, !tbaa !5
  %5022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5023 = load i32, ptr @test_count, align 4, !tbaa !5
  %5024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5025 = load i32, ptr %5024, align 4, !tbaa !5
  %5026 = call ptr @s2n_strerror(i32 noundef %5025, ptr noundef @.str.24)
  %5027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror_debug(i32 noundef %5028, ptr noundef @.str.24)
  %5030 = call ptr @__errno_location() #12
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  %5032 = call ptr @strerror(i32 noundef %5031) #11
  %5033 = call ptr @__errno_location() #12
  %5034 = load i32, ptr %5033, align 4, !tbaa !5
  %5035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5022, ptr noundef @.str.25, i32 noundef %5023, ptr noundef @.str.68, ptr noundef @.str.21, i32 noundef 271, ptr noundef %5026, ptr noundef %5029, ptr noundef %5032, i32 noundef %5034) #11
  br label %5036

5036:                                             ; preds = %5019, %5002
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5037

5037:                                             ; preds = %5036
  br label %5038

5038:                                             ; preds = %5037
  call void @exit(i32 noundef 1) #13
  unreachable

5039:                                             ; No predecessors!
  br label %5040

5040:                                             ; preds = %5039
  br label %5041

5041:                                             ; preds = %5040, %4983
  br label %5042

5042:                                             ; preds = %5041
  br label %5043

5043:                                             ; preds = %5042
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #11
  %5044 = load i64, ptr %110, align 8, !tbaa !48
  %5045 = add i64 %5044, 10
  store i64 %5045, ptr %112, align 8, !tbaa !48
  br label %5046

5046:                                             ; preds = %5043
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = add nsw i32 %5047, 1
  store i32 %5048, ptr @test_count, align 4, !tbaa !5
  %5049 = call i32 @s2n_stuffer_write_uint8(ptr noundef %96, i8 noundef zeroext 7)
  %5050 = icmp eq i32 %5049, -1
  br i1 %5050, label %5051, label %5104

5051:                                             ; preds = %5046
  br label %5052

5052:                                             ; preds = %5051
  br label %5053

5053:                                             ; preds = %5052
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5054 = call ptr @__errno_location() #12
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  store i32 %5055, ptr %113, align 4, !tbaa !5
  %5056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5057 = call i32 @s2n_print_stacktrace(ptr noundef %5056)
  %5058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5059 = trunc i8 %5058 to i1
  br i1 %5059, label %5060, label %5082

5060:                                             ; preds = %5053
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = call i32 @fileno(ptr noundef %5061) #11
  %5063 = call i32 @isatty(i32 noundef %5062) #11
  %5064 = icmp ne i32 %5063, 0
  br i1 %5064, label %5065, label %5082

5065:                                             ; preds = %5060
  %5066 = load i32, ptr %113, align 4, !tbaa !5
  %5067 = call ptr @__errno_location() #12
  store i32 %5066, ptr %5067, align 4, !tbaa !5
  %5068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5069 = load i32, ptr @test_count, align 4, !tbaa !5
  %5070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5071 = load i32, ptr %5070, align 4, !tbaa !5
  %5072 = call ptr @s2n_strerror(i32 noundef %5071, ptr noundef @.str.24)
  %5073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5074 = load i32, ptr %5073, align 4, !tbaa !5
  %5075 = call ptr @s2n_strerror_debug(i32 noundef %5074, ptr noundef @.str.24)
  %5076 = call ptr @__errno_location() #12
  %5077 = load i32, ptr %5076, align 4, !tbaa !5
  %5078 = call ptr @strerror(i32 noundef %5077) #11
  %5079 = call ptr @__errno_location() #12
  %5080 = load i32, ptr %5079, align 4, !tbaa !5
  %5081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5068, ptr noundef @.str.22, i32 noundef %5069, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 275, ptr noundef %5072, ptr noundef %5075, ptr noundef %5078, i32 noundef %5080) #11
  br label %5099

5082:                                             ; preds = %5060, %5053
  %5083 = load i32, ptr %113, align 4, !tbaa !5
  %5084 = call ptr @__errno_location() #12
  store i32 %5083, ptr %5084, align 4, !tbaa !5
  %5085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5086 = load i32, ptr @test_count, align 4, !tbaa !5
  %5087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5088 = load i32, ptr %5087, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror(i32 noundef %5088, ptr noundef @.str.24)
  %5090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5091 = load i32, ptr %5090, align 4, !tbaa !5
  %5092 = call ptr @s2n_strerror_debug(i32 noundef %5091, ptr noundef @.str.24)
  %5093 = call ptr @__errno_location() #12
  %5094 = load i32, ptr %5093, align 4, !tbaa !5
  %5095 = call ptr @strerror(i32 noundef %5094) #11
  %5096 = call ptr @__errno_location() #12
  %5097 = load i32, ptr %5096, align 4, !tbaa !5
  %5098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5085, ptr noundef @.str.25, i32 noundef %5086, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 275, ptr noundef %5089, ptr noundef %5092, ptr noundef %5095, i32 noundef %5097) #11
  br label %5099

5099:                                             ; preds = %5082, %5065
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5100

5100:                                             ; preds = %5099
  br label %5101

5101:                                             ; preds = %5100
  call void @exit(i32 noundef 1) #13
  unreachable

5102:                                             ; No predecessors!
  br label %5103

5103:                                             ; preds = %5102
  br label %5104

5104:                                             ; preds = %5103, %5046
  br label %5105

5105:                                             ; preds = %5104
  br label %5106

5106:                                             ; preds = %5105
  br label %5107

5107:                                             ; preds = %5106
  %5108 = load i32, ptr @test_count, align 4, !tbaa !5
  %5109 = add nsw i32 %5108, 1
  store i32 %5109, ptr @test_count, align 4, !tbaa !5
  %5110 = load i64, ptr %112, align 8, !tbaa !48
  %5111 = trunc i64 %5110 to i32
  %5112 = call i32 @s2n_stuffer_write_uint24(ptr noundef %96, i32 noundef %5111)
  %5113 = icmp eq i32 %5112, -1
  br i1 %5113, label %5114, label %5167

5114:                                             ; preds = %5107
  br label %5115

5115:                                             ; preds = %5114
  br label %5116

5116:                                             ; preds = %5115
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5117 = call ptr @__errno_location() #12
  %5118 = load i32, ptr %5117, align 4, !tbaa !5
  store i32 %5118, ptr %114, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = call i32 @s2n_print_stacktrace(ptr noundef %5119)
  %5121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5122 = trunc i8 %5121 to i1
  br i1 %5122, label %5123, label %5145

5123:                                             ; preds = %5116
  %5124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5125 = call i32 @fileno(ptr noundef %5124) #11
  %5126 = call i32 @isatty(i32 noundef %5125) #11
  %5127 = icmp ne i32 %5126, 0
  br i1 %5127, label %5128, label %5145

5128:                                             ; preds = %5123
  %5129 = load i32, ptr %114, align 4, !tbaa !5
  %5130 = call ptr @__errno_location() #12
  store i32 %5129, ptr %5130, align 4, !tbaa !5
  %5131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5132 = load i32, ptr @test_count, align 4, !tbaa !5
  %5133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @s2n_strerror(i32 noundef %5134, ptr noundef @.str.24)
  %5136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call ptr @s2n_strerror_debug(i32 noundef %5137, ptr noundef @.str.24)
  %5139 = call ptr @__errno_location() #12
  %5140 = load i32, ptr %5139, align 4, !tbaa !5
  %5141 = call ptr @strerror(i32 noundef %5140) #11
  %5142 = call ptr @__errno_location() #12
  %5143 = load i32, ptr %5142, align 4, !tbaa !5
  %5144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5131, ptr noundef @.str.22, i32 noundef %5132, ptr noundef @.str.69, ptr noundef @.str.21, i32 noundef 276, ptr noundef %5135, ptr noundef %5138, ptr noundef %5141, i32 noundef %5143) #11
  br label %5162

5145:                                             ; preds = %5123, %5116
  %5146 = load i32, ptr %114, align 4, !tbaa !5
  %5147 = call ptr @__errno_location() #12
  store i32 %5146, ptr %5147, align 4, !tbaa !5
  %5148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5149 = load i32, ptr @test_count, align 4, !tbaa !5
  %5150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5151 = load i32, ptr %5150, align 4, !tbaa !5
  %5152 = call ptr @s2n_strerror(i32 noundef %5151, ptr noundef @.str.24)
  %5153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5154 = load i32, ptr %5153, align 4, !tbaa !5
  %5155 = call ptr @s2n_strerror_debug(i32 noundef %5154, ptr noundef @.str.24)
  %5156 = call ptr @__errno_location() #12
  %5157 = load i32, ptr %5156, align 4, !tbaa !5
  %5158 = call ptr @strerror(i32 noundef %5157) #11
  %5159 = call ptr @__errno_location() #12
  %5160 = load i32, ptr %5159, align 4, !tbaa !5
  %5161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5148, ptr noundef @.str.25, i32 noundef %5149, ptr noundef @.str.69, ptr noundef @.str.21, i32 noundef 276, ptr noundef %5152, ptr noundef %5155, ptr noundef %5158, i32 noundef %5160) #11
  br label %5162

5162:                                             ; preds = %5145, %5128
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5163

5163:                                             ; preds = %5162
  br label %5164

5164:                                             ; preds = %5163
  call void @exit(i32 noundef 1) #13
  unreachable

5165:                                             ; No predecessors!
  br label %5166

5166:                                             ; preds = %5165
  br label %5167

5167:                                             ; preds = %5166, %5107
  br label %5168

5168:                                             ; preds = %5167
  br label %5169

5169:                                             ; preds = %5168
  br label %5170

5170:                                             ; preds = %5169
  %5171 = load i32, ptr @test_count, align 4, !tbaa !5
  %5172 = add nsw i32 %5171, 1
  store i32 %5172, ptr @test_count, align 4, !tbaa !5
  %5173 = load i64, ptr %112, align 8, !tbaa !48
  %5174 = trunc i64 %5173 to i32
  %5175 = call i32 @s2n_stuffer_skip_write(ptr noundef %96, i32 noundef %5174)
  %5176 = icmp eq i32 %5175, -1
  br i1 %5176, label %5177, label %5230

5177:                                             ; preds = %5170
  br label %5178

5178:                                             ; preds = %5177
  br label %5179

5179:                                             ; preds = %5178
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %5180 = call ptr @__errno_location() #12
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  store i32 %5181, ptr %115, align 4, !tbaa !5
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = call i32 @s2n_print_stacktrace(ptr noundef %5182)
  %5184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5185 = trunc i8 %5184 to i1
  br i1 %5185, label %5186, label %5208

5186:                                             ; preds = %5179
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @fileno(ptr noundef %5187) #11
  %5189 = call i32 @isatty(i32 noundef %5188) #11
  %5190 = icmp ne i32 %5189, 0
  br i1 %5190, label %5191, label %5208

5191:                                             ; preds = %5186
  %5192 = load i32, ptr %115, align 4, !tbaa !5
  %5193 = call ptr @__errno_location() #12
  store i32 %5192, ptr %5193, align 4, !tbaa !5
  %5194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5195 = load i32, ptr @test_count, align 4, !tbaa !5
  %5196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror(i32 noundef %5197, ptr noundef @.str.24)
  %5199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call ptr @s2n_strerror_debug(i32 noundef %5200, ptr noundef @.str.24)
  %5202 = call ptr @__errno_location() #12
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @strerror(i32 noundef %5203) #11
  %5205 = call ptr @__errno_location() #12
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5194, ptr noundef @.str.22, i32 noundef %5195, ptr noundef @.str.70, ptr noundef @.str.21, i32 noundef 277, ptr noundef %5198, ptr noundef %5201, ptr noundef %5204, i32 noundef %5206) #11
  br label %5225

5208:                                             ; preds = %5186, %5179
  %5209 = load i32, ptr %115, align 4, !tbaa !5
  %5210 = call ptr @__errno_location() #12
  store i32 %5209, ptr %5210, align 4, !tbaa !5
  %5211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5212 = load i32, ptr @test_count, align 4, !tbaa !5
  %5213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5214 = load i32, ptr %5213, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror(i32 noundef %5214, ptr noundef @.str.24)
  %5216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call ptr @s2n_strerror_debug(i32 noundef %5217, ptr noundef @.str.24)
  %5219 = call ptr @__errno_location() #12
  %5220 = load i32, ptr %5219, align 4, !tbaa !5
  %5221 = call ptr @strerror(i32 noundef %5220) #11
  %5222 = call ptr @__errno_location() #12
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5211, ptr noundef @.str.25, i32 noundef %5212, ptr noundef @.str.70, ptr noundef @.str.21, i32 noundef 277, ptr noundef %5215, ptr noundef %5218, ptr noundef %5221, i32 noundef %5223) #11
  br label %5225

5225:                                             ; preds = %5208, %5191
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %5226

5226:                                             ; preds = %5225
  br label %5227

5227:                                             ; preds = %5226
  call void @exit(i32 noundef 1) #13
  unreachable

5228:                                             ; No predecessors!
  br label %5229

5229:                                             ; preds = %5228
  br label %5230

5230:                                             ; preds = %5229, %5170
  br label %5231

5231:                                             ; preds = %5230
  br label %5232

5232:                                             ; preds = %5231
  br label %5233

5233:                                             ; preds = %5232
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = add nsw i32 %5234, 1
  store i32 %5235, ptr @test_count, align 4, !tbaa !5
  %5236 = load ptr, ptr %94, align 8, !tbaa !9
  %5237 = call i32 @s2n_quic_read_handshake_message(ptr noundef %5236, ptr noundef %99)
  %5238 = getelementptr inbounds %struct.s2n_result, ptr %116, i32 0, i32 0
  store i32 %5237, ptr %5238, align 4
  %5239 = getelementptr inbounds %struct.s2n_result, ptr %116, i32 0, i32 0
  %5240 = load i32, ptr %5239, align 4
  %5241 = call zeroext i1 @s2n_result_is_ok(i32 %5240)
  br i1 %5241, label %5295, label %5242

5242:                                             ; preds = %5233
  br label %5243

5243:                                             ; preds = %5242
  br label %5244

5244:                                             ; preds = %5243
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %5245 = call ptr @__errno_location() #12
  %5246 = load i32, ptr %5245, align 4, !tbaa !5
  store i32 %5246, ptr %117, align 4, !tbaa !5
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = call i32 @s2n_print_stacktrace(ptr noundef %5247)
  %5249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5250 = trunc i8 %5249 to i1
  br i1 %5250, label %5251, label %5273

5251:                                             ; preds = %5244
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = call i32 @fileno(ptr noundef %5252) #11
  %5254 = call i32 @isatty(i32 noundef %5253) #11
  %5255 = icmp ne i32 %5254, 0
  br i1 %5255, label %5256, label %5273

5256:                                             ; preds = %5251
  %5257 = load i32, ptr %117, align 4, !tbaa !5
  %5258 = call ptr @__errno_location() #12
  store i32 %5257, ptr %5258, align 4, !tbaa !5
  %5259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5260 = load i32, ptr @test_count, align 4, !tbaa !5
  %5261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5262 = load i32, ptr %5261, align 4, !tbaa !5
  %5263 = call ptr @s2n_strerror(i32 noundef %5262, ptr noundef @.str.24)
  %5264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call ptr @s2n_strerror_debug(i32 noundef %5265, ptr noundef @.str.24)
  %5267 = call ptr @__errno_location() #12
  %5268 = load i32, ptr %5267, align 4, !tbaa !5
  %5269 = call ptr @strerror(i32 noundef %5268) #11
  %5270 = call ptr @__errno_location() #12
  %5271 = load i32, ptr %5270, align 4, !tbaa !5
  %5272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5259, ptr noundef @.str.22, i32 noundef %5260, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 278, ptr noundef %5263, ptr noundef %5266, ptr noundef %5269, i32 noundef %5271) #11
  br label %5290

5273:                                             ; preds = %5251, %5244
  %5274 = load i32, ptr %117, align 4, !tbaa !5
  %5275 = call ptr @__errno_location() #12
  store i32 %5274, ptr %5275, align 4, !tbaa !5
  %5276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5277 = load i32, ptr @test_count, align 4, !tbaa !5
  %5278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5279 = load i32, ptr %5278, align 4, !tbaa !5
  %5280 = call ptr @s2n_strerror(i32 noundef %5279, ptr noundef @.str.24)
  %5281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5282 = load i32, ptr %5281, align 4, !tbaa !5
  %5283 = call ptr @s2n_strerror_debug(i32 noundef %5282, ptr noundef @.str.24)
  %5284 = call ptr @__errno_location() #12
  %5285 = load i32, ptr %5284, align 4, !tbaa !5
  %5286 = call ptr @strerror(i32 noundef %5285) #11
  %5287 = call ptr @__errno_location() #12
  %5288 = load i32, ptr %5287, align 4, !tbaa !5
  %5289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5276, ptr noundef @.str.25, i32 noundef %5277, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 278, ptr noundef %5280, ptr noundef %5283, ptr noundef %5286, i32 noundef %5288) #11
  br label %5290

5290:                                             ; preds = %5273, %5256
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5291

5291:                                             ; preds = %5290
  br label %5292

5292:                                             ; preds = %5291
  call void @exit(i32 noundef 1) #13
  unreachable

5293:                                             ; No predecessors!
  br label %5294

5294:                                             ; preds = %5293
  br label %5295

5295:                                             ; preds = %5294, %5233
  br label %5296

5296:                                             ; preds = %5295
  br label %5297

5297:                                             ; preds = %5296
  br label %5298

5298:                                             ; preds = %5297
  %5299 = load i32, ptr @test_count, align 4, !tbaa !5
  %5300 = add nsw i32 %5299, 1
  store i32 %5300, ptr @test_count, align 4, !tbaa !5
  %5301 = load ptr, ptr %94, align 8, !tbaa !9
  %5302 = getelementptr inbounds %struct.s2n_connection, ptr %5301, i32 0, i32 40
  %5303 = getelementptr inbounds %struct.s2n_stuffer, ptr %5302, i32 0, i32 2
  %5304 = load i32, ptr %5303, align 4, !tbaa !46
  %5305 = load ptr, ptr %94, align 8, !tbaa !9
  %5306 = getelementptr inbounds %struct.s2n_connection, ptr %5305, i32 0, i32 40
  %5307 = getelementptr inbounds %struct.s2n_stuffer, ptr %5306, i32 0, i32 1
  %5308 = load i32, ptr %5307, align 8, !tbaa !47
  %5309 = sub i32 %5304, %5308
  %5310 = zext i32 %5309 to i64
  %5311 = load i64, ptr %112, align 8, !tbaa !48
  %5312 = icmp eq i64 %5310, %5311
  br i1 %5312, label %5366, label %5313

5313:                                             ; preds = %5298
  br label %5314

5314:                                             ; preds = %5313
  br label %5315

5315:                                             ; preds = %5314
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %5316 = call ptr @__errno_location() #12
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  store i32 %5317, ptr %118, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @s2n_print_stacktrace(ptr noundef %5318)
  %5320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5321 = trunc i8 %5320 to i1
  br i1 %5321, label %5322, label %5344

5322:                                             ; preds = %5315
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = call i32 @fileno(ptr noundef %5323) #11
  %5325 = call i32 @isatty(i32 noundef %5324) #11
  %5326 = icmp ne i32 %5325, 0
  br i1 %5326, label %5327, label %5344

5327:                                             ; preds = %5322
  %5328 = load i32, ptr %118, align 4, !tbaa !5
  %5329 = call ptr @__errno_location() #12
  store i32 %5328, ptr %5329, align 4, !tbaa !5
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5333 = load i32, ptr %5332, align 4, !tbaa !5
  %5334 = call ptr @s2n_strerror(i32 noundef %5333, ptr noundef @.str.24)
  %5335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5336 = load i32, ptr %5335, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror_debug(i32 noundef %5336, ptr noundef @.str.24)
  %5338 = call ptr @__errno_location() #12
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  %5340 = call ptr @strerror(i32 noundef %5339) #11
  %5341 = call ptr @__errno_location() #12
  %5342 = load i32, ptr %5341, align 4, !tbaa !5
  %5343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5330, ptr noundef @.str.22, i32 noundef %5331, ptr noundef @.str.71, ptr noundef @.str.21, i32 noundef 279, ptr noundef %5334, ptr noundef %5337, ptr noundef %5340, i32 noundef %5342) #11
  br label %5361

5344:                                             ; preds = %5322, %5315
  %5345 = load i32, ptr %118, align 4, !tbaa !5
  %5346 = call ptr @__errno_location() #12
  store i32 %5345, ptr %5346, align 4, !tbaa !5
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = load i32, ptr @test_count, align 4, !tbaa !5
  %5349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5350 = load i32, ptr %5349, align 4, !tbaa !5
  %5351 = call ptr @s2n_strerror(i32 noundef %5350, ptr noundef @.str.24)
  %5352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5353 = load i32, ptr %5352, align 4, !tbaa !5
  %5354 = call ptr @s2n_strerror_debug(i32 noundef %5353, ptr noundef @.str.24)
  %5355 = call ptr @__errno_location() #12
  %5356 = load i32, ptr %5355, align 4, !tbaa !5
  %5357 = call ptr @strerror(i32 noundef %5356) #11
  %5358 = call ptr @__errno_location() #12
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5347, ptr noundef @.str.25, i32 noundef %5348, ptr noundef @.str.71, ptr noundef @.str.21, i32 noundef 279, ptr noundef %5351, ptr noundef %5354, ptr noundef %5357, i32 noundef %5359) #11
  br label %5361

5361:                                             ; preds = %5344, %5327
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5362

5362:                                             ; preds = %5361
  br label %5363

5363:                                             ; preds = %5362
  call void @exit(i32 noundef 1) #13
  unreachable

5364:                                             ; No predecessors!
  br label %5365

5365:                                             ; preds = %5364
  br label %5366

5366:                                             ; preds = %5365, %5298
  br label %5367

5367:                                             ; preds = %5366
  br label %5368

5368:                                             ; preds = %5367
  br label %5369

5369:                                             ; preds = %5368
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = add nsw i32 %5370, 1
  store i32 %5371, ptr @test_count, align 4, !tbaa !5
  %5372 = load ptr, ptr %94, align 8, !tbaa !9
  %5373 = getelementptr inbounds %struct.s2n_connection, ptr %5372, i32 0, i32 52
  %5374 = getelementptr inbounds %struct.s2n_handshake, ptr %5373, i32 0, i32 0
  %5375 = call i32 @s2n_stuffer_wipe(ptr noundef %5374)
  %5376 = icmp eq i32 %5375, -1
  br i1 %5376, label %5377, label %5430

5377:                                             ; preds = %5369
  br label %5378

5378:                                             ; preds = %5377
  br label %5379

5379:                                             ; preds = %5378
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %5380 = call ptr @__errno_location() #12
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  store i32 %5381, ptr %119, align 4, !tbaa !5
  %5382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5383 = call i32 @s2n_print_stacktrace(ptr noundef %5382)
  %5384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5385 = trunc i8 %5384 to i1
  br i1 %5385, label %5386, label %5408

5386:                                             ; preds = %5379
  %5387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5388 = call i32 @fileno(ptr noundef %5387) #11
  %5389 = call i32 @isatty(i32 noundef %5388) #11
  %5390 = icmp ne i32 %5389, 0
  br i1 %5390, label %5391, label %5408

5391:                                             ; preds = %5386
  %5392 = load i32, ptr %119, align 4, !tbaa !5
  %5393 = call ptr @__errno_location() #12
  store i32 %5392, ptr %5393, align 4, !tbaa !5
  %5394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5395 = load i32, ptr @test_count, align 4, !tbaa !5
  %5396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call ptr @s2n_strerror(i32 noundef %5397, ptr noundef @.str.24)
  %5399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5400 = load i32, ptr %5399, align 4, !tbaa !5
  %5401 = call ptr @s2n_strerror_debug(i32 noundef %5400, ptr noundef @.str.24)
  %5402 = call ptr @__errno_location() #12
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call ptr @strerror(i32 noundef %5403) #11
  %5405 = call ptr @__errno_location() #12
  %5406 = load i32, ptr %5405, align 4, !tbaa !5
  %5407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5394, ptr noundef @.str.22, i32 noundef %5395, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 281, ptr noundef %5398, ptr noundef %5401, ptr noundef %5404, i32 noundef %5406) #11
  br label %5425

5408:                                             ; preds = %5386, %5379
  %5409 = load i32, ptr %119, align 4, !tbaa !5
  %5410 = call ptr @__errno_location() #12
  store i32 %5409, ptr %5410, align 4, !tbaa !5
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5412 = load i32, ptr @test_count, align 4, !tbaa !5
  %5413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5414 = load i32, ptr %5413, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror(i32 noundef %5414, ptr noundef @.str.24)
  %5416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  %5418 = call ptr @s2n_strerror_debug(i32 noundef %5417, ptr noundef @.str.24)
  %5419 = call ptr @__errno_location() #12
  %5420 = load i32, ptr %5419, align 4, !tbaa !5
  %5421 = call ptr @strerror(i32 noundef %5420) #11
  %5422 = call ptr @__errno_location() #12
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  %5424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5411, ptr noundef @.str.25, i32 noundef %5412, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 281, ptr noundef %5415, ptr noundef %5418, ptr noundef %5421, i32 noundef %5423) #11
  br label %5425

5425:                                             ; preds = %5408, %5391
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5426

5426:                                             ; preds = %5425
  br label %5427

5427:                                             ; preds = %5426
  call void @exit(i32 noundef 1) #13
  unreachable

5428:                                             ; No predecessors!
  br label %5429

5429:                                             ; preds = %5428
  br label %5430

5430:                                             ; preds = %5429, %5369
  br label %5431

5431:                                             ; preds = %5430
  br label %5432

5432:                                             ; preds = %5431
  br label %5433

5433:                                             ; preds = %5432
  %5434 = load i32, ptr @test_count, align 4, !tbaa !5
  %5435 = add nsw i32 %5434, 1
  store i32 %5435, ptr @test_count, align 4, !tbaa !5
  %5436 = load ptr, ptr %94, align 8, !tbaa !9
  %5437 = call i32 @s2n_record_wipe(ptr noundef %5436)
  %5438 = getelementptr inbounds %struct.s2n_result, ptr %120, i32 0, i32 0
  store i32 %5437, ptr %5438, align 4
  %5439 = getelementptr inbounds %struct.s2n_result, ptr %120, i32 0, i32 0
  %5440 = load i32, ptr %5439, align 4
  %5441 = call zeroext i1 @s2n_result_is_ok(i32 %5440)
  br i1 %5441, label %5495, label %5442

5442:                                             ; preds = %5433
  br label %5443

5443:                                             ; preds = %5442
  br label %5444

5444:                                             ; preds = %5443
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %5445 = call ptr @__errno_location() #12
  %5446 = load i32, ptr %5445, align 4, !tbaa !5
  store i32 %5446, ptr %121, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = call i32 @s2n_print_stacktrace(ptr noundef %5447)
  %5449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5450 = trunc i8 %5449 to i1
  br i1 %5450, label %5451, label %5473

5451:                                             ; preds = %5444
  %5452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5453 = call i32 @fileno(ptr noundef %5452) #11
  %5454 = call i32 @isatty(i32 noundef %5453) #11
  %5455 = icmp ne i32 %5454, 0
  br i1 %5455, label %5456, label %5473

5456:                                             ; preds = %5451
  %5457 = load i32, ptr %121, align 4, !tbaa !5
  %5458 = call ptr @__errno_location() #12
  store i32 %5457, ptr %5458, align 4, !tbaa !5
  %5459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5460 = load i32, ptr @test_count, align 4, !tbaa !5
  %5461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5462 = load i32, ptr %5461, align 4, !tbaa !5
  %5463 = call ptr @s2n_strerror(i32 noundef %5462, ptr noundef @.str.24)
  %5464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call ptr @s2n_strerror_debug(i32 noundef %5465, ptr noundef @.str.24)
  %5467 = call ptr @__errno_location() #12
  %5468 = load i32, ptr %5467, align 4, !tbaa !5
  %5469 = call ptr @strerror(i32 noundef %5468) #11
  %5470 = call ptr @__errno_location() #12
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  %5472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5459, ptr noundef @.str.22, i32 noundef %5460, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 282, ptr noundef %5463, ptr noundef %5466, ptr noundef %5469, i32 noundef %5471) #11
  br label %5490

5473:                                             ; preds = %5451, %5444
  %5474 = load i32, ptr %121, align 4, !tbaa !5
  %5475 = call ptr @__errno_location() #12
  store i32 %5474, ptr %5475, align 4, !tbaa !5
  %5476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5477 = load i32, ptr @test_count, align 4, !tbaa !5
  %5478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5479 = load i32, ptr %5478, align 4, !tbaa !5
  %5480 = call ptr @s2n_strerror(i32 noundef %5479, ptr noundef @.str.24)
  %5481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5482 = load i32, ptr %5481, align 4, !tbaa !5
  %5483 = call ptr @s2n_strerror_debug(i32 noundef %5482, ptr noundef @.str.24)
  %5484 = call ptr @__errno_location() #12
  %5485 = load i32, ptr %5484, align 4, !tbaa !5
  %5486 = call ptr @strerror(i32 noundef %5485) #11
  %5487 = call ptr @__errno_location() #12
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  %5489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5476, ptr noundef @.str.25, i32 noundef %5477, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 282, ptr noundef %5480, ptr noundef %5483, ptr noundef %5486, i32 noundef %5488) #11
  br label %5490

5490:                                             ; preds = %5473, %5456
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %5491

5491:                                             ; preds = %5490
  br label %5492

5492:                                             ; preds = %5491
  call void @exit(i32 noundef 1) #13
  unreachable

5493:                                             ; No predecessors!
  br label %5494

5494:                                             ; preds = %5493
  br label %5495

5495:                                             ; preds = %5494, %5433
  br label %5496

5496:                                             ; preds = %5495
  br label %5497

5497:                                             ; preds = %5496
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #11
  %5498 = load ptr, ptr %94, align 8, !tbaa !9
  %5499 = getelementptr inbounds %struct.s2n_connection, ptr %5498, i32 0, i32 39
  %5500 = getelementptr inbounds %struct.s2n_stuffer, ptr %5499, i32 0, i32 0
  %5501 = getelementptr inbounds %struct.s2n_blob, ptr %5500, i32 0, i32 1
  %5502 = load i32, ptr %5501, align 8, !tbaa !49
  %5503 = load ptr, ptr %94, align 8, !tbaa !9
  %5504 = getelementptr inbounds %struct.s2n_connection, ptr %5503, i32 0, i32 39
  %5505 = getelementptr inbounds %struct.s2n_stuffer, ptr %5504, i32 0, i32 2
  %5506 = load i32, ptr %5505, align 4, !tbaa !50
  %5507 = sub i32 %5502, %5506
  %5508 = zext i32 %5507 to i64
  store i64 %5508, ptr %122, align 8, !tbaa !48
  br label %5509

5509:                                             ; preds = %5497
  %5510 = load i32, ptr @test_count, align 4, !tbaa !5
  %5511 = add nsw i32 %5510, 1
  store i32 %5511, ptr @test_count, align 4, !tbaa !5
  %5512 = load i64, ptr %122, align 8, !tbaa !48
  %5513 = load i64, ptr %112, align 8, !tbaa !48
  %5514 = icmp uge i64 %5512, %5513
  br i1 %5514, label %5568, label %5515

5515:                                             ; preds = %5509
  br label %5516

5516:                                             ; preds = %5515
  br label %5517

5517:                                             ; preds = %5516
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5518 = call ptr @__errno_location() #12
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  store i32 %5519, ptr %123, align 4, !tbaa !5
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = call i32 @s2n_print_stacktrace(ptr noundef %5520)
  %5522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5523 = trunc i8 %5522 to i1
  br i1 %5523, label %5524, label %5546

5524:                                             ; preds = %5517
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = call i32 @fileno(ptr noundef %5525) #11
  %5527 = call i32 @isatty(i32 noundef %5526) #11
  %5528 = icmp ne i32 %5527, 0
  br i1 %5528, label %5529, label %5546

5529:                                             ; preds = %5524
  %5530 = load i32, ptr %123, align 4, !tbaa !5
  %5531 = call ptr @__errno_location() #12
  store i32 %5530, ptr %5531, align 4, !tbaa !5
  %5532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5533 = load i32, ptr @test_count, align 4, !tbaa !5
  %5534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5535 = load i32, ptr %5534, align 4, !tbaa !5
  %5536 = call ptr @s2n_strerror(i32 noundef %5535, ptr noundef @.str.24)
  %5537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5538 = load i32, ptr %5537, align 4, !tbaa !5
  %5539 = call ptr @s2n_strerror_debug(i32 noundef %5538, ptr noundef @.str.24)
  %5540 = call ptr @__errno_location() #12
  %5541 = load i32, ptr %5540, align 4, !tbaa !5
  %5542 = call ptr @strerror(i32 noundef %5541) #11
  %5543 = call ptr @__errno_location() #12
  %5544 = load i32, ptr %5543, align 4, !tbaa !5
  %5545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5532, ptr noundef @.str.22, i32 noundef %5533, ptr noundef @.str.72, ptr noundef @.str.21, i32 noundef 284, ptr noundef %5536, ptr noundef %5539, ptr noundef %5542, i32 noundef %5544) #11
  br label %5563

5546:                                             ; preds = %5524, %5517
  %5547 = load i32, ptr %123, align 4, !tbaa !5
  %5548 = call ptr @__errno_location() #12
  store i32 %5547, ptr %5548, align 4, !tbaa !5
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = load i32, ptr @test_count, align 4, !tbaa !5
  %5551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5552 = load i32, ptr %5551, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror(i32 noundef %5552, ptr noundef @.str.24)
  %5554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5555 = load i32, ptr %5554, align 4, !tbaa !5
  %5556 = call ptr @s2n_strerror_debug(i32 noundef %5555, ptr noundef @.str.24)
  %5557 = call ptr @__errno_location() #12
  %5558 = load i32, ptr %5557, align 4, !tbaa !5
  %5559 = call ptr @strerror(i32 noundef %5558) #11
  %5560 = call ptr @__errno_location() #12
  %5561 = load i32, ptr %5560, align 4, !tbaa !5
  %5562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5549, ptr noundef @.str.25, i32 noundef %5550, ptr noundef @.str.72, ptr noundef @.str.21, i32 noundef 284, ptr noundef %5553, ptr noundef %5556, ptr noundef %5559, i32 noundef %5561) #11
  br label %5563

5563:                                             ; preds = %5546, %5529
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5564

5564:                                             ; preds = %5563
  br label %5565

5565:                                             ; preds = %5564
  call void @exit(i32 noundef 1) #13
  unreachable

5566:                                             ; No predecessors!
  br label %5567

5567:                                             ; preds = %5566
  br label %5568

5568:                                             ; preds = %5567, %5509
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569
  br label %5571

5571:                                             ; preds = %5570
  %5572 = load i32, ptr @test_count, align 4, !tbaa !5
  %5573 = add nsw i32 %5572, 1
  store i32 %5573, ptr @test_count, align 4, !tbaa !5
  %5574 = call i32 @s2n_stuffer_write_uint8(ptr noundef %96, i8 noundef zeroext 7)
  %5575 = icmp eq i32 %5574, -1
  br i1 %5575, label %5576, label %5629

5576:                                             ; preds = %5571
  br label %5577

5577:                                             ; preds = %5576
  br label %5578

5578:                                             ; preds = %5577
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %5579 = call ptr @__errno_location() #12
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  store i32 %5580, ptr %124, align 4, !tbaa !5
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = call i32 @s2n_print_stacktrace(ptr noundef %5581)
  %5583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5584 = trunc i8 %5583 to i1
  br i1 %5584, label %5585, label %5607

5585:                                             ; preds = %5578
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = call i32 @fileno(ptr noundef %5586) #11
  %5588 = call i32 @isatty(i32 noundef %5587) #11
  %5589 = icmp ne i32 %5588, 0
  br i1 %5589, label %5590, label %5607

5590:                                             ; preds = %5585
  %5591 = load i32, ptr %124, align 4, !tbaa !5
  %5592 = call ptr @__errno_location() #12
  store i32 %5591, ptr %5592, align 4, !tbaa !5
  %5593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5594 = load i32, ptr @test_count, align 4, !tbaa !5
  %5595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5596 = load i32, ptr %5595, align 4, !tbaa !5
  %5597 = call ptr @s2n_strerror(i32 noundef %5596, ptr noundef @.str.24)
  %5598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5599 = load i32, ptr %5598, align 4, !tbaa !5
  %5600 = call ptr @s2n_strerror_debug(i32 noundef %5599, ptr noundef @.str.24)
  %5601 = call ptr @__errno_location() #12
  %5602 = load i32, ptr %5601, align 4, !tbaa !5
  %5603 = call ptr @strerror(i32 noundef %5602) #11
  %5604 = call ptr @__errno_location() #12
  %5605 = load i32, ptr %5604, align 4, !tbaa !5
  %5606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5593, ptr noundef @.str.22, i32 noundef %5594, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 287, ptr noundef %5597, ptr noundef %5600, ptr noundef %5603, i32 noundef %5605) #11
  br label %5624

5607:                                             ; preds = %5585, %5578
  %5608 = load i32, ptr %124, align 4, !tbaa !5
  %5609 = call ptr @__errno_location() #12
  store i32 %5608, ptr %5609, align 4, !tbaa !5
  %5610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5611 = load i32, ptr @test_count, align 4, !tbaa !5
  %5612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5613 = load i32, ptr %5612, align 4, !tbaa !5
  %5614 = call ptr @s2n_strerror(i32 noundef %5613, ptr noundef @.str.24)
  %5615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5616 = load i32, ptr %5615, align 4, !tbaa !5
  %5617 = call ptr @s2n_strerror_debug(i32 noundef %5616, ptr noundef @.str.24)
  %5618 = call ptr @__errno_location() #12
  %5619 = load i32, ptr %5618, align 4, !tbaa !5
  %5620 = call ptr @strerror(i32 noundef %5619) #11
  %5621 = call ptr @__errno_location() #12
  %5622 = load i32, ptr %5621, align 4, !tbaa !5
  %5623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5610, ptr noundef @.str.25, i32 noundef %5611, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 287, ptr noundef %5614, ptr noundef %5617, ptr noundef %5620, i32 noundef %5622) #11
  br label %5624

5624:                                             ; preds = %5607, %5590
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5625

5625:                                             ; preds = %5624
  br label %5626

5626:                                             ; preds = %5625
  call void @exit(i32 noundef 1) #13
  unreachable

5627:                                             ; No predecessors!
  br label %5628

5628:                                             ; preds = %5627
  br label %5629

5629:                                             ; preds = %5628, %5571
  br label %5630

5630:                                             ; preds = %5629
  br label %5631

5631:                                             ; preds = %5630
  br label %5632

5632:                                             ; preds = %5631
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = add nsw i32 %5633, 1
  store i32 %5634, ptr @test_count, align 4, !tbaa !5
  %5635 = call i32 @s2n_stuffer_write_uint24(ptr noundef %96, i32 noundef 5)
  %5636 = icmp eq i32 %5635, -1
  br i1 %5636, label %5637, label %5690

5637:                                             ; preds = %5632
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5640 = call ptr @__errno_location() #12
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  store i32 %5641, ptr %125, align 4, !tbaa !5
  %5642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5643 = call i32 @s2n_print_stacktrace(ptr noundef %5642)
  %5644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5645 = trunc i8 %5644 to i1
  br i1 %5645, label %5646, label %5668

5646:                                             ; preds = %5639
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = call i32 @fileno(ptr noundef %5647) #11
  %5649 = call i32 @isatty(i32 noundef %5648) #11
  %5650 = icmp ne i32 %5649, 0
  br i1 %5650, label %5651, label %5668

5651:                                             ; preds = %5646
  %5652 = load i32, ptr %125, align 4, !tbaa !5
  %5653 = call ptr @__errno_location() #12
  store i32 %5652, ptr %5653, align 4, !tbaa !5
  %5654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5655 = load i32, ptr @test_count, align 4, !tbaa !5
  %5656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5657 = load i32, ptr %5656, align 4, !tbaa !5
  %5658 = call ptr @s2n_strerror(i32 noundef %5657, ptr noundef @.str.24)
  %5659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5660 = load i32, ptr %5659, align 4, !tbaa !5
  %5661 = call ptr @s2n_strerror_debug(i32 noundef %5660, ptr noundef @.str.24)
  %5662 = call ptr @__errno_location() #12
  %5663 = load i32, ptr %5662, align 4, !tbaa !5
  %5664 = call ptr @strerror(i32 noundef %5663) #11
  %5665 = call ptr @__errno_location() #12
  %5666 = load i32, ptr %5665, align 4, !tbaa !5
  %5667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5654, ptr noundef @.str.22, i32 noundef %5655, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 288, ptr noundef %5658, ptr noundef %5661, ptr noundef %5664, i32 noundef %5666) #11
  br label %5685

5668:                                             ; preds = %5646, %5639
  %5669 = load i32, ptr %125, align 4, !tbaa !5
  %5670 = call ptr @__errno_location() #12
  store i32 %5669, ptr %5670, align 4, !tbaa !5
  %5671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5672 = load i32, ptr @test_count, align 4, !tbaa !5
  %5673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5674 = load i32, ptr %5673, align 4, !tbaa !5
  %5675 = call ptr @s2n_strerror(i32 noundef %5674, ptr noundef @.str.24)
  %5676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  %5678 = call ptr @s2n_strerror_debug(i32 noundef %5677, ptr noundef @.str.24)
  %5679 = call ptr @__errno_location() #12
  %5680 = load i32, ptr %5679, align 4, !tbaa !5
  %5681 = call ptr @strerror(i32 noundef %5680) #11
  %5682 = call ptr @__errno_location() #12
  %5683 = load i32, ptr %5682, align 4, !tbaa !5
  %5684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5671, ptr noundef @.str.25, i32 noundef %5672, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 288, ptr noundef %5675, ptr noundef %5678, ptr noundef %5681, i32 noundef %5683) #11
  br label %5685

5685:                                             ; preds = %5668, %5651
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5686

5686:                                             ; preds = %5685
  br label %5687

5687:                                             ; preds = %5686
  call void @exit(i32 noundef 1) #13
  unreachable

5688:                                             ; No predecessors!
  br label %5689

5689:                                             ; preds = %5688
  br label %5690

5690:                                             ; preds = %5689, %5632
  br label %5691

5691:                                             ; preds = %5690
  br label %5692

5692:                                             ; preds = %5691
  br label %5693

5693:                                             ; preds = %5692
  %5694 = load i32, ptr @test_count, align 4, !tbaa !5
  %5695 = add nsw i32 %5694, 1
  store i32 %5695, ptr @test_count, align 4, !tbaa !5
  %5696 = call i32 @s2n_stuffer_write_bytes(ptr noundef %96, ptr noundef @TEST_DATA, i32 noundef 5)
  %5697 = icmp eq i32 %5696, -1
  br i1 %5697, label %5698, label %5751

5698:                                             ; preds = %5693
  br label %5699

5699:                                             ; preds = %5698
  br label %5700

5700:                                             ; preds = %5699
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %5701 = call ptr @__errno_location() #12
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  store i32 %5702, ptr %126, align 4, !tbaa !5
  %5703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5704 = call i32 @s2n_print_stacktrace(ptr noundef %5703)
  %5705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5706 = trunc i8 %5705 to i1
  br i1 %5706, label %5707, label %5729

5707:                                             ; preds = %5700
  %5708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5709 = call i32 @fileno(ptr noundef %5708) #11
  %5710 = call i32 @isatty(i32 noundef %5709) #11
  %5711 = icmp ne i32 %5710, 0
  br i1 %5711, label %5712, label %5729

5712:                                             ; preds = %5707
  %5713 = load i32, ptr %126, align 4, !tbaa !5
  %5714 = call ptr @__errno_location() #12
  store i32 %5713, ptr %5714, align 4, !tbaa !5
  %5715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5716 = load i32, ptr @test_count, align 4, !tbaa !5
  %5717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5718 = load i32, ptr %5717, align 4, !tbaa !5
  %5719 = call ptr @s2n_strerror(i32 noundef %5718, ptr noundef @.str.24)
  %5720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5721 = load i32, ptr %5720, align 4, !tbaa !5
  %5722 = call ptr @s2n_strerror_debug(i32 noundef %5721, ptr noundef @.str.24)
  %5723 = call ptr @__errno_location() #12
  %5724 = load i32, ptr %5723, align 4, !tbaa !5
  %5725 = call ptr @strerror(i32 noundef %5724) #11
  %5726 = call ptr @__errno_location() #12
  %5727 = load i32, ptr %5726, align 4, !tbaa !5
  %5728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5715, ptr noundef @.str.22, i32 noundef %5716, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 289, ptr noundef %5719, ptr noundef %5722, ptr noundef %5725, i32 noundef %5727) #11
  br label %5746

5729:                                             ; preds = %5707, %5700
  %5730 = load i32, ptr %126, align 4, !tbaa !5
  %5731 = call ptr @__errno_location() #12
  store i32 %5730, ptr %5731, align 4, !tbaa !5
  %5732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5733 = load i32, ptr @test_count, align 4, !tbaa !5
  %5734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5735 = load i32, ptr %5734, align 4, !tbaa !5
  %5736 = call ptr @s2n_strerror(i32 noundef %5735, ptr noundef @.str.24)
  %5737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror_debug(i32 noundef %5738, ptr noundef @.str.24)
  %5740 = call ptr @__errno_location() #12
  %5741 = load i32, ptr %5740, align 4, !tbaa !5
  %5742 = call ptr @strerror(i32 noundef %5741) #11
  %5743 = call ptr @__errno_location() #12
  %5744 = load i32, ptr %5743, align 4, !tbaa !5
  %5745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5732, ptr noundef @.str.25, i32 noundef %5733, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 289, ptr noundef %5736, ptr noundef %5739, ptr noundef %5742, i32 noundef %5744) #11
  br label %5746

5746:                                             ; preds = %5729, %5712
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %5747

5747:                                             ; preds = %5746
  br label %5748

5748:                                             ; preds = %5747
  call void @exit(i32 noundef 1) #13
  unreachable

5749:                                             ; No predecessors!
  br label %5750

5750:                                             ; preds = %5749
  br label %5751

5751:                                             ; preds = %5750, %5693
  br label %5752

5752:                                             ; preds = %5751
  br label %5753

5753:                                             ; preds = %5752
  br label %5754

5754:                                             ; preds = %5753
  %5755 = load i32, ptr @test_count, align 4, !tbaa !5
  %5756 = add nsw i32 %5755, 1
  store i32 %5756, ptr @test_count, align 4, !tbaa !5
  %5757 = load ptr, ptr %94, align 8, !tbaa !9
  %5758 = call i32 @s2n_quic_read_handshake_message(ptr noundef %5757, ptr noundef %99)
  %5759 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %5758, ptr %5759, align 4
  %5760 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  %5761 = load i32, ptr %5760, align 4
  %5762 = call zeroext i1 @s2n_result_is_ok(i32 %5761)
  br i1 %5762, label %5816, label %5763

5763:                                             ; preds = %5754
  br label %5764

5764:                                             ; preds = %5763
  br label %5765

5765:                                             ; preds = %5764
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %5766 = call ptr @__errno_location() #12
  %5767 = load i32, ptr %5766, align 4, !tbaa !5
  store i32 %5767, ptr %128, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = call i32 @s2n_print_stacktrace(ptr noundef %5768)
  %5770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5771 = trunc i8 %5770 to i1
  br i1 %5771, label %5772, label %5794

5772:                                             ; preds = %5765
  %5773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5774 = call i32 @fileno(ptr noundef %5773) #11
  %5775 = call i32 @isatty(i32 noundef %5774) #11
  %5776 = icmp ne i32 %5775, 0
  br i1 %5776, label %5777, label %5794

5777:                                             ; preds = %5772
  %5778 = load i32, ptr %128, align 4, !tbaa !5
  %5779 = call ptr @__errno_location() #12
  store i32 %5778, ptr %5779, align 4, !tbaa !5
  %5780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5781 = load i32, ptr @test_count, align 4, !tbaa !5
  %5782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5783 = load i32, ptr %5782, align 4, !tbaa !5
  %5784 = call ptr @s2n_strerror(i32 noundef %5783, ptr noundef @.str.24)
  %5785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5786 = load i32, ptr %5785, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror_debug(i32 noundef %5786, ptr noundef @.str.24)
  %5788 = call ptr @__errno_location() #12
  %5789 = load i32, ptr %5788, align 4, !tbaa !5
  %5790 = call ptr @strerror(i32 noundef %5789) #11
  %5791 = call ptr @__errno_location() #12
  %5792 = load i32, ptr %5791, align 4, !tbaa !5
  %5793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5780, ptr noundef @.str.22, i32 noundef %5781, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 290, ptr noundef %5784, ptr noundef %5787, ptr noundef %5790, i32 noundef %5792) #11
  br label %5811

5794:                                             ; preds = %5772, %5765
  %5795 = load i32, ptr %128, align 4, !tbaa !5
  %5796 = call ptr @__errno_location() #12
  store i32 %5795, ptr %5796, align 4, !tbaa !5
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = load i32, ptr @test_count, align 4, !tbaa !5
  %5799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5800 = load i32, ptr %5799, align 4, !tbaa !5
  %5801 = call ptr @s2n_strerror(i32 noundef %5800, ptr noundef @.str.24)
  %5802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5803 = load i32, ptr %5802, align 4, !tbaa !5
  %5804 = call ptr @s2n_strerror_debug(i32 noundef %5803, ptr noundef @.str.24)
  %5805 = call ptr @__errno_location() #12
  %5806 = load i32, ptr %5805, align 4, !tbaa !5
  %5807 = call ptr @strerror(i32 noundef %5806) #11
  %5808 = call ptr @__errno_location() #12
  %5809 = load i32, ptr %5808, align 4, !tbaa !5
  %5810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5797, ptr noundef @.str.25, i32 noundef %5798, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 290, ptr noundef %5801, ptr noundef %5804, ptr noundef %5807, i32 noundef %5809) #11
  br label %5811

5811:                                             ; preds = %5794, %5777
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %5812

5812:                                             ; preds = %5811
  br label %5813

5813:                                             ; preds = %5812
  call void @exit(i32 noundef 1) #13
  unreachable

5814:                                             ; No predecessors!
  br label %5815

5815:                                             ; preds = %5814
  br label %5816

5816:                                             ; preds = %5815, %5754
  br label %5817

5817:                                             ; preds = %5816
  br label %5818

5818:                                             ; preds = %5817
  br label %5819

5819:                                             ; preds = %5818
  %5820 = load i32, ptr @test_count, align 4, !tbaa !5
  %5821 = add nsw i32 %5820, 1
  store i32 %5821, ptr @test_count, align 4, !tbaa !5
  %5822 = load ptr, ptr %94, align 8, !tbaa !9
  %5823 = getelementptr inbounds %struct.s2n_connection, ptr %5822, i32 0, i32 40
  %5824 = getelementptr inbounds %struct.s2n_stuffer, ptr %5823, i32 0, i32 2
  %5825 = load i32, ptr %5824, align 4, !tbaa !46
  %5826 = load ptr, ptr %94, align 8, !tbaa !9
  %5827 = getelementptr inbounds %struct.s2n_connection, ptr %5826, i32 0, i32 40
  %5828 = getelementptr inbounds %struct.s2n_stuffer, ptr %5827, i32 0, i32 1
  %5829 = load i32, ptr %5828, align 8, !tbaa !47
  %5830 = sub i32 %5825, %5829
  %5831 = zext i32 %5830 to i64
  %5832 = icmp eq i64 %5831, 5
  br i1 %5832, label %5886, label %5833

5833:                                             ; preds = %5819
  br label %5834

5834:                                             ; preds = %5833
  br label %5835

5835:                                             ; preds = %5834
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %5836 = call ptr @__errno_location() #12
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  store i32 %5837, ptr %129, align 4, !tbaa !5
  %5838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5839 = call i32 @s2n_print_stacktrace(ptr noundef %5838)
  %5840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5841 = trunc i8 %5840 to i1
  br i1 %5841, label %5842, label %5864

5842:                                             ; preds = %5835
  %5843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5844 = call i32 @fileno(ptr noundef %5843) #11
  %5845 = call i32 @isatty(i32 noundef %5844) #11
  %5846 = icmp ne i32 %5845, 0
  br i1 %5846, label %5847, label %5864

5847:                                             ; preds = %5842
  %5848 = load i32, ptr %129, align 4, !tbaa !5
  %5849 = call ptr @__errno_location() #12
  store i32 %5848, ptr %5849, align 4, !tbaa !5
  %5850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5851 = load i32, ptr @test_count, align 4, !tbaa !5
  %5852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5853 = load i32, ptr %5852, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror(i32 noundef %5853, ptr noundef @.str.24)
  %5855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5856 = load i32, ptr %5855, align 4, !tbaa !5
  %5857 = call ptr @s2n_strerror_debug(i32 noundef %5856, ptr noundef @.str.24)
  %5858 = call ptr @__errno_location() #12
  %5859 = load i32, ptr %5858, align 4, !tbaa !5
  %5860 = call ptr @strerror(i32 noundef %5859) #11
  %5861 = call ptr @__errno_location() #12
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  %5863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5850, ptr noundef @.str.22, i32 noundef %5851, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 291, ptr noundef %5854, ptr noundef %5857, ptr noundef %5860, i32 noundef %5862) #11
  br label %5881

5864:                                             ; preds = %5842, %5835
  %5865 = load i32, ptr %129, align 4, !tbaa !5
  %5866 = call ptr @__errno_location() #12
  store i32 %5865, ptr %5866, align 4, !tbaa !5
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = load i32, ptr @test_count, align 4, !tbaa !5
  %5869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5870 = load i32, ptr %5869, align 4, !tbaa !5
  %5871 = call ptr @s2n_strerror(i32 noundef %5870, ptr noundef @.str.24)
  %5872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5873 = load i32, ptr %5872, align 4, !tbaa !5
  %5874 = call ptr @s2n_strerror_debug(i32 noundef %5873, ptr noundef @.str.24)
  %5875 = call ptr @__errno_location() #12
  %5876 = load i32, ptr %5875, align 4, !tbaa !5
  %5877 = call ptr @strerror(i32 noundef %5876) #11
  %5878 = call ptr @__errno_location() #12
  %5879 = load i32, ptr %5878, align 4, !tbaa !5
  %5880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5867, ptr noundef @.str.25, i32 noundef %5868, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 291, ptr noundef %5871, ptr noundef %5874, ptr noundef %5877, i32 noundef %5879) #11
  br label %5881

5881:                                             ; preds = %5864, %5847
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5882

5882:                                             ; preds = %5881
  br label %5883

5883:                                             ; preds = %5882
  call void @exit(i32 noundef 1) #13
  unreachable

5884:                                             ; No predecessors!
  br label %5885

5885:                                             ; preds = %5884
  br label %5886

5886:                                             ; preds = %5885, %5819
  br label %5887

5887:                                             ; preds = %5886
  br label %5888

5888:                                             ; preds = %5887
  br label %5889

5889:                                             ; preds = %5888
  br label %5890

5890:                                             ; preds = %5889
  %5891 = load i32, ptr @test_count, align 4, !tbaa !5
  %5892 = add nsw i32 %5891, 1
  store i32 %5892, ptr @test_count, align 4, !tbaa !5
  %5893 = load ptr, ptr %94, align 8, !tbaa !9
  %5894 = getelementptr inbounds %struct.s2n_connection, ptr %5893, i32 0, i32 40
  %5895 = call ptr @s2n_stuffer_raw_read(ptr noundef %5894, i32 noundef 5)
  %5896 = call i32 @memcmp(ptr noundef %5895, ptr noundef @TEST_DATA, i64 noundef 5) #14
  %5897 = icmp eq i32 %5896, 0
  br i1 %5897, label %5951, label %5898

5898:                                             ; preds = %5890
  br label %5899

5899:                                             ; preds = %5898
  br label %5900

5900:                                             ; preds = %5899
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %5901 = call ptr @__errno_location() #12
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  store i32 %5902, ptr %130, align 4, !tbaa !5
  %5903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5904 = call i32 @s2n_print_stacktrace(ptr noundef %5903)
  %5905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5906 = trunc i8 %5905 to i1
  br i1 %5906, label %5907, label %5929

5907:                                             ; preds = %5900
  %5908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5909 = call i32 @fileno(ptr noundef %5908) #11
  %5910 = call i32 @isatty(i32 noundef %5909) #11
  %5911 = icmp ne i32 %5910, 0
  br i1 %5911, label %5912, label %5929

5912:                                             ; preds = %5907
  %5913 = load i32, ptr %130, align 4, !tbaa !5
  %5914 = call ptr @__errno_location() #12
  store i32 %5913, ptr %5914, align 4, !tbaa !5
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5916 = load i32, ptr @test_count, align 4, !tbaa !5
  %5917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror(i32 noundef %5918, ptr noundef @.str.24)
  %5920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call ptr @s2n_strerror_debug(i32 noundef %5921, ptr noundef @.str.24)
  %5923 = call ptr @__errno_location() #12
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = call ptr @strerror(i32 noundef %5924) #11
  %5926 = call ptr @__errno_location() #12
  %5927 = load i32, ptr %5926, align 4, !tbaa !5
  %5928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5915, ptr noundef @.str.22, i32 noundef %5916, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 293, ptr noundef %5919, ptr noundef %5922, ptr noundef %5925, i32 noundef %5927) #11
  br label %5946

5929:                                             ; preds = %5907, %5900
  %5930 = load i32, ptr %130, align 4, !tbaa !5
  %5931 = call ptr @__errno_location() #12
  store i32 %5930, ptr %5931, align 4, !tbaa !5
  %5932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5933 = load i32, ptr @test_count, align 4, !tbaa !5
  %5934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call ptr @s2n_strerror(i32 noundef %5935, ptr noundef @.str.24)
  %5937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  %5939 = call ptr @s2n_strerror_debug(i32 noundef %5938, ptr noundef @.str.24)
  %5940 = call ptr @__errno_location() #12
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  %5942 = call ptr @strerror(i32 noundef %5941) #11
  %5943 = call ptr @__errno_location() #12
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  %5945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5932, ptr noundef @.str.25, i32 noundef %5933, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 293, ptr noundef %5936, ptr noundef %5939, ptr noundef %5942, i32 noundef %5944) #11
  br label %5946

5946:                                             ; preds = %5929, %5912
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %5947

5947:                                             ; preds = %5946
  br label %5948

5948:                                             ; preds = %5947
  call void @exit(i32 noundef 1) #13
  unreachable

5949:                                             ; No predecessors!
  br label %5950

5950:                                             ; preds = %5949
  br label %5951

5951:                                             ; preds = %5950, %5890
  br label %5952

5952:                                             ; preds = %5951
  br label %5953

5953:                                             ; preds = %5952
  br label %5954

5954:                                             ; preds = %5953
  br label %5955

5955:                                             ; preds = %5954
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #11
  %5956 = call i32 @s2n_stuffer_free(ptr noundef %96)
  call void @llvm.lifetime.end.p0(i64 40, ptr %96) #11
  %5957 = call i32 @s2n_connection_ptr_free(ptr noundef %94)
  %5958 = getelementptr inbounds %struct.s2n_result, ptr %131, i32 0, i32 0
  store i32 %5957, ptr %5958, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #11
  %5959 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5959, ptr %132, align 8, !tbaa !9
  br label %5960

5960:                                             ; preds = %5955
  %5961 = load i32, ptr @test_count, align 4, !tbaa !5
  %5962 = add nsw i32 %5961, 1
  store i32 %5962, ptr @test_count, align 4, !tbaa !5
  %5963 = load ptr, ptr %132, align 8, !tbaa !9
  %5964 = icmp eq ptr %5963, null
  br i1 %5964, label %5965, label %6018

5965:                                             ; preds = %5960
  br label %5966

5966:                                             ; preds = %5965
  br label %5967

5967:                                             ; preds = %5966
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %5968 = call ptr @__errno_location() #12
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  store i32 %5969, ptr %133, align 4, !tbaa !5
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5971 = call i32 @s2n_print_stacktrace(ptr noundef %5970)
  %5972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5973 = trunc i8 %5972 to i1
  br i1 %5973, label %5974, label %5996

5974:                                             ; preds = %5967
  %5975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5976 = call i32 @fileno(ptr noundef %5975) #11
  %5977 = call i32 @isatty(i32 noundef %5976) #11
  %5978 = icmp ne i32 %5977, 0
  br i1 %5978, label %5979, label %5996

5979:                                             ; preds = %5974
  %5980 = load i32, ptr %133, align 4, !tbaa !5
  %5981 = call ptr @__errno_location() #12
  store i32 %5980, ptr %5981, align 4, !tbaa !5
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = load i32, ptr @test_count, align 4, !tbaa !5
  %5984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5985 = load i32, ptr %5984, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror(i32 noundef %5985, ptr noundef @.str.24)
  %5987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5988 = load i32, ptr %5987, align 4, !tbaa !5
  %5989 = call ptr @s2n_strerror_debug(i32 noundef %5988, ptr noundef @.str.24)
  %5990 = call ptr @__errno_location() #12
  %5991 = load i32, ptr %5990, align 4, !tbaa !5
  %5992 = call ptr @strerror(i32 noundef %5991) #11
  %5993 = call ptr @__errno_location() #12
  %5994 = load i32, ptr %5993, align 4, !tbaa !5
  %5995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5982, ptr noundef @.str.22, i32 noundef %5983, ptr noundef @.str.62, ptr noundef @.str.21, i32 noundef 300, ptr noundef %5986, ptr noundef %5989, ptr noundef %5992, i32 noundef %5994) #11
  br label %6013

5996:                                             ; preds = %5974, %5967
  %5997 = load i32, ptr %133, align 4, !tbaa !5
  %5998 = call ptr @__errno_location() #12
  store i32 %5997, ptr %5998, align 4, !tbaa !5
  %5999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6000 = load i32, ptr @test_count, align 4, !tbaa !5
  %6001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  %6003 = call ptr @s2n_strerror(i32 noundef %6002, ptr noundef @.str.24)
  %6004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6005 = load i32, ptr %6004, align 4, !tbaa !5
  %6006 = call ptr @s2n_strerror_debug(i32 noundef %6005, ptr noundef @.str.24)
  %6007 = call ptr @__errno_location() #12
  %6008 = load i32, ptr %6007, align 4, !tbaa !5
  %6009 = call ptr @strerror(i32 noundef %6008) #11
  %6010 = call ptr @__errno_location() #12
  %6011 = load i32, ptr %6010, align 4, !tbaa !5
  %6012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5999, ptr noundef @.str.25, i32 noundef %6000, ptr noundef @.str.62, ptr noundef @.str.21, i32 noundef 300, ptr noundef %6003, ptr noundef %6006, ptr noundef %6009, i32 noundef %6011) #11
  br label %6013

6013:                                             ; preds = %5996, %5979
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6014

6014:                                             ; preds = %6013
  br label %6015

6015:                                             ; preds = %6014
  call void @exit(i32 noundef 1) #13
  unreachable

6016:                                             ; No predecessors!
  br label %6017

6017:                                             ; preds = %6016
  br label %6018

6018:                                             ; preds = %6017, %5960
  br label %6019

6019:                                             ; preds = %6018
  br label %6020

6020:                                             ; preds = %6019
  call void @llvm.lifetime.start.p0(i64 40, ptr %134) #11
  call void @llvm.memset.p0.i64(ptr align 8 %134, i8 0, i64 40, i1 false)
  br label %6021

6021:                                             ; preds = %6020
  %6022 = load i32, ptr @test_count, align 4, !tbaa !5
  %6023 = add nsw i32 %6022, 1
  store i32 %6023, ptr @test_count, align 4, !tbaa !5
  %6024 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %134, i32 noundef 0)
  %6025 = icmp eq i32 %6024, -1
  br i1 %6025, label %6026, label %6079

6026:                                             ; preds = %6021
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6029 = call ptr @__errno_location() #12
  %6030 = load i32, ptr %6029, align 4, !tbaa !5
  store i32 %6030, ptr %135, align 4, !tbaa !5
  %6031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6032 = call i32 @s2n_print_stacktrace(ptr noundef %6031)
  %6033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6034 = trunc i8 %6033 to i1
  br i1 %6034, label %6035, label %6057

6035:                                             ; preds = %6028
  %6036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6037 = call i32 @fileno(ptr noundef %6036) #11
  %6038 = call i32 @isatty(i32 noundef %6037) #11
  %6039 = icmp ne i32 %6038, 0
  br i1 %6039, label %6040, label %6057

6040:                                             ; preds = %6035
  %6041 = load i32, ptr %135, align 4, !tbaa !5
  %6042 = call ptr @__errno_location() #12
  store i32 %6041, ptr %6042, align 4, !tbaa !5
  %6043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6044 = load i32, ptr @test_count, align 4, !tbaa !5
  %6045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call ptr @s2n_strerror(i32 noundef %6046, ptr noundef @.str.24)
  %6048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror_debug(i32 noundef %6049, ptr noundef @.str.24)
  %6051 = call ptr @__errno_location() #12
  %6052 = load i32, ptr %6051, align 4, !tbaa !5
  %6053 = call ptr @strerror(i32 noundef %6052) #11
  %6054 = call ptr @__errno_location() #12
  %6055 = load i32, ptr %6054, align 4, !tbaa !5
  %6056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6043, ptr noundef @.str.22, i32 noundef %6044, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 303, ptr noundef %6047, ptr noundef %6050, ptr noundef %6053, i32 noundef %6055) #11
  br label %6074

6057:                                             ; preds = %6035, %6028
  %6058 = load i32, ptr %135, align 4, !tbaa !5
  %6059 = call ptr @__errno_location() #12
  store i32 %6058, ptr %6059, align 4, !tbaa !5
  %6060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6061 = load i32, ptr @test_count, align 4, !tbaa !5
  %6062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6063 = load i32, ptr %6062, align 4, !tbaa !5
  %6064 = call ptr @s2n_strerror(i32 noundef %6063, ptr noundef @.str.24)
  %6065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror_debug(i32 noundef %6066, ptr noundef @.str.24)
  %6068 = call ptr @__errno_location() #12
  %6069 = load i32, ptr %6068, align 4, !tbaa !5
  %6070 = call ptr @strerror(i32 noundef %6069) #11
  %6071 = call ptr @__errno_location() #12
  %6072 = load i32, ptr %6071, align 4, !tbaa !5
  %6073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6060, ptr noundef @.str.25, i32 noundef %6061, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 303, ptr noundef %6064, ptr noundef %6067, ptr noundef %6070, i32 noundef %6072) #11
  br label %6074

6074:                                             ; preds = %6057, %6040
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6075

6075:                                             ; preds = %6074
  br label %6076

6076:                                             ; preds = %6075
  call void @exit(i32 noundef 1) #13
  unreachable

6077:                                             ; No predecessors!
  br label %6078

6078:                                             ; preds = %6077
  br label %6079

6079:                                             ; preds = %6078, %6021
  br label %6080

6080:                                             ; preds = %6079
  br label %6081

6081:                                             ; preds = %6080
  br label %6082

6082:                                             ; preds = %6081
  %6083 = load i32, ptr @test_count, align 4, !tbaa !5
  %6084 = add nsw i32 %6083, 1
  store i32 %6084, ptr @test_count, align 4, !tbaa !5
  %6085 = load ptr, ptr %132, align 8, !tbaa !9
  %6086 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %134, ptr noundef %134, ptr noundef %6085)
  %6087 = icmp eq i32 %6086, -1
  br i1 %6087, label %6088, label %6141

6088:                                             ; preds = %6082
  br label %6089

6089:                                             ; preds = %6088
  br label %6090

6090:                                             ; preds = %6089
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %6091 = call ptr @__errno_location() #12
  %6092 = load i32, ptr %6091, align 4, !tbaa !5
  store i32 %6092, ptr %136, align 4, !tbaa !5
  %6093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6094 = call i32 @s2n_print_stacktrace(ptr noundef %6093)
  %6095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6096 = trunc i8 %6095 to i1
  br i1 %6096, label %6097, label %6119

6097:                                             ; preds = %6090
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @fileno(ptr noundef %6098) #11
  %6100 = call i32 @isatty(i32 noundef %6099) #11
  %6101 = icmp ne i32 %6100, 0
  br i1 %6101, label %6102, label %6119

6102:                                             ; preds = %6097
  %6103 = load i32, ptr %136, align 4, !tbaa !5
  %6104 = call ptr @__errno_location() #12
  store i32 %6103, ptr %6104, align 4, !tbaa !5
  %6105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %6107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  %6109 = call ptr @s2n_strerror(i32 noundef %6108, ptr noundef @.str.24)
  %6110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6111 = load i32, ptr %6110, align 4, !tbaa !5
  %6112 = call ptr @s2n_strerror_debug(i32 noundef %6111, ptr noundef @.str.24)
  %6113 = call ptr @__errno_location() #12
  %6114 = load i32, ptr %6113, align 4, !tbaa !5
  %6115 = call ptr @strerror(i32 noundef %6114) #11
  %6116 = call ptr @__errno_location() #12
  %6117 = load i32, ptr %6116, align 4, !tbaa !5
  %6118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6105, ptr noundef @.str.22, i32 noundef %6106, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 304, ptr noundef %6109, ptr noundef %6112, ptr noundef %6115, i32 noundef %6117) #11
  br label %6136

6119:                                             ; preds = %6097, %6090
  %6120 = load i32, ptr %136, align 4, !tbaa !5
  %6121 = call ptr @__errno_location() #12
  store i32 %6120, ptr %6121, align 4, !tbaa !5
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = load i32, ptr @test_count, align 4, !tbaa !5
  %6124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6125 = load i32, ptr %6124, align 4, !tbaa !5
  %6126 = call ptr @s2n_strerror(i32 noundef %6125, ptr noundef @.str.24)
  %6127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  %6129 = call ptr @s2n_strerror_debug(i32 noundef %6128, ptr noundef @.str.24)
  %6130 = call ptr @__errno_location() #12
  %6131 = load i32, ptr %6130, align 4, !tbaa !5
  %6132 = call ptr @strerror(i32 noundef %6131) #11
  %6133 = call ptr @__errno_location() #12
  %6134 = load i32, ptr %6133, align 4, !tbaa !5
  %6135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6122, ptr noundef @.str.25, i32 noundef %6123, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 304, ptr noundef %6126, ptr noundef %6129, ptr noundef %6132, i32 noundef %6134) #11
  br label %6136

6136:                                             ; preds = %6119, %6102
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %6137

6137:                                             ; preds = %6136
  br label %6138

6138:                                             ; preds = %6137
  call void @exit(i32 noundef 1) #13
  unreachable

6139:                                             ; No predecessors!
  br label %6140

6140:                                             ; preds = %6139
  br label %6141

6141:                                             ; preds = %6140, %6082
  br label %6142

6142:                                             ; preds = %6141
  br label %6143

6143:                                             ; preds = %6142
  call void @llvm.lifetime.start.p0(i64 1, ptr %137) #11
  store i8 0, ptr %137, align 1, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #11
  store i64 0, ptr %138, align 8, !tbaa !48
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #11
  store i64 0, ptr %139, align 8, !tbaa !48
  br label %6144

6144:                                             ; preds = %6741, %6143
  %6145 = load i64, ptr %139, align 8, !tbaa !48
  %6146 = icmp ult i64 %6145, 100
  br i1 %6146, label %6148, label %6147

6147:                                             ; preds = %6144
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #11
  br label %6744

6148:                                             ; preds = %6144
  br label %6149

6149:                                             ; preds = %6148
  %6150 = load i32, ptr @test_count, align 4, !tbaa !5
  %6151 = add nsw i32 %6150, 1
  store i32 %6151, ptr @test_count, align 4, !tbaa !5
  %6152 = call i32 @s2n_stuffer_write_uint8(ptr noundef %134, i8 noundef zeroext 7)
  %6153 = icmp eq i32 %6152, -1
  br i1 %6153, label %6154, label %6207

6154:                                             ; preds = %6149
  br label %6155

6155:                                             ; preds = %6154
  br label %6156

6156:                                             ; preds = %6155
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %6157 = call ptr @__errno_location() #12
  %6158 = load i32, ptr %6157, align 4, !tbaa !5
  store i32 %6158, ptr %140, align 4, !tbaa !5
  %6159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6160 = call i32 @s2n_print_stacktrace(ptr noundef %6159)
  %6161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6162 = trunc i8 %6161 to i1
  br i1 %6162, label %6163, label %6185

6163:                                             ; preds = %6156
  %6164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6165 = call i32 @fileno(ptr noundef %6164) #11
  %6166 = call i32 @isatty(i32 noundef %6165) #11
  %6167 = icmp ne i32 %6166, 0
  br i1 %6167, label %6168, label %6185

6168:                                             ; preds = %6163
  %6169 = load i32, ptr %140, align 4, !tbaa !5
  %6170 = call ptr @__errno_location() #12
  store i32 %6169, ptr %6170, align 4, !tbaa !5
  %6171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6172 = load i32, ptr @test_count, align 4, !tbaa !5
  %6173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @s2n_strerror(i32 noundef %6174, ptr noundef @.str.24)
  %6176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call ptr @s2n_strerror_debug(i32 noundef %6177, ptr noundef @.str.24)
  %6179 = call ptr @__errno_location() #12
  %6180 = load i32, ptr %6179, align 4, !tbaa !5
  %6181 = call ptr @strerror(i32 noundef %6180) #11
  %6182 = call ptr @__errno_location() #12
  %6183 = load i32, ptr %6182, align 4, !tbaa !5
  %6184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6171, ptr noundef @.str.22, i32 noundef %6172, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 309, ptr noundef %6175, ptr noundef %6178, ptr noundef %6181, i32 noundef %6183) #11
  br label %6202

6185:                                             ; preds = %6163, %6156
  %6186 = load i32, ptr %140, align 4, !tbaa !5
  %6187 = call ptr @__errno_location() #12
  store i32 %6186, ptr %6187, align 4, !tbaa !5
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = load i32, ptr @test_count, align 4, !tbaa !5
  %6190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror(i32 noundef %6191, ptr noundef @.str.24)
  %6193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror_debug(i32 noundef %6194, ptr noundef @.str.24)
  %6196 = call ptr @__errno_location() #12
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call ptr @strerror(i32 noundef %6197) #11
  %6199 = call ptr @__errno_location() #12
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  %6201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6188, ptr noundef @.str.25, i32 noundef %6189, ptr noundef @.str.56, ptr noundef @.str.21, i32 noundef 309, ptr noundef %6192, ptr noundef %6195, ptr noundef %6198, i32 noundef %6200) #11
  br label %6202

6202:                                             ; preds = %6185, %6168
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6203

6203:                                             ; preds = %6202
  br label %6204

6204:                                             ; preds = %6203
  call void @exit(i32 noundef 1) #13
  unreachable

6205:                                             ; No predecessors!
  br label %6206

6206:                                             ; preds = %6205
  br label %6207

6207:                                             ; preds = %6206, %6149
  br label %6208

6208:                                             ; preds = %6207
  br label %6209

6209:                                             ; preds = %6208
  br label %6210

6210:                                             ; preds = %6209
  %6211 = load i32, ptr @test_count, align 4, !tbaa !5
  %6212 = add nsw i32 %6211, 1
  store i32 %6212, ptr @test_count, align 4, !tbaa !5
  %6213 = call i32 @s2n_stuffer_write_uint24(ptr noundef %134, i32 noundef 5)
  %6214 = icmp eq i32 %6213, -1
  br i1 %6214, label %6215, label %6268

6215:                                             ; preds = %6210
  br label %6216

6216:                                             ; preds = %6215
  br label %6217

6217:                                             ; preds = %6216
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6218 = call ptr @__errno_location() #12
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  store i32 %6219, ptr %141, align 4, !tbaa !5
  %6220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6221 = call i32 @s2n_print_stacktrace(ptr noundef %6220)
  %6222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6223 = trunc i8 %6222 to i1
  br i1 %6223, label %6224, label %6246

6224:                                             ; preds = %6217
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = call i32 @fileno(ptr noundef %6225) #11
  %6227 = call i32 @isatty(i32 noundef %6226) #11
  %6228 = icmp ne i32 %6227, 0
  br i1 %6228, label %6229, label %6246

6229:                                             ; preds = %6224
  %6230 = load i32, ptr %141, align 4, !tbaa !5
  %6231 = call ptr @__errno_location() #12
  store i32 %6230, ptr %6231, align 4, !tbaa !5
  %6232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6233 = load i32, ptr @test_count, align 4, !tbaa !5
  %6234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6235 = load i32, ptr %6234, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror(i32 noundef %6235, ptr noundef @.str.24)
  %6237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6238 = load i32, ptr %6237, align 4, !tbaa !5
  %6239 = call ptr @s2n_strerror_debug(i32 noundef %6238, ptr noundef @.str.24)
  %6240 = call ptr @__errno_location() #12
  %6241 = load i32, ptr %6240, align 4, !tbaa !5
  %6242 = call ptr @strerror(i32 noundef %6241) #11
  %6243 = call ptr @__errno_location() #12
  %6244 = load i32, ptr %6243, align 4, !tbaa !5
  %6245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6232, ptr noundef @.str.22, i32 noundef %6233, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 310, ptr noundef %6236, ptr noundef %6239, ptr noundef %6242, i32 noundef %6244) #11
  br label %6263

6246:                                             ; preds = %6224, %6217
  %6247 = load i32, ptr %141, align 4, !tbaa !5
  %6248 = call ptr @__errno_location() #12
  store i32 %6247, ptr %6248, align 4, !tbaa !5
  %6249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror(i32 noundef %6252, ptr noundef @.str.24)
  %6254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call ptr @s2n_strerror_debug(i32 noundef %6255, ptr noundef @.str.24)
  %6257 = call ptr @__errno_location() #12
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call ptr @strerror(i32 noundef %6258) #11
  %6260 = call ptr @__errno_location() #12
  %6261 = load i32, ptr %6260, align 4, !tbaa !5
  %6262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6249, ptr noundef @.str.25, i32 noundef %6250, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 310, ptr noundef %6253, ptr noundef %6256, ptr noundef %6259, i32 noundef %6261) #11
  br label %6263

6263:                                             ; preds = %6246, %6229
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6264

6264:                                             ; preds = %6263
  br label %6265

6265:                                             ; preds = %6264
  call void @exit(i32 noundef 1) #13
  unreachable

6266:                                             ; No predecessors!
  br label %6267

6267:                                             ; preds = %6266
  br label %6268

6268:                                             ; preds = %6267, %6210
  br label %6269

6269:                                             ; preds = %6268
  br label %6270

6270:                                             ; preds = %6269
  br label %6271

6271:                                             ; preds = %6270
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = add nsw i32 %6272, 1
  store i32 %6273, ptr @test_count, align 4, !tbaa !5
  %6274 = call i32 @s2n_stuffer_write_bytes(ptr noundef %134, ptr noundef @TEST_DATA, i32 noundef 5)
  %6275 = icmp eq i32 %6274, -1
  br i1 %6275, label %6276, label %6329

6276:                                             ; preds = %6271
  br label %6277

6277:                                             ; preds = %6276
  br label %6278

6278:                                             ; preds = %6277
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6279 = call ptr @__errno_location() #12
  %6280 = load i32, ptr %6279, align 4, !tbaa !5
  store i32 %6280, ptr %142, align 4, !tbaa !5
  %6281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6282 = call i32 @s2n_print_stacktrace(ptr noundef %6281)
  %6283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6284 = trunc i8 %6283 to i1
  br i1 %6284, label %6285, label %6307

6285:                                             ; preds = %6278
  %6286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6287 = call i32 @fileno(ptr noundef %6286) #11
  %6288 = call i32 @isatty(i32 noundef %6287) #11
  %6289 = icmp ne i32 %6288, 0
  br i1 %6289, label %6290, label %6307

6290:                                             ; preds = %6285
  %6291 = load i32, ptr %142, align 4, !tbaa !5
  %6292 = call ptr @__errno_location() #12
  store i32 %6291, ptr %6292, align 4, !tbaa !5
  %6293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6294 = load i32, ptr @test_count, align 4, !tbaa !5
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror(i32 noundef %6296, ptr noundef @.str.24)
  %6298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror_debug(i32 noundef %6299, ptr noundef @.str.24)
  %6301 = call ptr @__errno_location() #12
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call ptr @strerror(i32 noundef %6302) #11
  %6304 = call ptr @__errno_location() #12
  %6305 = load i32, ptr %6304, align 4, !tbaa !5
  %6306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6293, ptr noundef @.str.22, i32 noundef %6294, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 311, ptr noundef %6297, ptr noundef %6300, ptr noundef %6303, i32 noundef %6305) #11
  br label %6324

6307:                                             ; preds = %6285, %6278
  %6308 = load i32, ptr %142, align 4, !tbaa !5
  %6309 = call ptr @__errno_location() #12
  store i32 %6308, ptr %6309, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = load i32, ptr @test_count, align 4, !tbaa !5
  %6312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6313 = load i32, ptr %6312, align 4, !tbaa !5
  %6314 = call ptr @s2n_strerror(i32 noundef %6313, ptr noundef @.str.24)
  %6315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @s2n_strerror_debug(i32 noundef %6316, ptr noundef @.str.24)
  %6318 = call ptr @__errno_location() #12
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @strerror(i32 noundef %6319) #11
  %6321 = call ptr @__errno_location() #12
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6310, ptr noundef @.str.25, i32 noundef %6311, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 311, ptr noundef %6314, ptr noundef %6317, ptr noundef %6320, i32 noundef %6322) #11
  br label %6324

6324:                                             ; preds = %6307, %6290
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6325

6325:                                             ; preds = %6324
  br label %6326

6326:                                             ; preds = %6325
  call void @exit(i32 noundef 1) #13
  unreachable

6327:                                             ; No predecessors!
  br label %6328

6328:                                             ; preds = %6327
  br label %6329

6329:                                             ; preds = %6328, %6271
  br label %6330

6330:                                             ; preds = %6329
  br label %6331

6331:                                             ; preds = %6330
  br label %6332

6332:                                             ; preds = %6331
  %6333 = load i32, ptr @test_count, align 4, !tbaa !5
  %6334 = add nsw i32 %6333, 1
  store i32 %6334, ptr @test_count, align 4, !tbaa !5
  %6335 = load ptr, ptr %132, align 8, !tbaa !9
  %6336 = call i32 @s2n_quic_read_handshake_message(ptr noundef %6335, ptr noundef %137)
  %6337 = getelementptr inbounds %struct.s2n_result, ptr %143, i32 0, i32 0
  store i32 %6336, ptr %6337, align 4
  %6338 = getelementptr inbounds %struct.s2n_result, ptr %143, i32 0, i32 0
  %6339 = load i32, ptr %6338, align 4
  %6340 = call zeroext i1 @s2n_result_is_ok(i32 %6339)
  br i1 %6340, label %6394, label %6341

6341:                                             ; preds = %6332
  br label %6342

6342:                                             ; preds = %6341
  br label %6343

6343:                                             ; preds = %6342
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6344 = call ptr @__errno_location() #12
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  store i32 %6345, ptr %144, align 4, !tbaa !5
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @s2n_print_stacktrace(ptr noundef %6346)
  %6348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6349 = trunc i8 %6348 to i1
  br i1 %6349, label %6350, label %6372

6350:                                             ; preds = %6343
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = call i32 @fileno(ptr noundef %6351) #11
  %6353 = call i32 @isatty(i32 noundef %6352) #11
  %6354 = icmp ne i32 %6353, 0
  br i1 %6354, label %6355, label %6372

6355:                                             ; preds = %6350
  %6356 = load i32, ptr %144, align 4, !tbaa !5
  %6357 = call ptr @__errno_location() #12
  store i32 %6356, ptr %6357, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call ptr @s2n_strerror(i32 noundef %6361, ptr noundef @.str.24)
  %6363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6364 = load i32, ptr %6363, align 4, !tbaa !5
  %6365 = call ptr @s2n_strerror_debug(i32 noundef %6364, ptr noundef @.str.24)
  %6366 = call ptr @__errno_location() #12
  %6367 = load i32, ptr %6366, align 4, !tbaa !5
  %6368 = call ptr @strerror(i32 noundef %6367) #11
  %6369 = call ptr @__errno_location() #12
  %6370 = load i32, ptr %6369, align 4, !tbaa !5
  %6371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6358, ptr noundef @.str.22, i32 noundef %6359, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 312, ptr noundef %6362, ptr noundef %6365, ptr noundef %6368, i32 noundef %6370) #11
  br label %6389

6372:                                             ; preds = %6350, %6343
  %6373 = load i32, ptr %144, align 4, !tbaa !5
  %6374 = call ptr @__errno_location() #12
  store i32 %6373, ptr %6374, align 4, !tbaa !5
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = load i32, ptr @test_count, align 4, !tbaa !5
  %6377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6378 = load i32, ptr %6377, align 4, !tbaa !5
  %6379 = call ptr @s2n_strerror(i32 noundef %6378, ptr noundef @.str.24)
  %6380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6381 = load i32, ptr %6380, align 4, !tbaa !5
  %6382 = call ptr @s2n_strerror_debug(i32 noundef %6381, ptr noundef @.str.24)
  %6383 = call ptr @__errno_location() #12
  %6384 = load i32, ptr %6383, align 4, !tbaa !5
  %6385 = call ptr @strerror(i32 noundef %6384) #11
  %6386 = call ptr @__errno_location() #12
  %6387 = load i32, ptr %6386, align 4, !tbaa !5
  %6388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6375, ptr noundef @.str.25, i32 noundef %6376, ptr noundef @.str.50, ptr noundef @.str.21, i32 noundef 312, ptr noundef %6379, ptr noundef %6382, ptr noundef %6385, i32 noundef %6387) #11
  br label %6389

6389:                                             ; preds = %6372, %6355
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6390

6390:                                             ; preds = %6389
  br label %6391

6391:                                             ; preds = %6390
  call void @exit(i32 noundef 1) #13
  unreachable

6392:                                             ; No predecessors!
  br label %6393

6393:                                             ; preds = %6392
  br label %6394

6394:                                             ; preds = %6393, %6332
  br label %6395

6395:                                             ; preds = %6394
  br label %6396

6396:                                             ; preds = %6395
  br label %6397

6397:                                             ; preds = %6396
  %6398 = load i32, ptr @test_count, align 4, !tbaa !5
  %6399 = add nsw i32 %6398, 1
  store i32 %6399, ptr @test_count, align 4, !tbaa !5
  %6400 = load ptr, ptr %132, align 8, !tbaa !9
  %6401 = getelementptr inbounds %struct.s2n_connection, ptr %6400, i32 0, i32 40
  %6402 = getelementptr inbounds %struct.s2n_stuffer, ptr %6401, i32 0, i32 2
  %6403 = load i32, ptr %6402, align 4, !tbaa !46
  %6404 = load ptr, ptr %132, align 8, !tbaa !9
  %6405 = getelementptr inbounds %struct.s2n_connection, ptr %6404, i32 0, i32 40
  %6406 = getelementptr inbounds %struct.s2n_stuffer, ptr %6405, i32 0, i32 1
  %6407 = load i32, ptr %6406, align 8, !tbaa !47
  %6408 = sub i32 %6403, %6407
  %6409 = zext i32 %6408 to i64
  %6410 = icmp eq i64 %6409, 5
  br i1 %6410, label %6464, label %6411

6411:                                             ; preds = %6397
  br label %6412

6412:                                             ; preds = %6411
  br label %6413

6413:                                             ; preds = %6412
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %6414 = call ptr @__errno_location() #12
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  store i32 %6415, ptr %145, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = call i32 @s2n_print_stacktrace(ptr noundef %6416)
  %6418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6419 = trunc i8 %6418 to i1
  br i1 %6419, label %6420, label %6442

6420:                                             ; preds = %6413
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = call i32 @fileno(ptr noundef %6421) #11
  %6423 = call i32 @isatty(i32 noundef %6422) #11
  %6424 = icmp ne i32 %6423, 0
  br i1 %6424, label %6425, label %6442

6425:                                             ; preds = %6420
  %6426 = load i32, ptr %145, align 4, !tbaa !5
  %6427 = call ptr @__errno_location() #12
  store i32 %6426, ptr %6427, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call ptr @s2n_strerror(i32 noundef %6431, ptr noundef @.str.24)
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef @.str.24)
  %6436 = call ptr @__errno_location() #12
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #11
  %6439 = call ptr @__errno_location() #12
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6428, ptr noundef @.str.22, i32 noundef %6429, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 313, ptr noundef %6432, ptr noundef %6435, ptr noundef %6438, i32 noundef %6440) #11
  br label %6459

6442:                                             ; preds = %6420, %6413
  %6443 = load i32, ptr %145, align 4, !tbaa !5
  %6444 = call ptr @__errno_location() #12
  store i32 %6443, ptr %6444, align 4, !tbaa !5
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = load i32, ptr @test_count, align 4, !tbaa !5
  %6447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6448 = load i32, ptr %6447, align 4, !tbaa !5
  %6449 = call ptr @s2n_strerror(i32 noundef %6448, ptr noundef @.str.24)
  %6450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6451 = load i32, ptr %6450, align 4, !tbaa !5
  %6452 = call ptr @s2n_strerror_debug(i32 noundef %6451, ptr noundef @.str.24)
  %6453 = call ptr @__errno_location() #12
  %6454 = load i32, ptr %6453, align 4, !tbaa !5
  %6455 = call ptr @strerror(i32 noundef %6454) #11
  %6456 = call ptr @__errno_location() #12
  %6457 = load i32, ptr %6456, align 4, !tbaa !5
  %6458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6445, ptr noundef @.str.25, i32 noundef %6446, ptr noundef @.str.53, ptr noundef @.str.21, i32 noundef 313, ptr noundef %6449, ptr noundef %6452, ptr noundef %6455, i32 noundef %6457) #11
  br label %6459

6459:                                             ; preds = %6442, %6425
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %6460

6460:                                             ; preds = %6459
  br label %6461

6461:                                             ; preds = %6460
  call void @exit(i32 noundef 1) #13
  unreachable

6462:                                             ; No predecessors!
  br label %6463

6463:                                             ; preds = %6462
  br label %6464

6464:                                             ; preds = %6463, %6397
  br label %6465

6465:                                             ; preds = %6464
  br label %6466

6466:                                             ; preds = %6465
  br label %6467

6467:                                             ; preds = %6466
  br label %6468

6468:                                             ; preds = %6467
  %6469 = load i32, ptr @test_count, align 4, !tbaa !5
  %6470 = add nsw i32 %6469, 1
  store i32 %6470, ptr @test_count, align 4, !tbaa !5
  %6471 = load ptr, ptr %132, align 8, !tbaa !9
  %6472 = getelementptr inbounds %struct.s2n_connection, ptr %6471, i32 0, i32 40
  %6473 = call ptr @s2n_stuffer_raw_read(ptr noundef %6472, i32 noundef 5)
  %6474 = call i32 @memcmp(ptr noundef %6473, ptr noundef @TEST_DATA, i64 noundef 5) #14
  %6475 = icmp eq i32 %6474, 0
  br i1 %6475, label %6529, label %6476

6476:                                             ; preds = %6468
  br label %6477

6477:                                             ; preds = %6476
  br label %6478

6478:                                             ; preds = %6477
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6479 = call ptr @__errno_location() #12
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  store i32 %6480, ptr %146, align 4, !tbaa !5
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = call i32 @s2n_print_stacktrace(ptr noundef %6481)
  %6483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6484 = trunc i8 %6483 to i1
  br i1 %6484, label %6485, label %6507

6485:                                             ; preds = %6478
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = call i32 @fileno(ptr noundef %6486) #11
  %6488 = call i32 @isatty(i32 noundef %6487) #11
  %6489 = icmp ne i32 %6488, 0
  br i1 %6489, label %6490, label %6507

6490:                                             ; preds = %6485
  %6491 = load i32, ptr %146, align 4, !tbaa !5
  %6492 = call ptr @__errno_location() #12
  store i32 %6491, ptr %6492, align 4, !tbaa !5
  %6493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6494 = load i32, ptr @test_count, align 4, !tbaa !5
  %6495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6496 = load i32, ptr %6495, align 4, !tbaa !5
  %6497 = call ptr @s2n_strerror(i32 noundef %6496, ptr noundef @.str.24)
  %6498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6499 = load i32, ptr %6498, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror_debug(i32 noundef %6499, ptr noundef @.str.24)
  %6501 = call ptr @__errno_location() #12
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @strerror(i32 noundef %6502) #11
  %6504 = call ptr @__errno_location() #12
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6493, ptr noundef @.str.22, i32 noundef %6494, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 315, ptr noundef %6497, ptr noundef %6500, ptr noundef %6503, i32 noundef %6505) #11
  br label %6524

6507:                                             ; preds = %6485, %6478
  %6508 = load i32, ptr %146, align 4, !tbaa !5
  %6509 = call ptr @__errno_location() #12
  store i32 %6508, ptr %6509, align 4, !tbaa !5
  %6510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6511 = load i32, ptr @test_count, align 4, !tbaa !5
  %6512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6513 = load i32, ptr %6512, align 4, !tbaa !5
  %6514 = call ptr @s2n_strerror(i32 noundef %6513, ptr noundef @.str.24)
  %6515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6516 = load i32, ptr %6515, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror_debug(i32 noundef %6516, ptr noundef @.str.24)
  %6518 = call ptr @__errno_location() #12
  %6519 = load i32, ptr %6518, align 4, !tbaa !5
  %6520 = call ptr @strerror(i32 noundef %6519) #11
  %6521 = call ptr @__errno_location() #12
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6510, ptr noundef @.str.25, i32 noundef %6511, ptr noundef @.str.54, ptr noundef @.str.21, i32 noundef 315, ptr noundef %6514, ptr noundef %6517, ptr noundef %6520, i32 noundef %6522) #11
  br label %6524

6524:                                             ; preds = %6507, %6490
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %6525

6525:                                             ; preds = %6524
  br label %6526

6526:                                             ; preds = %6525
  call void @exit(i32 noundef 1) #13
  unreachable

6527:                                             ; No predecessors!
  br label %6528

6528:                                             ; preds = %6527
  br label %6529

6529:                                             ; preds = %6528, %6468
  br label %6530

6530:                                             ; preds = %6529
  br label %6531

6531:                                             ; preds = %6530
  br label %6532

6532:                                             ; preds = %6531
  br label %6533

6533:                                             ; preds = %6532
  br label %6534

6534:                                             ; preds = %6533
  %6535 = load i32, ptr @test_count, align 4, !tbaa !5
  %6536 = add nsw i32 %6535, 1
  store i32 %6536, ptr @test_count, align 4, !tbaa !5
  %6537 = load ptr, ptr %132, align 8, !tbaa !9
  %6538 = getelementptr inbounds %struct.s2n_connection, ptr %6537, i32 0, i32 52
  %6539 = getelementptr inbounds %struct.s2n_handshake, ptr %6538, i32 0, i32 0
  %6540 = call i32 @s2n_stuffer_wipe(ptr noundef %6539)
  %6541 = icmp eq i32 %6540, -1
  br i1 %6541, label %6542, label %6595

6542:                                             ; preds = %6534
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

6544:                                             ; preds = %6543
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %6545 = call ptr @__errno_location() #12
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  store i32 %6546, ptr %147, align 4, !tbaa !5
  %6547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6548 = call i32 @s2n_print_stacktrace(ptr noundef %6547)
  %6549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6550 = trunc i8 %6549 to i1
  br i1 %6550, label %6551, label %6573

6551:                                             ; preds = %6544
  %6552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6553 = call i32 @fileno(ptr noundef %6552) #11
  %6554 = call i32 @isatty(i32 noundef %6553) #11
  %6555 = icmp ne i32 %6554, 0
  br i1 %6555, label %6556, label %6573

6556:                                             ; preds = %6551
  %6557 = load i32, ptr %147, align 4, !tbaa !5
  %6558 = call ptr @__errno_location() #12
  store i32 %6557, ptr %6558, align 4, !tbaa !5
  %6559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6560 = load i32, ptr @test_count, align 4, !tbaa !5
  %6561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6562 = load i32, ptr %6561, align 4, !tbaa !5
  %6563 = call ptr @s2n_strerror(i32 noundef %6562, ptr noundef @.str.24)
  %6564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6565 = load i32, ptr %6564, align 4, !tbaa !5
  %6566 = call ptr @s2n_strerror_debug(i32 noundef %6565, ptr noundef @.str.24)
  %6567 = call ptr @__errno_location() #12
  %6568 = load i32, ptr %6567, align 4, !tbaa !5
  %6569 = call ptr @strerror(i32 noundef %6568) #11
  %6570 = call ptr @__errno_location() #12
  %6571 = load i32, ptr %6570, align 4, !tbaa !5
  %6572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6559, ptr noundef @.str.22, i32 noundef %6560, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 317, ptr noundef %6563, ptr noundef %6566, ptr noundef %6569, i32 noundef %6571) #11
  br label %6590

6573:                                             ; preds = %6551, %6544
  %6574 = load i32, ptr %147, align 4, !tbaa !5
  %6575 = call ptr @__errno_location() #12
  store i32 %6574, ptr %6575, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = load i32, ptr @test_count, align 4, !tbaa !5
  %6578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  %6580 = call ptr @s2n_strerror(i32 noundef %6579, ptr noundef @.str.24)
  %6581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6582 = load i32, ptr %6581, align 4, !tbaa !5
  %6583 = call ptr @s2n_strerror_debug(i32 noundef %6582, ptr noundef @.str.24)
  %6584 = call ptr @__errno_location() #12
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @strerror(i32 noundef %6585) #11
  %6587 = call ptr @__errno_location() #12
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6576, ptr noundef @.str.25, i32 noundef %6577, ptr noundef @.str.66, ptr noundef @.str.21, i32 noundef 317, ptr noundef %6580, ptr noundef %6583, ptr noundef %6586, i32 noundef %6588) #11
  br label %6590

6590:                                             ; preds = %6573, %6556
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6591

6591:                                             ; preds = %6590
  br label %6592

6592:                                             ; preds = %6591
  call void @exit(i32 noundef 1) #13
  unreachable

6593:                                             ; No predecessors!
  br label %6594

6594:                                             ; preds = %6593
  br label %6595

6595:                                             ; preds = %6594, %6534
  br label %6596

6596:                                             ; preds = %6595
  br label %6597

6597:                                             ; preds = %6596
  br label %6598

6598:                                             ; preds = %6597
  %6599 = load i32, ptr @test_count, align 4, !tbaa !5
  %6600 = add nsw i32 %6599, 1
  store i32 %6600, ptr @test_count, align 4, !tbaa !5
  %6601 = load ptr, ptr %132, align 8, !tbaa !9
  %6602 = call i32 @s2n_record_wipe(ptr noundef %6601)
  %6603 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  store i32 %6602, ptr %6603, align 4
  %6604 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  %6605 = load i32, ptr %6604, align 4
  %6606 = call zeroext i1 @s2n_result_is_ok(i32 %6605)
  br i1 %6606, label %6660, label %6607

6607:                                             ; preds = %6598
  br label %6608

6608:                                             ; preds = %6607
  br label %6609

6609:                                             ; preds = %6608
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %6610 = call ptr @__errno_location() #12
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  store i32 %6611, ptr %149, align 4, !tbaa !5
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = call i32 @s2n_print_stacktrace(ptr noundef %6612)
  %6614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6615 = trunc i8 %6614 to i1
  br i1 %6615, label %6616, label %6638

6616:                                             ; preds = %6609
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @fileno(ptr noundef %6617) #11
  %6619 = call i32 @isatty(i32 noundef %6618) #11
  %6620 = icmp ne i32 %6619, 0
  br i1 %6620, label %6621, label %6638

6621:                                             ; preds = %6616
  %6622 = load i32, ptr %149, align 4, !tbaa !5
  %6623 = call ptr @__errno_location() #12
  store i32 %6622, ptr %6623, align 4, !tbaa !5
  %6624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6625 = load i32, ptr @test_count, align 4, !tbaa !5
  %6626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror(i32 noundef %6627, ptr noundef @.str.24)
  %6629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call ptr @s2n_strerror_debug(i32 noundef %6630, ptr noundef @.str.24)
  %6632 = call ptr @__errno_location() #12
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call ptr @strerror(i32 noundef %6633) #11
  %6635 = call ptr @__errno_location() #12
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6624, ptr noundef @.str.22, i32 noundef %6625, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 318, ptr noundef %6628, ptr noundef %6631, ptr noundef %6634, i32 noundef %6636) #11
  br label %6655

6638:                                             ; preds = %6616, %6609
  %6639 = load i32, ptr %149, align 4, !tbaa !5
  %6640 = call ptr @__errno_location() #12
  store i32 %6639, ptr %6640, align 4, !tbaa !5
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = load i32, ptr @test_count, align 4, !tbaa !5
  %6643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6644 = load i32, ptr %6643, align 4, !tbaa !5
  %6645 = call ptr @s2n_strerror(i32 noundef %6644, ptr noundef @.str.24)
  %6646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6647 = load i32, ptr %6646, align 4, !tbaa !5
  %6648 = call ptr @s2n_strerror_debug(i32 noundef %6647, ptr noundef @.str.24)
  %6649 = call ptr @__errno_location() #12
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @strerror(i32 noundef %6650) #11
  %6652 = call ptr @__errno_location() #12
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6641, ptr noundef @.str.25, i32 noundef %6642, ptr noundef @.str.67, ptr noundef @.str.21, i32 noundef 318, ptr noundef %6645, ptr noundef %6648, ptr noundef %6651, i32 noundef %6653) #11
  br label %6655

6655:                                             ; preds = %6638, %6621
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6656

6656:                                             ; preds = %6655
  br label %6657

6657:                                             ; preds = %6656
  call void @exit(i32 noundef 1) #13
  unreachable

6658:                                             ; No predecessors!
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

6660:                                             ; preds = %6659, %6598
  br label %6661

6661:                                             ; preds = %6660
  br label %6662

6662:                                             ; preds = %6661
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #11
  %6663 = load ptr, ptr %132, align 8, !tbaa !9
  %6664 = getelementptr inbounds %struct.s2n_connection, ptr %6663, i32 0, i32 39
  %6665 = getelementptr inbounds %struct.s2n_stuffer, ptr %6664, i32 0, i32 0
  %6666 = getelementptr inbounds %struct.s2n_blob, ptr %6665, i32 0, i32 1
  %6667 = load i32, ptr %6666, align 8, !tbaa !49
  %6668 = load ptr, ptr %132, align 8, !tbaa !9
  %6669 = getelementptr inbounds %struct.s2n_connection, ptr %6668, i32 0, i32 39
  %6670 = getelementptr inbounds %struct.s2n_stuffer, ptr %6669, i32 0, i32 2
  %6671 = load i32, ptr %6670, align 4, !tbaa !50
  %6672 = sub i32 %6667, %6671
  %6673 = zext i32 %6672 to i64
  store i64 %6673, ptr %150, align 8, !tbaa !48
  %6674 = load i64, ptr %139, align 8, !tbaa !48
  %6675 = icmp eq i64 %6674, 0
  br i1 %6675, label %6676, label %6678

6676:                                             ; preds = %6662
  %6677 = load i64, ptr %150, align 8, !tbaa !48
  store i64 %6677, ptr %138, align 8, !tbaa !48
  br label %6678

6678:                                             ; preds = %6676, %6662
  br label %6679

6679:                                             ; preds = %6678
  %6680 = load i32, ptr @test_count, align 4, !tbaa !5
  %6681 = add nsw i32 %6680, 1
  store i32 %6681, ptr @test_count, align 4, !tbaa !5
  %6682 = load i64, ptr %138, align 8, !tbaa !48
  %6683 = load i64, ptr %150, align 8, !tbaa !48
  %6684 = icmp eq i64 %6682, %6683
  br i1 %6684, label %6738, label %6685

6685:                                             ; preds = %6679
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

6687:                                             ; preds = %6686
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %6688 = call ptr @__errno_location() #12
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  store i32 %6689, ptr %151, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = call i32 @s2n_print_stacktrace(ptr noundef %6690)
  %6692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6693 = trunc i8 %6692 to i1
  br i1 %6693, label %6694, label %6716

6694:                                             ; preds = %6687
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @fileno(ptr noundef %6695) #11
  %6697 = call i32 @isatty(i32 noundef %6696) #11
  %6698 = icmp ne i32 %6697, 0
  br i1 %6698, label %6699, label %6716

6699:                                             ; preds = %6694
  %6700 = load i32, ptr %151, align 4, !tbaa !5
  %6701 = call ptr @__errno_location() #12
  store i32 %6700, ptr %6701, align 4, !tbaa !5
  %6702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6703 = load i32, ptr @test_count, align 4, !tbaa !5
  %6704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call ptr @s2n_strerror(i32 noundef %6705, ptr noundef @.str.24)
  %6707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6708 = load i32, ptr %6707, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror_debug(i32 noundef %6708, ptr noundef @.str.24)
  %6710 = call ptr @__errno_location() #12
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @strerror(i32 noundef %6711) #11
  %6713 = call ptr @__errno_location() #12
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6702, ptr noundef @.str.22, i32 noundef %6703, ptr noundef @.str.73, ptr noundef @.str.21, i32 noundef 325, ptr noundef %6706, ptr noundef %6709, ptr noundef %6712, i32 noundef %6714) #11
  br label %6733

6716:                                             ; preds = %6694, %6687
  %6717 = load i32, ptr %151, align 4, !tbaa !5
  %6718 = call ptr @__errno_location() #12
  store i32 %6717, ptr %6718, align 4, !tbaa !5
  %6719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6720 = load i32, ptr @test_count, align 4, !tbaa !5
  %6721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call ptr @s2n_strerror(i32 noundef %6722, ptr noundef @.str.24)
  %6724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6725 = load i32, ptr %6724, align 4, !tbaa !5
  %6726 = call ptr @s2n_strerror_debug(i32 noundef %6725, ptr noundef @.str.24)
  %6727 = call ptr @__errno_location() #12
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call ptr @strerror(i32 noundef %6728) #11
  %6730 = call ptr @__errno_location() #12
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6719, ptr noundef @.str.25, i32 noundef %6720, ptr noundef @.str.73, ptr noundef @.str.21, i32 noundef 325, ptr noundef %6723, ptr noundef %6726, ptr noundef %6729, i32 noundef %6731) #11
  br label %6733

6733:                                             ; preds = %6716, %6699
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %6734

6734:                                             ; preds = %6733
  br label %6735

6735:                                             ; preds = %6734
  call void @exit(i32 noundef 1) #13
  unreachable

6736:                                             ; No predecessors!
  br label %6737

6737:                                             ; preds = %6736
  br label %6738

6738:                                             ; preds = %6737, %6679
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #11
  br label %6741

6741:                                             ; preds = %6740
  %6742 = load i64, ptr %139, align 8, !tbaa !48
  %6743 = add i64 %6742, 1
  store i64 %6743, ptr %139, align 8, !tbaa !48
  br label %6144, !llvm.loop !51

6744:                                             ; preds = %6147
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %137) #11
  %6745 = call i32 @s2n_stuffer_free(ptr noundef %134)
  call void @llvm.lifetime.end.p0(i64 40, ptr %134) #11
  %6746 = call i32 @s2n_connection_ptr_free(ptr noundef %132)
  %6747 = getelementptr inbounds %struct.s2n_result, ptr %152, i32 0, i32 0
  store i32 %6746, ptr %6747, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #11
  store i64 0, ptr %154, align 8, !tbaa !48
  br label %6748

6748:                                             ; preds = %6761, %6744
  %6749 = load i64, ptr %154, align 8, !tbaa !48
  %6750 = icmp ult i64 %6749, 21
  br i1 %6750, label %6752, label %6751

6751:                                             ; preds = %6748
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #11
  br label %6764

6752:                                             ; preds = %6748
  %6753 = load i64, ptr %154, align 8, !tbaa !48
  %6754 = getelementptr inbounds [21 x %struct.s2n_handshake_action], ptr @tls13_state_machine, i64 0, i64 %6753
  %6755 = getelementptr inbounds %struct.s2n_handshake_action, ptr %6754, i32 0, i32 3
  %6756 = getelementptr inbounds [2 x ptr], ptr %6755, i64 0, i64 0
  store ptr @s2n_test_read_handler, ptr %6756, align 8, !tbaa !9
  %6757 = load i64, ptr %154, align 8, !tbaa !48
  %6758 = getelementptr inbounds [21 x %struct.s2n_handshake_action], ptr @tls13_state_machine, i64 0, i64 %6757
  %6759 = getelementptr inbounds %struct.s2n_handshake_action, ptr %6758, i32 0, i32 3
  %6760 = getelementptr inbounds [2 x ptr], ptr %6759, i64 0, i64 1
  store ptr @s2n_test_write_handler, ptr %6760, align 8, !tbaa !9
  br label %6761

6761:                                             ; preds = %6752
  %6762 = load i64, ptr %154, align 8, !tbaa !48
  %6763 = add i64 %6762, 1
  store i64 %6763, ptr %154, align 8, !tbaa !48
  br label %6748, !llvm.loop !53

6764:                                             ; preds = %6751
  call void @llvm.lifetime.start.p0(i64 24, ptr %155) #11
  br label %6765

6765:                                             ; preds = %6764
  %6766 = load i32, ptr @test_count, align 4, !tbaa !5
  %6767 = add nsw i32 %6766, 1
  store i32 %6767, ptr @test_count, align 4, !tbaa !5
  %6768 = call i32 @s2n_write_test_message(ptr noundef %155, i32 noundef 2)
  %6769 = getelementptr inbounds %struct.s2n_result, ptr %156, i32 0, i32 0
  store i32 %6768, ptr %6769, align 4
  %6770 = getelementptr inbounds %struct.s2n_result, ptr %156, i32 0, i32 0
  %6771 = load i32, ptr %6770, align 4
  %6772 = call zeroext i1 @s2n_result_is_ok(i32 %6771)
  br i1 %6772, label %6826, label %6773

6773:                                             ; preds = %6765
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

6775:                                             ; preds = %6774
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %6776 = call ptr @__errno_location() #12
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  store i32 %6777, ptr %157, align 4, !tbaa !5
  %6778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6779 = call i32 @s2n_print_stacktrace(ptr noundef %6778)
  %6780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6781 = trunc i8 %6780 to i1
  br i1 %6781, label %6782, label %6804

6782:                                             ; preds = %6775
  %6783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6784 = call i32 @fileno(ptr noundef %6783) #11
  %6785 = call i32 @isatty(i32 noundef %6784) #11
  %6786 = icmp ne i32 %6785, 0
  br i1 %6786, label %6787, label %6804

6787:                                             ; preds = %6782
  %6788 = load i32, ptr %157, align 4, !tbaa !5
  %6789 = call ptr @__errno_location() #12
  store i32 %6788, ptr %6789, align 4, !tbaa !5
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = load i32, ptr @test_count, align 4, !tbaa !5
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @s2n_strerror(i32 noundef %6793, ptr noundef @.str.24)
  %6795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @s2n_strerror_debug(i32 noundef %6796, ptr noundef @.str.24)
  %6798 = call ptr @__errno_location() #12
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @strerror(i32 noundef %6799) #11
  %6801 = call ptr @__errno_location() #12
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6790, ptr noundef @.str.22, i32 noundef %6791, ptr noundef @.str.74, ptr noundef @.str.21, i32 noundef 342, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #11
  br label %6821

6804:                                             ; preds = %6782, %6775
  %6805 = load i32, ptr %157, align 4, !tbaa !5
  %6806 = call ptr @__errno_location() #12
  store i32 %6805, ptr %6806, align 4, !tbaa !5
  %6807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6808 = load i32, ptr @test_count, align 4, !tbaa !5
  %6809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @s2n_strerror(i32 noundef %6810, ptr noundef @.str.24)
  %6812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call ptr @s2n_strerror_debug(i32 noundef %6813, ptr noundef @.str.24)
  %6815 = call ptr @__errno_location() #12
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #11
  %6818 = call ptr @__errno_location() #12
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6807, ptr noundef @.str.25, i32 noundef %6808, ptr noundef @.str.74, ptr noundef @.str.21, i32 noundef 342, ptr noundef %6811, ptr noundef %6814, ptr noundef %6817, i32 noundef %6819) #11
  br label %6821

6821:                                             ; preds = %6804, %6787
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %6822

6822:                                             ; preds = %6821
  br label %6823

6823:                                             ; preds = %6822
  call void @exit(i32 noundef 1) #13
  unreachable

6824:                                             ; No predecessors!
  br label %6825

6825:                                             ; preds = %6824
  br label %6826

6826:                                             ; preds = %6825, %6765
  br label %6827

6827:                                             ; preds = %6826
  br label %6828

6828:                                             ; preds = %6827
  br label %6829

6829:                                             ; preds = %6828
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = add nsw i32 %6830, 1
  store i32 %6831, ptr @test_count, align 4, !tbaa !5
  %6832 = call i32 @s2n_stuffer_growable_alloc(ptr noundef @input_stuffer, i32 noundef 0)
  %6833 = icmp eq i32 %6832, -1
  br i1 %6833, label %6834, label %6887

6834:                                             ; preds = %6829
  br label %6835

6835:                                             ; preds = %6834
  br label %6836

6836:                                             ; preds = %6835
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %6837 = call ptr @__errno_location() #12
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  store i32 %6838, ptr %158, align 4, !tbaa !5
  %6839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6840 = call i32 @s2n_print_stacktrace(ptr noundef %6839)
  %6841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6842 = trunc i8 %6841 to i1
  br i1 %6842, label %6843, label %6865

6843:                                             ; preds = %6836
  %6844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6845 = call i32 @fileno(ptr noundef %6844) #11
  %6846 = call i32 @isatty(i32 noundef %6845) #11
  %6847 = icmp ne i32 %6846, 0
  br i1 %6847, label %6848, label %6865

6848:                                             ; preds = %6843
  %6849 = load i32, ptr %158, align 4, !tbaa !5
  %6850 = call ptr @__errno_location() #12
  store i32 %6849, ptr %6850, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror(i32 noundef %6854, ptr noundef @.str.24)
  %6856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @s2n_strerror_debug(i32 noundef %6857, ptr noundef @.str.24)
  %6859 = call ptr @__errno_location() #12
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call ptr @strerror(i32 noundef %6860) #11
  %6862 = call ptr @__errno_location() #12
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  %6864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef @.str.22, i32 noundef %6852, ptr noundef @.str.75, ptr noundef @.str.21, i32 noundef 345, ptr noundef %6855, ptr noundef %6858, ptr noundef %6861, i32 noundef %6863) #11
  br label %6882

6865:                                             ; preds = %6843, %6836
  %6866 = load i32, ptr %158, align 4, !tbaa !5
  %6867 = call ptr @__errno_location() #12
  store i32 %6866, ptr %6867, align 4, !tbaa !5
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = load i32, ptr @test_count, align 4, !tbaa !5
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror(i32 noundef %6871, ptr noundef @.str.24)
  %6873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @s2n_strerror_debug(i32 noundef %6874, ptr noundef @.str.24)
  %6876 = call ptr @__errno_location() #12
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call ptr @strerror(i32 noundef %6877) #11
  %6879 = call ptr @__errno_location() #12
  %6880 = load i32, ptr %6879, align 4, !tbaa !5
  %6881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6868, ptr noundef @.str.25, i32 noundef %6869, ptr noundef @.str.75, ptr noundef @.str.21, i32 noundef 345, ptr noundef %6872, ptr noundef %6875, ptr noundef %6878, i32 noundef %6880) #11
  br label %6882

6882:                                             ; preds = %6865, %6848
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883
  call void @exit(i32 noundef 1) #13
  unreachable

6885:                                             ; No predecessors!
  br label %6886

6886:                                             ; preds = %6885
  br label %6887

6887:                                             ; preds = %6886, %6829
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888
  br label %6890

6890:                                             ; preds = %6889
  %6891 = load i32, ptr @test_count, align 4, !tbaa !5
  %6892 = add nsw i32 %6891, 1
  store i32 %6892, ptr @test_count, align 4, !tbaa !5
  %6893 = call i32 @s2n_stuffer_growable_alloc(ptr noundef @output_stuffer, i32 noundef 0)
  %6894 = icmp eq i32 %6893, -1
  br i1 %6894, label %6895, label %6948

6895:                                             ; preds = %6890
  br label %6896

6896:                                             ; preds = %6895
  br label %6897

6897:                                             ; preds = %6896
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %6898 = call ptr @__errno_location() #12
  %6899 = load i32, ptr %6898, align 4, !tbaa !5
  store i32 %6899, ptr %159, align 4, !tbaa !5
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = call i32 @s2n_print_stacktrace(ptr noundef %6900)
  %6902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6903 = trunc i8 %6902 to i1
  br i1 %6903, label %6904, label %6926

6904:                                             ; preds = %6897
  %6905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6906 = call i32 @fileno(ptr noundef %6905) #11
  %6907 = call i32 @isatty(i32 noundef %6906) #11
  %6908 = icmp ne i32 %6907, 0
  br i1 %6908, label %6909, label %6926

6909:                                             ; preds = %6904
  %6910 = load i32, ptr %159, align 4, !tbaa !5
  %6911 = call ptr @__errno_location() #12
  store i32 %6910, ptr %6911, align 4, !tbaa !5
  %6912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6913 = load i32, ptr @test_count, align 4, !tbaa !5
  %6914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6915 = load i32, ptr %6914, align 4, !tbaa !5
  %6916 = call ptr @s2n_strerror(i32 noundef %6915, ptr noundef @.str.24)
  %6917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call ptr @s2n_strerror_debug(i32 noundef %6918, ptr noundef @.str.24)
  %6920 = call ptr @__errno_location() #12
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call ptr @strerror(i32 noundef %6921) #11
  %6923 = call ptr @__errno_location() #12
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6912, ptr noundef @.str.22, i32 noundef %6913, ptr noundef @.str.76, ptr noundef @.str.21, i32 noundef 346, ptr noundef %6916, ptr noundef %6919, ptr noundef %6922, i32 noundef %6924) #11
  br label %6943

6926:                                             ; preds = %6904, %6897
  %6927 = load i32, ptr %159, align 4, !tbaa !5
  %6928 = call ptr @__errno_location() #12
  store i32 %6927, ptr %6928, align 4, !tbaa !5
  %6929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6930 = load i32, ptr @test_count, align 4, !tbaa !5
  %6931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6932 = load i32, ptr %6931, align 4, !tbaa !5
  %6933 = call ptr @s2n_strerror(i32 noundef %6932, ptr noundef @.str.24)
  %6934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror_debug(i32 noundef %6935, ptr noundef @.str.24)
  %6937 = call ptr @__errno_location() #12
  %6938 = load i32, ptr %6937, align 4, !tbaa !5
  %6939 = call ptr @strerror(i32 noundef %6938) #11
  %6940 = call ptr @__errno_location() #12
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6929, ptr noundef @.str.25, i32 noundef %6930, ptr noundef @.str.76, ptr noundef @.str.21, i32 noundef 346, ptr noundef %6933, ptr noundef %6936, ptr noundef %6939, i32 noundef %6941) #11
  br label %6943

6943:                                             ; preds = %6926, %6909
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %6944

6944:                                             ; preds = %6943
  br label %6945

6945:                                             ; preds = %6944
  call void @exit(i32 noundef 1) #13
  unreachable

6946:                                             ; No predecessors!
  br label %6947

6947:                                             ; preds = %6946
  br label %6948

6948:                                             ; preds = %6947, %6890
  br label %6949

6949:                                             ; preds = %6948
  br label %6950

6950:                                             ; preds = %6949
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  store ptr null, ptr %160, align 8, !tbaa !9
  br label %6951

6951:                                             ; preds = %6950
  %6952 = load i32, ptr @test_count, align 4, !tbaa !5
  %6953 = add nsw i32 %6952, 1
  store i32 %6953, ptr @test_count, align 4, !tbaa !5
  %6954 = call ptr @s2n_config_new()
  store ptr %6954, ptr %160, align 8, !tbaa !9
  %6955 = icmp eq ptr %6954, null
  br i1 %6955, label %6956, label %7009

6956:                                             ; preds = %6951
  br label %6957

6957:                                             ; preds = %6956
  br label %6958

6958:                                             ; preds = %6957
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %6959 = call ptr @__errno_location() #12
  %6960 = load i32, ptr %6959, align 4, !tbaa !5
  store i32 %6960, ptr %161, align 4, !tbaa !5
  %6961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6962 = call i32 @s2n_print_stacktrace(ptr noundef %6961)
  %6963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6964 = trunc i8 %6963 to i1
  br i1 %6964, label %6965, label %6987

6965:                                             ; preds = %6958
  %6966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6967 = call i32 @fileno(ptr noundef %6966) #11
  %6968 = call i32 @isatty(i32 noundef %6967) #11
  %6969 = icmp ne i32 %6968, 0
  br i1 %6969, label %6970, label %6987

6970:                                             ; preds = %6965
  %6971 = load i32, ptr %161, align 4, !tbaa !5
  %6972 = call ptr @__errno_location() #12
  store i32 %6971, ptr %6972, align 4, !tbaa !5
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6976 = load i32, ptr %6975, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror(i32 noundef %6976, ptr noundef @.str.24)
  %6978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6979 = load i32, ptr %6978, align 4, !tbaa !5
  %6980 = call ptr @s2n_strerror_debug(i32 noundef %6979, ptr noundef @.str.24)
  %6981 = call ptr @__errno_location() #12
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call ptr @strerror(i32 noundef %6982) #11
  %6984 = call ptr @__errno_location() #12
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6973, ptr noundef @.str.22, i32 noundef %6974, ptr noundef @.str.77, ptr noundef @.str.21, i32 noundef 350, ptr noundef %6977, ptr noundef %6980, ptr noundef %6983, i32 noundef %6985) #11
  br label %7004

6987:                                             ; preds = %6965, %6958
  %6988 = load i32, ptr %161, align 4, !tbaa !5
  %6989 = call ptr @__errno_location() #12
  store i32 %6988, ptr %6989, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = load i32, ptr @test_count, align 4, !tbaa !5
  %6992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6993 = load i32, ptr %6992, align 4, !tbaa !5
  %6994 = call ptr @s2n_strerror(i32 noundef %6993, ptr noundef @.str.24)
  %6995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6996 = load i32, ptr %6995, align 4, !tbaa !5
  %6997 = call ptr @s2n_strerror_debug(i32 noundef %6996, ptr noundef @.str.24)
  %6998 = call ptr @__errno_location() #12
  %6999 = load i32, ptr %6998, align 4, !tbaa !5
  %7000 = call ptr @strerror(i32 noundef %6999) #11
  %7001 = call ptr @__errno_location() #12
  %7002 = load i32, ptr %7001, align 4, !tbaa !5
  %7003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6990, ptr noundef @.str.25, i32 noundef %6991, ptr noundef @.str.77, ptr noundef @.str.21, i32 noundef 350, ptr noundef %6994, ptr noundef %6997, ptr noundef %7000, i32 noundef %7002) #11
  br label %7004

7004:                                             ; preds = %6987, %6970
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %7005

7005:                                             ; preds = %7004
  br label %7006

7006:                                             ; preds = %7005
  call void @exit(i32 noundef 1) #13
  unreachable

7007:                                             ; No predecessors!
  br label %7008

7008:                                             ; preds = %7007
  br label %7009

7009:                                             ; preds = %7008, %6951
  br label %7010

7010:                                             ; preds = %7009
  br label %7011

7011:                                             ; preds = %7010
  br label %7012

7012:                                             ; preds = %7011
  %7013 = load i32, ptr @test_count, align 4, !tbaa !5
  %7014 = add nsw i32 %7013, 1
  store i32 %7014, ptr @test_count, align 4, !tbaa !5
  %7015 = load ptr, ptr %160, align 8, !tbaa !9
  %7016 = call i32 @s2n_config_enable_quic(ptr noundef %7015)
  %7017 = icmp eq i32 %7016, -1
  br i1 %7017, label %7018, label %7071

7018:                                             ; preds = %7012
  br label %7019

7019:                                             ; preds = %7018
  br label %7020

7020:                                             ; preds = %7019
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7021 = call ptr @__errno_location() #12
  %7022 = load i32, ptr %7021, align 4, !tbaa !5
  store i32 %7022, ptr %162, align 4, !tbaa !5
  %7023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7024 = call i32 @s2n_print_stacktrace(ptr noundef %7023)
  %7025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7026 = trunc i8 %7025 to i1
  br i1 %7026, label %7027, label %7049

7027:                                             ; preds = %7020
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = call i32 @fileno(ptr noundef %7028) #11
  %7030 = call i32 @isatty(i32 noundef %7029) #11
  %7031 = icmp ne i32 %7030, 0
  br i1 %7031, label %7032, label %7049

7032:                                             ; preds = %7027
  %7033 = load i32, ptr %162, align 4, !tbaa !5
  %7034 = call ptr @__errno_location() #12
  store i32 %7033, ptr %7034, align 4, !tbaa !5
  %7035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7036 = load i32, ptr @test_count, align 4, !tbaa !5
  %7037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7038 = load i32, ptr %7037, align 4, !tbaa !5
  %7039 = call ptr @s2n_strerror(i32 noundef %7038, ptr noundef @.str.24)
  %7040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7041 = load i32, ptr %7040, align 4, !tbaa !5
  %7042 = call ptr @s2n_strerror_debug(i32 noundef %7041, ptr noundef @.str.24)
  %7043 = call ptr @__errno_location() #12
  %7044 = load i32, ptr %7043, align 4, !tbaa !5
  %7045 = call ptr @strerror(i32 noundef %7044) #11
  %7046 = call ptr @__errno_location() #12
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7035, ptr noundef @.str.22, i32 noundef %7036, ptr noundef @.str.78, ptr noundef @.str.21, i32 noundef 351, ptr noundef %7039, ptr noundef %7042, ptr noundef %7045, i32 noundef %7047) #11
  br label %7066

7049:                                             ; preds = %7027, %7020
  %7050 = load i32, ptr %162, align 4, !tbaa !5
  %7051 = call ptr @__errno_location() #12
  store i32 %7050, ptr %7051, align 4, !tbaa !5
  %7052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7053 = load i32, ptr @test_count, align 4, !tbaa !5
  %7054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  %7056 = call ptr @s2n_strerror(i32 noundef %7055, ptr noundef @.str.24)
  %7057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7058 = load i32, ptr %7057, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror_debug(i32 noundef %7058, ptr noundef @.str.24)
  %7060 = call ptr @__errno_location() #12
  %7061 = load i32, ptr %7060, align 4, !tbaa !5
  %7062 = call ptr @strerror(i32 noundef %7061) #11
  %7063 = call ptr @__errno_location() #12
  %7064 = load i32, ptr %7063, align 4, !tbaa !5
  %7065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7052, ptr noundef @.str.25, i32 noundef %7053, ptr noundef @.str.78, ptr noundef @.str.21, i32 noundef 351, ptr noundef %7056, ptr noundef %7059, ptr noundef %7062, i32 noundef %7064) #11
  br label %7066

7066:                                             ; preds = %7049, %7032
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7067

7067:                                             ; preds = %7066
  br label %7068

7068:                                             ; preds = %7067
  call void @exit(i32 noundef 1) #13
  unreachable

7069:                                             ; No predecessors!
  br label %7070

7070:                                             ; preds = %7069
  br label %7071

7071:                                             ; preds = %7070, %7012
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #11
  store ptr null, ptr %163, align 8, !tbaa !9
  br label %7074

7074:                                             ; preds = %7073
  %7075 = load i32, ptr @test_count, align 4, !tbaa !5
  %7076 = add nsw i32 %7075, 1
  store i32 %7076, ptr @test_count, align 4, !tbaa !5
  %7077 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7077, ptr %163, align 8, !tbaa !9
  %7078 = icmp eq ptr %7077, null
  br i1 %7078, label %7079, label %7132

7079:                                             ; preds = %7074
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

7081:                                             ; preds = %7080
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %7082 = call ptr @__errno_location() #12
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  store i32 %7083, ptr %164, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = call i32 @s2n_print_stacktrace(ptr noundef %7084)
  %7086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7087 = trunc i8 %7086 to i1
  br i1 %7087, label %7088, label %7110

7088:                                             ; preds = %7081
  %7089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7090 = call i32 @fileno(ptr noundef %7089) #11
  %7091 = call i32 @isatty(i32 noundef %7090) #11
  %7092 = icmp ne i32 %7091, 0
  br i1 %7092, label %7093, label %7110

7093:                                             ; preds = %7088
  %7094 = load i32, ptr %164, align 4, !tbaa !5
  %7095 = call ptr @__errno_location() #12
  store i32 %7094, ptr %7095, align 4, !tbaa !5
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7099 = load i32, ptr %7098, align 4, !tbaa !5
  %7100 = call ptr @s2n_strerror(i32 noundef %7099, ptr noundef @.str.24)
  %7101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7102 = load i32, ptr %7101, align 4, !tbaa !5
  %7103 = call ptr @s2n_strerror_debug(i32 noundef %7102, ptr noundef @.str.24)
  %7104 = call ptr @__errno_location() #12
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @strerror(i32 noundef %7105) #11
  %7107 = call ptr @__errno_location() #12
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7096, ptr noundef @.str.22, i32 noundef %7097, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 356, ptr noundef %7100, ptr noundef %7103, ptr noundef %7106, i32 noundef %7108) #11
  br label %7127

7110:                                             ; preds = %7088, %7081
  %7111 = load i32, ptr %164, align 4, !tbaa !5
  %7112 = call ptr @__errno_location() #12
  store i32 %7111, ptr %7112, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = load i32, ptr @test_count, align 4, !tbaa !5
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror(i32 noundef %7116, ptr noundef @.str.24)
  %7118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @s2n_strerror_debug(i32 noundef %7119, ptr noundef @.str.24)
  %7121 = call ptr @__errno_location() #12
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call ptr @strerror(i32 noundef %7122) #11
  %7124 = call ptr @__errno_location() #12
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7113, ptr noundef @.str.25, i32 noundef %7114, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 356, ptr noundef %7117, ptr noundef %7120, ptr noundef %7123, i32 noundef %7125) #11
  br label %7127

7127:                                             ; preds = %7110, %7093
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %7128

7128:                                             ; preds = %7127
  br label %7129

7129:                                             ; preds = %7128
  call void @exit(i32 noundef 1) #13
  unreachable

7130:                                             ; No predecessors!
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131, %7074
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

7135:                                             ; preds = %7134
  %7136 = load i32, ptr @test_count, align 4, !tbaa !5
  %7137 = add nsw i32 %7136, 1
  store i32 %7137, ptr @test_count, align 4, !tbaa !5
  %7138 = load ptr, ptr %163, align 8, !tbaa !9
  %7139 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef %7138)
  %7140 = getelementptr inbounds %struct.s2n_result, ptr %165, i32 0, i32 0
  store i32 %7139, ptr %7140, align 4
  %7141 = getelementptr inbounds %struct.s2n_result, ptr %165, i32 0, i32 0
  %7142 = load i32, ptr %7141, align 4
  %7143 = call zeroext i1 @s2n_result_is_ok(i32 %7142)
  br i1 %7143, label %7197, label %7144

7144:                                             ; preds = %7135
  br label %7145

7145:                                             ; preds = %7144
  br label %7146

7146:                                             ; preds = %7145
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7147 = call ptr @__errno_location() #12
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  store i32 %7148, ptr %166, align 4, !tbaa !5
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @s2n_print_stacktrace(ptr noundef %7149)
  %7151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7152 = trunc i8 %7151 to i1
  br i1 %7152, label %7153, label %7175

7153:                                             ; preds = %7146
  %7154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7155 = call i32 @fileno(ptr noundef %7154) #11
  %7156 = call i32 @isatty(i32 noundef %7155) #11
  %7157 = icmp ne i32 %7156, 0
  br i1 %7157, label %7158, label %7175

7158:                                             ; preds = %7153
  %7159 = load i32, ptr %166, align 4, !tbaa !5
  %7160 = call ptr @__errno_location() #12
  store i32 %7159, ptr %7160, align 4, !tbaa !5
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = load i32, ptr @test_count, align 4, !tbaa !5
  %7163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = call ptr @s2n_strerror(i32 noundef %7164, ptr noundef @.str.24)
  %7166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call ptr @s2n_strerror_debug(i32 noundef %7167, ptr noundef @.str.24)
  %7169 = call ptr @__errno_location() #12
  %7170 = load i32, ptr %7169, align 4, !tbaa !5
  %7171 = call ptr @strerror(i32 noundef %7170) #11
  %7172 = call ptr @__errno_location() #12
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  %7174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7161, ptr noundef @.str.22, i32 noundef %7162, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 357, ptr noundef %7165, ptr noundef %7168, ptr noundef %7171, i32 noundef %7173) #11
  br label %7192

7175:                                             ; preds = %7153, %7146
  %7176 = load i32, ptr %166, align 4, !tbaa !5
  %7177 = call ptr @__errno_location() #12
  store i32 %7176, ptr %7177, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = load i32, ptr @test_count, align 4, !tbaa !5
  %7180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  %7182 = call ptr @s2n_strerror(i32 noundef %7181, ptr noundef @.str.24)
  %7183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call ptr @s2n_strerror_debug(i32 noundef %7184, ptr noundef @.str.24)
  %7186 = call ptr @__errno_location() #12
  %7187 = load i32, ptr %7186, align 4, !tbaa !5
  %7188 = call ptr @strerror(i32 noundef %7187) #11
  %7189 = call ptr @__errno_location() #12
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7178, ptr noundef @.str.25, i32 noundef %7179, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 357, ptr noundef %7182, ptr noundef %7185, ptr noundef %7188, i32 noundef %7190) #11
  br label %7192

7192:                                             ; preds = %7175, %7158
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7193

7193:                                             ; preds = %7192
  br label %7194

7194:                                             ; preds = %7193
  call void @exit(i32 noundef 1) #13
  unreachable

7195:                                             ; No predecessors!
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

7197:                                             ; preds = %7196, %7135
  br label %7198

7198:                                             ; preds = %7197
  br label %7199

7199:                                             ; preds = %7198
  br label %7200

7200:                                             ; preds = %7199
  %7201 = load i32, ptr @test_count, align 4, !tbaa !5
  %7202 = add nsw i32 %7201, 1
  store i32 %7202, ptr @test_count, align 4, !tbaa !5
  %7203 = load ptr, ptr %163, align 8, !tbaa !9
  %7204 = load ptr, ptr %160, align 8, !tbaa !9
  %7205 = call i32 @s2n_connection_set_config(ptr noundef %7203, ptr noundef %7204)
  %7206 = icmp eq i32 %7205, -1
  br i1 %7206, label %7207, label %7260

7207:                                             ; preds = %7200
  br label %7208

7208:                                             ; preds = %7207
  br label %7209

7209:                                             ; preds = %7208
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %7210 = call ptr @__errno_location() #12
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  store i32 %7211, ptr %167, align 4, !tbaa !5
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @s2n_print_stacktrace(ptr noundef %7212)
  %7214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7215 = trunc i8 %7214 to i1
  br i1 %7215, label %7216, label %7238

7216:                                             ; preds = %7209
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = call i32 @fileno(ptr noundef %7217) #11
  %7219 = call i32 @isatty(i32 noundef %7218) #11
  %7220 = icmp ne i32 %7219, 0
  br i1 %7220, label %7221, label %7238

7221:                                             ; preds = %7216
  %7222 = load i32, ptr %167, align 4, !tbaa !5
  %7223 = call ptr @__errno_location() #12
  store i32 %7222, ptr %7223, align 4, !tbaa !5
  %7224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7225 = load i32, ptr @test_count, align 4, !tbaa !5
  %7226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call ptr @s2n_strerror(i32 noundef %7227, ptr noundef @.str.24)
  %7229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call ptr @s2n_strerror_debug(i32 noundef %7230, ptr noundef @.str.24)
  %7232 = call ptr @__errno_location() #12
  %7233 = load i32, ptr %7232, align 4, !tbaa !5
  %7234 = call ptr @strerror(i32 noundef %7233) #11
  %7235 = call ptr @__errno_location() #12
  %7236 = load i32, ptr %7235, align 4, !tbaa !5
  %7237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7224, ptr noundef @.str.22, i32 noundef %7225, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 358, ptr noundef %7228, ptr noundef %7231, ptr noundef %7234, i32 noundef %7236) #11
  br label %7255

7238:                                             ; preds = %7216, %7209
  %7239 = load i32, ptr %167, align 4, !tbaa !5
  %7240 = call ptr @__errno_location() #12
  store i32 %7239, ptr %7240, align 4, !tbaa !5
  %7241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7242 = load i32, ptr @test_count, align 4, !tbaa !5
  %7243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @s2n_strerror(i32 noundef %7244, ptr noundef @.str.24)
  %7246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror_debug(i32 noundef %7247, ptr noundef @.str.24)
  %7249 = call ptr @__errno_location() #12
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call ptr @strerror(i32 noundef %7250) #11
  %7252 = call ptr @__errno_location() #12
  %7253 = load i32, ptr %7252, align 4, !tbaa !5
  %7254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7241, ptr noundef @.str.25, i32 noundef %7242, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 358, ptr noundef %7245, ptr noundef %7248, ptr noundef %7251, i32 noundef %7253) #11
  br label %7255

7255:                                             ; preds = %7238, %7221
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %7256

7256:                                             ; preds = %7255
  br label %7257

7257:                                             ; preds = %7256
  call void @exit(i32 noundef 1) #13
  unreachable

7258:                                             ; No predecessors!
  br label %7259

7259:                                             ; preds = %7258
  br label %7260

7260:                                             ; preds = %7259, %7200
  br label %7261

7261:                                             ; preds = %7260
  br label %7262

7262:                                             ; preds = %7261
  br label %7263

7263:                                             ; preds = %7262
  %7264 = load i32, ptr @test_count, align 4, !tbaa !5
  %7265 = add nsw i32 %7264, 1
  store i32 %7265, ptr @test_count, align 4, !tbaa !5
  %7266 = call i32 @s2n_stuffer_write(ptr noundef @input_stuffer, ptr noundef %155)
  %7267 = icmp eq i32 %7266, -1
  br i1 %7267, label %7268, label %7321

7268:                                             ; preds = %7263
  br label %7269

7269:                                             ; preds = %7268
  br label %7270

7270:                                             ; preds = %7269
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7271 = call ptr @__errno_location() #12
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  store i32 %7272, ptr %168, align 4, !tbaa !5
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = call i32 @s2n_print_stacktrace(ptr noundef %7273)
  %7275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7276 = trunc i8 %7275 to i1
  br i1 %7276, label %7277, label %7299

7277:                                             ; preds = %7270
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = call i32 @fileno(ptr noundef %7278) #11
  %7280 = call i32 @isatty(i32 noundef %7279) #11
  %7281 = icmp ne i32 %7280, 0
  br i1 %7281, label %7282, label %7299

7282:                                             ; preds = %7277
  %7283 = load i32, ptr %168, align 4, !tbaa !5
  %7284 = call ptr @__errno_location() #12
  store i32 %7283, ptr %7284, align 4, !tbaa !5
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = load i32, ptr @test_count, align 4, !tbaa !5
  %7287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror(i32 noundef %7288, ptr noundef @.str.24)
  %7290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @s2n_strerror_debug(i32 noundef %7291, ptr noundef @.str.24)
  %7293 = call ptr @__errno_location() #12
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call ptr @strerror(i32 noundef %7294) #11
  %7296 = call ptr @__errno_location() #12
  %7297 = load i32, ptr %7296, align 4, !tbaa !5
  %7298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7285, ptr noundef @.str.22, i32 noundef %7286, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 360, ptr noundef %7289, ptr noundef %7292, ptr noundef %7295, i32 noundef %7297) #11
  br label %7316

7299:                                             ; preds = %7277, %7270
  %7300 = load i32, ptr %168, align 4, !tbaa !5
  %7301 = call ptr @__errno_location() #12
  store i32 %7300, ptr %7301, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = load i32, ptr @test_count, align 4, !tbaa !5
  %7304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror(i32 noundef %7305, ptr noundef @.str.24)
  %7307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call ptr @s2n_strerror_debug(i32 noundef %7308, ptr noundef @.str.24)
  %7310 = call ptr @__errno_location() #12
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call ptr @strerror(i32 noundef %7311) #11
  %7313 = call ptr @__errno_location() #12
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  %7315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7302, ptr noundef @.str.25, i32 noundef %7303, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 360, ptr noundef %7306, ptr noundef %7309, ptr noundef %7312, i32 noundef %7314) #11
  br label %7316

7316:                                             ; preds = %7299, %7282
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7317

7317:                                             ; preds = %7316
  br label %7318

7318:                                             ; preds = %7317
  call void @exit(i32 noundef 1) #13
  unreachable

7319:                                             ; No predecessors!
  br label %7320

7320:                                             ; preds = %7319
  br label %7321

7321:                                             ; preds = %7320, %7263
  br label %7322

7322:                                             ; preds = %7321
  br label %7323

7323:                                             ; preds = %7322
  br label %7324

7324:                                             ; preds = %7323
  br label %7325

7325:                                             ; preds = %7324
  br label %7326

7326:                                             ; preds = %7325
  %7327 = load i32, ptr @test_count, align 4, !tbaa !5
  %7328 = add nsw i32 %7327, 1
  store i32 %7328, ptr @test_count, align 4, !tbaa !5
  %7329 = load ptr, ptr %163, align 8, !tbaa !9
  %7330 = call i32 @s2n_negotiate(ptr noundef %7329, ptr noundef %153)
  %7331 = icmp eq i32 %7330, -1
  br i1 %7331, label %7385, label %7332

7332:                                             ; preds = %7326
  br label %7333

7333:                                             ; preds = %7332
  br label %7334

7334:                                             ; preds = %7333
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7335 = call ptr @__errno_location() #12
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  store i32 %7336, ptr %169, align 4, !tbaa !5
  %7337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7338 = call i32 @s2n_print_stacktrace(ptr noundef %7337)
  %7339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7340 = trunc i8 %7339 to i1
  br i1 %7340, label %7341, label %7363

7341:                                             ; preds = %7334
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = call i32 @fileno(ptr noundef %7342) #11
  %7344 = call i32 @isatty(i32 noundef %7343) #11
  %7345 = icmp ne i32 %7344, 0
  br i1 %7345, label %7346, label %7363

7346:                                             ; preds = %7341
  %7347 = load i32, ptr %169, align 4, !tbaa !5
  %7348 = call ptr @__errno_location() #12
  store i32 %7347, ptr %7348, align 4, !tbaa !5
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = load i32, ptr @test_count, align 4, !tbaa !5
  %7351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7352 = load i32, ptr %7351, align 4, !tbaa !5
  %7353 = call ptr @s2n_strerror(i32 noundef %7352, ptr noundef @.str.24)
  %7354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call ptr @s2n_strerror_debug(i32 noundef %7355, ptr noundef @.str.24)
  %7357 = call ptr @__errno_location() #12
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  %7359 = call ptr @strerror(i32 noundef %7358) #11
  %7360 = call ptr @__errno_location() #12
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7349, ptr noundef @.str.22, i32 noundef %7350, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7353, ptr noundef %7356, ptr noundef %7359, i32 noundef %7361) #11
  br label %7380

7363:                                             ; preds = %7341, %7334
  %7364 = load i32, ptr %169, align 4, !tbaa !5
  %7365 = call ptr @__errno_location() #12
  store i32 %7364, ptr %7365, align 4, !tbaa !5
  %7366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7367 = load i32, ptr @test_count, align 4, !tbaa !5
  %7368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7369 = load i32, ptr %7368, align 4, !tbaa !5
  %7370 = call ptr @s2n_strerror(i32 noundef %7369, ptr noundef @.str.24)
  %7371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call ptr @s2n_strerror_debug(i32 noundef %7372, ptr noundef @.str.24)
  %7374 = call ptr @__errno_location() #12
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  %7376 = call ptr @strerror(i32 noundef %7375) #11
  %7377 = call ptr @__errno_location() #12
  %7378 = load i32, ptr %7377, align 4, !tbaa !5
  %7379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7366, ptr noundef @.str.25, i32 noundef %7367, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7370, ptr noundef %7373, ptr noundef %7376, i32 noundef %7378) #11
  br label %7380

7380:                                             ; preds = %7363, %7346
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7381

7381:                                             ; preds = %7380
  br label %7382

7382:                                             ; preds = %7381
  call void @exit(i32 noundef 1) #13
  unreachable

7383:                                             ; No predecessors!
  br label %7384

7384:                                             ; preds = %7383
  br label %7385

7385:                                             ; preds = %7384, %7326
  br label %7386

7386:                                             ; preds = %7385
  br label %7387

7387:                                             ; preds = %7386
  br label %7388

7388:                                             ; preds = %7387
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = add nsw i32 %7389, 1
  store i32 %7390, ptr @test_count, align 4, !tbaa !5
  %7391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = icmp eq i32 %7392, 201326592
  br i1 %7393, label %7447, label %7394

7394:                                             ; preds = %7388
  br label %7395

7395:                                             ; preds = %7394
  br label %7396

7396:                                             ; preds = %7395
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %7397 = call ptr @__errno_location() #12
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  store i32 %7398, ptr %170, align 4, !tbaa !5
  %7399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7400 = call i32 @s2n_print_stacktrace(ptr noundef %7399)
  %7401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7402 = trunc i8 %7401 to i1
  br i1 %7402, label %7403, label %7425

7403:                                             ; preds = %7396
  %7404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7405 = call i32 @fileno(ptr noundef %7404) #11
  %7406 = call i32 @isatty(i32 noundef %7405) #11
  %7407 = icmp ne i32 %7406, 0
  br i1 %7407, label %7408, label %7425

7408:                                             ; preds = %7403
  %7409 = load i32, ptr %170, align 4, !tbaa !5
  %7410 = call ptr @__errno_location() #12
  store i32 %7409, ptr %7410, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @s2n_strerror(i32 noundef %7414, ptr noundef @.str.24)
  %7416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call ptr @s2n_strerror_debug(i32 noundef %7417, ptr noundef @.str.24)
  %7419 = call ptr @__errno_location() #12
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @strerror(i32 noundef %7420) #11
  %7422 = call ptr @__errno_location() #12
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7411, ptr noundef @.str.22, i32 noundef %7412, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7415, ptr noundef %7418, ptr noundef %7421, i32 noundef %7423) #11
  br label %7442

7425:                                             ; preds = %7403, %7396
  %7426 = load i32, ptr %170, align 4, !tbaa !5
  %7427 = call ptr @__errno_location() #12
  store i32 %7426, ptr %7427, align 4, !tbaa !5
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = load i32, ptr @test_count, align 4, !tbaa !5
  %7430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror(i32 noundef %7431, ptr noundef @.str.24)
  %7433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror_debug(i32 noundef %7434, ptr noundef @.str.24)
  %7436 = call ptr @__errno_location() #12
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call ptr @strerror(i32 noundef %7437) #11
  %7439 = call ptr @__errno_location() #12
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  %7441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7428, ptr noundef @.str.25, i32 noundef %7429, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7432, ptr noundef %7435, ptr noundef %7438, i32 noundef %7440) #11
  br label %7442

7442:                                             ; preds = %7425, %7408
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %7443

7443:                                             ; preds = %7442
  br label %7444

7444:                                             ; preds = %7443
  call void @exit(i32 noundef 1) #13
  unreachable

7445:                                             ; No predecessors!
  br label %7446

7446:                                             ; preds = %7445
  br label %7447

7447:                                             ; preds = %7446, %7388
  br label %7448

7448:                                             ; preds = %7447
  br label %7449

7449:                                             ; preds = %7448
  br label %7450

7450:                                             ; preds = %7449
  %7451 = load i32, ptr @test_count, align 4, !tbaa !5
  %7452 = add nsw i32 %7451, 1
  store i32 %7452, ptr @test_count, align 4, !tbaa !5
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror_debug(i32 noundef %7454, ptr noundef @.str.24)
  %7456 = icmp eq ptr %7455, null
  br i1 %7456, label %7457, label %7510

7457:                                             ; preds = %7450
  br label %7458

7458:                                             ; preds = %7457
  br label %7459

7459:                                             ; preds = %7458
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %7460 = call ptr @__errno_location() #12
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  store i32 %7461, ptr %171, align 4, !tbaa !5
  %7462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7463 = call i32 @s2n_print_stacktrace(ptr noundef %7462)
  %7464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7465 = trunc i8 %7464 to i1
  br i1 %7465, label %7466, label %7488

7466:                                             ; preds = %7459
  %7467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7468 = call i32 @fileno(ptr noundef %7467) #11
  %7469 = call i32 @isatty(i32 noundef %7468) #11
  %7470 = icmp ne i32 %7469, 0
  br i1 %7470, label %7471, label %7488

7471:                                             ; preds = %7466
  %7472 = load i32, ptr %171, align 4, !tbaa !5
  %7473 = call ptr @__errno_location() #12
  store i32 %7472, ptr %7473, align 4, !tbaa !5
  %7474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7475 = load i32, ptr @test_count, align 4, !tbaa !5
  %7476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @s2n_strerror(i32 noundef %7477, ptr noundef @.str.24)
  %7479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call ptr @s2n_strerror_debug(i32 noundef %7480, ptr noundef @.str.24)
  %7482 = call ptr @__errno_location() #12
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  %7484 = call ptr @strerror(i32 noundef %7483) #11
  %7485 = call ptr @__errno_location() #12
  %7486 = load i32, ptr %7485, align 4, !tbaa !5
  %7487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7474, ptr noundef @.str.22, i32 noundef %7475, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7478, ptr noundef %7481, ptr noundef %7484, i32 noundef %7486) #11
  br label %7505

7488:                                             ; preds = %7466, %7459
  %7489 = load i32, ptr %171, align 4, !tbaa !5
  %7490 = call ptr @__errno_location() #12
  store i32 %7489, ptr %7490, align 4, !tbaa !5
  %7491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7492 = load i32, ptr @test_count, align 4, !tbaa !5
  %7493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call ptr @s2n_strerror(i32 noundef %7494, ptr noundef @.str.24)
  %7496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  %7498 = call ptr @s2n_strerror_debug(i32 noundef %7497, ptr noundef @.str.24)
  %7499 = call ptr @__errno_location() #12
  %7500 = load i32, ptr %7499, align 4, !tbaa !5
  %7501 = call ptr @strerror(i32 noundef %7500) #11
  %7502 = call ptr @__errno_location() #12
  %7503 = load i32, ptr %7502, align 4, !tbaa !5
  %7504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7491, ptr noundef @.str.25, i32 noundef %7492, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 361, ptr noundef %7495, ptr noundef %7498, ptr noundef %7501, i32 noundef %7503) #11
  br label %7505

7505:                                             ; preds = %7488, %7471
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %7506

7506:                                             ; preds = %7505
  br label %7507

7507:                                             ; preds = %7506
  call void @exit(i32 noundef 1) #13
  unreachable

7508:                                             ; No predecessors!
  br label %7509

7509:                                             ; preds = %7508
  br label %7510

7510:                                             ; preds = %7509, %7450
  br label %7511

7511:                                             ; preds = %7510
  br label %7512

7512:                                             ; preds = %7511
  br label %7513

7513:                                             ; preds = %7512
  br label %7514

7514:                                             ; preds = %7513
  br label %7515

7515:                                             ; preds = %7514
  %7516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7516, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7517 = call ptr @__errno_location() #12
  store i32 0, ptr %7517, align 4, !tbaa !5
  br label %7518

7518:                                             ; preds = %7515
  br label %7519

7519:                                             ; preds = %7518
  br label %7520

7520:                                             ; preds = %7519
  br label %7521

7521:                                             ; preds = %7520
  br label %7522

7522:                                             ; preds = %7521
  %7523 = load i32, ptr @test_count, align 4, !tbaa !5
  %7524 = add nsw i32 %7523, 1
  store i32 %7524, ptr @test_count, align 4, !tbaa !5
  %7525 = load ptr, ptr %163, align 8, !tbaa !9
  %7526 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7525)
  %7527 = icmp eq i32 %7526, 16
  br i1 %7527, label %7581, label %7528

7528:                                             ; preds = %7522
  br label %7529

7529:                                             ; preds = %7528
  br label %7530

7530:                                             ; preds = %7529
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %7531 = call ptr @__errno_location() #12
  %7532 = load i32, ptr %7531, align 4, !tbaa !5
  store i32 %7532, ptr %172, align 4, !tbaa !5
  %7533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7534 = call i32 @s2n_print_stacktrace(ptr noundef %7533)
  %7535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7536 = trunc i8 %7535 to i1
  br i1 %7536, label %7537, label %7559

7537:                                             ; preds = %7530
  %7538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7539 = call i32 @fileno(ptr noundef %7538) #11
  %7540 = call i32 @isatty(i32 noundef %7539) #11
  %7541 = icmp ne i32 %7540, 0
  br i1 %7541, label %7542, label %7559

7542:                                             ; preds = %7537
  %7543 = load i32, ptr %172, align 4, !tbaa !5
  %7544 = call ptr @__errno_location() #12
  store i32 %7543, ptr %7544, align 4, !tbaa !5
  %7545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7546 = load i32, ptr @test_count, align 4, !tbaa !5
  %7547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror(i32 noundef %7548, ptr noundef @.str.24)
  %7550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @s2n_strerror_debug(i32 noundef %7551, ptr noundef @.str.24)
  %7553 = call ptr @__errno_location() #12
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call ptr @strerror(i32 noundef %7554) #11
  %7556 = call ptr @__errno_location() #12
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7545, ptr noundef @.str.22, i32 noundef %7546, ptr noundef @.str.83, ptr noundef @.str.21, i32 noundef 363, ptr noundef %7549, ptr noundef %7552, ptr noundef %7555, i32 noundef %7557) #11
  br label %7576

7559:                                             ; preds = %7537, %7530
  %7560 = load i32, ptr %172, align 4, !tbaa !5
  %7561 = call ptr @__errno_location() #12
  store i32 %7560, ptr %7561, align 4, !tbaa !5
  %7562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7563 = load i32, ptr @test_count, align 4, !tbaa !5
  %7564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7565 = load i32, ptr %7564, align 4, !tbaa !5
  %7566 = call ptr @s2n_strerror(i32 noundef %7565, ptr noundef @.str.24)
  %7567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  %7569 = call ptr @s2n_strerror_debug(i32 noundef %7568, ptr noundef @.str.24)
  %7570 = call ptr @__errno_location() #12
  %7571 = load i32, ptr %7570, align 4, !tbaa !5
  %7572 = call ptr @strerror(i32 noundef %7571) #11
  %7573 = call ptr @__errno_location() #12
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7562, ptr noundef @.str.25, i32 noundef %7563, ptr noundef @.str.83, ptr noundef @.str.21, i32 noundef 363, ptr noundef %7566, ptr noundef %7569, ptr noundef %7572, i32 noundef %7574) #11
  br label %7576

7576:                                             ; preds = %7559, %7542
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %7577

7577:                                             ; preds = %7576
  br label %7578

7578:                                             ; preds = %7577
  call void @exit(i32 noundef 1) #13
  unreachable

7579:                                             ; No predecessors!
  br label %7580

7580:                                             ; preds = %7579
  br label %7581

7581:                                             ; preds = %7580, %7522
  br label %7582

7582:                                             ; preds = %7581
  br label %7583

7583:                                             ; preds = %7582
  br label %7584

7584:                                             ; preds = %7583
  %7585 = load i32, ptr @test_count, align 4, !tbaa !5
  %7586 = add nsw i32 %7585, 1
  store i32 %7586, ptr @test_count, align 4, !tbaa !5
  %7587 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %7588 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %7589 = sub i32 %7587, %7588
  %7590 = icmp eq i32 %7589, 0
  br i1 %7590, label %7644, label %7591

7591:                                             ; preds = %7584
  br label %7592

7592:                                             ; preds = %7591
  br label %7593

7593:                                             ; preds = %7592
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %7594 = call ptr @__errno_location() #12
  %7595 = load i32, ptr %7594, align 4, !tbaa !5
  store i32 %7595, ptr %173, align 4, !tbaa !5
  %7596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7597 = call i32 @s2n_print_stacktrace(ptr noundef %7596)
  %7598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7599 = trunc i8 %7598 to i1
  br i1 %7599, label %7600, label %7622

7600:                                             ; preds = %7593
  %7601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7602 = call i32 @fileno(ptr noundef %7601) #11
  %7603 = call i32 @isatty(i32 noundef %7602) #11
  %7604 = icmp ne i32 %7603, 0
  br i1 %7604, label %7605, label %7622

7605:                                             ; preds = %7600
  %7606 = load i32, ptr %173, align 4, !tbaa !5
  %7607 = call ptr @__errno_location() #12
  store i32 %7606, ptr %7607, align 4, !tbaa !5
  %7608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7609 = load i32, ptr @test_count, align 4, !tbaa !5
  %7610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7611 = load i32, ptr %7610, align 4, !tbaa !5
  %7612 = call ptr @s2n_strerror(i32 noundef %7611, ptr noundef @.str.24)
  %7613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7614 = load i32, ptr %7613, align 4, !tbaa !5
  %7615 = call ptr @s2n_strerror_debug(i32 noundef %7614, ptr noundef @.str.24)
  %7616 = call ptr @__errno_location() #12
  %7617 = load i32, ptr %7616, align 4, !tbaa !5
  %7618 = call ptr @strerror(i32 noundef %7617) #11
  %7619 = call ptr @__errno_location() #12
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7608, ptr noundef @.str.22, i32 noundef %7609, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 364, ptr noundef %7612, ptr noundef %7615, ptr noundef %7618, i32 noundef %7620) #11
  br label %7639

7622:                                             ; preds = %7600, %7593
  %7623 = load i32, ptr %173, align 4, !tbaa !5
  %7624 = call ptr @__errno_location() #12
  store i32 %7623, ptr %7624, align 4, !tbaa !5
  %7625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7626 = load i32, ptr @test_count, align 4, !tbaa !5
  %7627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call ptr @s2n_strerror(i32 noundef %7628, ptr noundef @.str.24)
  %7630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  %7632 = call ptr @s2n_strerror_debug(i32 noundef %7631, ptr noundef @.str.24)
  %7633 = call ptr @__errno_location() #12
  %7634 = load i32, ptr %7633, align 4, !tbaa !5
  %7635 = call ptr @strerror(i32 noundef %7634) #11
  %7636 = call ptr @__errno_location() #12
  %7637 = load i32, ptr %7636, align 4, !tbaa !5
  %7638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7625, ptr noundef @.str.25, i32 noundef %7626, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 364, ptr noundef %7629, ptr noundef %7632, ptr noundef %7635, i32 noundef %7637) #11
  br label %7639

7639:                                             ; preds = %7622, %7605
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %7640

7640:                                             ; preds = %7639
  br label %7641

7641:                                             ; preds = %7640
  call void @exit(i32 noundef 1) #13
  unreachable

7642:                                             ; No predecessors!
  br label %7643

7643:                                             ; preds = %7642
  br label %7644

7644:                                             ; preds = %7643, %7584
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645
  br label %7647

7647:                                             ; preds = %7646
  %7648 = load i32, ptr @test_count, align 4, !tbaa !5
  %7649 = add nsw i32 %7648, 1
  store i32 %7649, ptr @test_count, align 4, !tbaa !5
  %7650 = load ptr, ptr %163, align 8, !tbaa !9
  %7651 = call i32 @s2n_connection_free(ptr noundef %7650)
  %7652 = icmp eq i32 %7651, -1
  br i1 %7652, label %7653, label %7706

7653:                                             ; preds = %7647
  br label %7654

7654:                                             ; preds = %7653
  br label %7655

7655:                                             ; preds = %7654
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %7656 = call ptr @__errno_location() #12
  %7657 = load i32, ptr %7656, align 4, !tbaa !5
  store i32 %7657, ptr %174, align 4, !tbaa !5
  %7658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7659 = call i32 @s2n_print_stacktrace(ptr noundef %7658)
  %7660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7661 = trunc i8 %7660 to i1
  br i1 %7661, label %7662, label %7684

7662:                                             ; preds = %7655
  %7663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7664 = call i32 @fileno(ptr noundef %7663) #11
  %7665 = call i32 @isatty(i32 noundef %7664) #11
  %7666 = icmp ne i32 %7665, 0
  br i1 %7666, label %7667, label %7684

7667:                                             ; preds = %7662
  %7668 = load i32, ptr %174, align 4, !tbaa !5
  %7669 = call ptr @__errno_location() #12
  store i32 %7668, ptr %7669, align 4, !tbaa !5
  %7670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7671 = load i32, ptr @test_count, align 4, !tbaa !5
  %7672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call ptr @s2n_strerror(i32 noundef %7673, ptr noundef @.str.24)
  %7675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7676 = load i32, ptr %7675, align 4, !tbaa !5
  %7677 = call ptr @s2n_strerror_debug(i32 noundef %7676, ptr noundef @.str.24)
  %7678 = call ptr @__errno_location() #12
  %7679 = load i32, ptr %7678, align 4, !tbaa !5
  %7680 = call ptr @strerror(i32 noundef %7679) #11
  %7681 = call ptr @__errno_location() #12
  %7682 = load i32, ptr %7681, align 4, !tbaa !5
  %7683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7670, ptr noundef @.str.22, i32 noundef %7671, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 366, ptr noundef %7674, ptr noundef %7677, ptr noundef %7680, i32 noundef %7682) #11
  br label %7701

7684:                                             ; preds = %7662, %7655
  %7685 = load i32, ptr %174, align 4, !tbaa !5
  %7686 = call ptr @__errno_location() #12
  store i32 %7685, ptr %7686, align 4, !tbaa !5
  %7687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7688 = load i32, ptr @test_count, align 4, !tbaa !5
  %7689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call ptr @s2n_strerror(i32 noundef %7690, ptr noundef @.str.24)
  %7692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  %7694 = call ptr @s2n_strerror_debug(i32 noundef %7693, ptr noundef @.str.24)
  %7695 = call ptr @__errno_location() #12
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call ptr @strerror(i32 noundef %7696) #11
  %7698 = call ptr @__errno_location() #12
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7687, ptr noundef @.str.25, i32 noundef %7688, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 366, ptr noundef %7691, ptr noundef %7694, ptr noundef %7697, i32 noundef %7699) #11
  br label %7701

7701:                                             ; preds = %7684, %7667
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %7702

7702:                                             ; preds = %7701
  br label %7703

7703:                                             ; preds = %7702
  call void @exit(i32 noundef 1) #13
  unreachable

7704:                                             ; No predecessors!
  br label %7705

7705:                                             ; preds = %7704
  br label %7706

7706:                                             ; preds = %7705, %7647
  br label %7707

7707:                                             ; preds = %7706
  br label %7708

7708:                                             ; preds = %7707
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #11
  store i64 1, ptr %175, align 8, !tbaa !48
  br label %7709

7709:                                             ; preds = %8751, %7708
  %7710 = load i64, ptr %175, align 8, !tbaa !48
  %7711 = getelementptr inbounds %struct.s2n_blob, ptr %155, i32 0, i32 1
  %7712 = load i32, ptr %7711, align 8, !tbaa !56
  %7713 = sub i32 %7712, 1
  %7714 = zext i32 %7713 to i64
  %7715 = icmp ult i64 %7710, %7714
  br i1 %7715, label %7717, label %7716

7716:                                             ; preds = %7709
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #11
  br label %8754

7717:                                             ; preds = %7709
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #11
  store ptr null, ptr %176, align 8, !tbaa !9
  br label %7718

7718:                                             ; preds = %7717
  %7719 = load i32, ptr @test_count, align 4, !tbaa !5
  %7720 = add nsw i32 %7719, 1
  store i32 %7720, ptr @test_count, align 4, !tbaa !5
  %7721 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7721, ptr %176, align 8, !tbaa !9
  %7722 = icmp eq ptr %7721, null
  br i1 %7722, label %7723, label %7776

7723:                                             ; preds = %7718
  br label %7724

7724:                                             ; preds = %7723
  br label %7725

7725:                                             ; preds = %7724
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %7726 = call ptr @__errno_location() #12
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  store i32 %7727, ptr %177, align 4, !tbaa !5
  %7728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7729 = call i32 @s2n_print_stacktrace(ptr noundef %7728)
  %7730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7731 = trunc i8 %7730 to i1
  br i1 %7731, label %7732, label %7754

7732:                                             ; preds = %7725
  %7733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7734 = call i32 @fileno(ptr noundef %7733) #11
  %7735 = call i32 @isatty(i32 noundef %7734) #11
  %7736 = icmp ne i32 %7735, 0
  br i1 %7736, label %7737, label %7754

7737:                                             ; preds = %7732
  %7738 = load i32, ptr %177, align 4, !tbaa !5
  %7739 = call ptr @__errno_location() #12
  store i32 %7738, ptr %7739, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror(i32 noundef %7743, ptr noundef @.str.24)
  %7745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror_debug(i32 noundef %7746, ptr noundef @.str.24)
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @strerror(i32 noundef %7749) #11
  %7751 = call ptr @__errno_location() #12
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef @.str.22, i32 noundef %7741, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 372, ptr noundef %7744, ptr noundef %7747, ptr noundef %7750, i32 noundef %7752) #11
  br label %7771

7754:                                             ; preds = %7732, %7725
  %7755 = load i32, ptr %177, align 4, !tbaa !5
  %7756 = call ptr @__errno_location() #12
  store i32 %7755, ptr %7756, align 4, !tbaa !5
  %7757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7758 = load i32, ptr @test_count, align 4, !tbaa !5
  %7759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7760 = load i32, ptr %7759, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror(i32 noundef %7760, ptr noundef @.str.24)
  %7762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7763 = load i32, ptr %7762, align 4, !tbaa !5
  %7764 = call ptr @s2n_strerror_debug(i32 noundef %7763, ptr noundef @.str.24)
  %7765 = call ptr @__errno_location() #12
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @strerror(i32 noundef %7766) #11
  %7768 = call ptr @__errno_location() #12
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7757, ptr noundef @.str.25, i32 noundef %7758, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 372, ptr noundef %7761, ptr noundef %7764, ptr noundef %7767, i32 noundef %7769) #11
  br label %7771

7771:                                             ; preds = %7754, %7737
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %7772

7772:                                             ; preds = %7771
  br label %7773

7773:                                             ; preds = %7772
  call void @exit(i32 noundef 1) #13
  unreachable

7774:                                             ; No predecessors!
  br label %7775

7775:                                             ; preds = %7774
  br label %7776

7776:                                             ; preds = %7775, %7718
  br label %7777

7777:                                             ; preds = %7776
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

7779:                                             ; preds = %7778
  %7780 = load i32, ptr @test_count, align 4, !tbaa !5
  %7781 = add nsw i32 %7780, 1
  store i32 %7781, ptr @test_count, align 4, !tbaa !5
  %7782 = load ptr, ptr %176, align 8, !tbaa !9
  %7783 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef %7782)
  %7784 = getelementptr inbounds %struct.s2n_result, ptr %178, i32 0, i32 0
  store i32 %7783, ptr %7784, align 4
  %7785 = getelementptr inbounds %struct.s2n_result, ptr %178, i32 0, i32 0
  %7786 = load i32, ptr %7785, align 4
  %7787 = call zeroext i1 @s2n_result_is_ok(i32 %7786)
  br i1 %7787, label %7841, label %7788

7788:                                             ; preds = %7779
  br label %7789

7789:                                             ; preds = %7788
  br label %7790

7790:                                             ; preds = %7789
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %7791 = call ptr @__errno_location() #12
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  store i32 %7792, ptr %179, align 4, !tbaa !5
  %7793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7794 = call i32 @s2n_print_stacktrace(ptr noundef %7793)
  %7795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7796 = trunc i8 %7795 to i1
  br i1 %7796, label %7797, label %7819

7797:                                             ; preds = %7790
  %7798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7799 = call i32 @fileno(ptr noundef %7798) #11
  %7800 = call i32 @isatty(i32 noundef %7799) #11
  %7801 = icmp ne i32 %7800, 0
  br i1 %7801, label %7802, label %7819

7802:                                             ; preds = %7797
  %7803 = load i32, ptr %179, align 4, !tbaa !5
  %7804 = call ptr @__errno_location() #12
  store i32 %7803, ptr %7804, align 4, !tbaa !5
  %7805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7806 = load i32, ptr @test_count, align 4, !tbaa !5
  %7807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7808 = load i32, ptr %7807, align 4, !tbaa !5
  %7809 = call ptr @s2n_strerror(i32 noundef %7808, ptr noundef @.str.24)
  %7810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7811 = load i32, ptr %7810, align 4, !tbaa !5
  %7812 = call ptr @s2n_strerror_debug(i32 noundef %7811, ptr noundef @.str.24)
  %7813 = call ptr @__errno_location() #12
  %7814 = load i32, ptr %7813, align 4, !tbaa !5
  %7815 = call ptr @strerror(i32 noundef %7814) #11
  %7816 = call ptr @__errno_location() #12
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7805, ptr noundef @.str.22, i32 noundef %7806, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 373, ptr noundef %7809, ptr noundef %7812, ptr noundef %7815, i32 noundef %7817) #11
  br label %7836

7819:                                             ; preds = %7797, %7790
  %7820 = load i32, ptr %179, align 4, !tbaa !5
  %7821 = call ptr @__errno_location() #12
  store i32 %7820, ptr %7821, align 4, !tbaa !5
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = load i32, ptr @test_count, align 4, !tbaa !5
  %7824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7825 = load i32, ptr %7824, align 4, !tbaa !5
  %7826 = call ptr @s2n_strerror(i32 noundef %7825, ptr noundef @.str.24)
  %7827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7828 = load i32, ptr %7827, align 4, !tbaa !5
  %7829 = call ptr @s2n_strerror_debug(i32 noundef %7828, ptr noundef @.str.24)
  %7830 = call ptr @__errno_location() #12
  %7831 = load i32, ptr %7830, align 4, !tbaa !5
  %7832 = call ptr @strerror(i32 noundef %7831) #11
  %7833 = call ptr @__errno_location() #12
  %7834 = load i32, ptr %7833, align 4, !tbaa !5
  %7835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7822, ptr noundef @.str.25, i32 noundef %7823, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 373, ptr noundef %7826, ptr noundef %7829, ptr noundef %7832, i32 noundef %7834) #11
  br label %7836

7836:                                             ; preds = %7819, %7802
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %7837

7837:                                             ; preds = %7836
  br label %7838

7838:                                             ; preds = %7837
  call void @exit(i32 noundef 1) #13
  unreachable

7839:                                             ; No predecessors!
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840, %7779
  br label %7842

7842:                                             ; preds = %7841
  br label %7843

7843:                                             ; preds = %7842
  br label %7844

7844:                                             ; preds = %7843
  %7845 = load i32, ptr @test_count, align 4, !tbaa !5
  %7846 = add nsw i32 %7845, 1
  store i32 %7846, ptr @test_count, align 4, !tbaa !5
  %7847 = load ptr, ptr %176, align 8, !tbaa !9
  %7848 = load ptr, ptr %160, align 8, !tbaa !9
  %7849 = call i32 @s2n_connection_set_config(ptr noundef %7847, ptr noundef %7848)
  %7850 = icmp eq i32 %7849, -1
  br i1 %7850, label %7851, label %7904

7851:                                             ; preds = %7844
  br label %7852

7852:                                             ; preds = %7851
  br label %7853

7853:                                             ; preds = %7852
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %7854 = call ptr @__errno_location() #12
  %7855 = load i32, ptr %7854, align 4, !tbaa !5
  store i32 %7855, ptr %180, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = call i32 @s2n_print_stacktrace(ptr noundef %7856)
  %7858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7859 = trunc i8 %7858 to i1
  br i1 %7859, label %7860, label %7882

7860:                                             ; preds = %7853
  %7861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7862 = call i32 @fileno(ptr noundef %7861) #11
  %7863 = call i32 @isatty(i32 noundef %7862) #11
  %7864 = icmp ne i32 %7863, 0
  br i1 %7864, label %7865, label %7882

7865:                                             ; preds = %7860
  %7866 = load i32, ptr %180, align 4, !tbaa !5
  %7867 = call ptr @__errno_location() #12
  store i32 %7866, ptr %7867, align 4, !tbaa !5
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror(i32 noundef %7871, ptr noundef @.str.24)
  %7873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror_debug(i32 noundef %7874, ptr noundef @.str.24)
  %7876 = call ptr @__errno_location() #12
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @strerror(i32 noundef %7877) #11
  %7879 = call ptr @__errno_location() #12
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7868, ptr noundef @.str.22, i32 noundef %7869, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 374, ptr noundef %7872, ptr noundef %7875, ptr noundef %7878, i32 noundef %7880) #11
  br label %7899

7882:                                             ; preds = %7860, %7853
  %7883 = load i32, ptr %180, align 4, !tbaa !5
  %7884 = call ptr @__errno_location() #12
  store i32 %7883, ptr %7884, align 4, !tbaa !5
  %7885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7886 = load i32, ptr @test_count, align 4, !tbaa !5
  %7887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7888 = load i32, ptr %7887, align 4, !tbaa !5
  %7889 = call ptr @s2n_strerror(i32 noundef %7888, ptr noundef @.str.24)
  %7890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  %7892 = call ptr @s2n_strerror_debug(i32 noundef %7891, ptr noundef @.str.24)
  %7893 = call ptr @__errno_location() #12
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call ptr @strerror(i32 noundef %7894) #11
  %7896 = call ptr @__errno_location() #12
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7885, ptr noundef @.str.25, i32 noundef %7886, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 374, ptr noundef %7889, ptr noundef %7892, ptr noundef %7895, i32 noundef %7897) #11
  br label %7899

7899:                                             ; preds = %7882, %7865
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %7900

7900:                                             ; preds = %7899
  br label %7901

7901:                                             ; preds = %7900
  call void @exit(i32 noundef 1) #13
  unreachable

7902:                                             ; No predecessors!
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

7904:                                             ; preds = %7903, %7844
  br label %7905

7905:                                             ; preds = %7904
  br label %7906

7906:                                             ; preds = %7905
  br label %7907

7907:                                             ; preds = %7906
  %7908 = load i32, ptr @test_count, align 4, !tbaa !5
  %7909 = add nsw i32 %7908, 1
  store i32 %7909, ptr @test_count, align 4, !tbaa !5
  %7910 = getelementptr inbounds %struct.s2n_blob, ptr %155, i32 0, i32 0
  %7911 = load ptr, ptr %7910, align 8, !tbaa !57
  %7912 = load i64, ptr %175, align 8, !tbaa !48
  %7913 = trunc i64 %7912 to i32
  %7914 = call i32 @s2n_stuffer_write_bytes(ptr noundef @input_stuffer, ptr noundef %7911, i32 noundef %7913)
  %7915 = icmp eq i32 %7914, -1
  br i1 %7915, label %7916, label %7969

7916:                                             ; preds = %7907
  br label %7917

7917:                                             ; preds = %7916
  br label %7918

7918:                                             ; preds = %7917
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %7919 = call ptr @__errno_location() #12
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  store i32 %7920, ptr %181, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = call i32 @s2n_print_stacktrace(ptr noundef %7921)
  %7923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7924 = trunc i8 %7923 to i1
  br i1 %7924, label %7925, label %7947

7925:                                             ; preds = %7918
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @fileno(ptr noundef %7926) #11
  %7928 = call i32 @isatty(i32 noundef %7927) #11
  %7929 = icmp ne i32 %7928, 0
  br i1 %7929, label %7930, label %7947

7930:                                             ; preds = %7925
  %7931 = load i32, ptr %181, align 4, !tbaa !5
  %7932 = call ptr @__errno_location() #12
  store i32 %7931, ptr %7932, align 4, !tbaa !5
  %7933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7934 = load i32, ptr @test_count, align 4, !tbaa !5
  %7935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call ptr @s2n_strerror(i32 noundef %7936, ptr noundef @.str.24)
  %7938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7939 = load i32, ptr %7938, align 4, !tbaa !5
  %7940 = call ptr @s2n_strerror_debug(i32 noundef %7939, ptr noundef @.str.24)
  %7941 = call ptr @__errno_location() #12
  %7942 = load i32, ptr %7941, align 4, !tbaa !5
  %7943 = call ptr @strerror(i32 noundef %7942) #11
  %7944 = call ptr @__errno_location() #12
  %7945 = load i32, ptr %7944, align 4, !tbaa !5
  %7946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7933, ptr noundef @.str.22, i32 noundef %7934, ptr noundef @.str.85, ptr noundef @.str.21, i32 noundef 377, ptr noundef %7937, ptr noundef %7940, ptr noundef %7943, i32 noundef %7945) #11
  br label %7964

7947:                                             ; preds = %7925, %7918
  %7948 = load i32, ptr %181, align 4, !tbaa !5
  %7949 = call ptr @__errno_location() #12
  store i32 %7948, ptr %7949, align 4, !tbaa !5
  %7950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7951 = load i32, ptr @test_count, align 4, !tbaa !5
  %7952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call ptr @s2n_strerror(i32 noundef %7953, ptr noundef @.str.24)
  %7955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7956 = load i32, ptr %7955, align 4, !tbaa !5
  %7957 = call ptr @s2n_strerror_debug(i32 noundef %7956, ptr noundef @.str.24)
  %7958 = call ptr @__errno_location() #12
  %7959 = load i32, ptr %7958, align 4, !tbaa !5
  %7960 = call ptr @strerror(i32 noundef %7959) #11
  %7961 = call ptr @__errno_location() #12
  %7962 = load i32, ptr %7961, align 4, !tbaa !5
  %7963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7950, ptr noundef @.str.25, i32 noundef %7951, ptr noundef @.str.85, ptr noundef @.str.21, i32 noundef 377, ptr noundef %7954, ptr noundef %7957, ptr noundef %7960, i32 noundef %7962) #11
  br label %7964

7964:                                             ; preds = %7947, %7930
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %7965

7965:                                             ; preds = %7964
  br label %7966

7966:                                             ; preds = %7965
  call void @exit(i32 noundef 1) #13
  unreachable

7967:                                             ; No predecessors!
  br label %7968

7968:                                             ; preds = %7967
  br label %7969

7969:                                             ; preds = %7968, %7907
  br label %7970

7970:                                             ; preds = %7969
  br label %7971

7971:                                             ; preds = %7970
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972
  br label %7974

7974:                                             ; preds = %7973
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = add nsw i32 %7975, 1
  store i32 %7976, ptr @test_count, align 4, !tbaa !5
  %7977 = load ptr, ptr %176, align 8, !tbaa !9
  %7978 = call i32 @s2n_negotiate(ptr noundef %7977, ptr noundef %153)
  %7979 = icmp eq i32 %7978, -1
  br i1 %7979, label %8033, label %7980

7980:                                             ; preds = %7974
  br label %7981

7981:                                             ; preds = %7980
  br label %7982

7982:                                             ; preds = %7981
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %7983 = call ptr @__errno_location() #12
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  store i32 %7984, ptr %182, align 4, !tbaa !5
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = call i32 @s2n_print_stacktrace(ptr noundef %7985)
  %7987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7988 = trunc i8 %7987 to i1
  br i1 %7988, label %7989, label %8011

7989:                                             ; preds = %7982
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = call i32 @fileno(ptr noundef %7990) #11
  %7992 = call i32 @isatty(i32 noundef %7991) #11
  %7993 = icmp ne i32 %7992, 0
  br i1 %7993, label %7994, label %8011

7994:                                             ; preds = %7989
  %7995 = load i32, ptr %182, align 4, !tbaa !5
  %7996 = call ptr @__errno_location() #12
  store i32 %7995, ptr %7996, align 4, !tbaa !5
  %7997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7998 = load i32, ptr @test_count, align 4, !tbaa !5
  %7999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @s2n_strerror(i32 noundef %8000, ptr noundef @.str.24)
  %8002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call ptr @s2n_strerror_debug(i32 noundef %8003, ptr noundef @.str.24)
  %8005 = call ptr @__errno_location() #12
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call ptr @strerror(i32 noundef %8006) #11
  %8008 = call ptr @__errno_location() #12
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7997, ptr noundef @.str.22, i32 noundef %7998, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8001, ptr noundef %8004, ptr noundef %8007, i32 noundef %8009) #11
  br label %8028

8011:                                             ; preds = %7989, %7982
  %8012 = load i32, ptr %182, align 4, !tbaa !5
  %8013 = call ptr @__errno_location() #12
  store i32 %8012, ptr %8013, align 4, !tbaa !5
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = load i32, ptr @test_count, align 4, !tbaa !5
  %8016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call ptr @s2n_strerror(i32 noundef %8017, ptr noundef @.str.24)
  %8019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror_debug(i32 noundef %8020, ptr noundef @.str.24)
  %8022 = call ptr @__errno_location() #12
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @strerror(i32 noundef %8023) #11
  %8025 = call ptr @__errno_location() #12
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8014, ptr noundef @.str.25, i32 noundef %8015, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8018, ptr noundef %8021, ptr noundef %8024, i32 noundef %8026) #11
  br label %8028

8028:                                             ; preds = %8011, %7994
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %8029

8029:                                             ; preds = %8028
  br label %8030

8030:                                             ; preds = %8029
  call void @exit(i32 noundef 1) #13
  unreachable

8031:                                             ; No predecessors!
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032, %7974
  br label %8034

8034:                                             ; preds = %8033
  br label %8035

8035:                                             ; preds = %8034
  br label %8036

8036:                                             ; preds = %8035
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = add nsw i32 %8037, 1
  store i32 %8038, ptr @test_count, align 4, !tbaa !5
  %8039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = icmp eq i32 %8040, 201326592
  br i1 %8041, label %8095, label %8042

8042:                                             ; preds = %8036
  br label %8043

8043:                                             ; preds = %8042
  br label %8044

8044:                                             ; preds = %8043
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %8045 = call ptr @__errno_location() #12
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  store i32 %8046, ptr %183, align 4, !tbaa !5
  %8047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8048 = call i32 @s2n_print_stacktrace(ptr noundef %8047)
  %8049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8050 = trunc i8 %8049 to i1
  br i1 %8050, label %8051, label %8073

8051:                                             ; preds = %8044
  %8052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8053 = call i32 @fileno(ptr noundef %8052) #11
  %8054 = call i32 @isatty(i32 noundef %8053) #11
  %8055 = icmp ne i32 %8054, 0
  br i1 %8055, label %8056, label %8073

8056:                                             ; preds = %8051
  %8057 = load i32, ptr %183, align 4, !tbaa !5
  %8058 = call ptr @__errno_location() #12
  store i32 %8057, ptr %8058, align 4, !tbaa !5
  %8059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8060 = load i32, ptr @test_count, align 4, !tbaa !5
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror(i32 noundef %8062, ptr noundef @.str.24)
  %8064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @s2n_strerror_debug(i32 noundef %8065, ptr noundef @.str.24)
  %8067 = call ptr @__errno_location() #12
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call ptr @strerror(i32 noundef %8068) #11
  %8070 = call ptr @__errno_location() #12
  %8071 = load i32, ptr %8070, align 4, !tbaa !5
  %8072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8059, ptr noundef @.str.22, i32 noundef %8060, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8063, ptr noundef %8066, ptr noundef %8069, i32 noundef %8071) #11
  br label %8090

8073:                                             ; preds = %8051, %8044
  %8074 = load i32, ptr %183, align 4, !tbaa !5
  %8075 = call ptr @__errno_location() #12
  store i32 %8074, ptr %8075, align 4, !tbaa !5
  %8076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8077 = load i32, ptr @test_count, align 4, !tbaa !5
  %8078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror(i32 noundef %8079, ptr noundef @.str.24)
  %8081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call ptr @s2n_strerror_debug(i32 noundef %8082, ptr noundef @.str.24)
  %8084 = call ptr @__errno_location() #12
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call ptr @strerror(i32 noundef %8085) #11
  %8087 = call ptr @__errno_location() #12
  %8088 = load i32, ptr %8087, align 4, !tbaa !5
  %8089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8076, ptr noundef @.str.25, i32 noundef %8077, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8080, ptr noundef %8083, ptr noundef %8086, i32 noundef %8088) #11
  br label %8090

8090:                                             ; preds = %8073, %8056
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091
  call void @exit(i32 noundef 1) #13
  unreachable

8093:                                             ; No predecessors!
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094, %8036
  br label %8096

8096:                                             ; preds = %8095
  br label %8097

8097:                                             ; preds = %8096
  br label %8098

8098:                                             ; preds = %8097
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = add nsw i32 %8099, 1
  store i32 %8100, ptr @test_count, align 4, !tbaa !5
  %8101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8102 = load i32, ptr %8101, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror_debug(i32 noundef %8102, ptr noundef @.str.24)
  %8104 = icmp eq ptr %8103, null
  br i1 %8104, label %8105, label %8158

8105:                                             ; preds = %8098
  br label %8106

8106:                                             ; preds = %8105
  br label %8107

8107:                                             ; preds = %8106
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %8108 = call ptr @__errno_location() #12
  %8109 = load i32, ptr %8108, align 4, !tbaa !5
  store i32 %8109, ptr %184, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = call i32 @s2n_print_stacktrace(ptr noundef %8110)
  %8112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8113 = trunc i8 %8112 to i1
  br i1 %8113, label %8114, label %8136

8114:                                             ; preds = %8107
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = call i32 @fileno(ptr noundef %8115) #11
  %8117 = call i32 @isatty(i32 noundef %8116) #11
  %8118 = icmp ne i32 %8117, 0
  br i1 %8118, label %8119, label %8136

8119:                                             ; preds = %8114
  %8120 = load i32, ptr %184, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #12
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.24)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.24)
  %8130 = call ptr @__errno_location() #12
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #11
  %8133 = call ptr @__errno_location() #12
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.22, i32 noundef %8123, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #11
  br label %8153

8136:                                             ; preds = %8114, %8107
  %8137 = load i32, ptr %184, align 4, !tbaa !5
  %8138 = call ptr @__errno_location() #12
  store i32 %8137, ptr %8138, align 4, !tbaa !5
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = load i32, ptr @test_count, align 4, !tbaa !5
  %8141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  %8143 = call ptr @s2n_strerror(i32 noundef %8142, ptr noundef @.str.24)
  %8144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8145 = load i32, ptr %8144, align 4, !tbaa !5
  %8146 = call ptr @s2n_strerror_debug(i32 noundef %8145, ptr noundef @.str.24)
  %8147 = call ptr @__errno_location() #12
  %8148 = load i32, ptr %8147, align 4, !tbaa !5
  %8149 = call ptr @strerror(i32 noundef %8148) #11
  %8150 = call ptr @__errno_location() #12
  %8151 = load i32, ptr %8150, align 4, !tbaa !5
  %8152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8139, ptr noundef @.str.25, i32 noundef %8140, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 378, ptr noundef %8143, ptr noundef %8146, ptr noundef %8149, i32 noundef %8151) #11
  br label %8153

8153:                                             ; preds = %8136, %8119
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8154

8154:                                             ; preds = %8153
  br label %8155

8155:                                             ; preds = %8154
  call void @exit(i32 noundef 1) #13
  unreachable

8156:                                             ; No predecessors!
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157, %8098
  br label %8159

8159:                                             ; preds = %8158
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

8161:                                             ; preds = %8160
  br label %8162

8162:                                             ; preds = %8161
  br label %8163

8163:                                             ; preds = %8162
  %8164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8164, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8165 = call ptr @__errno_location() #12
  store i32 0, ptr %8165, align 4, !tbaa !5
  br label %8166

8166:                                             ; preds = %8163
  br label %8167

8167:                                             ; preds = %8166
  br label %8168

8168:                                             ; preds = %8167
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

8170:                                             ; preds = %8169
  %8171 = load i32, ptr @test_count, align 4, !tbaa !5
  %8172 = add nsw i32 %8171, 1
  store i32 %8172, ptr @test_count, align 4, !tbaa !5
  %8173 = load ptr, ptr %176, align 8, !tbaa !9
  %8174 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8173)
  %8175 = icmp eq i32 %8174, 1
  br i1 %8175, label %8229, label %8176

8176:                                             ; preds = %8170
  br label %8177

8177:                                             ; preds = %8176
  br label %8178

8178:                                             ; preds = %8177
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8179 = call ptr @__errno_location() #12
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  store i32 %8180, ptr %185, align 4, !tbaa !5
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = call i32 @s2n_print_stacktrace(ptr noundef %8181)
  %8183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8184 = trunc i8 %8183 to i1
  br i1 %8184, label %8185, label %8207

8185:                                             ; preds = %8178
  %8186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8187 = call i32 @fileno(ptr noundef %8186) #11
  %8188 = call i32 @isatty(i32 noundef %8187) #11
  %8189 = icmp ne i32 %8188, 0
  br i1 %8189, label %8190, label %8207

8190:                                             ; preds = %8185
  %8191 = load i32, ptr %185, align 4, !tbaa !5
  %8192 = call ptr @__errno_location() #12
  store i32 %8191, ptr %8192, align 4, !tbaa !5
  %8193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8194 = load i32, ptr @test_count, align 4, !tbaa !5
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef @.str.24)
  %8198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @s2n_strerror_debug(i32 noundef %8199, ptr noundef @.str.24)
  %8201 = call ptr @__errno_location() #12
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @strerror(i32 noundef %8202) #11
  %8204 = call ptr @__errno_location() #12
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8193, ptr noundef @.str.22, i32 noundef %8194, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 380, ptr noundef %8197, ptr noundef %8200, ptr noundef %8203, i32 noundef %8205) #11
  br label %8224

8207:                                             ; preds = %8185, %8178
  %8208 = load i32, ptr %185, align 4, !tbaa !5
  %8209 = call ptr @__errno_location() #12
  store i32 %8208, ptr %8209, align 4, !tbaa !5
  %8210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8211 = load i32, ptr @test_count, align 4, !tbaa !5
  %8212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @s2n_strerror(i32 noundef %8213, ptr noundef @.str.24)
  %8215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call ptr @s2n_strerror_debug(i32 noundef %8216, ptr noundef @.str.24)
  %8218 = call ptr @__errno_location() #12
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call ptr @strerror(i32 noundef %8219) #11
  %8221 = call ptr @__errno_location() #12
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8210, ptr noundef @.str.25, i32 noundef %8211, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 380, ptr noundef %8214, ptr noundef %8217, ptr noundef %8220, i32 noundef %8222) #11
  br label %8224

8224:                                             ; preds = %8207, %8190
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8225

8225:                                             ; preds = %8224
  br label %8226

8226:                                             ; preds = %8225
  call void @exit(i32 noundef 1) #13
  unreachable

8227:                                             ; No predecessors!
  br label %8228

8228:                                             ; preds = %8227
  br label %8229

8229:                                             ; preds = %8228, %8170
  br label %8230

8230:                                             ; preds = %8229
  br label %8231

8231:                                             ; preds = %8230
  br label %8232

8232:                                             ; preds = %8231
  %8233 = load i32, ptr @test_count, align 4, !tbaa !5
  %8234 = add nsw i32 %8233, 1
  store i32 %8234, ptr @test_count, align 4, !tbaa !5
  %8235 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %8236 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %8237 = sub i32 %8235, %8236
  %8238 = icmp eq i32 %8237, 0
  br i1 %8238, label %8292, label %8239

8239:                                             ; preds = %8232
  br label %8240

8240:                                             ; preds = %8239
  br label %8241

8241:                                             ; preds = %8240
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8242 = call ptr @__errno_location() #12
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  store i32 %8243, ptr %186, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = call i32 @s2n_print_stacktrace(ptr noundef %8244)
  %8246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8247 = trunc i8 %8246 to i1
  br i1 %8247, label %8248, label %8270

8248:                                             ; preds = %8241
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = call i32 @fileno(ptr noundef %8249) #11
  %8251 = call i32 @isatty(i32 noundef %8250) #11
  %8252 = icmp ne i32 %8251, 0
  br i1 %8252, label %8253, label %8270

8253:                                             ; preds = %8248
  %8254 = load i32, ptr %186, align 4, !tbaa !5
  %8255 = call ptr @__errno_location() #12
  store i32 %8254, ptr %8255, align 4, !tbaa !5
  %8256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8257 = load i32, ptr @test_count, align 4, !tbaa !5
  %8258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @s2n_strerror(i32 noundef %8259, ptr noundef @.str.24)
  %8261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror_debug(i32 noundef %8262, ptr noundef @.str.24)
  %8264 = call ptr @__errno_location() #12
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @strerror(i32 noundef %8265) #11
  %8267 = call ptr @__errno_location() #12
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8256, ptr noundef @.str.22, i32 noundef %8257, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 381, ptr noundef %8260, ptr noundef %8263, ptr noundef %8266, i32 noundef %8268) #11
  br label %8287

8270:                                             ; preds = %8248, %8241
  %8271 = load i32, ptr %186, align 4, !tbaa !5
  %8272 = call ptr @__errno_location() #12
  store i32 %8271, ptr %8272, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8276 = load i32, ptr %8275, align 4, !tbaa !5
  %8277 = call ptr @s2n_strerror(i32 noundef %8276, ptr noundef @.str.24)
  %8278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8279 = load i32, ptr %8278, align 4, !tbaa !5
  %8280 = call ptr @s2n_strerror_debug(i32 noundef %8279, ptr noundef @.str.24)
  %8281 = call ptr @__errno_location() #12
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  %8283 = call ptr @strerror(i32 noundef %8282) #11
  %8284 = call ptr @__errno_location() #12
  %8285 = load i32, ptr %8284, align 4, !tbaa !5
  %8286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8273, ptr noundef @.str.25, i32 noundef %8274, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 381, ptr noundef %8277, ptr noundef %8280, ptr noundef %8283, i32 noundef %8285) #11
  br label %8287

8287:                                             ; preds = %8270, %8253
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %8288

8288:                                             ; preds = %8287
  br label %8289

8289:                                             ; preds = %8288
  call void @exit(i32 noundef 1) #13
  unreachable

8290:                                             ; No predecessors!
  br label %8291

8291:                                             ; preds = %8290
  br label %8292

8292:                                             ; preds = %8291, %8232
  br label %8293

8293:                                             ; preds = %8292
  br label %8294

8294:                                             ; preds = %8293
  br label %8295

8295:                                             ; preds = %8294
  %8296 = load i32, ptr @test_count, align 4, !tbaa !5
  %8297 = add nsw i32 %8296, 1
  store i32 %8297, ptr @test_count, align 4, !tbaa !5
  %8298 = getelementptr inbounds %struct.s2n_blob, ptr %155, i32 0, i32 0
  %8299 = load ptr, ptr %8298, align 8, !tbaa !57
  %8300 = load i64, ptr %175, align 8, !tbaa !48
  %8301 = getelementptr inbounds i8, ptr %8299, i64 %8300
  %8302 = getelementptr inbounds %struct.s2n_blob, ptr %155, i32 0, i32 1
  %8303 = load i32, ptr %8302, align 8, !tbaa !56
  %8304 = zext i32 %8303 to i64
  %8305 = load i64, ptr %175, align 8, !tbaa !48
  %8306 = sub i64 %8304, %8305
  %8307 = trunc i64 %8306 to i32
  %8308 = call i32 @s2n_stuffer_write_bytes(ptr noundef @input_stuffer, ptr noundef %8301, i32 noundef %8307)
  %8309 = icmp eq i32 %8308, -1
  br i1 %8309, label %8310, label %8363

8310:                                             ; preds = %8295
  br label %8311

8311:                                             ; preds = %8310
  br label %8312

8312:                                             ; preds = %8311
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8313 = call ptr @__errno_location() #12
  %8314 = load i32, ptr %8313, align 4, !tbaa !5
  store i32 %8314, ptr %187, align 4, !tbaa !5
  %8315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8316 = call i32 @s2n_print_stacktrace(ptr noundef %8315)
  %8317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8318 = trunc i8 %8317 to i1
  br i1 %8318, label %8319, label %8341

8319:                                             ; preds = %8312
  %8320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8321 = call i32 @fileno(ptr noundef %8320) #11
  %8322 = call i32 @isatty(i32 noundef %8321) #11
  %8323 = icmp ne i32 %8322, 0
  br i1 %8323, label %8324, label %8341

8324:                                             ; preds = %8319
  %8325 = load i32, ptr %187, align 4, !tbaa !5
  %8326 = call ptr @__errno_location() #12
  store i32 %8325, ptr %8326, align 4, !tbaa !5
  %8327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8328 = load i32, ptr @test_count, align 4, !tbaa !5
  %8329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = call ptr @s2n_strerror(i32 noundef %8330, ptr noundef @.str.24)
  %8332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call ptr @s2n_strerror_debug(i32 noundef %8333, ptr noundef @.str.24)
  %8335 = call ptr @__errno_location() #12
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  %8337 = call ptr @strerror(i32 noundef %8336) #11
  %8338 = call ptr @__errno_location() #12
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8327, ptr noundef @.str.22, i32 noundef %8328, ptr noundef @.str.87, ptr noundef @.str.21, i32 noundef 385, ptr noundef %8331, ptr noundef %8334, ptr noundef %8337, i32 noundef %8339) #11
  br label %8358

8341:                                             ; preds = %8319, %8312
  %8342 = load i32, ptr %187, align 4, !tbaa !5
  %8343 = call ptr @__errno_location() #12
  store i32 %8342, ptr %8343, align 4, !tbaa !5
  %8344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8345 = load i32, ptr @test_count, align 4, !tbaa !5
  %8346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  %8348 = call ptr @s2n_strerror(i32 noundef %8347, ptr noundef @.str.24)
  %8349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  %8351 = call ptr @s2n_strerror_debug(i32 noundef %8350, ptr noundef @.str.24)
  %8352 = call ptr @__errno_location() #12
  %8353 = load i32, ptr %8352, align 4, !tbaa !5
  %8354 = call ptr @strerror(i32 noundef %8353) #11
  %8355 = call ptr @__errno_location() #12
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8344, ptr noundef @.str.25, i32 noundef %8345, ptr noundef @.str.87, ptr noundef @.str.21, i32 noundef 385, ptr noundef %8348, ptr noundef %8351, ptr noundef %8354, i32 noundef %8356) #11
  br label %8358

8358:                                             ; preds = %8341, %8324
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %8359

8359:                                             ; preds = %8358
  br label %8360

8360:                                             ; preds = %8359
  call void @exit(i32 noundef 1) #13
  unreachable

8361:                                             ; No predecessors!
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

8363:                                             ; preds = %8362, %8295
  br label %8364

8364:                                             ; preds = %8363
  br label %8365

8365:                                             ; preds = %8364
  br label %8366

8366:                                             ; preds = %8365
  br label %8367

8367:                                             ; preds = %8366
  br label %8368

8368:                                             ; preds = %8367
  %8369 = load i32, ptr @test_count, align 4, !tbaa !5
  %8370 = add nsw i32 %8369, 1
  store i32 %8370, ptr @test_count, align 4, !tbaa !5
  %8371 = load ptr, ptr %176, align 8, !tbaa !9
  %8372 = call i32 @s2n_negotiate(ptr noundef %8371, ptr noundef %153)
  %8373 = icmp eq i32 %8372, -1
  br i1 %8373, label %8427, label %8374

8374:                                             ; preds = %8368
  br label %8375

8375:                                             ; preds = %8374
  br label %8376

8376:                                             ; preds = %8375
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %8377 = call ptr @__errno_location() #12
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  store i32 %8378, ptr %188, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = call i32 @s2n_print_stacktrace(ptr noundef %8379)
  %8381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8382 = trunc i8 %8381 to i1
  br i1 %8382, label %8383, label %8405

8383:                                             ; preds = %8376
  %8384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8385 = call i32 @fileno(ptr noundef %8384) #11
  %8386 = call i32 @isatty(i32 noundef %8385) #11
  %8387 = icmp ne i32 %8386, 0
  br i1 %8387, label %8388, label %8405

8388:                                             ; preds = %8383
  %8389 = load i32, ptr %188, align 4, !tbaa !5
  %8390 = call ptr @__errno_location() #12
  store i32 %8389, ptr %8390, align 4, !tbaa !5
  %8391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8394 = load i32, ptr %8393, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror(i32 noundef %8394, ptr noundef @.str.24)
  %8396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8397 = load i32, ptr %8396, align 4, !tbaa !5
  %8398 = call ptr @s2n_strerror_debug(i32 noundef %8397, ptr noundef @.str.24)
  %8399 = call ptr @__errno_location() #12
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @strerror(i32 noundef %8400) #11
  %8402 = call ptr @__errno_location() #12
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8391, ptr noundef @.str.22, i32 noundef %8392, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8395, ptr noundef %8398, ptr noundef %8401, i32 noundef %8403) #11
  br label %8422

8405:                                             ; preds = %8383, %8376
  %8406 = load i32, ptr %188, align 4, !tbaa !5
  %8407 = call ptr @__errno_location() #12
  store i32 %8406, ptr %8407, align 4, !tbaa !5
  %8408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8409 = load i32, ptr @test_count, align 4, !tbaa !5
  %8410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  %8412 = call ptr @s2n_strerror(i32 noundef %8411, ptr noundef @.str.24)
  %8413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call ptr @s2n_strerror_debug(i32 noundef %8414, ptr noundef @.str.24)
  %8416 = call ptr @__errno_location() #12
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @strerror(i32 noundef %8417) #11
  %8419 = call ptr @__errno_location() #12
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8408, ptr noundef @.str.25, i32 noundef %8409, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8412, ptr noundef %8415, ptr noundef %8418, i32 noundef %8420) #11
  br label %8422

8422:                                             ; preds = %8405, %8388
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8423

8423:                                             ; preds = %8422
  br label %8424

8424:                                             ; preds = %8423
  call void @exit(i32 noundef 1) #13
  unreachable

8425:                                             ; No predecessors!
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426, %8368
  br label %8428

8428:                                             ; preds = %8427
  br label %8429

8429:                                             ; preds = %8428
  br label %8430

8430:                                             ; preds = %8429
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = add nsw i32 %8431, 1
  store i32 %8432, ptr @test_count, align 4, !tbaa !5
  %8433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = icmp eq i32 %8434, 201326592
  br i1 %8435, label %8489, label %8436

8436:                                             ; preds = %8430
  br label %8437

8437:                                             ; preds = %8436
  br label %8438

8438:                                             ; preds = %8437
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %8439 = call ptr @__errno_location() #12
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  store i32 %8440, ptr %189, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = call i32 @s2n_print_stacktrace(ptr noundef %8441)
  %8443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8444 = trunc i8 %8443 to i1
  br i1 %8444, label %8445, label %8467

8445:                                             ; preds = %8438
  %8446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8447 = call i32 @fileno(ptr noundef %8446) #11
  %8448 = call i32 @isatty(i32 noundef %8447) #11
  %8449 = icmp ne i32 %8448, 0
  br i1 %8449, label %8450, label %8467

8450:                                             ; preds = %8445
  %8451 = load i32, ptr %189, align 4, !tbaa !5
  %8452 = call ptr @__errno_location() #12
  store i32 %8451, ptr %8452, align 4, !tbaa !5
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = load i32, ptr @test_count, align 4, !tbaa !5
  %8455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8456 = load i32, ptr %8455, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror(i32 noundef %8456, ptr noundef @.str.24)
  %8458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  %8460 = call ptr @s2n_strerror_debug(i32 noundef %8459, ptr noundef @.str.24)
  %8461 = call ptr @__errno_location() #12
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call ptr @strerror(i32 noundef %8462) #11
  %8464 = call ptr @__errno_location() #12
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8453, ptr noundef @.str.22, i32 noundef %8454, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8457, ptr noundef %8460, ptr noundef %8463, i32 noundef %8465) #11
  br label %8484

8467:                                             ; preds = %8445, %8438
  %8468 = load i32, ptr %189, align 4, !tbaa !5
  %8469 = call ptr @__errno_location() #12
  store i32 %8468, ptr %8469, align 4, !tbaa !5
  %8470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8471 = load i32, ptr @test_count, align 4, !tbaa !5
  %8472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8473 = load i32, ptr %8472, align 4, !tbaa !5
  %8474 = call ptr @s2n_strerror(i32 noundef %8473, ptr noundef @.str.24)
  %8475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8476 = load i32, ptr %8475, align 4, !tbaa !5
  %8477 = call ptr @s2n_strerror_debug(i32 noundef %8476, ptr noundef @.str.24)
  %8478 = call ptr @__errno_location() #12
  %8479 = load i32, ptr %8478, align 4, !tbaa !5
  %8480 = call ptr @strerror(i32 noundef %8479) #11
  %8481 = call ptr @__errno_location() #12
  %8482 = load i32, ptr %8481, align 4, !tbaa !5
  %8483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8470, ptr noundef @.str.25, i32 noundef %8471, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8474, ptr noundef %8477, ptr noundef %8480, i32 noundef %8482) #11
  br label %8484

8484:                                             ; preds = %8467, %8450
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %8485

8485:                                             ; preds = %8484
  br label %8486

8486:                                             ; preds = %8485
  call void @exit(i32 noundef 1) #13
  unreachable

8487:                                             ; No predecessors!
  br label %8488

8488:                                             ; preds = %8487
  br label %8489

8489:                                             ; preds = %8488, %8430
  br label %8490

8490:                                             ; preds = %8489
  br label %8491

8491:                                             ; preds = %8490
  br label %8492

8492:                                             ; preds = %8491
  %8493 = load i32, ptr @test_count, align 4, !tbaa !5
  %8494 = add nsw i32 %8493, 1
  store i32 %8494, ptr @test_count, align 4, !tbaa !5
  %8495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8496 = load i32, ptr %8495, align 4, !tbaa !5
  %8497 = call ptr @s2n_strerror_debug(i32 noundef %8496, ptr noundef @.str.24)
  %8498 = icmp eq ptr %8497, null
  br i1 %8498, label %8499, label %8552

8499:                                             ; preds = %8492
  br label %8500

8500:                                             ; preds = %8499
  br label %8501

8501:                                             ; preds = %8500
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %8502 = call ptr @__errno_location() #12
  %8503 = load i32, ptr %8502, align 4, !tbaa !5
  store i32 %8503, ptr %190, align 4, !tbaa !5
  %8504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8505 = call i32 @s2n_print_stacktrace(ptr noundef %8504)
  %8506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8507 = trunc i8 %8506 to i1
  br i1 %8507, label %8508, label %8530

8508:                                             ; preds = %8501
  %8509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8510 = call i32 @fileno(ptr noundef %8509) #11
  %8511 = call i32 @isatty(i32 noundef %8510) #11
  %8512 = icmp ne i32 %8511, 0
  br i1 %8512, label %8513, label %8530

8513:                                             ; preds = %8508
  %8514 = load i32, ptr %190, align 4, !tbaa !5
  %8515 = call ptr @__errno_location() #12
  store i32 %8514, ptr %8515, align 4, !tbaa !5
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = load i32, ptr @test_count, align 4, !tbaa !5
  %8518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @s2n_strerror(i32 noundef %8519, ptr noundef @.str.24)
  %8521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call ptr @s2n_strerror_debug(i32 noundef %8522, ptr noundef @.str.24)
  %8524 = call ptr @__errno_location() #12
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @strerror(i32 noundef %8525) #11
  %8527 = call ptr @__errno_location() #12
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8516, ptr noundef @.str.22, i32 noundef %8517, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8520, ptr noundef %8523, ptr noundef %8526, i32 noundef %8528) #11
  br label %8547

8530:                                             ; preds = %8508, %8501
  %8531 = load i32, ptr %190, align 4, !tbaa !5
  %8532 = call ptr @__errno_location() #12
  store i32 %8531, ptr %8532, align 4, !tbaa !5
  %8533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8534 = load i32, ptr @test_count, align 4, !tbaa !5
  %8535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @s2n_strerror(i32 noundef %8536, ptr noundef @.str.24)
  %8538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call ptr @s2n_strerror_debug(i32 noundef %8539, ptr noundef @.str.24)
  %8541 = call ptr @__errno_location() #12
  %8542 = load i32, ptr %8541, align 4, !tbaa !5
  %8543 = call ptr @strerror(i32 noundef %8542) #11
  %8544 = call ptr @__errno_location() #12
  %8545 = load i32, ptr %8544, align 4, !tbaa !5
  %8546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8533, ptr noundef @.str.25, i32 noundef %8534, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 386, ptr noundef %8537, ptr noundef %8540, ptr noundef %8543, i32 noundef %8545) #11
  br label %8547

8547:                                             ; preds = %8530, %8513
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548
  call void @exit(i32 noundef 1) #13
  unreachable

8550:                                             ; No predecessors!
  br label %8551

8551:                                             ; preds = %8550
  br label %8552

8552:                                             ; preds = %8551, %8492
  br label %8553

8553:                                             ; preds = %8552
  br label %8554

8554:                                             ; preds = %8553
  br label %8555

8555:                                             ; preds = %8554
  br label %8556

8556:                                             ; preds = %8555
  br label %8557

8557:                                             ; preds = %8556
  %8558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8558, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8559 = call ptr @__errno_location() #12
  store i32 0, ptr %8559, align 4, !tbaa !5
  br label %8560

8560:                                             ; preds = %8557
  br label %8561

8561:                                             ; preds = %8560
  br label %8562

8562:                                             ; preds = %8561
  br label %8563

8563:                                             ; preds = %8562
  br label %8564

8564:                                             ; preds = %8563
  %8565 = load i32, ptr @test_count, align 4, !tbaa !5
  %8566 = add nsw i32 %8565, 1
  store i32 %8566, ptr @test_count, align 4, !tbaa !5
  %8567 = load ptr, ptr %176, align 8, !tbaa !9
  %8568 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8567)
  %8569 = icmp eq i32 %8568, 16
  br i1 %8569, label %8623, label %8570

8570:                                             ; preds = %8564
  br label %8571

8571:                                             ; preds = %8570
  br label %8572

8572:                                             ; preds = %8571
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %8573 = call ptr @__errno_location() #12
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  store i32 %8574, ptr %191, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = call i32 @s2n_print_stacktrace(ptr noundef %8575)
  %8577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8578 = trunc i8 %8577 to i1
  br i1 %8578, label %8579, label %8601

8579:                                             ; preds = %8572
  %8580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8581 = call i32 @fileno(ptr noundef %8580) #11
  %8582 = call i32 @isatty(i32 noundef %8581) #11
  %8583 = icmp ne i32 %8582, 0
  br i1 %8583, label %8584, label %8601

8584:                                             ; preds = %8579
  %8585 = load i32, ptr %191, align 4, !tbaa !5
  %8586 = call ptr @__errno_location() #12
  store i32 %8585, ptr %8586, align 4, !tbaa !5
  %8587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8588 = load i32, ptr @test_count, align 4, !tbaa !5
  %8589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call ptr @s2n_strerror(i32 noundef %8590, ptr noundef @.str.24)
  %8592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8593 = load i32, ptr %8592, align 4, !tbaa !5
  %8594 = call ptr @s2n_strerror_debug(i32 noundef %8593, ptr noundef @.str.24)
  %8595 = call ptr @__errno_location() #12
  %8596 = load i32, ptr %8595, align 4, !tbaa !5
  %8597 = call ptr @strerror(i32 noundef %8596) #11
  %8598 = call ptr @__errno_location() #12
  %8599 = load i32, ptr %8598, align 4, !tbaa !5
  %8600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8587, ptr noundef @.str.22, i32 noundef %8588, ptr noundef @.str.83, ptr noundef @.str.21, i32 noundef 388, ptr noundef %8591, ptr noundef %8594, ptr noundef %8597, i32 noundef %8599) #11
  br label %8618

8601:                                             ; preds = %8579, %8572
  %8602 = load i32, ptr %191, align 4, !tbaa !5
  %8603 = call ptr @__errno_location() #12
  store i32 %8602, ptr %8603, align 4, !tbaa !5
  %8604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8605 = load i32, ptr @test_count, align 4, !tbaa !5
  %8606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call ptr @s2n_strerror(i32 noundef %8607, ptr noundef @.str.24)
  %8609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8610 = load i32, ptr %8609, align 4, !tbaa !5
  %8611 = call ptr @s2n_strerror_debug(i32 noundef %8610, ptr noundef @.str.24)
  %8612 = call ptr @__errno_location() #12
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  %8614 = call ptr @strerror(i32 noundef %8613) #11
  %8615 = call ptr @__errno_location() #12
  %8616 = load i32, ptr %8615, align 4, !tbaa !5
  %8617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8604, ptr noundef @.str.25, i32 noundef %8605, ptr noundef @.str.83, ptr noundef @.str.21, i32 noundef 388, ptr noundef %8608, ptr noundef %8611, ptr noundef %8614, i32 noundef %8616) #11
  br label %8618

8618:                                             ; preds = %8601, %8584
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %8619

8619:                                             ; preds = %8618
  br label %8620

8620:                                             ; preds = %8619
  call void @exit(i32 noundef 1) #13
  unreachable

8621:                                             ; No predecessors!
  br label %8622

8622:                                             ; preds = %8621
  br label %8623

8623:                                             ; preds = %8622, %8564
  br label %8624

8624:                                             ; preds = %8623
  br label %8625

8625:                                             ; preds = %8624
  br label %8626

8626:                                             ; preds = %8625
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = add nsw i32 %8627, 1
  store i32 %8628, ptr @test_count, align 4, !tbaa !5
  %8629 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %8630 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %8631 = sub i32 %8629, %8630
  %8632 = icmp eq i32 %8631, 0
  br i1 %8632, label %8686, label %8633

8633:                                             ; preds = %8626
  br label %8634

8634:                                             ; preds = %8633
  br label %8635

8635:                                             ; preds = %8634
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %8636 = call ptr @__errno_location() #12
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  store i32 %8637, ptr %192, align 4, !tbaa !5
  %8638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8639 = call i32 @s2n_print_stacktrace(ptr noundef %8638)
  %8640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8641 = trunc i8 %8640 to i1
  br i1 %8641, label %8642, label %8664

8642:                                             ; preds = %8635
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = call i32 @fileno(ptr noundef %8643) #11
  %8645 = call i32 @isatty(i32 noundef %8644) #11
  %8646 = icmp ne i32 %8645, 0
  br i1 %8646, label %8647, label %8664

8647:                                             ; preds = %8642
  %8648 = load i32, ptr %192, align 4, !tbaa !5
  %8649 = call ptr @__errno_location() #12
  store i32 %8648, ptr %8649, align 4, !tbaa !5
  %8650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8651 = load i32, ptr @test_count, align 4, !tbaa !5
  %8652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8653 = load i32, ptr %8652, align 4, !tbaa !5
  %8654 = call ptr @s2n_strerror(i32 noundef %8653, ptr noundef @.str.24)
  %8655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8656 = load i32, ptr %8655, align 4, !tbaa !5
  %8657 = call ptr @s2n_strerror_debug(i32 noundef %8656, ptr noundef @.str.24)
  %8658 = call ptr @__errno_location() #12
  %8659 = load i32, ptr %8658, align 4, !tbaa !5
  %8660 = call ptr @strerror(i32 noundef %8659) #11
  %8661 = call ptr @__errno_location() #12
  %8662 = load i32, ptr %8661, align 4, !tbaa !5
  %8663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8650, ptr noundef @.str.22, i32 noundef %8651, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 389, ptr noundef %8654, ptr noundef %8657, ptr noundef %8660, i32 noundef %8662) #11
  br label %8681

8664:                                             ; preds = %8642, %8635
  %8665 = load i32, ptr %192, align 4, !tbaa !5
  %8666 = call ptr @__errno_location() #12
  store i32 %8665, ptr %8666, align 4, !tbaa !5
  %8667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8668 = load i32, ptr @test_count, align 4, !tbaa !5
  %8669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8670 = load i32, ptr %8669, align 4, !tbaa !5
  %8671 = call ptr @s2n_strerror(i32 noundef %8670, ptr noundef @.str.24)
  %8672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8673 = load i32, ptr %8672, align 4, !tbaa !5
  %8674 = call ptr @s2n_strerror_debug(i32 noundef %8673, ptr noundef @.str.24)
  %8675 = call ptr @__errno_location() #12
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  %8677 = call ptr @strerror(i32 noundef %8676) #11
  %8678 = call ptr @__errno_location() #12
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8667, ptr noundef @.str.25, i32 noundef %8668, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 389, ptr noundef %8671, ptr noundef %8674, ptr noundef %8677, i32 noundef %8679) #11
  br label %8681

8681:                                             ; preds = %8664, %8647
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %8682

8682:                                             ; preds = %8681
  br label %8683

8683:                                             ; preds = %8682
  call void @exit(i32 noundef 1) #13
  unreachable

8684:                                             ; No predecessors!
  br label %8685

8685:                                             ; preds = %8684
  br label %8686

8686:                                             ; preds = %8685, %8626
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687
  br label %8689

8689:                                             ; preds = %8688
  %8690 = load i32, ptr @test_count, align 4, !tbaa !5
  %8691 = add nsw i32 %8690, 1
  store i32 %8691, ptr @test_count, align 4, !tbaa !5
  %8692 = load ptr, ptr %176, align 8, !tbaa !9
  %8693 = call i32 @s2n_connection_free(ptr noundef %8692)
  %8694 = icmp eq i32 %8693, -1
  br i1 %8694, label %8695, label %8748

8695:                                             ; preds = %8689
  br label %8696

8696:                                             ; preds = %8695
  br label %8697

8697:                                             ; preds = %8696
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %8698 = call ptr @__errno_location() #12
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  store i32 %8699, ptr %193, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = call i32 @s2n_print_stacktrace(ptr noundef %8700)
  %8702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8703 = trunc i8 %8702 to i1
  br i1 %8703, label %8704, label %8726

8704:                                             ; preds = %8697
  %8705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8706 = call i32 @fileno(ptr noundef %8705) #11
  %8707 = call i32 @isatty(i32 noundef %8706) #11
  %8708 = icmp ne i32 %8707, 0
  br i1 %8708, label %8709, label %8726

8709:                                             ; preds = %8704
  %8710 = load i32, ptr %193, align 4, !tbaa !5
  %8711 = call ptr @__errno_location() #12
  store i32 %8710, ptr %8711, align 4, !tbaa !5
  %8712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8713 = load i32, ptr @test_count, align 4, !tbaa !5
  %8714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @s2n_strerror(i32 noundef %8715, ptr noundef @.str.24)
  %8717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @s2n_strerror_debug(i32 noundef %8718, ptr noundef @.str.24)
  %8720 = call ptr @__errno_location() #12
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call ptr @strerror(i32 noundef %8721) #11
  %8723 = call ptr @__errno_location() #12
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8712, ptr noundef @.str.22, i32 noundef %8713, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 391, ptr noundef %8716, ptr noundef %8719, ptr noundef %8722, i32 noundef %8724) #11
  br label %8743

8726:                                             ; preds = %8704, %8697
  %8727 = load i32, ptr %193, align 4, !tbaa !5
  %8728 = call ptr @__errno_location() #12
  store i32 %8727, ptr %8728, align 4, !tbaa !5
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = load i32, ptr @test_count, align 4, !tbaa !5
  %8731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8732 = load i32, ptr %8731, align 4, !tbaa !5
  %8733 = call ptr @s2n_strerror(i32 noundef %8732, ptr noundef @.str.24)
  %8734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8735 = load i32, ptr %8734, align 4, !tbaa !5
  %8736 = call ptr @s2n_strerror_debug(i32 noundef %8735, ptr noundef @.str.24)
  %8737 = call ptr @__errno_location() #12
  %8738 = load i32, ptr %8737, align 4, !tbaa !5
  %8739 = call ptr @strerror(i32 noundef %8738) #11
  %8740 = call ptr @__errno_location() #12
  %8741 = load i32, ptr %8740, align 4, !tbaa !5
  %8742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8729, ptr noundef @.str.25, i32 noundef %8730, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 391, ptr noundef %8733, ptr noundef %8736, ptr noundef %8739, i32 noundef %8741) #11
  br label %8743

8743:                                             ; preds = %8726, %8709
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %8744

8744:                                             ; preds = %8743
  br label %8745

8745:                                             ; preds = %8744
  call void @exit(i32 noundef 1) #13
  unreachable

8746:                                             ; No predecessors!
  br label %8747

8747:                                             ; preds = %8746
  br label %8748

8748:                                             ; preds = %8747, %8689
  br label %8749

8749:                                             ; preds = %8748
  br label %8750

8750:                                             ; preds = %8749
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #11
  br label %8751

8751:                                             ; preds = %8750
  %8752 = load i64, ptr %175, align 8, !tbaa !48
  %8753 = add i64 %8752, 1
  store i64 %8753, ptr %175, align 8, !tbaa !48
  br label %7709, !llvm.loop !58

8754:                                             ; preds = %7716
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #11
  store ptr null, ptr %194, align 8, !tbaa !9
  br label %8755

8755:                                             ; preds = %8754
  %8756 = load i32, ptr @test_count, align 4, !tbaa !5
  %8757 = add nsw i32 %8756, 1
  store i32 %8757, ptr @test_count, align 4, !tbaa !5
  %8758 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8758, ptr %194, align 8, !tbaa !9
  %8759 = icmp eq ptr %8758, null
  br i1 %8759, label %8760, label %8813

8760:                                             ; preds = %8755
  br label %8761

8761:                                             ; preds = %8760
  br label %8762

8762:                                             ; preds = %8761
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %8763 = call ptr @__errno_location() #12
  %8764 = load i32, ptr %8763, align 4, !tbaa !5
  store i32 %8764, ptr %195, align 4, !tbaa !5
  %8765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8766 = call i32 @s2n_print_stacktrace(ptr noundef %8765)
  %8767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8768 = trunc i8 %8767 to i1
  br i1 %8768, label %8769, label %8791

8769:                                             ; preds = %8762
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = call i32 @fileno(ptr noundef %8770) #11
  %8772 = call i32 @isatty(i32 noundef %8771) #11
  %8773 = icmp ne i32 %8772, 0
  br i1 %8773, label %8774, label %8791

8774:                                             ; preds = %8769
  %8775 = load i32, ptr %195, align 4, !tbaa !5
  %8776 = call ptr @__errno_location() #12
  store i32 %8775, ptr %8776, align 4, !tbaa !5
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = load i32, ptr @test_count, align 4, !tbaa !5
  %8779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8780 = load i32, ptr %8779, align 4, !tbaa !5
  %8781 = call ptr @s2n_strerror(i32 noundef %8780, ptr noundef @.str.24)
  %8782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call ptr @s2n_strerror_debug(i32 noundef %8783, ptr noundef @.str.24)
  %8785 = call ptr @__errno_location() #12
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  %8787 = call ptr @strerror(i32 noundef %8786) #11
  %8788 = call ptr @__errno_location() #12
  %8789 = load i32, ptr %8788, align 4, !tbaa !5
  %8790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8777, ptr noundef @.str.22, i32 noundef %8778, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 397, ptr noundef %8781, ptr noundef %8784, ptr noundef %8787, i32 noundef %8789) #11
  br label %8808

8791:                                             ; preds = %8769, %8762
  %8792 = load i32, ptr %195, align 4, !tbaa !5
  %8793 = call ptr @__errno_location() #12
  store i32 %8792, ptr %8793, align 4, !tbaa !5
  %8794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8795 = load i32, ptr @test_count, align 4, !tbaa !5
  %8796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8797 = load i32, ptr %8796, align 4, !tbaa !5
  %8798 = call ptr @s2n_strerror(i32 noundef %8797, ptr noundef @.str.24)
  %8799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8800 = load i32, ptr %8799, align 4, !tbaa !5
  %8801 = call ptr @s2n_strerror_debug(i32 noundef %8800, ptr noundef @.str.24)
  %8802 = call ptr @__errno_location() #12
  %8803 = load i32, ptr %8802, align 4, !tbaa !5
  %8804 = call ptr @strerror(i32 noundef %8803) #11
  %8805 = call ptr @__errno_location() #12
  %8806 = load i32, ptr %8805, align 4, !tbaa !5
  %8807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8794, ptr noundef @.str.25, i32 noundef %8795, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 397, ptr noundef %8798, ptr noundef %8801, ptr noundef %8804, i32 noundef %8806) #11
  br label %8808

8808:                                             ; preds = %8791, %8774
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %8809

8809:                                             ; preds = %8808
  br label %8810

8810:                                             ; preds = %8809
  call void @exit(i32 noundef 1) #13
  unreachable

8811:                                             ; No predecessors!
  br label %8812

8812:                                             ; preds = %8811
  br label %8813

8813:                                             ; preds = %8812, %8755
  br label %8814

8814:                                             ; preds = %8813
  br label %8815

8815:                                             ; preds = %8814
  br label %8816

8816:                                             ; preds = %8815
  %8817 = load i32, ptr @test_count, align 4, !tbaa !5
  %8818 = add nsw i32 %8817, 1
  store i32 %8818, ptr @test_count, align 4, !tbaa !5
  %8819 = load ptr, ptr %194, align 8, !tbaa !9
  %8820 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef %8819)
  %8821 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  store i32 %8820, ptr %8821, align 4
  %8822 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  %8823 = load i32, ptr %8822, align 4
  %8824 = call zeroext i1 @s2n_result_is_ok(i32 %8823)
  br i1 %8824, label %8878, label %8825

8825:                                             ; preds = %8816
  br label %8826

8826:                                             ; preds = %8825
  br label %8827

8827:                                             ; preds = %8826
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %8828 = call ptr @__errno_location() #12
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  store i32 %8829, ptr %197, align 4, !tbaa !5
  %8830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8831 = call i32 @s2n_print_stacktrace(ptr noundef %8830)
  %8832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8833 = trunc i8 %8832 to i1
  br i1 %8833, label %8834, label %8856

8834:                                             ; preds = %8827
  %8835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8836 = call i32 @fileno(ptr noundef %8835) #11
  %8837 = call i32 @isatty(i32 noundef %8836) #11
  %8838 = icmp ne i32 %8837, 0
  br i1 %8838, label %8839, label %8856

8839:                                             ; preds = %8834
  %8840 = load i32, ptr %197, align 4, !tbaa !5
  %8841 = call ptr @__errno_location() #12
  store i32 %8840, ptr %8841, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = load i32, ptr @test_count, align 4, !tbaa !5
  %8844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call ptr @s2n_strerror(i32 noundef %8845, ptr noundef @.str.24)
  %8847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror_debug(i32 noundef %8848, ptr noundef @.str.24)
  %8850 = call ptr @__errno_location() #12
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call ptr @strerror(i32 noundef %8851) #11
  %8853 = call ptr @__errno_location() #12
  %8854 = load i32, ptr %8853, align 4, !tbaa !5
  %8855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8842, ptr noundef @.str.22, i32 noundef %8843, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 398, ptr noundef %8846, ptr noundef %8849, ptr noundef %8852, i32 noundef %8854) #11
  br label %8873

8856:                                             ; preds = %8834, %8827
  %8857 = load i32, ptr %197, align 4, !tbaa !5
  %8858 = call ptr @__errno_location() #12
  store i32 %8857, ptr %8858, align 4, !tbaa !5
  %8859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8860 = load i32, ptr @test_count, align 4, !tbaa !5
  %8861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8862 = load i32, ptr %8861, align 4, !tbaa !5
  %8863 = call ptr @s2n_strerror(i32 noundef %8862, ptr noundef @.str.24)
  %8864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  %8866 = call ptr @s2n_strerror_debug(i32 noundef %8865, ptr noundef @.str.24)
  %8867 = call ptr @__errno_location() #12
  %8868 = load i32, ptr %8867, align 4, !tbaa !5
  %8869 = call ptr @strerror(i32 noundef %8868) #11
  %8870 = call ptr @__errno_location() #12
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8859, ptr noundef @.str.25, i32 noundef %8860, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 398, ptr noundef %8863, ptr noundef %8866, ptr noundef %8869, i32 noundef %8871) #11
  br label %8873

8873:                                             ; preds = %8856, %8839
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874
  call void @exit(i32 noundef 1) #13
  unreachable

8876:                                             ; No predecessors!
  br label %8877

8877:                                             ; preds = %8876
  br label %8878

8878:                                             ; preds = %8877, %8816
  br label %8879

8879:                                             ; preds = %8878
  br label %8880

8880:                                             ; preds = %8879
  br label %8881

8881:                                             ; preds = %8880
  %8882 = load i32, ptr @test_count, align 4, !tbaa !5
  %8883 = add nsw i32 %8882, 1
  store i32 %8883, ptr @test_count, align 4, !tbaa !5
  %8884 = load ptr, ptr %194, align 8, !tbaa !9
  %8885 = load ptr, ptr %160, align 8, !tbaa !9
  %8886 = call i32 @s2n_connection_set_config(ptr noundef %8884, ptr noundef %8885)
  %8887 = icmp eq i32 %8886, -1
  br i1 %8887, label %8888, label %8941

8888:                                             ; preds = %8881
  br label %8889

8889:                                             ; preds = %8888
  br label %8890

8890:                                             ; preds = %8889
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %8891 = call ptr @__errno_location() #12
  %8892 = load i32, ptr %8891, align 4, !tbaa !5
  store i32 %8892, ptr %198, align 4, !tbaa !5
  %8893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8894 = call i32 @s2n_print_stacktrace(ptr noundef %8893)
  %8895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8896 = trunc i8 %8895 to i1
  br i1 %8896, label %8897, label %8919

8897:                                             ; preds = %8890
  %8898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8899 = call i32 @fileno(ptr noundef %8898) #11
  %8900 = call i32 @isatty(i32 noundef %8899) #11
  %8901 = icmp ne i32 %8900, 0
  br i1 %8901, label %8902, label %8919

8902:                                             ; preds = %8897
  %8903 = load i32, ptr %198, align 4, !tbaa !5
  %8904 = call ptr @__errno_location() #12
  store i32 %8903, ptr %8904, align 4, !tbaa !5
  %8905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8906 = load i32, ptr @test_count, align 4, !tbaa !5
  %8907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8908 = load i32, ptr %8907, align 4, !tbaa !5
  %8909 = call ptr @s2n_strerror(i32 noundef %8908, ptr noundef @.str.24)
  %8910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8911 = load i32, ptr %8910, align 4, !tbaa !5
  %8912 = call ptr @s2n_strerror_debug(i32 noundef %8911, ptr noundef @.str.24)
  %8913 = call ptr @__errno_location() #12
  %8914 = load i32, ptr %8913, align 4, !tbaa !5
  %8915 = call ptr @strerror(i32 noundef %8914) #11
  %8916 = call ptr @__errno_location() #12
  %8917 = load i32, ptr %8916, align 4, !tbaa !5
  %8918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8905, ptr noundef @.str.22, i32 noundef %8906, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 399, ptr noundef %8909, ptr noundef %8912, ptr noundef %8915, i32 noundef %8917) #11
  br label %8936

8919:                                             ; preds = %8897, %8890
  %8920 = load i32, ptr %198, align 4, !tbaa !5
  %8921 = call ptr @__errno_location() #12
  store i32 %8920, ptr %8921, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = load i32, ptr @test_count, align 4, !tbaa !5
  %8924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8925 = load i32, ptr %8924, align 4, !tbaa !5
  %8926 = call ptr @s2n_strerror(i32 noundef %8925, ptr noundef @.str.24)
  %8927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  %8929 = call ptr @s2n_strerror_debug(i32 noundef %8928, ptr noundef @.str.24)
  %8930 = call ptr @__errno_location() #12
  %8931 = load i32, ptr %8930, align 4, !tbaa !5
  %8932 = call ptr @strerror(i32 noundef %8931) #11
  %8933 = call ptr @__errno_location() #12
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8922, ptr noundef @.str.25, i32 noundef %8923, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 399, ptr noundef %8926, ptr noundef %8929, ptr noundef %8932, i32 noundef %8934) #11
  br label %8936

8936:                                             ; preds = %8919, %8902
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %8937

8937:                                             ; preds = %8936
  br label %8938

8938:                                             ; preds = %8937
  call void @exit(i32 noundef 1) #13
  unreachable

8939:                                             ; No predecessors!
  br label %8940

8940:                                             ; preds = %8939
  br label %8941

8941:                                             ; preds = %8940, %8881
  br label %8942

8942:                                             ; preds = %8941
  br label %8943

8943:                                             ; preds = %8942
  call void @llvm.lifetime.start.p0(i64 24, ptr %199) #11
  br label %8944

8944:                                             ; preds = %8943
  %8945 = load i32, ptr @test_count, align 4, !tbaa !5
  %8946 = add nsw i32 %8945, 1
  store i32 %8946, ptr @test_count, align 4, !tbaa !5
  %8947 = call i32 @s2n_write_test_message(ptr noundef %199, i32 noundef 8)
  %8948 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  store i32 %8947, ptr %8948, align 4
  %8949 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  %8950 = load i32, ptr %8949, align 4
  %8951 = call zeroext i1 @s2n_result_is_ok(i32 %8950)
  br i1 %8951, label %9005, label %8952

8952:                                             ; preds = %8944
  br label %8953

8953:                                             ; preds = %8952
  br label %8954

8954:                                             ; preds = %8953
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %8955 = call ptr @__errno_location() #12
  %8956 = load i32, ptr %8955, align 4, !tbaa !5
  store i32 %8956, ptr %201, align 4, !tbaa !5
  %8957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8958 = call i32 @s2n_print_stacktrace(ptr noundef %8957)
  %8959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8960 = trunc i8 %8959 to i1
  br i1 %8960, label %8961, label %8983

8961:                                             ; preds = %8954
  %8962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8963 = call i32 @fileno(ptr noundef %8962) #11
  %8964 = call i32 @isatty(i32 noundef %8963) #11
  %8965 = icmp ne i32 %8964, 0
  br i1 %8965, label %8966, label %8983

8966:                                             ; preds = %8961
  %8967 = load i32, ptr %201, align 4, !tbaa !5
  %8968 = call ptr @__errno_location() #12
  store i32 %8967, ptr %8968, align 4, !tbaa !5
  %8969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8970 = load i32, ptr @test_count, align 4, !tbaa !5
  %8971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8972 = load i32, ptr %8971, align 4, !tbaa !5
  %8973 = call ptr @s2n_strerror(i32 noundef %8972, ptr noundef @.str.24)
  %8974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8975 = load i32, ptr %8974, align 4, !tbaa !5
  %8976 = call ptr @s2n_strerror_debug(i32 noundef %8975, ptr noundef @.str.24)
  %8977 = call ptr @__errno_location() #12
  %8978 = load i32, ptr %8977, align 4, !tbaa !5
  %8979 = call ptr @strerror(i32 noundef %8978) #11
  %8980 = call ptr @__errno_location() #12
  %8981 = load i32, ptr %8980, align 4, !tbaa !5
  %8982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8969, ptr noundef @.str.22, i32 noundef %8970, ptr noundef @.str.88, ptr noundef @.str.21, i32 noundef 402, ptr noundef %8973, ptr noundef %8976, ptr noundef %8979, i32 noundef %8981) #11
  br label %9000

8983:                                             ; preds = %8961, %8954
  %8984 = load i32, ptr %201, align 4, !tbaa !5
  %8985 = call ptr @__errno_location() #12
  store i32 %8984, ptr %8985, align 4, !tbaa !5
  %8986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8987 = load i32, ptr @test_count, align 4, !tbaa !5
  %8988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8989 = load i32, ptr %8988, align 4, !tbaa !5
  %8990 = call ptr @s2n_strerror(i32 noundef %8989, ptr noundef @.str.24)
  %8991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8992 = load i32, ptr %8991, align 4, !tbaa !5
  %8993 = call ptr @s2n_strerror_debug(i32 noundef %8992, ptr noundef @.str.24)
  %8994 = call ptr @__errno_location() #12
  %8995 = load i32, ptr %8994, align 4, !tbaa !5
  %8996 = call ptr @strerror(i32 noundef %8995) #11
  %8997 = call ptr @__errno_location() #12
  %8998 = load i32, ptr %8997, align 4, !tbaa !5
  %8999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8986, ptr noundef @.str.25, i32 noundef %8987, ptr noundef @.str.88, ptr noundef @.str.21, i32 noundef 402, ptr noundef %8990, ptr noundef %8993, ptr noundef %8996, i32 noundef %8998) #11
  br label %9000

9000:                                             ; preds = %8983, %8966
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9001

9001:                                             ; preds = %9000
  br label %9002

9002:                                             ; preds = %9001
  call void @exit(i32 noundef 1) #13
  unreachable

9003:                                             ; No predecessors!
  br label %9004

9004:                                             ; preds = %9003
  br label %9005

9005:                                             ; preds = %9004, %8944
  br label %9006

9006:                                             ; preds = %9005
  br label %9007

9007:                                             ; preds = %9006
  br label %9008

9008:                                             ; preds = %9007
  %9009 = load i32, ptr @test_count, align 4, !tbaa !5
  %9010 = add nsw i32 %9009, 1
  store i32 %9010, ptr @test_count, align 4, !tbaa !5
  %9011 = call i32 @s2n_stuffer_write(ptr noundef @input_stuffer, ptr noundef %155)
  %9012 = icmp eq i32 %9011, -1
  br i1 %9012, label %9013, label %9066

9013:                                             ; preds = %9008
  br label %9014

9014:                                             ; preds = %9013
  br label %9015

9015:                                             ; preds = %9014
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %9016 = call ptr @__errno_location() #12
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  store i32 %9017, ptr %202, align 4, !tbaa !5
  %9018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9019 = call i32 @s2n_print_stacktrace(ptr noundef %9018)
  %9020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9021 = trunc i8 %9020 to i1
  br i1 %9021, label %9022, label %9044

9022:                                             ; preds = %9015
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = call i32 @fileno(ptr noundef %9023) #11
  %9025 = call i32 @isatty(i32 noundef %9024) #11
  %9026 = icmp ne i32 %9025, 0
  br i1 %9026, label %9027, label %9044

9027:                                             ; preds = %9022
  %9028 = load i32, ptr %202, align 4, !tbaa !5
  %9029 = call ptr @__errno_location() #12
  store i32 %9028, ptr %9029, align 4, !tbaa !5
  %9030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9031 = load i32, ptr @test_count, align 4, !tbaa !5
  %9032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror(i32 noundef %9033, ptr noundef @.str.24)
  %9035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9036 = load i32, ptr %9035, align 4, !tbaa !5
  %9037 = call ptr @s2n_strerror_debug(i32 noundef %9036, ptr noundef @.str.24)
  %9038 = call ptr @__errno_location() #12
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  %9040 = call ptr @strerror(i32 noundef %9039) #11
  %9041 = call ptr @__errno_location() #12
  %9042 = load i32, ptr %9041, align 4, !tbaa !5
  %9043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9030, ptr noundef @.str.22, i32 noundef %9031, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 404, ptr noundef %9034, ptr noundef %9037, ptr noundef %9040, i32 noundef %9042) #11
  br label %9061

9044:                                             ; preds = %9022, %9015
  %9045 = load i32, ptr %202, align 4, !tbaa !5
  %9046 = call ptr @__errno_location() #12
  store i32 %9045, ptr %9046, align 4, !tbaa !5
  %9047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9048 = load i32, ptr @test_count, align 4, !tbaa !5
  %9049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9050 = load i32, ptr %9049, align 4, !tbaa !5
  %9051 = call ptr @s2n_strerror(i32 noundef %9050, ptr noundef @.str.24)
  %9052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9053 = load i32, ptr %9052, align 4, !tbaa !5
  %9054 = call ptr @s2n_strerror_debug(i32 noundef %9053, ptr noundef @.str.24)
  %9055 = call ptr @__errno_location() #12
  %9056 = load i32, ptr %9055, align 4, !tbaa !5
  %9057 = call ptr @strerror(i32 noundef %9056) #11
  %9058 = call ptr @__errno_location() #12
  %9059 = load i32, ptr %9058, align 4, !tbaa !5
  %9060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9047, ptr noundef @.str.25, i32 noundef %9048, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 404, ptr noundef %9051, ptr noundef %9054, ptr noundef %9057, i32 noundef %9059) #11
  br label %9061

9061:                                             ; preds = %9044, %9027
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %9062

9062:                                             ; preds = %9061
  br label %9063

9063:                                             ; preds = %9062
  call void @exit(i32 noundef 1) #13
  unreachable

9064:                                             ; No predecessors!
  br label %9065

9065:                                             ; preds = %9064
  br label %9066

9066:                                             ; preds = %9065, %9008
  br label %9067

9067:                                             ; preds = %9066
  br label %9068

9068:                                             ; preds = %9067
  br label %9069

9069:                                             ; preds = %9068
  %9070 = load i32, ptr @test_count, align 4, !tbaa !5
  %9071 = add nsw i32 %9070, 1
  store i32 %9071, ptr @test_count, align 4, !tbaa !5
  %9072 = call i32 @s2n_stuffer_write(ptr noundef @input_stuffer, ptr noundef %199)
  %9073 = icmp eq i32 %9072, -1
  br i1 %9073, label %9074, label %9127

9074:                                             ; preds = %9069
  br label %9075

9075:                                             ; preds = %9074
  br label %9076

9076:                                             ; preds = %9075
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %9077 = call ptr @__errno_location() #12
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  store i32 %9078, ptr %203, align 4, !tbaa !5
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = call i32 @s2n_print_stacktrace(ptr noundef %9079)
  %9081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9082 = trunc i8 %9081 to i1
  br i1 %9082, label %9083, label %9105

9083:                                             ; preds = %9076
  %9084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9085 = call i32 @fileno(ptr noundef %9084) #11
  %9086 = call i32 @isatty(i32 noundef %9085) #11
  %9087 = icmp ne i32 %9086, 0
  br i1 %9087, label %9088, label %9105

9088:                                             ; preds = %9083
  %9089 = load i32, ptr %203, align 4, !tbaa !5
  %9090 = call ptr @__errno_location() #12
  store i32 %9089, ptr %9090, align 4, !tbaa !5
  %9091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9092 = load i32, ptr @test_count, align 4, !tbaa !5
  %9093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @s2n_strerror(i32 noundef %9094, ptr noundef @.str.24)
  %9096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call ptr @s2n_strerror_debug(i32 noundef %9097, ptr noundef @.str.24)
  %9099 = call ptr @__errno_location() #12
  %9100 = load i32, ptr %9099, align 4, !tbaa !5
  %9101 = call ptr @strerror(i32 noundef %9100) #11
  %9102 = call ptr @__errno_location() #12
  %9103 = load i32, ptr %9102, align 4, !tbaa !5
  %9104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9091, ptr noundef @.str.22, i32 noundef %9092, ptr noundef @.str.89, ptr noundef @.str.21, i32 noundef 405, ptr noundef %9095, ptr noundef %9098, ptr noundef %9101, i32 noundef %9103) #11
  br label %9122

9105:                                             ; preds = %9083, %9076
  %9106 = load i32, ptr %203, align 4, !tbaa !5
  %9107 = call ptr @__errno_location() #12
  store i32 %9106, ptr %9107, align 4, !tbaa !5
  %9108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9109 = load i32, ptr @test_count, align 4, !tbaa !5
  %9110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @s2n_strerror(i32 noundef %9111, ptr noundef @.str.24)
  %9113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call ptr @s2n_strerror_debug(i32 noundef %9114, ptr noundef @.str.24)
  %9116 = call ptr @__errno_location() #12
  %9117 = load i32, ptr %9116, align 4, !tbaa !5
  %9118 = call ptr @strerror(i32 noundef %9117) #11
  %9119 = call ptr @__errno_location() #12
  %9120 = load i32, ptr %9119, align 4, !tbaa !5
  %9121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9108, ptr noundef @.str.25, i32 noundef %9109, ptr noundef @.str.89, ptr noundef @.str.21, i32 noundef 405, ptr noundef %9112, ptr noundef %9115, ptr noundef %9118, i32 noundef %9120) #11
  br label %9122

9122:                                             ; preds = %9105, %9088
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %9123

9123:                                             ; preds = %9122
  br label %9124

9124:                                             ; preds = %9123
  call void @exit(i32 noundef 1) #13
  unreachable

9125:                                             ; No predecessors!
  br label %9126

9126:                                             ; preds = %9125
  br label %9127

9127:                                             ; preds = %9126, %9069
  br label %9128

9128:                                             ; preds = %9127
  br label %9129

9129:                                             ; preds = %9128
  br label %9130

9130:                                             ; preds = %9129
  br label %9131

9131:                                             ; preds = %9130
  br label %9132

9132:                                             ; preds = %9131
  %9133 = load i32, ptr @test_count, align 4, !tbaa !5
  %9134 = add nsw i32 %9133, 1
  store i32 %9134, ptr @test_count, align 4, !tbaa !5
  %9135 = load ptr, ptr %194, align 8, !tbaa !9
  %9136 = call i32 @s2n_negotiate(ptr noundef %9135, ptr noundef %153)
  %9137 = icmp eq i32 %9136, -1
  br i1 %9137, label %9191, label %9138

9138:                                             ; preds = %9132
  br label %9139

9139:                                             ; preds = %9138
  br label %9140

9140:                                             ; preds = %9139
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %9141 = call ptr @__errno_location() #12
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  store i32 %9142, ptr %204, align 4, !tbaa !5
  %9143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9144 = call i32 @s2n_print_stacktrace(ptr noundef %9143)
  %9145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9146 = trunc i8 %9145 to i1
  br i1 %9146, label %9147, label %9169

9147:                                             ; preds = %9140
  %9148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9149 = call i32 @fileno(ptr noundef %9148) #11
  %9150 = call i32 @isatty(i32 noundef %9149) #11
  %9151 = icmp ne i32 %9150, 0
  br i1 %9151, label %9152, label %9169

9152:                                             ; preds = %9147
  %9153 = load i32, ptr %204, align 4, !tbaa !5
  %9154 = call ptr @__errno_location() #12
  store i32 %9153, ptr %9154, align 4, !tbaa !5
  %9155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9156 = load i32, ptr @test_count, align 4, !tbaa !5
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror(i32 noundef %9158, ptr noundef @.str.24)
  %9160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @s2n_strerror_debug(i32 noundef %9161, ptr noundef @.str.24)
  %9163 = call ptr @__errno_location() #12
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @strerror(i32 noundef %9164) #11
  %9166 = call ptr @__errno_location() #12
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9155, ptr noundef @.str.22, i32 noundef %9156, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9159, ptr noundef %9162, ptr noundef %9165, i32 noundef %9167) #11
  br label %9186

9169:                                             ; preds = %9147, %9140
  %9170 = load i32, ptr %204, align 4, !tbaa !5
  %9171 = call ptr @__errno_location() #12
  store i32 %9170, ptr %9171, align 4, !tbaa !5
  %9172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9173 = load i32, ptr @test_count, align 4, !tbaa !5
  %9174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror(i32 noundef %9175, ptr noundef @.str.24)
  %9177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @s2n_strerror_debug(i32 noundef %9178, ptr noundef @.str.24)
  %9180 = call ptr @__errno_location() #12
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call ptr @strerror(i32 noundef %9181) #11
  %9183 = call ptr @__errno_location() #12
  %9184 = load i32, ptr %9183, align 4, !tbaa !5
  %9185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9172, ptr noundef @.str.25, i32 noundef %9173, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9176, ptr noundef %9179, ptr noundef %9182, i32 noundef %9184) #11
  br label %9186

9186:                                             ; preds = %9169, %9152
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %9187

9187:                                             ; preds = %9186
  br label %9188

9188:                                             ; preds = %9187
  call void @exit(i32 noundef 1) #13
  unreachable

9189:                                             ; No predecessors!
  br label %9190

9190:                                             ; preds = %9189
  br label %9191

9191:                                             ; preds = %9190, %9132
  br label %9192

9192:                                             ; preds = %9191
  br label %9193

9193:                                             ; preds = %9192
  br label %9194

9194:                                             ; preds = %9193
  %9195 = load i32, ptr @test_count, align 4, !tbaa !5
  %9196 = add nsw i32 %9195, 1
  store i32 %9196, ptr @test_count, align 4, !tbaa !5
  %9197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9198 = load i32, ptr %9197, align 4, !tbaa !5
  %9199 = icmp eq i32 %9198, 201326592
  br i1 %9199, label %9253, label %9200

9200:                                             ; preds = %9194
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

9202:                                             ; preds = %9201
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %9203 = call ptr @__errno_location() #12
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  store i32 %9204, ptr %205, align 4, !tbaa !5
  %9205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9206 = call i32 @s2n_print_stacktrace(ptr noundef %9205)
  %9207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9208 = trunc i8 %9207 to i1
  br i1 %9208, label %9209, label %9231

9209:                                             ; preds = %9202
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = call i32 @fileno(ptr noundef %9210) #11
  %9212 = call i32 @isatty(i32 noundef %9211) #11
  %9213 = icmp ne i32 %9212, 0
  br i1 %9213, label %9214, label %9231

9214:                                             ; preds = %9209
  %9215 = load i32, ptr %205, align 4, !tbaa !5
  %9216 = call ptr @__errno_location() #12
  store i32 %9215, ptr %9216, align 4, !tbaa !5
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = load i32, ptr @test_count, align 4, !tbaa !5
  %9219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call ptr @s2n_strerror(i32 noundef %9220, ptr noundef @.str.24)
  %9222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9223 = load i32, ptr %9222, align 4, !tbaa !5
  %9224 = call ptr @s2n_strerror_debug(i32 noundef %9223, ptr noundef @.str.24)
  %9225 = call ptr @__errno_location() #12
  %9226 = load i32, ptr %9225, align 4, !tbaa !5
  %9227 = call ptr @strerror(i32 noundef %9226) #11
  %9228 = call ptr @__errno_location() #12
  %9229 = load i32, ptr %9228, align 4, !tbaa !5
  %9230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9217, ptr noundef @.str.22, i32 noundef %9218, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9221, ptr noundef %9224, ptr noundef %9227, i32 noundef %9229) #11
  br label %9248

9231:                                             ; preds = %9209, %9202
  %9232 = load i32, ptr %205, align 4, !tbaa !5
  %9233 = call ptr @__errno_location() #12
  store i32 %9232, ptr %9233, align 4, !tbaa !5
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = load i32, ptr @test_count, align 4, !tbaa !5
  %9236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9237 = load i32, ptr %9236, align 4, !tbaa !5
  %9238 = call ptr @s2n_strerror(i32 noundef %9237, ptr noundef @.str.24)
  %9239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9240 = load i32, ptr %9239, align 4, !tbaa !5
  %9241 = call ptr @s2n_strerror_debug(i32 noundef %9240, ptr noundef @.str.24)
  %9242 = call ptr @__errno_location() #12
  %9243 = load i32, ptr %9242, align 4, !tbaa !5
  %9244 = call ptr @strerror(i32 noundef %9243) #11
  %9245 = call ptr @__errno_location() #12
  %9246 = load i32, ptr %9245, align 4, !tbaa !5
  %9247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9234, ptr noundef @.str.25, i32 noundef %9235, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9238, ptr noundef %9241, ptr noundef %9244, i32 noundef %9246) #11
  br label %9248

9248:                                             ; preds = %9231, %9214
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

9250:                                             ; preds = %9249
  call void @exit(i32 noundef 1) #13
  unreachable

9251:                                             ; No predecessors!
  br label %9252

9252:                                             ; preds = %9251
  br label %9253

9253:                                             ; preds = %9252, %9194
  br label %9254

9254:                                             ; preds = %9253
  br label %9255

9255:                                             ; preds = %9254
  br label %9256

9256:                                             ; preds = %9255
  %9257 = load i32, ptr @test_count, align 4, !tbaa !5
  %9258 = add nsw i32 %9257, 1
  store i32 %9258, ptr @test_count, align 4, !tbaa !5
  %9259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9260 = load i32, ptr %9259, align 4, !tbaa !5
  %9261 = call ptr @s2n_strerror_debug(i32 noundef %9260, ptr noundef @.str.24)
  %9262 = icmp eq ptr %9261, null
  br i1 %9262, label %9263, label %9316

9263:                                             ; preds = %9256
  br label %9264

9264:                                             ; preds = %9263
  br label %9265

9265:                                             ; preds = %9264
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9266 = call ptr @__errno_location() #12
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  store i32 %9267, ptr %206, align 4, !tbaa !5
  %9268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9269 = call i32 @s2n_print_stacktrace(ptr noundef %9268)
  %9270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9271 = trunc i8 %9270 to i1
  br i1 %9271, label %9272, label %9294

9272:                                             ; preds = %9265
  %9273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9274 = call i32 @fileno(ptr noundef %9273) #11
  %9275 = call i32 @isatty(i32 noundef %9274) #11
  %9276 = icmp ne i32 %9275, 0
  br i1 %9276, label %9277, label %9294

9277:                                             ; preds = %9272
  %9278 = load i32, ptr %206, align 4, !tbaa !5
  %9279 = call ptr @__errno_location() #12
  store i32 %9278, ptr %9279, align 4, !tbaa !5
  %9280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9281 = load i32, ptr @test_count, align 4, !tbaa !5
  %9282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror(i32 noundef %9283, ptr noundef @.str.24)
  %9285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @s2n_strerror_debug(i32 noundef %9286, ptr noundef @.str.24)
  %9288 = call ptr @__errno_location() #12
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @strerror(i32 noundef %9289) #11
  %9291 = call ptr @__errno_location() #12
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9280, ptr noundef @.str.22, i32 noundef %9281, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9284, ptr noundef %9287, ptr noundef %9290, i32 noundef %9292) #11
  br label %9311

9294:                                             ; preds = %9272, %9265
  %9295 = load i32, ptr %206, align 4, !tbaa !5
  %9296 = call ptr @__errno_location() #12
  store i32 %9295, ptr %9296, align 4, !tbaa !5
  %9297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9298 = load i32, ptr @test_count, align 4, !tbaa !5
  %9299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call ptr @s2n_strerror(i32 noundef %9300, ptr noundef @.str.24)
  %9302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9303 = load i32, ptr %9302, align 4, !tbaa !5
  %9304 = call ptr @s2n_strerror_debug(i32 noundef %9303, ptr noundef @.str.24)
  %9305 = call ptr @__errno_location() #12
  %9306 = load i32, ptr %9305, align 4, !tbaa !5
  %9307 = call ptr @strerror(i32 noundef %9306) #11
  %9308 = call ptr @__errno_location() #12
  %9309 = load i32, ptr %9308, align 4, !tbaa !5
  %9310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9297, ptr noundef @.str.25, i32 noundef %9298, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 406, ptr noundef %9301, ptr noundef %9304, ptr noundef %9307, i32 noundef %9309) #11
  br label %9311

9311:                                             ; preds = %9294, %9277
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9312

9312:                                             ; preds = %9311
  br label %9313

9313:                                             ; preds = %9312
  call void @exit(i32 noundef 1) #13
  unreachable

9314:                                             ; No predecessors!
  br label %9315

9315:                                             ; preds = %9314
  br label %9316

9316:                                             ; preds = %9315, %9256
  br label %9317

9317:                                             ; preds = %9316
  br label %9318

9318:                                             ; preds = %9317
  br label %9319

9319:                                             ; preds = %9318
  br label %9320

9320:                                             ; preds = %9319
  br label %9321

9321:                                             ; preds = %9320
  %9322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9322, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9323 = call ptr @__errno_location() #12
  store i32 0, ptr %9323, align 4, !tbaa !5
  br label %9324

9324:                                             ; preds = %9321
  br label %9325

9325:                                             ; preds = %9324
  br label %9326

9326:                                             ; preds = %9325
  br label %9327

9327:                                             ; preds = %9326
  br label %9328

9328:                                             ; preds = %9327
  %9329 = load i32, ptr @test_count, align 4, !tbaa !5
  %9330 = add nsw i32 %9329, 1
  store i32 %9330, ptr @test_count, align 4, !tbaa !5
  %9331 = load ptr, ptr %194, align 8, !tbaa !9
  %9332 = call i32 @s2n_conn_get_current_message_type(ptr noundef %9331)
  %9333 = icmp eq i32 %9332, 2
  br i1 %9333, label %9387, label %9334

9334:                                             ; preds = %9328
  br label %9335

9335:                                             ; preds = %9334
  br label %9336

9336:                                             ; preds = %9335
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9337 = call ptr @__errno_location() #12
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  store i32 %9338, ptr %207, align 4, !tbaa !5
  %9339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9340 = call i32 @s2n_print_stacktrace(ptr noundef %9339)
  %9341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9342 = trunc i8 %9341 to i1
  br i1 %9342, label %9343, label %9365

9343:                                             ; preds = %9336
  %9344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9345 = call i32 @fileno(ptr noundef %9344) #11
  %9346 = call i32 @isatty(i32 noundef %9345) #11
  %9347 = icmp ne i32 %9346, 0
  br i1 %9347, label %9348, label %9365

9348:                                             ; preds = %9343
  %9349 = load i32, ptr %207, align 4, !tbaa !5
  %9350 = call ptr @__errno_location() #12
  store i32 %9349, ptr %9350, align 4, !tbaa !5
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = load i32, ptr @test_count, align 4, !tbaa !5
  %9353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = call ptr @s2n_strerror(i32 noundef %9354, ptr noundef @.str.24)
  %9356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9357 = load i32, ptr %9356, align 4, !tbaa !5
  %9358 = call ptr @s2n_strerror_debug(i32 noundef %9357, ptr noundef @.str.24)
  %9359 = call ptr @__errno_location() #12
  %9360 = load i32, ptr %9359, align 4, !tbaa !5
  %9361 = call ptr @strerror(i32 noundef %9360) #11
  %9362 = call ptr @__errno_location() #12
  %9363 = load i32, ptr %9362, align 4, !tbaa !5
  %9364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9351, ptr noundef @.str.22, i32 noundef %9352, ptr noundef @.str.90, ptr noundef @.str.21, i32 noundef 408, ptr noundef %9355, ptr noundef %9358, ptr noundef %9361, i32 noundef %9363) #11
  br label %9382

9365:                                             ; preds = %9343, %9336
  %9366 = load i32, ptr %207, align 4, !tbaa !5
  %9367 = call ptr @__errno_location() #12
  store i32 %9366, ptr %9367, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = load i32, ptr @test_count, align 4, !tbaa !5
  %9370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9371 = load i32, ptr %9370, align 4, !tbaa !5
  %9372 = call ptr @s2n_strerror(i32 noundef %9371, ptr noundef @.str.24)
  %9373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9374 = load i32, ptr %9373, align 4, !tbaa !5
  %9375 = call ptr @s2n_strerror_debug(i32 noundef %9374, ptr noundef @.str.24)
  %9376 = call ptr @__errno_location() #12
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call ptr @strerror(i32 noundef %9377) #11
  %9379 = call ptr @__errno_location() #12
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  %9381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9368, ptr noundef @.str.25, i32 noundef %9369, ptr noundef @.str.90, ptr noundef @.str.21, i32 noundef 408, ptr noundef %9372, ptr noundef %9375, ptr noundef %9378, i32 noundef %9380) #11
  br label %9382

9382:                                             ; preds = %9365, %9348
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %9383

9383:                                             ; preds = %9382
  br label %9384

9384:                                             ; preds = %9383
  call void @exit(i32 noundef 1) #13
  unreachable

9385:                                             ; No predecessors!
  br label %9386

9386:                                             ; preds = %9385
  br label %9387

9387:                                             ; preds = %9386, %9328
  br label %9388

9388:                                             ; preds = %9387
  br label %9389

9389:                                             ; preds = %9388
  br label %9390

9390:                                             ; preds = %9389
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = add nsw i32 %9391, 1
  store i32 %9392, ptr @test_count, align 4, !tbaa !5
  %9393 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %9394 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @input_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %9395 = sub i32 %9393, %9394
  %9396 = icmp eq i32 %9395, 0
  br i1 %9396, label %9450, label %9397

9397:                                             ; preds = %9390
  br label %9398

9398:                                             ; preds = %9397
  br label %9399

9399:                                             ; preds = %9398
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %9400 = call ptr @__errno_location() #12
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  store i32 %9401, ptr %208, align 4, !tbaa !5
  %9402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9403 = call i32 @s2n_print_stacktrace(ptr noundef %9402)
  %9404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9405 = trunc i8 %9404 to i1
  br i1 %9405, label %9406, label %9428

9406:                                             ; preds = %9399
  %9407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9408 = call i32 @fileno(ptr noundef %9407) #11
  %9409 = call i32 @isatty(i32 noundef %9408) #11
  %9410 = icmp ne i32 %9409, 0
  br i1 %9410, label %9411, label %9428

9411:                                             ; preds = %9406
  %9412 = load i32, ptr %208, align 4, !tbaa !5
  %9413 = call ptr @__errno_location() #12
  store i32 %9412, ptr %9413, align 4, !tbaa !5
  %9414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9415 = load i32, ptr @test_count, align 4, !tbaa !5
  %9416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror(i32 noundef %9417, ptr noundef @.str.24)
  %9419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  %9421 = call ptr @s2n_strerror_debug(i32 noundef %9420, ptr noundef @.str.24)
  %9422 = call ptr @__errno_location() #12
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call ptr @strerror(i32 noundef %9423) #11
  %9425 = call ptr @__errno_location() #12
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9414, ptr noundef @.str.22, i32 noundef %9415, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 409, ptr noundef %9418, ptr noundef %9421, ptr noundef %9424, i32 noundef %9426) #11
  br label %9445

9428:                                             ; preds = %9406, %9399
  %9429 = load i32, ptr %208, align 4, !tbaa !5
  %9430 = call ptr @__errno_location() #12
  store i32 %9429, ptr %9430, align 4, !tbaa !5
  %9431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9432 = load i32, ptr @test_count, align 4, !tbaa !5
  %9433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9434 = load i32, ptr %9433, align 4, !tbaa !5
  %9435 = call ptr @s2n_strerror(i32 noundef %9434, ptr noundef @.str.24)
  %9436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  %9438 = call ptr @s2n_strerror_debug(i32 noundef %9437, ptr noundef @.str.24)
  %9439 = call ptr @__errno_location() #12
  %9440 = load i32, ptr %9439, align 4, !tbaa !5
  %9441 = call ptr @strerror(i32 noundef %9440) #11
  %9442 = call ptr @__errno_location() #12
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9431, ptr noundef @.str.25, i32 noundef %9432, ptr noundef @.str.84, ptr noundef @.str.21, i32 noundef 409, ptr noundef %9435, ptr noundef %9438, ptr noundef %9441, i32 noundef %9443) #11
  br label %9445

9445:                                             ; preds = %9428, %9411
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %9446

9446:                                             ; preds = %9445
  br label %9447

9447:                                             ; preds = %9446
  call void @exit(i32 noundef 1) #13
  unreachable

9448:                                             ; No predecessors!
  br label %9449

9449:                                             ; preds = %9448
  br label %9450

9450:                                             ; preds = %9449, %9390
  br label %9451

9451:                                             ; preds = %9450
  br label %9452

9452:                                             ; preds = %9451
  br label %9453

9453:                                             ; preds = %9452
  %9454 = load i32, ptr @test_count, align 4, !tbaa !5
  %9455 = add nsw i32 %9454, 1
  store i32 %9455, ptr @test_count, align 4, !tbaa !5
  %9456 = load ptr, ptr %194, align 8, !tbaa !9
  %9457 = call i32 @s2n_connection_free(ptr noundef %9456)
  %9458 = icmp eq i32 %9457, -1
  br i1 %9458, label %9459, label %9512

9459:                                             ; preds = %9453
  br label %9460

9460:                                             ; preds = %9459
  br label %9461

9461:                                             ; preds = %9460
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %9462 = call ptr @__errno_location() #12
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  store i32 %9463, ptr %209, align 4, !tbaa !5
  %9464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9465 = call i32 @s2n_print_stacktrace(ptr noundef %9464)
  %9466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9467 = trunc i8 %9466 to i1
  br i1 %9467, label %9468, label %9490

9468:                                             ; preds = %9461
  %9469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9470 = call i32 @fileno(ptr noundef %9469) #11
  %9471 = call i32 @isatty(i32 noundef %9470) #11
  %9472 = icmp ne i32 %9471, 0
  br i1 %9472, label %9473, label %9490

9473:                                             ; preds = %9468
  %9474 = load i32, ptr %209, align 4, !tbaa !5
  %9475 = call ptr @__errno_location() #12
  store i32 %9474, ptr %9475, align 4, !tbaa !5
  %9476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9477 = load i32, ptr @test_count, align 4, !tbaa !5
  %9478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9479 = load i32, ptr %9478, align 4, !tbaa !5
  %9480 = call ptr @s2n_strerror(i32 noundef %9479, ptr noundef @.str.24)
  %9481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9482 = load i32, ptr %9481, align 4, !tbaa !5
  %9483 = call ptr @s2n_strerror_debug(i32 noundef %9482, ptr noundef @.str.24)
  %9484 = call ptr @__errno_location() #12
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call ptr @strerror(i32 noundef %9485) #11
  %9487 = call ptr @__errno_location() #12
  %9488 = load i32, ptr %9487, align 4, !tbaa !5
  %9489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9476, ptr noundef @.str.22, i32 noundef %9477, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 411, ptr noundef %9480, ptr noundef %9483, ptr noundef %9486, i32 noundef %9488) #11
  br label %9507

9490:                                             ; preds = %9468, %9461
  %9491 = load i32, ptr %209, align 4, !tbaa !5
  %9492 = call ptr @__errno_location() #12
  store i32 %9491, ptr %9492, align 4, !tbaa !5
  %9493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9494 = load i32, ptr @test_count, align 4, !tbaa !5
  %9495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9496 = load i32, ptr %9495, align 4, !tbaa !5
  %9497 = call ptr @s2n_strerror(i32 noundef %9496, ptr noundef @.str.24)
  %9498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9499 = load i32, ptr %9498, align 4, !tbaa !5
  %9500 = call ptr @s2n_strerror_debug(i32 noundef %9499, ptr noundef @.str.24)
  %9501 = call ptr @__errno_location() #12
  %9502 = load i32, ptr %9501, align 4, !tbaa !5
  %9503 = call ptr @strerror(i32 noundef %9502) #11
  %9504 = call ptr @__errno_location() #12
  %9505 = load i32, ptr %9504, align 4, !tbaa !5
  %9506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9493, ptr noundef @.str.25, i32 noundef %9494, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 411, ptr noundef %9497, ptr noundef %9500, ptr noundef %9503, i32 noundef %9505) #11
  br label %9507

9507:                                             ; preds = %9490, %9473
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %9508

9508:                                             ; preds = %9507
  br label %9509

9509:                                             ; preds = %9508
  call void @exit(i32 noundef 1) #13
  unreachable

9510:                                             ; No predecessors!
  br label %9511

9511:                                             ; preds = %9510
  br label %9512

9512:                                             ; preds = %9511, %9453
  br label %9513

9513:                                             ; preds = %9512
  br label %9514

9514:                                             ; preds = %9513
  %9515 = call i32 @s2n_free(ptr noundef %199)
  call void @llvm.lifetime.end.p0(i64 24, ptr %199) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #11
  store ptr null, ptr %210, align 8, !tbaa !9
  br label %9516

9516:                                             ; preds = %9514
  %9517 = load i32, ptr @test_count, align 4, !tbaa !5
  %9518 = add nsw i32 %9517, 1
  store i32 %9518, ptr @test_count, align 4, !tbaa !5
  %9519 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9519, ptr %210, align 8, !tbaa !9
  %9520 = icmp eq ptr %9519, null
  br i1 %9520, label %9521, label %9574

9521:                                             ; preds = %9516
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

9523:                                             ; preds = %9522
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %9524 = call ptr @__errno_location() #12
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  store i32 %9525, ptr %211, align 4, !tbaa !5
  %9526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9527 = call i32 @s2n_print_stacktrace(ptr noundef %9526)
  %9528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9529 = trunc i8 %9528 to i1
  br i1 %9529, label %9530, label %9552

9530:                                             ; preds = %9523
  %9531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9532 = call i32 @fileno(ptr noundef %9531) #11
  %9533 = call i32 @isatty(i32 noundef %9532) #11
  %9534 = icmp ne i32 %9533, 0
  br i1 %9534, label %9535, label %9552

9535:                                             ; preds = %9530
  %9536 = load i32, ptr %211, align 4, !tbaa !5
  %9537 = call ptr @__errno_location() #12
  store i32 %9536, ptr %9537, align 4, !tbaa !5
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = load i32, ptr @test_count, align 4, !tbaa !5
  %9540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  %9542 = call ptr @s2n_strerror(i32 noundef %9541, ptr noundef @.str.24)
  %9543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9544 = load i32, ptr %9543, align 4, !tbaa !5
  %9545 = call ptr @s2n_strerror_debug(i32 noundef %9544, ptr noundef @.str.24)
  %9546 = call ptr @__errno_location() #12
  %9547 = load i32, ptr %9546, align 4, !tbaa !5
  %9548 = call ptr @strerror(i32 noundef %9547) #11
  %9549 = call ptr @__errno_location() #12
  %9550 = load i32, ptr %9549, align 4, !tbaa !5
  %9551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9538, ptr noundef @.str.22, i32 noundef %9539, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 417, ptr noundef %9542, ptr noundef %9545, ptr noundef %9548, i32 noundef %9550) #11
  br label %9569

9552:                                             ; preds = %9530, %9523
  %9553 = load i32, ptr %211, align 4, !tbaa !5
  %9554 = call ptr @__errno_location() #12
  store i32 %9553, ptr %9554, align 4, !tbaa !5
  %9555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9556 = load i32, ptr @test_count, align 4, !tbaa !5
  %9557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9558 = load i32, ptr %9557, align 4, !tbaa !5
  %9559 = call ptr @s2n_strerror(i32 noundef %9558, ptr noundef @.str.24)
  %9560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9561 = load i32, ptr %9560, align 4, !tbaa !5
  %9562 = call ptr @s2n_strerror_debug(i32 noundef %9561, ptr noundef @.str.24)
  %9563 = call ptr @__errno_location() #12
  %9564 = load i32, ptr %9563, align 4, !tbaa !5
  %9565 = call ptr @strerror(i32 noundef %9564) #11
  %9566 = call ptr @__errno_location() #12
  %9567 = load i32, ptr %9566, align 4, !tbaa !5
  %9568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9555, ptr noundef @.str.25, i32 noundef %9556, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 417, ptr noundef %9559, ptr noundef %9562, ptr noundef %9565, i32 noundef %9567) #11
  br label %9569

9569:                                             ; preds = %9552, %9535
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %9570

9570:                                             ; preds = %9569
  br label %9571

9571:                                             ; preds = %9570
  call void @exit(i32 noundef 1) #13
  unreachable

9572:                                             ; No predecessors!
  br label %9573

9573:                                             ; preds = %9572
  br label %9574

9574:                                             ; preds = %9573, %9516
  br label %9575

9575:                                             ; preds = %9574
  br label %9576

9576:                                             ; preds = %9575
  br label %9577

9577:                                             ; preds = %9576
  %9578 = load i32, ptr @test_count, align 4, !tbaa !5
  %9579 = add nsw i32 %9578, 1
  store i32 %9579, ptr @test_count, align 4, !tbaa !5
  %9580 = load ptr, ptr %210, align 8, !tbaa !9
  %9581 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef %9580)
  %9582 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  store i32 %9581, ptr %9582, align 4
  %9583 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  %9584 = load i32, ptr %9583, align 4
  %9585 = call zeroext i1 @s2n_result_is_ok(i32 %9584)
  br i1 %9585, label %9639, label %9586

9586:                                             ; preds = %9577
  br label %9587

9587:                                             ; preds = %9586
  br label %9588

9588:                                             ; preds = %9587
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %9589 = call ptr @__errno_location() #12
  %9590 = load i32, ptr %9589, align 4, !tbaa !5
  store i32 %9590, ptr %213, align 4, !tbaa !5
  %9591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9592 = call i32 @s2n_print_stacktrace(ptr noundef %9591)
  %9593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9594 = trunc i8 %9593 to i1
  br i1 %9594, label %9595, label %9617

9595:                                             ; preds = %9588
  %9596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9597 = call i32 @fileno(ptr noundef %9596) #11
  %9598 = call i32 @isatty(i32 noundef %9597) #11
  %9599 = icmp ne i32 %9598, 0
  br i1 %9599, label %9600, label %9617

9600:                                             ; preds = %9595
  %9601 = load i32, ptr %213, align 4, !tbaa !5
  %9602 = call ptr @__errno_location() #12
  store i32 %9601, ptr %9602, align 4, !tbaa !5
  %9603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9604 = load i32, ptr @test_count, align 4, !tbaa !5
  %9605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror(i32 noundef %9606, ptr noundef @.str.24)
  %9608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9609 = load i32, ptr %9608, align 4, !tbaa !5
  %9610 = call ptr @s2n_strerror_debug(i32 noundef %9609, ptr noundef @.str.24)
  %9611 = call ptr @__errno_location() #12
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call ptr @strerror(i32 noundef %9612) #11
  %9614 = call ptr @__errno_location() #12
  %9615 = load i32, ptr %9614, align 4, !tbaa !5
  %9616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9603, ptr noundef @.str.22, i32 noundef %9604, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 418, ptr noundef %9607, ptr noundef %9610, ptr noundef %9613, i32 noundef %9615) #11
  br label %9634

9617:                                             ; preds = %9595, %9588
  %9618 = load i32, ptr %213, align 4, !tbaa !5
  %9619 = call ptr @__errno_location() #12
  store i32 %9618, ptr %9619, align 4, !tbaa !5
  %9620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9621 = load i32, ptr @test_count, align 4, !tbaa !5
  %9622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  %9624 = call ptr @s2n_strerror(i32 noundef %9623, ptr noundef @.str.24)
  %9625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @s2n_strerror_debug(i32 noundef %9626, ptr noundef @.str.24)
  %9628 = call ptr @__errno_location() #12
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call ptr @strerror(i32 noundef %9629) #11
  %9631 = call ptr @__errno_location() #12
  %9632 = load i32, ptr %9631, align 4, !tbaa !5
  %9633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9620, ptr noundef @.str.25, i32 noundef %9621, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 418, ptr noundef %9624, ptr noundef %9627, ptr noundef %9630, i32 noundef %9632) #11
  br label %9634

9634:                                             ; preds = %9617, %9600
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %9635

9635:                                             ; preds = %9634
  br label %9636

9636:                                             ; preds = %9635
  call void @exit(i32 noundef 1) #13
  unreachable

9637:                                             ; No predecessors!
  br label %9638

9638:                                             ; preds = %9637
  br label %9639

9639:                                             ; preds = %9638, %9577
  br label %9640

9640:                                             ; preds = %9639
  br label %9641

9641:                                             ; preds = %9640
  br label %9642

9642:                                             ; preds = %9641
  %9643 = load i32, ptr @test_count, align 4, !tbaa !5
  %9644 = add nsw i32 %9643, 1
  store i32 %9644, ptr @test_count, align 4, !tbaa !5
  %9645 = load ptr, ptr %210, align 8, !tbaa !9
  %9646 = load ptr, ptr %160, align 8, !tbaa !9
  %9647 = call i32 @s2n_connection_set_config(ptr noundef %9645, ptr noundef %9646)
  %9648 = icmp eq i32 %9647, -1
  br i1 %9648, label %9649, label %9702

9649:                                             ; preds = %9642
  br label %9650

9650:                                             ; preds = %9649
  br label %9651

9651:                                             ; preds = %9650
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %9652 = call ptr @__errno_location() #12
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  store i32 %9653, ptr %214, align 4, !tbaa !5
  %9654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9655 = call i32 @s2n_print_stacktrace(ptr noundef %9654)
  %9656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9657 = trunc i8 %9656 to i1
  br i1 %9657, label %9658, label %9680

9658:                                             ; preds = %9651
  %9659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9660 = call i32 @fileno(ptr noundef %9659) #11
  %9661 = call i32 @isatty(i32 noundef %9660) #11
  %9662 = icmp ne i32 %9661, 0
  br i1 %9662, label %9663, label %9680

9663:                                             ; preds = %9658
  %9664 = load i32, ptr %214, align 4, !tbaa !5
  %9665 = call ptr @__errno_location() #12
  store i32 %9664, ptr %9665, align 4, !tbaa !5
  %9666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9667 = load i32, ptr @test_count, align 4, !tbaa !5
  %9668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9669 = load i32, ptr %9668, align 4, !tbaa !5
  %9670 = call ptr @s2n_strerror(i32 noundef %9669, ptr noundef @.str.24)
  %9671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9672 = load i32, ptr %9671, align 4, !tbaa !5
  %9673 = call ptr @s2n_strerror_debug(i32 noundef %9672, ptr noundef @.str.24)
  %9674 = call ptr @__errno_location() #12
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  %9676 = call ptr @strerror(i32 noundef %9675) #11
  %9677 = call ptr @__errno_location() #12
  %9678 = load i32, ptr %9677, align 4, !tbaa !5
  %9679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9666, ptr noundef @.str.22, i32 noundef %9667, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 419, ptr noundef %9670, ptr noundef %9673, ptr noundef %9676, i32 noundef %9678) #11
  br label %9697

9680:                                             ; preds = %9658, %9651
  %9681 = load i32, ptr %214, align 4, !tbaa !5
  %9682 = call ptr @__errno_location() #12
  store i32 %9681, ptr %9682, align 4, !tbaa !5
  %9683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9684 = load i32, ptr @test_count, align 4, !tbaa !5
  %9685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9686 = load i32, ptr %9685, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror(i32 noundef %9686, ptr noundef @.str.24)
  %9688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = call ptr @s2n_strerror_debug(i32 noundef %9689, ptr noundef @.str.24)
  %9691 = call ptr @__errno_location() #12
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  %9693 = call ptr @strerror(i32 noundef %9692) #11
  %9694 = call ptr @__errno_location() #12
  %9695 = load i32, ptr %9694, align 4, !tbaa !5
  %9696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9683, ptr noundef @.str.25, i32 noundef %9684, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 419, ptr noundef %9687, ptr noundef %9690, ptr noundef %9693, i32 noundef %9695) #11
  br label %9697

9697:                                             ; preds = %9680, %9663
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %9698

9698:                                             ; preds = %9697
  br label %9699

9699:                                             ; preds = %9698
  call void @exit(i32 noundef 1) #13
  unreachable

9700:                                             ; No predecessors!
  br label %9701

9701:                                             ; preds = %9700
  br label %9702

9702:                                             ; preds = %9701, %9642
  br label %9703

9703:                                             ; preds = %9702
  br label %9704

9704:                                             ; preds = %9703
  br label %9705

9705:                                             ; preds = %9704
  %9706 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 22)
  %9707 = icmp sgt i32 %9706, -1
  br i1 %9707, label %9709, label %9708

9708:                                             ; preds = %9705
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10057

9709:                                             ; preds = %9705
  br label %9710

9710:                                             ; preds = %9709
  br label %9711

9711:                                             ; preds = %9710
  br label %9712

9712:                                             ; preds = %9711
  %9713 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 3)
  %9714 = icmp sgt i32 %9713, -1
  br i1 %9714, label %9716, label %9715

9715:                                             ; preds = %9712
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10057

9716:                                             ; preds = %9712
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

9718:                                             ; preds = %9717
  br label %9719

9719:                                             ; preds = %9718
  %9720 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 3)
  %9721 = icmp sgt i32 %9720, -1
  br i1 %9721, label %9723, label %9722

9722:                                             ; preds = %9719
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10057

9723:                                             ; preds = %9719
  br label %9724

9724:                                             ; preds = %9723
  br label %9725

9725:                                             ; preds = %9724
  br label %9726

9726:                                             ; preds = %9725
  %9727 = getelementptr inbounds %struct.s2n_blob, ptr %155, i32 0, i32 1
  %9728 = load i32, ptr %9727, align 8, !tbaa !56
  %9729 = trunc i32 %9728 to i16
  %9730 = call i32 @s2n_stuffer_write_uint16(ptr noundef @input_stuffer, i16 noundef zeroext %9729)
  %9731 = icmp sgt i32 %9730, -1
  br i1 %9731, label %9733, label %9732

9732:                                             ; preds = %9726
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10057

9733:                                             ; preds = %9726
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

9735:                                             ; preds = %9734
  br label %9736

9736:                                             ; preds = %9735
  %9737 = load i32, ptr @test_count, align 4, !tbaa !5
  %9738 = add nsw i32 %9737, 1
  store i32 %9738, ptr @test_count, align 4, !tbaa !5
  %9739 = call i32 @s2n_stuffer_write(ptr noundef @input_stuffer, ptr noundef %155)
  %9740 = icmp eq i32 %9739, -1
  br i1 %9740, label %9741, label %9794

9741:                                             ; preds = %9736
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

9743:                                             ; preds = %9742
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %9744 = call ptr @__errno_location() #12
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  store i32 %9745, ptr %216, align 4, !tbaa !5
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @s2n_print_stacktrace(ptr noundef %9746)
  %9748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9749 = trunc i8 %9748 to i1
  br i1 %9749, label %9750, label %9772

9750:                                             ; preds = %9743
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = call i32 @fileno(ptr noundef %9751) #11
  %9753 = call i32 @isatty(i32 noundef %9752) #11
  %9754 = icmp ne i32 %9753, 0
  br i1 %9754, label %9755, label %9772

9755:                                             ; preds = %9750
  %9756 = load i32, ptr %216, align 4, !tbaa !5
  %9757 = call ptr @__errno_location() #12
  store i32 %9756, ptr %9757, align 4, !tbaa !5
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = load i32, ptr @test_count, align 4, !tbaa !5
  %9760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9761 = load i32, ptr %9760, align 4, !tbaa !5
  %9762 = call ptr @s2n_strerror(i32 noundef %9761, ptr noundef @.str.24)
  %9763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call ptr @s2n_strerror_debug(i32 noundef %9764, ptr noundef @.str.24)
  %9766 = call ptr @__errno_location() #12
  %9767 = load i32, ptr %9766, align 4, !tbaa !5
  %9768 = call ptr @strerror(i32 noundef %9767) #11
  %9769 = call ptr @__errno_location() #12
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9758, ptr noundef @.str.22, i32 noundef %9759, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 427, ptr noundef %9762, ptr noundef %9765, ptr noundef %9768, i32 noundef %9770) #11
  br label %9789

9772:                                             ; preds = %9750, %9743
  %9773 = load i32, ptr %216, align 4, !tbaa !5
  %9774 = call ptr @__errno_location() #12
  store i32 %9773, ptr %9774, align 4, !tbaa !5
  %9775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9776 = load i32, ptr @test_count, align 4, !tbaa !5
  %9777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call ptr @s2n_strerror(i32 noundef %9778, ptr noundef @.str.24)
  %9780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call ptr @s2n_strerror_debug(i32 noundef %9781, ptr noundef @.str.24)
  %9783 = call ptr @__errno_location() #12
  %9784 = load i32, ptr %9783, align 4, !tbaa !5
  %9785 = call ptr @strerror(i32 noundef %9784) #11
  %9786 = call ptr @__errno_location() #12
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9775, ptr noundef @.str.25, i32 noundef %9776, ptr noundef @.str.81, ptr noundef @.str.21, i32 noundef 427, ptr noundef %9779, ptr noundef %9782, ptr noundef %9785, i32 noundef %9787) #11
  br label %9789

9789:                                             ; preds = %9772, %9755
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %9790

9790:                                             ; preds = %9789
  br label %9791

9791:                                             ; preds = %9790
  call void @exit(i32 noundef 1) #13
  unreachable

9792:                                             ; No predecessors!
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

9794:                                             ; preds = %9793, %9736
  br label %9795

9795:                                             ; preds = %9794
  br label %9796

9796:                                             ; preds = %9795
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  %9800 = load i32, ptr @test_count, align 4, !tbaa !5
  %9801 = add nsw i32 %9800, 1
  store i32 %9801, ptr @test_count, align 4, !tbaa !5
  %9802 = load ptr, ptr %210, align 8, !tbaa !9
  %9803 = call i32 @s2n_negotiate(ptr noundef %9802, ptr noundef %153)
  %9804 = icmp eq i32 %9803, -1
  br i1 %9804, label %9858, label %9805

9805:                                             ; preds = %9799
  br label %9806

9806:                                             ; preds = %9805
  br label %9807

9807:                                             ; preds = %9806
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %9808 = call ptr @__errno_location() #12
  %9809 = load i32, ptr %9808, align 4, !tbaa !5
  store i32 %9809, ptr %217, align 4, !tbaa !5
  %9810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9811 = call i32 @s2n_print_stacktrace(ptr noundef %9810)
  %9812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9813 = trunc i8 %9812 to i1
  br i1 %9813, label %9814, label %9836

9814:                                             ; preds = %9807
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @fileno(ptr noundef %9815) #11
  %9817 = call i32 @isatty(i32 noundef %9816) #11
  %9818 = icmp ne i32 %9817, 0
  br i1 %9818, label %9819, label %9836

9819:                                             ; preds = %9814
  %9820 = load i32, ptr %217, align 4, !tbaa !5
  %9821 = call ptr @__errno_location() #12
  store i32 %9820, ptr %9821, align 4, !tbaa !5
  %9822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9823 = load i32, ptr @test_count, align 4, !tbaa !5
  %9824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9825 = load i32, ptr %9824, align 4, !tbaa !5
  %9826 = call ptr @s2n_strerror(i32 noundef %9825, ptr noundef @.str.24)
  %9827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9828 = load i32, ptr %9827, align 4, !tbaa !5
  %9829 = call ptr @s2n_strerror_debug(i32 noundef %9828, ptr noundef @.str.24)
  %9830 = call ptr @__errno_location() #12
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @strerror(i32 noundef %9831) #11
  %9833 = call ptr @__errno_location() #12
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9822, ptr noundef @.str.22, i32 noundef %9823, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9826, ptr noundef %9829, ptr noundef %9832, i32 noundef %9834) #11
  br label %9853

9836:                                             ; preds = %9814, %9807
  %9837 = load i32, ptr %217, align 4, !tbaa !5
  %9838 = call ptr @__errno_location() #12
  store i32 %9837, ptr %9838, align 4, !tbaa !5
  %9839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9840 = load i32, ptr @test_count, align 4, !tbaa !5
  %9841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call ptr @s2n_strerror(i32 noundef %9842, ptr noundef @.str.24)
  %9844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror_debug(i32 noundef %9845, ptr noundef @.str.24)
  %9847 = call ptr @__errno_location() #12
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @strerror(i32 noundef %9848) #11
  %9850 = call ptr @__errno_location() #12
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9839, ptr noundef @.str.25, i32 noundef %9840, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9843, ptr noundef %9846, ptr noundef %9849, i32 noundef %9851) #11
  br label %9853

9853:                                             ; preds = %9836, %9819
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  call void @exit(i32 noundef 1) #13
  unreachable

9856:                                             ; No predecessors!
  br label %9857

9857:                                             ; preds = %9856
  br label %9858

9858:                                             ; preds = %9857, %9799
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

9861:                                             ; preds = %9860
  %9862 = load i32, ptr @test_count, align 4, !tbaa !5
  %9863 = add nsw i32 %9862, 1
  store i32 %9863, ptr @test_count, align 4, !tbaa !5
  %9864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  %9866 = icmp eq i32 %9865, 335544322
  br i1 %9866, label %9920, label %9867

9867:                                             ; preds = %9861
  br label %9868

9868:                                             ; preds = %9867
  br label %9869

9869:                                             ; preds = %9868
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %9870 = call ptr @__errno_location() #12
  %9871 = load i32, ptr %9870, align 4, !tbaa !5
  store i32 %9871, ptr %218, align 4, !tbaa !5
  %9872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9873 = call i32 @s2n_print_stacktrace(ptr noundef %9872)
  %9874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9875 = trunc i8 %9874 to i1
  br i1 %9875, label %9876, label %9898

9876:                                             ; preds = %9869
  %9877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9878 = call i32 @fileno(ptr noundef %9877) #11
  %9879 = call i32 @isatty(i32 noundef %9878) #11
  %9880 = icmp ne i32 %9879, 0
  br i1 %9880, label %9881, label %9898

9881:                                             ; preds = %9876
  %9882 = load i32, ptr %218, align 4, !tbaa !5
  %9883 = call ptr @__errno_location() #12
  store i32 %9882, ptr %9883, align 4, !tbaa !5
  %9884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9885 = load i32, ptr @test_count, align 4, !tbaa !5
  %9886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9887 = load i32, ptr %9886, align 4, !tbaa !5
  %9888 = call ptr @s2n_strerror(i32 noundef %9887, ptr noundef @.str.24)
  %9889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call ptr @s2n_strerror_debug(i32 noundef %9890, ptr noundef @.str.24)
  %9892 = call ptr @__errno_location() #12
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call ptr @strerror(i32 noundef %9893) #11
  %9895 = call ptr @__errno_location() #12
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9884, ptr noundef @.str.22, i32 noundef %9885, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9888, ptr noundef %9891, ptr noundef %9894, i32 noundef %9896) #11
  br label %9915

9898:                                             ; preds = %9876, %9869
  %9899 = load i32, ptr %218, align 4, !tbaa !5
  %9900 = call ptr @__errno_location() #12
  store i32 %9899, ptr %9900, align 4, !tbaa !5
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = load i32, ptr @test_count, align 4, !tbaa !5
  %9903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror(i32 noundef %9904, ptr noundef @.str.24)
  %9906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @s2n_strerror_debug(i32 noundef %9907, ptr noundef @.str.24)
  %9909 = call ptr @__errno_location() #12
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @strerror(i32 noundef %9910) #11
  %9912 = call ptr @__errno_location() #12
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9901, ptr noundef @.str.25, i32 noundef %9902, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9905, ptr noundef %9908, ptr noundef %9911, i32 noundef %9913) #11
  br label %9915

9915:                                             ; preds = %9898, %9881
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916
  call void @exit(i32 noundef 1) #13
  unreachable

9918:                                             ; No predecessors!
  br label %9919

9919:                                             ; preds = %9918
  br label %9920

9920:                                             ; preds = %9919, %9861
  br label %9921

9921:                                             ; preds = %9920
  br label %9922

9922:                                             ; preds = %9921
  br label %9923

9923:                                             ; preds = %9922
  %9924 = load i32, ptr @test_count, align 4, !tbaa !5
  %9925 = add nsw i32 %9924, 1
  store i32 %9925, ptr @test_count, align 4, !tbaa !5
  %9926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call ptr @s2n_strerror_debug(i32 noundef %9927, ptr noundef @.str.24)
  %9929 = icmp eq ptr %9928, null
  br i1 %9929, label %9930, label %9983

9930:                                             ; preds = %9923
  br label %9931

9931:                                             ; preds = %9930
  br label %9932

9932:                                             ; preds = %9931
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %9933 = call ptr @__errno_location() #12
  %9934 = load i32, ptr %9933, align 4, !tbaa !5
  store i32 %9934, ptr %219, align 4, !tbaa !5
  %9935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9936 = call i32 @s2n_print_stacktrace(ptr noundef %9935)
  %9937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9938 = trunc i8 %9937 to i1
  br i1 %9938, label %9939, label %9961

9939:                                             ; preds = %9932
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = call i32 @fileno(ptr noundef %9940) #11
  %9942 = call i32 @isatty(i32 noundef %9941) #11
  %9943 = icmp ne i32 %9942, 0
  br i1 %9943, label %9944, label %9961

9944:                                             ; preds = %9939
  %9945 = load i32, ptr %219, align 4, !tbaa !5
  %9946 = call ptr @__errno_location() #12
  store i32 %9945, ptr %9946, align 4, !tbaa !5
  %9947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9948 = load i32, ptr @test_count, align 4, !tbaa !5
  %9949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9950 = load i32, ptr %9949, align 4, !tbaa !5
  %9951 = call ptr @s2n_strerror(i32 noundef %9950, ptr noundef @.str.24)
  %9952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  %9954 = call ptr @s2n_strerror_debug(i32 noundef %9953, ptr noundef @.str.24)
  %9955 = call ptr @__errno_location() #12
  %9956 = load i32, ptr %9955, align 4, !tbaa !5
  %9957 = call ptr @strerror(i32 noundef %9956) #11
  %9958 = call ptr @__errno_location() #12
  %9959 = load i32, ptr %9958, align 4, !tbaa !5
  %9960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9947, ptr noundef @.str.22, i32 noundef %9948, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9951, ptr noundef %9954, ptr noundef %9957, i32 noundef %9959) #11
  br label %9978

9961:                                             ; preds = %9939, %9932
  %9962 = load i32, ptr %219, align 4, !tbaa !5
  %9963 = call ptr @__errno_location() #12
  store i32 %9962, ptr %9963, align 4, !tbaa !5
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = load i32, ptr @test_count, align 4, !tbaa !5
  %9966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call ptr @s2n_strerror(i32 noundef %9967, ptr noundef @.str.24)
  %9969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  %9971 = call ptr @s2n_strerror_debug(i32 noundef %9970, ptr noundef @.str.24)
  %9972 = call ptr @__errno_location() #12
  %9973 = load i32, ptr %9972, align 4, !tbaa !5
  %9974 = call ptr @strerror(i32 noundef %9973) #11
  %9975 = call ptr @__errno_location() #12
  %9976 = load i32, ptr %9975, align 4, !tbaa !5
  %9977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9964, ptr noundef @.str.25, i32 noundef %9965, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 429, ptr noundef %9968, ptr noundef %9971, ptr noundef %9974, i32 noundef %9976) #11
  br label %9978

9978:                                             ; preds = %9961, %9944
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %9979

9979:                                             ; preds = %9978
  br label %9980

9980:                                             ; preds = %9979
  call void @exit(i32 noundef 1) #13
  unreachable

9981:                                             ; No predecessors!
  br label %9982

9982:                                             ; preds = %9981
  br label %9983

9983:                                             ; preds = %9982, %9923
  br label %9984

9984:                                             ; preds = %9983
  br label %9985

9985:                                             ; preds = %9984
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

9988:                                             ; preds = %9987
  %9989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9989, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9990 = call ptr @__errno_location() #12
  store i32 0, ptr %9990, align 4, !tbaa !5
  br label %9991

9991:                                             ; preds = %9988
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  br label %9994

9994:                                             ; preds = %9993
  br label %9995

9995:                                             ; preds = %9994
  %9996 = load i32, ptr @test_count, align 4, !tbaa !5
  %9997 = add nsw i32 %9996, 1
  store i32 %9997, ptr @test_count, align 4, !tbaa !5
  %9998 = load ptr, ptr %210, align 8, !tbaa !9
  %9999 = call i32 @s2n_connection_free(ptr noundef %9998)
  %10000 = icmp eq i32 %9999, -1
  br i1 %10000, label %10001, label %10054

10001:                                            ; preds = %9995
  br label %10002

10002:                                            ; preds = %10001
  br label %10003

10003:                                            ; preds = %10002
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %10004 = call ptr @__errno_location() #12
  %10005 = load i32, ptr %10004, align 4, !tbaa !5
  store i32 %10005, ptr %220, align 4, !tbaa !5
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = call i32 @s2n_print_stacktrace(ptr noundef %10006)
  %10008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10009 = trunc i8 %10008 to i1
  br i1 %10009, label %10010, label %10032

10010:                                            ; preds = %10003
  %10011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10012 = call i32 @fileno(ptr noundef %10011) #11
  %10013 = call i32 @isatty(i32 noundef %10012) #11
  %10014 = icmp ne i32 %10013, 0
  br i1 %10014, label %10015, label %10032

10015:                                            ; preds = %10010
  %10016 = load i32, ptr %220, align 4, !tbaa !5
  %10017 = call ptr @__errno_location() #12
  store i32 %10016, ptr %10017, align 4, !tbaa !5
  %10018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10019 = load i32, ptr @test_count, align 4, !tbaa !5
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror(i32 noundef %10021, ptr noundef @.str.24)
  %10023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @s2n_strerror_debug(i32 noundef %10024, ptr noundef @.str.24)
  %10026 = call ptr @__errno_location() #12
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call ptr @strerror(i32 noundef %10027) #11
  %10029 = call ptr @__errno_location() #12
  %10030 = load i32, ptr %10029, align 4, !tbaa !5
  %10031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10018, ptr noundef @.str.22, i32 noundef %10019, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 431, ptr noundef %10022, ptr noundef %10025, ptr noundef %10028, i32 noundef %10030) #11
  br label %10049

10032:                                            ; preds = %10010, %10003
  %10033 = load i32, ptr %220, align 4, !tbaa !5
  %10034 = call ptr @__errno_location() #12
  store i32 %10033, ptr %10034, align 4, !tbaa !5
  %10035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10036 = load i32, ptr @test_count, align 4, !tbaa !5
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror(i32 noundef %10038, ptr noundef @.str.24)
  %10040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @s2n_strerror_debug(i32 noundef %10041, ptr noundef @.str.24)
  %10043 = call ptr @__errno_location() #12
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call ptr @strerror(i32 noundef %10044) #11
  %10046 = call ptr @__errno_location() #12
  %10047 = load i32, ptr %10046, align 4, !tbaa !5
  %10048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10035, ptr noundef @.str.25, i32 noundef %10036, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 431, ptr noundef %10039, ptr noundef %10042, ptr noundef %10045, i32 noundef %10047) #11
  br label %10049

10049:                                            ; preds = %10032, %10015
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050
  call void @exit(i32 noundef 1) #13
  unreachable

10052:                                            ; No predecessors!
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053, %9995
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055
  store i32 0, ptr %215, align 4
  br label %10057

10057:                                            ; preds = %10056, %9732, %9722, %9715, %9708
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #11
  %10058 = load i32, ptr %215, align 4
  switch i32 %10058, label %12642 [
    i32 0, label %10059
  ]

10059:                                            ; preds = %10057
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #11
  store ptr null, ptr %221, align 8, !tbaa !9
  br label %10060

10060:                                            ; preds = %10059
  %10061 = load i32, ptr @test_count, align 4, !tbaa !5
  %10062 = add nsw i32 %10061, 1
  store i32 %10062, ptr @test_count, align 4, !tbaa !5
  %10063 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10063, ptr %221, align 8, !tbaa !9
  %10064 = icmp eq ptr %10063, null
  br i1 %10064, label %10065, label %10118

10065:                                            ; preds = %10060
  br label %10066

10066:                                            ; preds = %10065
  br label %10067

10067:                                            ; preds = %10066
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %10068 = call ptr @__errno_location() #12
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  store i32 %10069, ptr %222, align 4, !tbaa !5
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = call i32 @s2n_print_stacktrace(ptr noundef %10070)
  %10072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10073 = trunc i8 %10072 to i1
  br i1 %10073, label %10074, label %10096

10074:                                            ; preds = %10067
  %10075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10076 = call i32 @fileno(ptr noundef %10075) #11
  %10077 = call i32 @isatty(i32 noundef %10076) #11
  %10078 = icmp ne i32 %10077, 0
  br i1 %10078, label %10079, label %10096

10079:                                            ; preds = %10074
  %10080 = load i32, ptr %222, align 4, !tbaa !5
  %10081 = call ptr @__errno_location() #12
  store i32 %10080, ptr %10081, align 4, !tbaa !5
  %10082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10083 = load i32, ptr @test_count, align 4, !tbaa !5
  %10084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror(i32 noundef %10085, ptr noundef @.str.24)
  %10087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @s2n_strerror_debug(i32 noundef %10088, ptr noundef @.str.24)
  %10090 = call ptr @__errno_location() #12
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call ptr @strerror(i32 noundef %10091) #11
  %10093 = call ptr @__errno_location() #12
  %10094 = load i32, ptr %10093, align 4, !tbaa !5
  %10095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10082, ptr noundef @.str.22, i32 noundef %10083, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 437, ptr noundef %10086, ptr noundef %10089, ptr noundef %10092, i32 noundef %10094) #11
  br label %10113

10096:                                            ; preds = %10074, %10067
  %10097 = load i32, ptr %222, align 4, !tbaa !5
  %10098 = call ptr @__errno_location() #12
  store i32 %10097, ptr %10098, align 4, !tbaa !5
  %10099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10100 = load i32, ptr @test_count, align 4, !tbaa !5
  %10101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @s2n_strerror(i32 noundef %10102, ptr noundef @.str.24)
  %10104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call ptr @s2n_strerror_debug(i32 noundef %10105, ptr noundef @.str.24)
  %10107 = call ptr @__errno_location() #12
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call ptr @strerror(i32 noundef %10108) #11
  %10110 = call ptr @__errno_location() #12
  %10111 = load i32, ptr %10110, align 4, !tbaa !5
  %10112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10099, ptr noundef @.str.25, i32 noundef %10100, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 437, ptr noundef %10103, ptr noundef %10106, ptr noundef %10109, i32 noundef %10111) #11
  br label %10113

10113:                                            ; preds = %10096, %10079
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114
  call void @exit(i32 noundef 1) #13
  unreachable

10116:                                            ; No predecessors!
  br label %10117

10117:                                            ; preds = %10116
  br label %10118

10118:                                            ; preds = %10117, %10060
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

10121:                                            ; preds = %10120
  %10122 = load i32, ptr @test_count, align 4, !tbaa !5
  %10123 = add nsw i32 %10122, 1
  store i32 %10123, ptr @test_count, align 4, !tbaa !5
  %10124 = load ptr, ptr %221, align 8, !tbaa !9
  %10125 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef %10124)
  %10126 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  store i32 %10125, ptr %10126, align 4
  %10127 = getelementptr inbounds %struct.s2n_result, ptr %223, i32 0, i32 0
  %10128 = load i32, ptr %10127, align 4
  %10129 = call zeroext i1 @s2n_result_is_ok(i32 %10128)
  br i1 %10129, label %10183, label %10130

10130:                                            ; preds = %10121
  br label %10131

10131:                                            ; preds = %10130
  br label %10132

10132:                                            ; preds = %10131
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %10133 = call ptr @__errno_location() #12
  %10134 = load i32, ptr %10133, align 4, !tbaa !5
  store i32 %10134, ptr %224, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @s2n_print_stacktrace(ptr noundef %10135)
  %10137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10138 = trunc i8 %10137 to i1
  br i1 %10138, label %10139, label %10161

10139:                                            ; preds = %10132
  %10140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10141 = call i32 @fileno(ptr noundef %10140) #11
  %10142 = call i32 @isatty(i32 noundef %10141) #11
  %10143 = icmp ne i32 %10142, 0
  br i1 %10143, label %10144, label %10161

10144:                                            ; preds = %10139
  %10145 = load i32, ptr %224, align 4, !tbaa !5
  %10146 = call ptr @__errno_location() #12
  store i32 %10145, ptr %10146, align 4, !tbaa !5
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = load i32, ptr @test_count, align 4, !tbaa !5
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror(i32 noundef %10150, ptr noundef @.str.24)
  %10152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @s2n_strerror_debug(i32 noundef %10153, ptr noundef @.str.24)
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call ptr @strerror(i32 noundef %10156) #11
  %10158 = call ptr @__errno_location() #12
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10147, ptr noundef @.str.22, i32 noundef %10148, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 438, ptr noundef %10151, ptr noundef %10154, ptr noundef %10157, i32 noundef %10159) #11
  br label %10178

10161:                                            ; preds = %10139, %10132
  %10162 = load i32, ptr %224, align 4, !tbaa !5
  %10163 = call ptr @__errno_location() #12
  store i32 %10162, ptr %10163, align 4, !tbaa !5
  %10164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10165 = load i32, ptr @test_count, align 4, !tbaa !5
  %10166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror(i32 noundef %10167, ptr noundef @.str.24)
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror_debug(i32 noundef %10170, ptr noundef @.str.24)
  %10172 = call ptr @__errno_location() #12
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @strerror(i32 noundef %10173) #11
  %10175 = call ptr @__errno_location() #12
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10164, ptr noundef @.str.25, i32 noundef %10165, ptr noundef @.str.79, ptr noundef @.str.21, i32 noundef 438, ptr noundef %10168, ptr noundef %10171, ptr noundef %10174, i32 noundef %10176) #11
  br label %10178

10178:                                            ; preds = %10161, %10144
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179
  call void @exit(i32 noundef 1) #13
  unreachable

10181:                                            ; No predecessors!
  br label %10182

10182:                                            ; preds = %10181
  br label %10183

10183:                                            ; preds = %10182, %10121
  br label %10184

10184:                                            ; preds = %10183
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  %10187 = load i32, ptr @test_count, align 4, !tbaa !5
  %10188 = add nsw i32 %10187, 1
  store i32 %10188, ptr @test_count, align 4, !tbaa !5
  %10189 = load ptr, ptr %221, align 8, !tbaa !9
  %10190 = load ptr, ptr %160, align 8, !tbaa !9
  %10191 = call i32 @s2n_connection_set_config(ptr noundef %10189, ptr noundef %10190)
  %10192 = icmp eq i32 %10191, -1
  br i1 %10192, label %10193, label %10246

10193:                                            ; preds = %10186
  br label %10194

10194:                                            ; preds = %10193
  br label %10195

10195:                                            ; preds = %10194
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %10196 = call ptr @__errno_location() #12
  %10197 = load i32, ptr %10196, align 4, !tbaa !5
  store i32 %10197, ptr %225, align 4, !tbaa !5
  %10198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10199 = call i32 @s2n_print_stacktrace(ptr noundef %10198)
  %10200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10201 = trunc i8 %10200 to i1
  br i1 %10201, label %10202, label %10224

10202:                                            ; preds = %10195
  %10203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10204 = call i32 @fileno(ptr noundef %10203) #11
  %10205 = call i32 @isatty(i32 noundef %10204) #11
  %10206 = icmp ne i32 %10205, 0
  br i1 %10206, label %10207, label %10224

10207:                                            ; preds = %10202
  %10208 = load i32, ptr %225, align 4, !tbaa !5
  %10209 = call ptr @__errno_location() #12
  store i32 %10208, ptr %10209, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call ptr @s2n_strerror(i32 noundef %10213, ptr noundef @.str.24)
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror_debug(i32 noundef %10216, ptr noundef @.str.24)
  %10218 = call ptr @__errno_location() #12
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @strerror(i32 noundef %10219) #11
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10210, ptr noundef @.str.22, i32 noundef %10211, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 439, ptr noundef %10214, ptr noundef %10217, ptr noundef %10220, i32 noundef %10222) #11
  br label %10241

10224:                                            ; preds = %10202, %10195
  %10225 = load i32, ptr %225, align 4, !tbaa !5
  %10226 = call ptr @__errno_location() #12
  store i32 %10225, ptr %10226, align 4, !tbaa !5
  %10227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10228 = load i32, ptr @test_count, align 4, !tbaa !5
  %10229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror(i32 noundef %10230, ptr noundef @.str.24)
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror_debug(i32 noundef %10233, ptr noundef @.str.24)
  %10235 = call ptr @__errno_location() #12
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @strerror(i32 noundef %10236) #11
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10227, ptr noundef @.str.25, i32 noundef %10228, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 439, ptr noundef %10231, ptr noundef %10234, ptr noundef %10237, i32 noundef %10239) #11
  br label %10241

10241:                                            ; preds = %10224, %10207
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %10242

10242:                                            ; preds = %10241
  br label %10243

10243:                                            ; preds = %10242
  call void @exit(i32 noundef 1) #13
  unreachable

10244:                                            ; No predecessors!
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245, %10186
  br label %10247

10247:                                            ; preds = %10246
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248
  %10250 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 20)
  %10251 = icmp sgt i32 %10250, -1
  br i1 %10251, label %10253, label %10252

10252:                                            ; preds = %10249
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10544

10253:                                            ; preds = %10249
  br label %10254

10254:                                            ; preds = %10253
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  %10257 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 3)
  %10258 = icmp sgt i32 %10257, -1
  br i1 %10258, label %10260, label %10259

10259:                                            ; preds = %10256
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10544

10260:                                            ; preds = %10256
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

10262:                                            ; preds = %10261
  br label %10263

10263:                                            ; preds = %10262
  %10264 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 3)
  %10265 = icmp sgt i32 %10264, -1
  br i1 %10265, label %10267, label %10266

10266:                                            ; preds = %10263
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10544

10267:                                            ; preds = %10263
  br label %10268

10268:                                            ; preds = %10267
  br label %10269

10269:                                            ; preds = %10268
  br label %10270

10270:                                            ; preds = %10269
  %10271 = call i32 @s2n_stuffer_write_uint16(ptr noundef @input_stuffer, i16 noundef zeroext 1)
  %10272 = icmp sgt i32 %10271, -1
  br i1 %10272, label %10274, label %10273

10273:                                            ; preds = %10270
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10544

10274:                                            ; preds = %10270
  br label %10275

10275:                                            ; preds = %10274
  br label %10276

10276:                                            ; preds = %10275
  br label %10277

10277:                                            ; preds = %10276
  %10278 = call i32 @s2n_stuffer_write_uint8(ptr noundef @input_stuffer, i8 noundef zeroext 1)
  %10279 = icmp sgt i32 %10278, -1
  br i1 %10279, label %10281, label %10280

10280:                                            ; preds = %10277
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %215, align 4
  br label %10544

10281:                                            ; preds = %10277
  br label %10282

10282:                                            ; preds = %10281
  br label %10283

10283:                                            ; preds = %10282
  br label %10284

10284:                                            ; preds = %10283
  br label %10285

10285:                                            ; preds = %10284
  br label %10286

10286:                                            ; preds = %10285
  %10287 = load i32, ptr @test_count, align 4, !tbaa !5
  %10288 = add nsw i32 %10287, 1
  store i32 %10288, ptr @test_count, align 4, !tbaa !5
  %10289 = load ptr, ptr %221, align 8, !tbaa !9
  %10290 = call i32 @s2n_negotiate(ptr noundef %10289, ptr noundef %153)
  %10291 = icmp eq i32 %10290, -1
  br i1 %10291, label %10345, label %10292

10292:                                            ; preds = %10286
  br label %10293

10293:                                            ; preds = %10292
  br label %10294

10294:                                            ; preds = %10293
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %10295 = call ptr @__errno_location() #12
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  store i32 %10296, ptr %226, align 4, !tbaa !5
  %10297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10298 = call i32 @s2n_print_stacktrace(ptr noundef %10297)
  %10299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10300 = trunc i8 %10299 to i1
  br i1 %10300, label %10301, label %10323

10301:                                            ; preds = %10294
  %10302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10303 = call i32 @fileno(ptr noundef %10302) #11
  %10304 = call i32 @isatty(i32 noundef %10303) #11
  %10305 = icmp ne i32 %10304, 0
  br i1 %10305, label %10306, label %10323

10306:                                            ; preds = %10301
  %10307 = load i32, ptr %226, align 4, !tbaa !5
  %10308 = call ptr @__errno_location() #12
  store i32 %10307, ptr %10308, align 4, !tbaa !5
  %10309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10310 = load i32, ptr @test_count, align 4, !tbaa !5
  %10311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call ptr @s2n_strerror(i32 noundef %10312, ptr noundef @.str.24)
  %10314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10315 = load i32, ptr %10314, align 4, !tbaa !5
  %10316 = call ptr @s2n_strerror_debug(i32 noundef %10315, ptr noundef @.str.24)
  %10317 = call ptr @__errno_location() #12
  %10318 = load i32, ptr %10317, align 4, !tbaa !5
  %10319 = call ptr @strerror(i32 noundef %10318) #11
  %10320 = call ptr @__errno_location() #12
  %10321 = load i32, ptr %10320, align 4, !tbaa !5
  %10322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10309, ptr noundef @.str.22, i32 noundef %10310, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10313, ptr noundef %10316, ptr noundef %10319, i32 noundef %10321) #11
  br label %10340

10323:                                            ; preds = %10301, %10294
  %10324 = load i32, ptr %226, align 4, !tbaa !5
  %10325 = call ptr @__errno_location() #12
  store i32 %10324, ptr %10325, align 4, !tbaa !5
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = load i32, ptr @test_count, align 4, !tbaa !5
  %10328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call ptr @s2n_strerror(i32 noundef %10329, ptr noundef @.str.24)
  %10331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call ptr @s2n_strerror_debug(i32 noundef %10332, ptr noundef @.str.24)
  %10334 = call ptr @__errno_location() #12
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  %10336 = call ptr @strerror(i32 noundef %10335) #11
  %10337 = call ptr @__errno_location() #12
  %10338 = load i32, ptr %10337, align 4, !tbaa !5
  %10339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10326, ptr noundef @.str.25, i32 noundef %10327, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10330, ptr noundef %10333, ptr noundef %10336, i32 noundef %10338) #11
  br label %10340

10340:                                            ; preds = %10323, %10306
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %10341

10341:                                            ; preds = %10340
  br label %10342

10342:                                            ; preds = %10341
  call void @exit(i32 noundef 1) #13
  unreachable

10343:                                            ; No predecessors!
  br label %10344

10344:                                            ; preds = %10343
  br label %10345

10345:                                            ; preds = %10344, %10286
  br label %10346

10346:                                            ; preds = %10345
  br label %10347

10347:                                            ; preds = %10346
  br label %10348

10348:                                            ; preds = %10347
  %10349 = load i32, ptr @test_count, align 4, !tbaa !5
  %10350 = add nsw i32 %10349, 1
  store i32 %10350, ptr @test_count, align 4, !tbaa !5
  %10351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = icmp eq i32 %10352, 335544322
  br i1 %10353, label %10407, label %10354

10354:                                            ; preds = %10348
  br label %10355

10355:                                            ; preds = %10354
  br label %10356

10356:                                            ; preds = %10355
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %10357 = call ptr @__errno_location() #12
  %10358 = load i32, ptr %10357, align 4, !tbaa !5
  store i32 %10358, ptr %227, align 4, !tbaa !5
  %10359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10360 = call i32 @s2n_print_stacktrace(ptr noundef %10359)
  %10361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10362 = trunc i8 %10361 to i1
  br i1 %10362, label %10363, label %10385

10363:                                            ; preds = %10356
  %10364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10365 = call i32 @fileno(ptr noundef %10364) #11
  %10366 = call i32 @isatty(i32 noundef %10365) #11
  %10367 = icmp ne i32 %10366, 0
  br i1 %10367, label %10368, label %10385

10368:                                            ; preds = %10363
  %10369 = load i32, ptr %227, align 4, !tbaa !5
  %10370 = call ptr @__errno_location() #12
  store i32 %10369, ptr %10370, align 4, !tbaa !5
  %10371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10372 = load i32, ptr @test_count, align 4, !tbaa !5
  %10373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call ptr @s2n_strerror(i32 noundef %10374, ptr noundef @.str.24)
  %10376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call ptr @s2n_strerror_debug(i32 noundef %10377, ptr noundef @.str.24)
  %10379 = call ptr @__errno_location() #12
  %10380 = load i32, ptr %10379, align 4, !tbaa !5
  %10381 = call ptr @strerror(i32 noundef %10380) #11
  %10382 = call ptr @__errno_location() #12
  %10383 = load i32, ptr %10382, align 4, !tbaa !5
  %10384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10371, ptr noundef @.str.22, i32 noundef %10372, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10375, ptr noundef %10378, ptr noundef %10381, i32 noundef %10383) #11
  br label %10402

10385:                                            ; preds = %10363, %10356
  %10386 = load i32, ptr %227, align 4, !tbaa !5
  %10387 = call ptr @__errno_location() #12
  store i32 %10386, ptr %10387, align 4, !tbaa !5
  %10388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10389 = load i32, ptr @test_count, align 4, !tbaa !5
  %10390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10391 = load i32, ptr %10390, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror(i32 noundef %10391, ptr noundef @.str.24)
  %10393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10394 = load i32, ptr %10393, align 4, !tbaa !5
  %10395 = call ptr @s2n_strerror_debug(i32 noundef %10394, ptr noundef @.str.24)
  %10396 = call ptr @__errno_location() #12
  %10397 = load i32, ptr %10396, align 4, !tbaa !5
  %10398 = call ptr @strerror(i32 noundef %10397) #11
  %10399 = call ptr @__errno_location() #12
  %10400 = load i32, ptr %10399, align 4, !tbaa !5
  %10401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10388, ptr noundef @.str.25, i32 noundef %10389, ptr noundef @.str.61, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10392, ptr noundef %10395, ptr noundef %10398, i32 noundef %10400) #11
  br label %10402

10402:                                            ; preds = %10385, %10368
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %10403

10403:                                            ; preds = %10402
  br label %10404

10404:                                            ; preds = %10403
  call void @exit(i32 noundef 1) #13
  unreachable

10405:                                            ; No predecessors!
  br label %10406

10406:                                            ; preds = %10405
  br label %10407

10407:                                            ; preds = %10406, %10348
  br label %10408

10408:                                            ; preds = %10407
  br label %10409

10409:                                            ; preds = %10408
  br label %10410

10410:                                            ; preds = %10409
  %10411 = load i32, ptr @test_count, align 4, !tbaa !5
  %10412 = add nsw i32 %10411, 1
  store i32 %10412, ptr @test_count, align 4, !tbaa !5
  %10413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror_debug(i32 noundef %10414, ptr noundef @.str.24)
  %10416 = icmp eq ptr %10415, null
  br i1 %10416, label %10417, label %10470

10417:                                            ; preds = %10410
  br label %10418

10418:                                            ; preds = %10417
  br label %10419

10419:                                            ; preds = %10418
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %10420 = call ptr @__errno_location() #12
  %10421 = load i32, ptr %10420, align 4, !tbaa !5
  store i32 %10421, ptr %228, align 4, !tbaa !5
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = call i32 @s2n_print_stacktrace(ptr noundef %10422)
  %10424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10425 = trunc i8 %10424 to i1
  br i1 %10425, label %10426, label %10448

10426:                                            ; preds = %10419
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = call i32 @fileno(ptr noundef %10427) #11
  %10429 = call i32 @isatty(i32 noundef %10428) #11
  %10430 = icmp ne i32 %10429, 0
  br i1 %10430, label %10431, label %10448

10431:                                            ; preds = %10426
  %10432 = load i32, ptr %228, align 4, !tbaa !5
  %10433 = call ptr @__errno_location() #12
  store i32 %10432, ptr %10433, align 4, !tbaa !5
  %10434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10435 = load i32, ptr @test_count, align 4, !tbaa !5
  %10436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call ptr @s2n_strerror(i32 noundef %10437, ptr noundef @.str.24)
  %10439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10440 = load i32, ptr %10439, align 4, !tbaa !5
  %10441 = call ptr @s2n_strerror_debug(i32 noundef %10440, ptr noundef @.str.24)
  %10442 = call ptr @__errno_location() #12
  %10443 = load i32, ptr %10442, align 4, !tbaa !5
  %10444 = call ptr @strerror(i32 noundef %10443) #11
  %10445 = call ptr @__errno_location() #12
  %10446 = load i32, ptr %10445, align 4, !tbaa !5
  %10447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10434, ptr noundef @.str.22, i32 noundef %10435, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10438, ptr noundef %10441, ptr noundef %10444, i32 noundef %10446) #11
  br label %10465

10448:                                            ; preds = %10426, %10419
  %10449 = load i32, ptr %228, align 4, !tbaa !5
  %10450 = call ptr @__errno_location() #12
  store i32 %10449, ptr %10450, align 4, !tbaa !5
  %10451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10452 = load i32, ptr @test_count, align 4, !tbaa !5
  %10453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10454 = load i32, ptr %10453, align 4, !tbaa !5
  %10455 = call ptr @s2n_strerror(i32 noundef %10454, ptr noundef @.str.24)
  %10456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10457 = load i32, ptr %10456, align 4, !tbaa !5
  %10458 = call ptr @s2n_strerror_debug(i32 noundef %10457, ptr noundef @.str.24)
  %10459 = call ptr @__errno_location() #12
  %10460 = load i32, ptr %10459, align 4, !tbaa !5
  %10461 = call ptr @strerror(i32 noundef %10460) #11
  %10462 = call ptr @__errno_location() #12
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  %10464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10451, ptr noundef @.str.25, i32 noundef %10452, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 449, ptr noundef %10455, ptr noundef %10458, ptr noundef %10461, i32 noundef %10463) #11
  br label %10465

10465:                                            ; preds = %10448, %10431
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %10466

10466:                                            ; preds = %10465
  br label %10467

10467:                                            ; preds = %10466
  call void @exit(i32 noundef 1) #13
  unreachable

10468:                                            ; No predecessors!
  br label %10469

10469:                                            ; preds = %10468
  br label %10470

10470:                                            ; preds = %10469, %10410
  br label %10471

10471:                                            ; preds = %10470
  br label %10472

10472:                                            ; preds = %10471
  br label %10473

10473:                                            ; preds = %10472
  br label %10474

10474:                                            ; preds = %10473
  br label %10475

10475:                                            ; preds = %10474
  %10476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10476, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10477 = call ptr @__errno_location() #12
  store i32 0, ptr %10477, align 4, !tbaa !5
  br label %10478

10478:                                            ; preds = %10475
  br label %10479

10479:                                            ; preds = %10478
  br label %10480

10480:                                            ; preds = %10479
  br label %10481

10481:                                            ; preds = %10480
  br label %10482

10482:                                            ; preds = %10481
  %10483 = load i32, ptr @test_count, align 4, !tbaa !5
  %10484 = add nsw i32 %10483, 1
  store i32 %10484, ptr @test_count, align 4, !tbaa !5
  %10485 = load ptr, ptr %221, align 8, !tbaa !9
  %10486 = call i32 @s2n_connection_free(ptr noundef %10485)
  %10487 = icmp eq i32 %10486, -1
  br i1 %10487, label %10488, label %10541

10488:                                            ; preds = %10482
  br label %10489

10489:                                            ; preds = %10488
  br label %10490

10490:                                            ; preds = %10489
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %10491 = call ptr @__errno_location() #12
  %10492 = load i32, ptr %10491, align 4, !tbaa !5
  store i32 %10492, ptr %229, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = call i32 @s2n_print_stacktrace(ptr noundef %10493)
  %10495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10496 = trunc i8 %10495 to i1
  br i1 %10496, label %10497, label %10519

10497:                                            ; preds = %10490
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @fileno(ptr noundef %10498) #11
  %10500 = call i32 @isatty(i32 noundef %10499) #11
  %10501 = icmp ne i32 %10500, 0
  br i1 %10501, label %10502, label %10519

10502:                                            ; preds = %10497
  %10503 = load i32, ptr %229, align 4, !tbaa !5
  %10504 = call ptr @__errno_location() #12
  store i32 %10503, ptr %10504, align 4, !tbaa !5
  %10505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10506 = load i32, ptr @test_count, align 4, !tbaa !5
  %10507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10508 = load i32, ptr %10507, align 4, !tbaa !5
  %10509 = call ptr @s2n_strerror(i32 noundef %10508, ptr noundef @.str.24)
  %10510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10511 = load i32, ptr %10510, align 4, !tbaa !5
  %10512 = call ptr @s2n_strerror_debug(i32 noundef %10511, ptr noundef @.str.24)
  %10513 = call ptr @__errno_location() #12
  %10514 = load i32, ptr %10513, align 4, !tbaa !5
  %10515 = call ptr @strerror(i32 noundef %10514) #11
  %10516 = call ptr @__errno_location() #12
  %10517 = load i32, ptr %10516, align 4, !tbaa !5
  %10518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10505, ptr noundef @.str.22, i32 noundef %10506, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 451, ptr noundef %10509, ptr noundef %10512, ptr noundef %10515, i32 noundef %10517) #11
  br label %10536

10519:                                            ; preds = %10497, %10490
  %10520 = load i32, ptr %229, align 4, !tbaa !5
  %10521 = call ptr @__errno_location() #12
  store i32 %10520, ptr %10521, align 4, !tbaa !5
  %10522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10523 = load i32, ptr @test_count, align 4, !tbaa !5
  %10524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10525 = load i32, ptr %10524, align 4, !tbaa !5
  %10526 = call ptr @s2n_strerror(i32 noundef %10525, ptr noundef @.str.24)
  %10527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  %10529 = call ptr @s2n_strerror_debug(i32 noundef %10528, ptr noundef @.str.24)
  %10530 = call ptr @__errno_location() #12
  %10531 = load i32, ptr %10530, align 4, !tbaa !5
  %10532 = call ptr @strerror(i32 noundef %10531) #11
  %10533 = call ptr @__errno_location() #12
  %10534 = load i32, ptr %10533, align 4, !tbaa !5
  %10535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10522, ptr noundef @.str.25, i32 noundef %10523, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 451, ptr noundef %10526, ptr noundef %10529, ptr noundef %10532, i32 noundef %10534) #11
  br label %10536

10536:                                            ; preds = %10519, %10502
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %10537

10537:                                            ; preds = %10536
  br label %10538

10538:                                            ; preds = %10537
  call void @exit(i32 noundef 1) #13
  unreachable

10539:                                            ; No predecessors!
  br label %10540

10540:                                            ; preds = %10539
  br label %10541

10541:                                            ; preds = %10540, %10482
  br label %10542

10542:                                            ; preds = %10541
  br label %10543

10543:                                            ; preds = %10542
  store i32 0, ptr %215, align 4
  br label %10544

10544:                                            ; preds = %10543, %10280, %10273, %10266, %10259, %10252
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #11
  %10545 = load i32, ptr %215, align 4
  switch i32 %10545, label %12642 [
    i32 0, label %10546
  ]

10546:                                            ; preds = %10544
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #11
  store ptr null, ptr %231, align 8, !tbaa !9
  br label %10547

10547:                                            ; preds = %10546
  %10548 = load i32, ptr @test_count, align 4, !tbaa !5
  %10549 = add nsw i32 %10548, 1
  store i32 %10549, ptr @test_count, align 4, !tbaa !5
  %10550 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10550, ptr %231, align 8, !tbaa !9
  %10551 = icmp eq ptr %10550, null
  br i1 %10551, label %10552, label %10605

10552:                                            ; preds = %10547
  br label %10553

10553:                                            ; preds = %10552
  br label %10554

10554:                                            ; preds = %10553
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %10555 = call ptr @__errno_location() #12
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  store i32 %10556, ptr %232, align 4, !tbaa !5
  %10557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10558 = call i32 @s2n_print_stacktrace(ptr noundef %10557)
  %10559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10560 = trunc i8 %10559 to i1
  br i1 %10560, label %10561, label %10583

10561:                                            ; preds = %10554
  %10562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10563 = call i32 @fileno(ptr noundef %10562) #11
  %10564 = call i32 @isatty(i32 noundef %10563) #11
  %10565 = icmp ne i32 %10564, 0
  br i1 %10565, label %10566, label %10583

10566:                                            ; preds = %10561
  %10567 = load i32, ptr %232, align 4, !tbaa !5
  %10568 = call ptr @__errno_location() #12
  store i32 %10567, ptr %10568, align 4, !tbaa !5
  %10569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10570 = load i32, ptr @test_count, align 4, !tbaa !5
  %10571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10572 = load i32, ptr %10571, align 4, !tbaa !5
  %10573 = call ptr @s2n_strerror(i32 noundef %10572, ptr noundef @.str.24)
  %10574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10575 = load i32, ptr %10574, align 4, !tbaa !5
  %10576 = call ptr @s2n_strerror_debug(i32 noundef %10575, ptr noundef @.str.24)
  %10577 = call ptr @__errno_location() #12
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  %10579 = call ptr @strerror(i32 noundef %10578) #11
  %10580 = call ptr @__errno_location() #12
  %10581 = load i32, ptr %10580, align 4, !tbaa !5
  %10582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10569, ptr noundef @.str.22, i32 noundef %10570, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 459, ptr noundef %10573, ptr noundef %10576, ptr noundef %10579, i32 noundef %10581) #11
  br label %10600

10583:                                            ; preds = %10561, %10554
  %10584 = load i32, ptr %232, align 4, !tbaa !5
  %10585 = call ptr @__errno_location() #12
  store i32 %10584, ptr %10585, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = load i32, ptr @test_count, align 4, !tbaa !5
  %10588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call ptr @s2n_strerror(i32 noundef %10589, ptr noundef @.str.24)
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror_debug(i32 noundef %10592, ptr noundef @.str.24)
  %10594 = call ptr @__errno_location() #12
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call ptr @strerror(i32 noundef %10595) #11
  %10597 = call ptr @__errno_location() #12
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  %10599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10586, ptr noundef @.str.25, i32 noundef %10587, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 459, ptr noundef %10590, ptr noundef %10593, ptr noundef %10596, i32 noundef %10598) #11
  br label %10600

10600:                                            ; preds = %10583, %10566
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %10601

10601:                                            ; preds = %10600
  br label %10602

10602:                                            ; preds = %10601
  call void @exit(i32 noundef 1) #13
  unreachable

10603:                                            ; No predecessors!
  br label %10604

10604:                                            ; preds = %10603
  br label %10605

10605:                                            ; preds = %10604, %10547
  br label %10606

10606:                                            ; preds = %10605
  br label %10607

10607:                                            ; preds = %10606
  br label %10608

10608:                                            ; preds = %10607
  %10609 = load i32, ptr @test_count, align 4, !tbaa !5
  %10610 = add nsw i32 %10609, 1
  store i32 %10610, ptr @test_count, align 4, !tbaa !5
  %10611 = load ptr, ptr %231, align 8, !tbaa !9
  %10612 = call i32 @s2n_setup_conn_for_client_hello(ptr noundef %10611)
  %10613 = getelementptr inbounds %struct.s2n_result, ptr %233, i32 0, i32 0
  store i32 %10612, ptr %10613, align 4
  %10614 = getelementptr inbounds %struct.s2n_result, ptr %233, i32 0, i32 0
  %10615 = load i32, ptr %10614, align 4
  %10616 = call zeroext i1 @s2n_result_is_ok(i32 %10615)
  br i1 %10616, label %10670, label %10617

10617:                                            ; preds = %10608
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

10619:                                            ; preds = %10618
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %10620 = call ptr @__errno_location() #12
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  store i32 %10621, ptr %234, align 4, !tbaa !5
  %10622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10623 = call i32 @s2n_print_stacktrace(ptr noundef %10622)
  %10624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10625 = trunc i8 %10624 to i1
  br i1 %10625, label %10626, label %10648

10626:                                            ; preds = %10619
  %10627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10628 = call i32 @fileno(ptr noundef %10627) #11
  %10629 = call i32 @isatty(i32 noundef %10628) #11
  %10630 = icmp ne i32 %10629, 0
  br i1 %10630, label %10631, label %10648

10631:                                            ; preds = %10626
  %10632 = load i32, ptr %234, align 4, !tbaa !5
  %10633 = call ptr @__errno_location() #12
  store i32 %10632, ptr %10633, align 4, !tbaa !5
  %10634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10635 = load i32, ptr @test_count, align 4, !tbaa !5
  %10636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10637 = load i32, ptr %10636, align 4, !tbaa !5
  %10638 = call ptr @s2n_strerror(i32 noundef %10637, ptr noundef @.str.24)
  %10639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call ptr @s2n_strerror_debug(i32 noundef %10640, ptr noundef @.str.24)
  %10642 = call ptr @__errno_location() #12
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call ptr @strerror(i32 noundef %10643) #11
  %10645 = call ptr @__errno_location() #12
  %10646 = load i32, ptr %10645, align 4, !tbaa !5
  %10647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10634, ptr noundef @.str.22, i32 noundef %10635, ptr noundef @.str.91, ptr noundef @.str.21, i32 noundef 460, ptr noundef %10638, ptr noundef %10641, ptr noundef %10644, i32 noundef %10646) #11
  br label %10665

10648:                                            ; preds = %10626, %10619
  %10649 = load i32, ptr %234, align 4, !tbaa !5
  %10650 = call ptr @__errno_location() #12
  store i32 %10649, ptr %10650, align 4, !tbaa !5
  %10651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10652 = load i32, ptr @test_count, align 4, !tbaa !5
  %10653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call ptr @s2n_strerror(i32 noundef %10654, ptr noundef @.str.24)
  %10656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  %10658 = call ptr @s2n_strerror_debug(i32 noundef %10657, ptr noundef @.str.24)
  %10659 = call ptr @__errno_location() #12
  %10660 = load i32, ptr %10659, align 4, !tbaa !5
  %10661 = call ptr @strerror(i32 noundef %10660) #11
  %10662 = call ptr @__errno_location() #12
  %10663 = load i32, ptr %10662, align 4, !tbaa !5
  %10664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10651, ptr noundef @.str.25, i32 noundef %10652, ptr noundef @.str.91, ptr noundef @.str.21, i32 noundef 460, ptr noundef %10655, ptr noundef %10658, ptr noundef %10661, i32 noundef %10663) #11
  br label %10665

10665:                                            ; preds = %10648, %10631
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %10666

10666:                                            ; preds = %10665
  br label %10667

10667:                                            ; preds = %10666
  call void @exit(i32 noundef 1) #13
  unreachable

10668:                                            ; No predecessors!
  br label %10669

10669:                                            ; preds = %10668
  br label %10670

10670:                                            ; preds = %10669, %10608
  br label %10671

10671:                                            ; preds = %10670
  br label %10672

10672:                                            ; preds = %10671
  br label %10673

10673:                                            ; preds = %10672
  %10674 = load i32, ptr @test_count, align 4, !tbaa !5
  %10675 = add nsw i32 %10674, 1
  store i32 %10675, ptr @test_count, align 4, !tbaa !5
  %10676 = load ptr, ptr %231, align 8, !tbaa !9
  %10677 = load ptr, ptr %160, align 8, !tbaa !9
  %10678 = call i32 @s2n_connection_set_config(ptr noundef %10676, ptr noundef %10677)
  %10679 = icmp eq i32 %10678, -1
  br i1 %10679, label %10680, label %10733

10680:                                            ; preds = %10673
  br label %10681

10681:                                            ; preds = %10680
  br label %10682

10682:                                            ; preds = %10681
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %10683 = call ptr @__errno_location() #12
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  store i32 %10684, ptr %235, align 4, !tbaa !5
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = call i32 @s2n_print_stacktrace(ptr noundef %10685)
  %10687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10688 = trunc i8 %10687 to i1
  br i1 %10688, label %10689, label %10711

10689:                                            ; preds = %10682
  %10690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10691 = call i32 @fileno(ptr noundef %10690) #11
  %10692 = call i32 @isatty(i32 noundef %10691) #11
  %10693 = icmp ne i32 %10692, 0
  br i1 %10693, label %10694, label %10711

10694:                                            ; preds = %10689
  %10695 = load i32, ptr %235, align 4, !tbaa !5
  %10696 = call ptr @__errno_location() #12
  store i32 %10695, ptr %10696, align 4, !tbaa !5
  %10697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10698 = load i32, ptr @test_count, align 4, !tbaa !5
  %10699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror(i32 noundef %10700, ptr noundef @.str.24)
  %10702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call ptr @s2n_strerror_debug(i32 noundef %10703, ptr noundef @.str.24)
  %10705 = call ptr @__errno_location() #12
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call ptr @strerror(i32 noundef %10706) #11
  %10708 = call ptr @__errno_location() #12
  %10709 = load i32, ptr %10708, align 4, !tbaa !5
  %10710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10697, ptr noundef @.str.22, i32 noundef %10698, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 461, ptr noundef %10701, ptr noundef %10704, ptr noundef %10707, i32 noundef %10709) #11
  br label %10728

10711:                                            ; preds = %10689, %10682
  %10712 = load i32, ptr %235, align 4, !tbaa !5
  %10713 = call ptr @__errno_location() #12
  store i32 %10712, ptr %10713, align 4, !tbaa !5
  %10714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10715 = load i32, ptr @test_count, align 4, !tbaa !5
  %10716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10717 = load i32, ptr %10716, align 4, !tbaa !5
  %10718 = call ptr @s2n_strerror(i32 noundef %10717, ptr noundef @.str.24)
  %10719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10720 = load i32, ptr %10719, align 4, !tbaa !5
  %10721 = call ptr @s2n_strerror_debug(i32 noundef %10720, ptr noundef @.str.24)
  %10722 = call ptr @__errno_location() #12
  %10723 = load i32, ptr %10722, align 4, !tbaa !5
  %10724 = call ptr @strerror(i32 noundef %10723) #11
  %10725 = call ptr @__errno_location() #12
  %10726 = load i32, ptr %10725, align 4, !tbaa !5
  %10727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10714, ptr noundef @.str.25, i32 noundef %10715, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 461, ptr noundef %10718, ptr noundef %10721, ptr noundef %10724, i32 noundef %10726) #11
  br label %10728

10728:                                            ; preds = %10711, %10694
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %10729

10729:                                            ; preds = %10728
  br label %10730

10730:                                            ; preds = %10729
  call void @exit(i32 noundef 1) #13
  unreachable

10731:                                            ; No predecessors!
  br label %10732

10732:                                            ; preds = %10731
  br label %10733

10733:                                            ; preds = %10732, %10673
  br label %10734

10734:                                            ; preds = %10733
  br label %10735

10735:                                            ; preds = %10734
  br label %10736

10736:                                            ; preds = %10735
  br label %10737

10737:                                            ; preds = %10736
  br label %10738

10738:                                            ; preds = %10737
  %10739 = load i32, ptr @test_count, align 4, !tbaa !5
  %10740 = add nsw i32 %10739, 1
  store i32 %10740, ptr @test_count, align 4, !tbaa !5
  %10741 = load ptr, ptr %231, align 8, !tbaa !9
  %10742 = call i32 @s2n_negotiate(ptr noundef %10741, ptr noundef %153)
  %10743 = icmp eq i32 %10742, -1
  br i1 %10743, label %10797, label %10744

10744:                                            ; preds = %10738
  br label %10745

10745:                                            ; preds = %10744
  br label %10746

10746:                                            ; preds = %10745
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %10747 = call ptr @__errno_location() #12
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  store i32 %10748, ptr %236, align 4, !tbaa !5
  %10749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10750 = call i32 @s2n_print_stacktrace(ptr noundef %10749)
  %10751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10752 = trunc i8 %10751 to i1
  br i1 %10752, label %10753, label %10775

10753:                                            ; preds = %10746
  %10754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10755 = call i32 @fileno(ptr noundef %10754) #11
  %10756 = call i32 @isatty(i32 noundef %10755) #11
  %10757 = icmp ne i32 %10756, 0
  br i1 %10757, label %10758, label %10775

10758:                                            ; preds = %10753
  %10759 = load i32, ptr %236, align 4, !tbaa !5
  %10760 = call ptr @__errno_location() #12
  store i32 %10759, ptr %10760, align 4, !tbaa !5
  %10761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10762 = load i32, ptr @test_count, align 4, !tbaa !5
  %10763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10764 = load i32, ptr %10763, align 4, !tbaa !5
  %10765 = call ptr @s2n_strerror(i32 noundef %10764, ptr noundef @.str.24)
  %10766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10767 = load i32, ptr %10766, align 4, !tbaa !5
  %10768 = call ptr @s2n_strerror_debug(i32 noundef %10767, ptr noundef @.str.24)
  %10769 = call ptr @__errno_location() #12
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @strerror(i32 noundef %10770) #11
  %10772 = call ptr @__errno_location() #12
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10761, ptr noundef @.str.22, i32 noundef %10762, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10765, ptr noundef %10768, ptr noundef %10771, i32 noundef %10773) #11
  br label %10792

10775:                                            ; preds = %10753, %10746
  %10776 = load i32, ptr %236, align 4, !tbaa !5
  %10777 = call ptr @__errno_location() #12
  store i32 %10776, ptr %10777, align 4, !tbaa !5
  %10778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10779 = load i32, ptr @test_count, align 4, !tbaa !5
  %10780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10781 = load i32, ptr %10780, align 4, !tbaa !5
  %10782 = call ptr @s2n_strerror(i32 noundef %10781, ptr noundef @.str.24)
  %10783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10784 = load i32, ptr %10783, align 4, !tbaa !5
  %10785 = call ptr @s2n_strerror_debug(i32 noundef %10784, ptr noundef @.str.24)
  %10786 = call ptr @__errno_location() #12
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @strerror(i32 noundef %10787) #11
  %10789 = call ptr @__errno_location() #12
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10778, ptr noundef @.str.25, i32 noundef %10779, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10782, ptr noundef %10785, ptr noundef %10788, i32 noundef %10790) #11
  br label %10792

10792:                                            ; preds = %10775, %10758
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %10793

10793:                                            ; preds = %10792
  br label %10794

10794:                                            ; preds = %10793
  call void @exit(i32 noundef 1) #13
  unreachable

10795:                                            ; No predecessors!
  br label %10796

10796:                                            ; preds = %10795
  br label %10797

10797:                                            ; preds = %10796, %10738
  br label %10798

10798:                                            ; preds = %10797
  br label %10799

10799:                                            ; preds = %10798
  br label %10800

10800:                                            ; preds = %10799
  %10801 = load i32, ptr @test_count, align 4, !tbaa !5
  %10802 = add nsw i32 %10801, 1
  store i32 %10802, ptr @test_count, align 4, !tbaa !5
  %10803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = icmp eq i32 %10804, 201326592
  br i1 %10805, label %10859, label %10806

10806:                                            ; preds = %10800
  br label %10807

10807:                                            ; preds = %10806
  br label %10808

10808:                                            ; preds = %10807
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %10809 = call ptr @__errno_location() #12
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  store i32 %10810, ptr %237, align 4, !tbaa !5
  %10811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10812 = call i32 @s2n_print_stacktrace(ptr noundef %10811)
  %10813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10814 = trunc i8 %10813 to i1
  br i1 %10814, label %10815, label %10837

10815:                                            ; preds = %10808
  %10816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10817 = call i32 @fileno(ptr noundef %10816) #11
  %10818 = call i32 @isatty(i32 noundef %10817) #11
  %10819 = icmp ne i32 %10818, 0
  br i1 %10819, label %10820, label %10837

10820:                                            ; preds = %10815
  %10821 = load i32, ptr %237, align 4, !tbaa !5
  %10822 = call ptr @__errno_location() #12
  store i32 %10821, ptr %10822, align 4, !tbaa !5
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = load i32, ptr @test_count, align 4, !tbaa !5
  %10825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10826 = load i32, ptr %10825, align 4, !tbaa !5
  %10827 = call ptr @s2n_strerror(i32 noundef %10826, ptr noundef @.str.24)
  %10828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10829 = load i32, ptr %10828, align 4, !tbaa !5
  %10830 = call ptr @s2n_strerror_debug(i32 noundef %10829, ptr noundef @.str.24)
  %10831 = call ptr @__errno_location() #12
  %10832 = load i32, ptr %10831, align 4, !tbaa !5
  %10833 = call ptr @strerror(i32 noundef %10832) #11
  %10834 = call ptr @__errno_location() #12
  %10835 = load i32, ptr %10834, align 4, !tbaa !5
  %10836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10823, ptr noundef @.str.22, i32 noundef %10824, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10827, ptr noundef %10830, ptr noundef %10833, i32 noundef %10835) #11
  br label %10854

10837:                                            ; preds = %10815, %10808
  %10838 = load i32, ptr %237, align 4, !tbaa !5
  %10839 = call ptr @__errno_location() #12
  store i32 %10838, ptr %10839, align 4, !tbaa !5
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  %10844 = call ptr @s2n_strerror(i32 noundef %10843, ptr noundef @.str.24)
  %10845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10846 = load i32, ptr %10845, align 4, !tbaa !5
  %10847 = call ptr @s2n_strerror_debug(i32 noundef %10846, ptr noundef @.str.24)
  %10848 = call ptr @__errno_location() #12
  %10849 = load i32, ptr %10848, align 4, !tbaa !5
  %10850 = call ptr @strerror(i32 noundef %10849) #11
  %10851 = call ptr @__errno_location() #12
  %10852 = load i32, ptr %10851, align 4, !tbaa !5
  %10853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10840, ptr noundef @.str.25, i32 noundef %10841, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10844, ptr noundef %10847, ptr noundef %10850, i32 noundef %10852) #11
  br label %10854

10854:                                            ; preds = %10837, %10820
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %10855

10855:                                            ; preds = %10854
  br label %10856

10856:                                            ; preds = %10855
  call void @exit(i32 noundef 1) #13
  unreachable

10857:                                            ; No predecessors!
  br label %10858

10858:                                            ; preds = %10857
  br label %10859

10859:                                            ; preds = %10858, %10800
  br label %10860

10860:                                            ; preds = %10859
  br label %10861

10861:                                            ; preds = %10860
  br label %10862

10862:                                            ; preds = %10861
  %10863 = load i32, ptr @test_count, align 4, !tbaa !5
  %10864 = add nsw i32 %10863, 1
  store i32 %10864, ptr @test_count, align 4, !tbaa !5
  %10865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10866 = load i32, ptr %10865, align 4, !tbaa !5
  %10867 = call ptr @s2n_strerror_debug(i32 noundef %10866, ptr noundef @.str.24)
  %10868 = icmp eq ptr %10867, null
  br i1 %10868, label %10869, label %10922

10869:                                            ; preds = %10862
  br label %10870

10870:                                            ; preds = %10869
  br label %10871

10871:                                            ; preds = %10870
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %10872 = call ptr @__errno_location() #12
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  store i32 %10873, ptr %238, align 4, !tbaa !5
  %10874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10875 = call i32 @s2n_print_stacktrace(ptr noundef %10874)
  %10876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10877 = trunc i8 %10876 to i1
  br i1 %10877, label %10878, label %10900

10878:                                            ; preds = %10871
  %10879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10880 = call i32 @fileno(ptr noundef %10879) #11
  %10881 = call i32 @isatty(i32 noundef %10880) #11
  %10882 = icmp ne i32 %10881, 0
  br i1 %10882, label %10883, label %10900

10883:                                            ; preds = %10878
  %10884 = load i32, ptr %238, align 4, !tbaa !5
  %10885 = call ptr @__errno_location() #12
  store i32 %10884, ptr %10885, align 4, !tbaa !5
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = load i32, ptr @test_count, align 4, !tbaa !5
  %10888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror(i32 noundef %10889, ptr noundef @.str.24)
  %10891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @s2n_strerror_debug(i32 noundef %10892, ptr noundef @.str.24)
  %10894 = call ptr @__errno_location() #12
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call ptr @strerror(i32 noundef %10895) #11
  %10897 = call ptr @__errno_location() #12
  %10898 = load i32, ptr %10897, align 4, !tbaa !5
  %10899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10886, ptr noundef @.str.22, i32 noundef %10887, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10890, ptr noundef %10893, ptr noundef %10896, i32 noundef %10898) #11
  br label %10917

10900:                                            ; preds = %10878, %10871
  %10901 = load i32, ptr %238, align 4, !tbaa !5
  %10902 = call ptr @__errno_location() #12
  store i32 %10901, ptr %10902, align 4, !tbaa !5
  %10903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10904 = load i32, ptr @test_count, align 4, !tbaa !5
  %10905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call ptr @s2n_strerror(i32 noundef %10906, ptr noundef @.str.24)
  %10908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  %10910 = call ptr @s2n_strerror_debug(i32 noundef %10909, ptr noundef @.str.24)
  %10911 = call ptr @__errno_location() #12
  %10912 = load i32, ptr %10911, align 4, !tbaa !5
  %10913 = call ptr @strerror(i32 noundef %10912) #11
  %10914 = call ptr @__errno_location() #12
  %10915 = load i32, ptr %10914, align 4, !tbaa !5
  %10916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10903, ptr noundef @.str.25, i32 noundef %10904, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 463, ptr noundef %10907, ptr noundef %10910, ptr noundef %10913, i32 noundef %10915) #11
  br label %10917

10917:                                            ; preds = %10900, %10883
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %10918

10918:                                            ; preds = %10917
  br label %10919

10919:                                            ; preds = %10918
  call void @exit(i32 noundef 1) #13
  unreachable

10920:                                            ; No predecessors!
  br label %10921

10921:                                            ; preds = %10920
  br label %10922

10922:                                            ; preds = %10921, %10862
  br label %10923

10923:                                            ; preds = %10922
  br label %10924

10924:                                            ; preds = %10923
  br label %10925

10925:                                            ; preds = %10924
  br label %10926

10926:                                            ; preds = %10925
  br label %10927

10927:                                            ; preds = %10926
  %10928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10928, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10929 = call ptr @__errno_location() #12
  store i32 0, ptr %10929, align 4, !tbaa !5
  br label %10930

10930:                                            ; preds = %10927
  br label %10931

10931:                                            ; preds = %10930
  br label %10932

10932:                                            ; preds = %10931
  br label %10933

10933:                                            ; preds = %10932
  %10934 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %10935 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %10936 = sub i32 %10934, %10935
  store i32 %10936, ptr %230, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %239) #11
  store i8 0, ptr %239, align 1, !tbaa !43
  br label %10937

10937:                                            ; preds = %10933
  %10938 = load i32, ptr @test_count, align 4, !tbaa !5
  %10939 = add nsw i32 %10938, 1
  store i32 %10939, ptr @test_count, align 4, !tbaa !5
  %10940 = call i32 @s2n_stuffer_read_uint8(ptr noundef @output_stuffer, ptr noundef %239)
  %10941 = icmp eq i32 %10940, -1
  br i1 %10941, label %10942, label %10995

10942:                                            ; preds = %10937
  br label %10943

10943:                                            ; preds = %10942
  br label %10944

10944:                                            ; preds = %10943
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %10945 = call ptr @__errno_location() #12
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  store i32 %10946, ptr %240, align 4, !tbaa !5
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = call i32 @s2n_print_stacktrace(ptr noundef %10947)
  %10949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10950 = trunc i8 %10949 to i1
  br i1 %10950, label %10951, label %10973

10951:                                            ; preds = %10944
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @fileno(ptr noundef %10952) #11
  %10954 = call i32 @isatty(i32 noundef %10953) #11
  %10955 = icmp ne i32 %10954, 0
  br i1 %10955, label %10956, label %10973

10956:                                            ; preds = %10951
  %10957 = load i32, ptr %240, align 4, !tbaa !5
  %10958 = call ptr @__errno_location() #12
  store i32 %10957, ptr %10958, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = load i32, ptr @test_count, align 4, !tbaa !5
  %10961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call ptr @s2n_strerror(i32 noundef %10962, ptr noundef @.str.24)
  %10964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror_debug(i32 noundef %10965, ptr noundef @.str.24)
  %10967 = call ptr @__errno_location() #12
  %10968 = load i32, ptr %10967, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #11
  %10970 = call ptr @__errno_location() #12
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  %10972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10959, ptr noundef @.str.22, i32 noundef %10960, ptr noundef @.str.92, ptr noundef @.str.21, i32 noundef 467, ptr noundef %10963, ptr noundef %10966, ptr noundef %10969, i32 noundef %10971) #11
  br label %10990

10973:                                            ; preds = %10951, %10944
  %10974 = load i32, ptr %240, align 4, !tbaa !5
  %10975 = call ptr @__errno_location() #12
  store i32 %10974, ptr %10975, align 4, !tbaa !5
  %10976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10977 = load i32, ptr @test_count, align 4, !tbaa !5
  %10978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror(i32 noundef %10979, ptr noundef @.str.24)
  %10981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @s2n_strerror_debug(i32 noundef %10982, ptr noundef @.str.24)
  %10984 = call ptr @__errno_location() #12
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call ptr @strerror(i32 noundef %10985) #11
  %10987 = call ptr @__errno_location() #12
  %10988 = load i32, ptr %10987, align 4, !tbaa !5
  %10989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10976, ptr noundef @.str.25, i32 noundef %10977, ptr noundef @.str.92, ptr noundef @.str.21, i32 noundef 467, ptr noundef %10980, ptr noundef %10983, ptr noundef %10986, i32 noundef %10988) #11
  br label %10990

10990:                                            ; preds = %10973, %10956
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %10991

10991:                                            ; preds = %10990
  br label %10992

10992:                                            ; preds = %10991
  call void @exit(i32 noundef 1) #13
  unreachable

10993:                                            ; No predecessors!
  br label %10994

10994:                                            ; preds = %10993
  br label %10995

10995:                                            ; preds = %10994, %10937
  br label %10996

10996:                                            ; preds = %10995
  br label %10997

10997:                                            ; preds = %10996
  br label %10998

10998:                                            ; preds = %10997
  %10999 = load i32, ptr @test_count, align 4, !tbaa !5
  %11000 = add nsw i32 %10999, 1
  store i32 %11000, ptr @test_count, align 4, !tbaa !5
  %11001 = load i8, ptr %239, align 1, !tbaa !43
  %11002 = zext i8 %11001 to i32
  %11003 = icmp eq i32 %11002, 1
  br i1 %11003, label %11057, label %11004

11004:                                            ; preds = %10998
  br label %11005

11005:                                            ; preds = %11004
  br label %11006

11006:                                            ; preds = %11005
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %11007 = call ptr @__errno_location() #12
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  store i32 %11008, ptr %241, align 4, !tbaa !5
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = call i32 @s2n_print_stacktrace(ptr noundef %11009)
  %11011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11012 = trunc i8 %11011 to i1
  br i1 %11012, label %11013, label %11035

11013:                                            ; preds = %11006
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = call i32 @fileno(ptr noundef %11014) #11
  %11016 = call i32 @isatty(i32 noundef %11015) #11
  %11017 = icmp ne i32 %11016, 0
  br i1 %11017, label %11018, label %11035

11018:                                            ; preds = %11013
  %11019 = load i32, ptr %241, align 4, !tbaa !5
  %11020 = call ptr @__errno_location() #12
  store i32 %11019, ptr %11020, align 4, !tbaa !5
  %11021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11022 = load i32, ptr @test_count, align 4, !tbaa !5
  %11023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11024 = load i32, ptr %11023, align 4, !tbaa !5
  %11025 = call ptr @s2n_strerror(i32 noundef %11024, ptr noundef @.str.24)
  %11026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11027 = load i32, ptr %11026, align 4, !tbaa !5
  %11028 = call ptr @s2n_strerror_debug(i32 noundef %11027, ptr noundef @.str.24)
  %11029 = call ptr @__errno_location() #12
  %11030 = load i32, ptr %11029, align 4, !tbaa !5
  %11031 = call ptr @strerror(i32 noundef %11030) #11
  %11032 = call ptr @__errno_location() #12
  %11033 = load i32, ptr %11032, align 4, !tbaa !5
  %11034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11021, ptr noundef @.str.22, i32 noundef %11022, ptr noundef @.str.93, ptr noundef @.str.21, i32 noundef 468, ptr noundef %11025, ptr noundef %11028, ptr noundef %11031, i32 noundef %11033) #11
  br label %11052

11035:                                            ; preds = %11013, %11006
  %11036 = load i32, ptr %241, align 4, !tbaa !5
  %11037 = call ptr @__errno_location() #12
  store i32 %11036, ptr %11037, align 4, !tbaa !5
  %11038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11039 = load i32, ptr @test_count, align 4, !tbaa !5
  %11040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11041 = load i32, ptr %11040, align 4, !tbaa !5
  %11042 = call ptr @s2n_strerror(i32 noundef %11041, ptr noundef @.str.24)
  %11043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11044 = load i32, ptr %11043, align 4, !tbaa !5
  %11045 = call ptr @s2n_strerror_debug(i32 noundef %11044, ptr noundef @.str.24)
  %11046 = call ptr @__errno_location() #12
  %11047 = load i32, ptr %11046, align 4, !tbaa !5
  %11048 = call ptr @strerror(i32 noundef %11047) #11
  %11049 = call ptr @__errno_location() #12
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  %11051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11038, ptr noundef @.str.25, i32 noundef %11039, ptr noundef @.str.93, ptr noundef @.str.21, i32 noundef 468, ptr noundef %11042, ptr noundef %11045, ptr noundef %11048, i32 noundef %11050) #11
  br label %11052

11052:                                            ; preds = %11035, %11018
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %11053

11053:                                            ; preds = %11052
  br label %11054

11054:                                            ; preds = %11053
  call void @exit(i32 noundef 1) #13
  unreachable

11055:                                            ; No predecessors!
  br label %11056

11056:                                            ; preds = %11055
  br label %11057

11057:                                            ; preds = %11056, %10998
  br label %11058

11058:                                            ; preds = %11057
  br label %11059

11059:                                            ; preds = %11058
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  store i32 0, ptr %242, align 4, !tbaa !5
  br label %11060

11060:                                            ; preds = %11059
  %11061 = load i32, ptr @test_count, align 4, !tbaa !5
  %11062 = add nsw i32 %11061, 1
  store i32 %11062, ptr @test_count, align 4, !tbaa !5
  %11063 = call i32 @s2n_stuffer_read_uint24(ptr noundef @output_stuffer, ptr noundef %242)
  %11064 = icmp eq i32 %11063, -1
  br i1 %11064, label %11065, label %11118

11065:                                            ; preds = %11060
  br label %11066

11066:                                            ; preds = %11065
  br label %11067

11067:                                            ; preds = %11066
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %11068 = call ptr @__errno_location() #12
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  store i32 %11069, ptr %243, align 4, !tbaa !5
  %11070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11071 = call i32 @s2n_print_stacktrace(ptr noundef %11070)
  %11072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11073 = trunc i8 %11072 to i1
  br i1 %11073, label %11074, label %11096

11074:                                            ; preds = %11067
  %11075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11076 = call i32 @fileno(ptr noundef %11075) #11
  %11077 = call i32 @isatty(i32 noundef %11076) #11
  %11078 = icmp ne i32 %11077, 0
  br i1 %11078, label %11079, label %11096

11079:                                            ; preds = %11074
  %11080 = load i32, ptr %243, align 4, !tbaa !5
  %11081 = call ptr @__errno_location() #12
  store i32 %11080, ptr %11081, align 4, !tbaa !5
  %11082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11083 = load i32, ptr @test_count, align 4, !tbaa !5
  %11084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @s2n_strerror(i32 noundef %11085, ptr noundef @.str.24)
  %11087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @s2n_strerror_debug(i32 noundef %11088, ptr noundef @.str.24)
  %11090 = call ptr @__errno_location() #12
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call ptr @strerror(i32 noundef %11091) #11
  %11093 = call ptr @__errno_location() #12
  %11094 = load i32, ptr %11093, align 4, !tbaa !5
  %11095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11082, ptr noundef @.str.22, i32 noundef %11083, ptr noundef @.str.94, ptr noundef @.str.21, i32 noundef 471, ptr noundef %11086, ptr noundef %11089, ptr noundef %11092, i32 noundef %11094) #11
  br label %11113

11096:                                            ; preds = %11074, %11067
  %11097 = load i32, ptr %243, align 4, !tbaa !5
  %11098 = call ptr @__errno_location() #12
  store i32 %11097, ptr %11098, align 4, !tbaa !5
  %11099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11100 = load i32, ptr @test_count, align 4, !tbaa !5
  %11101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @s2n_strerror(i32 noundef %11102, ptr noundef @.str.24)
  %11104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call ptr @s2n_strerror_debug(i32 noundef %11105, ptr noundef @.str.24)
  %11107 = call ptr @__errno_location() #12
  %11108 = load i32, ptr %11107, align 4, !tbaa !5
  %11109 = call ptr @strerror(i32 noundef %11108) #11
  %11110 = call ptr @__errno_location() #12
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  %11112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11099, ptr noundef @.str.25, i32 noundef %11100, ptr noundef @.str.94, ptr noundef @.str.21, i32 noundef 471, ptr noundef %11103, ptr noundef %11106, ptr noundef %11109, i32 noundef %11111) #11
  br label %11113

11113:                                            ; preds = %11096, %11079
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

11115:                                            ; preds = %11114
  call void @exit(i32 noundef 1) #13
  unreachable

11116:                                            ; No predecessors!
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117, %11060
  br label %11119

11119:                                            ; preds = %11118
  br label %11120

11120:                                            ; preds = %11119
  br label %11121

11121:                                            ; preds = %11120
  %11122 = load i32, ptr @test_count, align 4, !tbaa !5
  %11123 = add nsw i32 %11122, 1
  store i32 %11123, ptr @test_count, align 4, !tbaa !5
  %11124 = load i32, ptr %242, align 4, !tbaa !5
  %11125 = zext i32 %11124 to i64
  %11126 = icmp eq i64 %11125, 5
  br i1 %11126, label %11180, label %11127

11127:                                            ; preds = %11121
  br label %11128

11128:                                            ; preds = %11127
  br label %11129

11129:                                            ; preds = %11128
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %11130 = call ptr @__errno_location() #12
  %11131 = load i32, ptr %11130, align 4, !tbaa !5
  store i32 %11131, ptr %244, align 4, !tbaa !5
  %11132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11133 = call i32 @s2n_print_stacktrace(ptr noundef %11132)
  %11134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11135 = trunc i8 %11134 to i1
  br i1 %11135, label %11136, label %11158

11136:                                            ; preds = %11129
  %11137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11138 = call i32 @fileno(ptr noundef %11137) #11
  %11139 = call i32 @isatty(i32 noundef %11138) #11
  %11140 = icmp ne i32 %11139, 0
  br i1 %11140, label %11141, label %11158

11141:                                            ; preds = %11136
  %11142 = load i32, ptr %244, align 4, !tbaa !5
  %11143 = call ptr @__errno_location() #12
  store i32 %11142, ptr %11143, align 4, !tbaa !5
  %11144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11145 = load i32, ptr @test_count, align 4, !tbaa !5
  %11146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  %11148 = call ptr @s2n_strerror(i32 noundef %11147, ptr noundef @.str.24)
  %11149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call ptr @s2n_strerror_debug(i32 noundef %11150, ptr noundef @.str.24)
  %11152 = call ptr @__errno_location() #12
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call ptr @strerror(i32 noundef %11153) #11
  %11155 = call ptr @__errno_location() #12
  %11156 = load i32, ptr %11155, align 4, !tbaa !5
  %11157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11144, ptr noundef @.str.22, i32 noundef %11145, ptr noundef @.str.95, ptr noundef @.str.21, i32 noundef 472, ptr noundef %11148, ptr noundef %11151, ptr noundef %11154, i32 noundef %11156) #11
  br label %11175

11158:                                            ; preds = %11136, %11129
  %11159 = load i32, ptr %244, align 4, !tbaa !5
  %11160 = call ptr @__errno_location() #12
  store i32 %11159, ptr %11160, align 4, !tbaa !5
  %11161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11162 = load i32, ptr @test_count, align 4, !tbaa !5
  %11163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  %11165 = call ptr @s2n_strerror(i32 noundef %11164, ptr noundef @.str.24)
  %11166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11167 = load i32, ptr %11166, align 4, !tbaa !5
  %11168 = call ptr @s2n_strerror_debug(i32 noundef %11167, ptr noundef @.str.24)
  %11169 = call ptr @__errno_location() #12
  %11170 = load i32, ptr %11169, align 4, !tbaa !5
  %11171 = call ptr @strerror(i32 noundef %11170) #11
  %11172 = call ptr @__errno_location() #12
  %11173 = load i32, ptr %11172, align 4, !tbaa !5
  %11174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11161, ptr noundef @.str.25, i32 noundef %11162, ptr noundef @.str.95, ptr noundef @.str.21, i32 noundef 472, ptr noundef %11165, ptr noundef %11168, ptr noundef %11171, i32 noundef %11173) #11
  br label %11175

11175:                                            ; preds = %11158, %11141
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %11176

11176:                                            ; preds = %11175
  br label %11177

11177:                                            ; preds = %11176
  call void @exit(i32 noundef 1) #13
  unreachable

11178:                                            ; No predecessors!
  br label %11179

11179:                                            ; preds = %11178
  br label %11180

11180:                                            ; preds = %11179, %11121
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181
  br label %11183

11183:                                            ; preds = %11182
  %11184 = load i32, ptr @test_count, align 4, !tbaa !5
  %11185 = add nsw i32 %11184, 1
  store i32 %11185, ptr @test_count, align 4, !tbaa !5
  %11186 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %11187 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %11188 = sub i32 %11186, %11187
  %11189 = zext i32 %11188 to i64
  %11190 = icmp eq i64 %11189, 5
  br i1 %11190, label %11244, label %11191

11191:                                            ; preds = %11183
  br label %11192

11192:                                            ; preds = %11191
  br label %11193

11193:                                            ; preds = %11192
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %11194 = call ptr @__errno_location() #12
  %11195 = load i32, ptr %11194, align 4, !tbaa !5
  store i32 %11195, ptr %245, align 4, !tbaa !5
  %11196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11197 = call i32 @s2n_print_stacktrace(ptr noundef %11196)
  %11198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11199 = trunc i8 %11198 to i1
  br i1 %11199, label %11200, label %11222

11200:                                            ; preds = %11193
  %11201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11202 = call i32 @fileno(ptr noundef %11201) #11
  %11203 = call i32 @isatty(i32 noundef %11202) #11
  %11204 = icmp ne i32 %11203, 0
  br i1 %11204, label %11205, label %11222

11205:                                            ; preds = %11200
  %11206 = load i32, ptr %245, align 4, !tbaa !5
  %11207 = call ptr @__errno_location() #12
  store i32 %11206, ptr %11207, align 4, !tbaa !5
  %11208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11209 = load i32, ptr @test_count, align 4, !tbaa !5
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror(i32 noundef %11211, ptr noundef @.str.24)
  %11213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @s2n_strerror_debug(i32 noundef %11214, ptr noundef @.str.24)
  %11216 = call ptr @__errno_location() #12
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @strerror(i32 noundef %11217) #11
  %11219 = call ptr @__errno_location() #12
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11208, ptr noundef @.str.22, i32 noundef %11209, ptr noundef @.str.96, ptr noundef @.str.21, i32 noundef 474, ptr noundef %11212, ptr noundef %11215, ptr noundef %11218, i32 noundef %11220) #11
  br label %11239

11222:                                            ; preds = %11200, %11193
  %11223 = load i32, ptr %245, align 4, !tbaa !5
  %11224 = call ptr @__errno_location() #12
  store i32 %11223, ptr %11224, align 4, !tbaa !5
  %11225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11226 = load i32, ptr @test_count, align 4, !tbaa !5
  %11227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror(i32 noundef %11228, ptr noundef @.str.24)
  %11230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call ptr @s2n_strerror_debug(i32 noundef %11231, ptr noundef @.str.24)
  %11233 = call ptr @__errno_location() #12
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call ptr @strerror(i32 noundef %11234) #11
  %11236 = call ptr @__errno_location() #12
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11225, ptr noundef @.str.25, i32 noundef %11226, ptr noundef @.str.96, ptr noundef @.str.21, i32 noundef 474, ptr noundef %11229, ptr noundef %11232, ptr noundef %11235, i32 noundef %11237) #11
  br label %11239

11239:                                            ; preds = %11222, %11205
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %11240

11240:                                            ; preds = %11239
  br label %11241

11241:                                            ; preds = %11240
  call void @exit(i32 noundef 1) #13
  unreachable

11242:                                            ; No predecessors!
  br label %11243

11243:                                            ; preds = %11242
  br label %11244

11244:                                            ; preds = %11243, %11183
  br label %11245

11245:                                            ; preds = %11244
  br label %11246

11246:                                            ; preds = %11245
  br label %11247

11247:                                            ; preds = %11246
  br label %11248

11248:                                            ; preds = %11247
  %11249 = load i32, ptr @test_count, align 4, !tbaa !5
  %11250 = add nsw i32 %11249, 1
  store i32 %11250, ptr @test_count, align 4, !tbaa !5
  %11251 = call ptr @s2n_stuffer_raw_read(ptr noundef @output_stuffer, i32 noundef 5)
  %11252 = call i32 @memcmp(ptr noundef %11251, ptr noundef @TEST_DATA, i64 noundef 5) #14
  %11253 = icmp eq i32 %11252, 0
  br i1 %11253, label %11307, label %11254

11254:                                            ; preds = %11248
  br label %11255

11255:                                            ; preds = %11254
  br label %11256

11256:                                            ; preds = %11255
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %11257 = call ptr @__errno_location() #12
  %11258 = load i32, ptr %11257, align 4, !tbaa !5
  store i32 %11258, ptr %246, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = call i32 @s2n_print_stacktrace(ptr noundef %11259)
  %11261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11262 = trunc i8 %11261 to i1
  br i1 %11262, label %11263, label %11285

11263:                                            ; preds = %11256
  %11264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11265 = call i32 @fileno(ptr noundef %11264) #11
  %11266 = call i32 @isatty(i32 noundef %11265) #11
  %11267 = icmp ne i32 %11266, 0
  br i1 %11267, label %11268, label %11285

11268:                                            ; preds = %11263
  %11269 = load i32, ptr %246, align 4, !tbaa !5
  %11270 = call ptr @__errno_location() #12
  store i32 %11269, ptr %11270, align 4, !tbaa !5
  %11271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11272 = load i32, ptr @test_count, align 4, !tbaa !5
  %11273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11274 = load i32, ptr %11273, align 4, !tbaa !5
  %11275 = call ptr @s2n_strerror(i32 noundef %11274, ptr noundef @.str.24)
  %11276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  %11278 = call ptr @s2n_strerror_debug(i32 noundef %11277, ptr noundef @.str.24)
  %11279 = call ptr @__errno_location() #12
  %11280 = load i32, ptr %11279, align 4, !tbaa !5
  %11281 = call ptr @strerror(i32 noundef %11280) #11
  %11282 = call ptr @__errno_location() #12
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  %11284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11271, ptr noundef @.str.22, i32 noundef %11272, ptr noundef @.str.97, ptr noundef @.str.21, i32 noundef 476, ptr noundef %11275, ptr noundef %11278, ptr noundef %11281, i32 noundef %11283) #11
  br label %11302

11285:                                            ; preds = %11263, %11256
  %11286 = load i32, ptr %246, align 4, !tbaa !5
  %11287 = call ptr @__errno_location() #12
  store i32 %11286, ptr %11287, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11291 = load i32, ptr %11290, align 4, !tbaa !5
  %11292 = call ptr @s2n_strerror(i32 noundef %11291, ptr noundef @.str.24)
  %11293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11294 = load i32, ptr %11293, align 4, !tbaa !5
  %11295 = call ptr @s2n_strerror_debug(i32 noundef %11294, ptr noundef @.str.24)
  %11296 = call ptr @__errno_location() #12
  %11297 = load i32, ptr %11296, align 4, !tbaa !5
  %11298 = call ptr @strerror(i32 noundef %11297) #11
  %11299 = call ptr @__errno_location() #12
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11288, ptr noundef @.str.25, i32 noundef %11289, ptr noundef @.str.97, ptr noundef @.str.21, i32 noundef 476, ptr noundef %11292, ptr noundef %11295, ptr noundef %11298, i32 noundef %11300) #11
  br label %11302

11302:                                            ; preds = %11285, %11268
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %11303

11303:                                            ; preds = %11302
  br label %11304

11304:                                            ; preds = %11303
  call void @exit(i32 noundef 1) #13
  unreachable

11305:                                            ; No predecessors!
  br label %11306

11306:                                            ; preds = %11305
  br label %11307

11307:                                            ; preds = %11306, %11248
  br label %11308

11308:                                            ; preds = %11307
  br label %11309

11309:                                            ; preds = %11308
  br label %11310

11310:                                            ; preds = %11309
  br label %11311

11311:                                            ; preds = %11310
  br label %11312

11312:                                            ; preds = %11311
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = add nsw i32 %11313, 1
  store i32 %11314, ptr @test_count, align 4, !tbaa !5
  %11315 = load ptr, ptr %231, align 8, !tbaa !9
  %11316 = call i32 @s2n_conn_get_current_message_type(ptr noundef %11315)
  %11317 = icmp eq i32 %11316, 1
  br i1 %11317, label %11371, label %11318

11318:                                            ; preds = %11312
  br label %11319

11319:                                            ; preds = %11318
  br label %11320

11320:                                            ; preds = %11319
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %11321 = call ptr @__errno_location() #12
  %11322 = load i32, ptr %11321, align 4, !tbaa !5
  store i32 %11322, ptr %247, align 4, !tbaa !5
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = call i32 @s2n_print_stacktrace(ptr noundef %11323)
  %11325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11326 = trunc i8 %11325 to i1
  br i1 %11326, label %11327, label %11349

11327:                                            ; preds = %11320
  %11328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11329 = call i32 @fileno(ptr noundef %11328) #11
  %11330 = call i32 @isatty(i32 noundef %11329) #11
  %11331 = icmp ne i32 %11330, 0
  br i1 %11331, label %11332, label %11349

11332:                                            ; preds = %11327
  %11333 = load i32, ptr %247, align 4, !tbaa !5
  %11334 = call ptr @__errno_location() #12
  store i32 %11333, ptr %11334, align 4, !tbaa !5
  %11335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11336 = load i32, ptr @test_count, align 4, !tbaa !5
  %11337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call ptr @s2n_strerror(i32 noundef %11338, ptr noundef @.str.24)
  %11340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11341 = load i32, ptr %11340, align 4, !tbaa !5
  %11342 = call ptr @s2n_strerror_debug(i32 noundef %11341, ptr noundef @.str.24)
  %11343 = call ptr @__errno_location() #12
  %11344 = load i32, ptr %11343, align 4, !tbaa !5
  %11345 = call ptr @strerror(i32 noundef %11344) #11
  %11346 = call ptr @__errno_location() #12
  %11347 = load i32, ptr %11346, align 4, !tbaa !5
  %11348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11335, ptr noundef @.str.22, i32 noundef %11336, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 478, ptr noundef %11339, ptr noundef %11342, ptr noundef %11345, i32 noundef %11347) #11
  br label %11366

11349:                                            ; preds = %11327, %11320
  %11350 = load i32, ptr %247, align 4, !tbaa !5
  %11351 = call ptr @__errno_location() #12
  store i32 %11350, ptr %11351, align 4, !tbaa !5
  %11352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11353 = load i32, ptr @test_count, align 4, !tbaa !5
  %11354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11355 = load i32, ptr %11354, align 4, !tbaa !5
  %11356 = call ptr @s2n_strerror(i32 noundef %11355, ptr noundef @.str.24)
  %11357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11358 = load i32, ptr %11357, align 4, !tbaa !5
  %11359 = call ptr @s2n_strerror_debug(i32 noundef %11358, ptr noundef @.str.24)
  %11360 = call ptr @__errno_location() #12
  %11361 = load i32, ptr %11360, align 4, !tbaa !5
  %11362 = call ptr @strerror(i32 noundef %11361) #11
  %11363 = call ptr @__errno_location() #12
  %11364 = load i32, ptr %11363, align 4, !tbaa !5
  %11365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11352, ptr noundef @.str.25, i32 noundef %11353, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 478, ptr noundef %11356, ptr noundef %11359, ptr noundef %11362, i32 noundef %11364) #11
  br label %11366

11366:                                            ; preds = %11349, %11332
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %11367

11367:                                            ; preds = %11366
  br label %11368

11368:                                            ; preds = %11367
  call void @exit(i32 noundef 1) #13
  unreachable

11369:                                            ; No predecessors!
  br label %11370

11370:                                            ; preds = %11369
  br label %11371

11371:                                            ; preds = %11370, %11312
  br label %11372

11372:                                            ; preds = %11371
  br label %11373

11373:                                            ; preds = %11372
  br label %11374

11374:                                            ; preds = %11373
  %11375 = load i32, ptr @test_count, align 4, !tbaa !5
  %11376 = add nsw i32 %11375, 1
  store i32 %11376, ptr @test_count, align 4, !tbaa !5
  %11377 = load ptr, ptr %231, align 8, !tbaa !9
  %11378 = call i32 @s2n_connection_free(ptr noundef %11377)
  %11379 = icmp eq i32 %11378, -1
  br i1 %11379, label %11380, label %11433

11380:                                            ; preds = %11374
  br label %11381

11381:                                            ; preds = %11380
  br label %11382

11382:                                            ; preds = %11381
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %11383 = call ptr @__errno_location() #12
  %11384 = load i32, ptr %11383, align 4, !tbaa !5
  store i32 %11384, ptr %248, align 4, !tbaa !5
  %11385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11386 = call i32 @s2n_print_stacktrace(ptr noundef %11385)
  %11387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11388 = trunc i8 %11387 to i1
  br i1 %11388, label %11389, label %11411

11389:                                            ; preds = %11382
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = call i32 @fileno(ptr noundef %11390) #11
  %11392 = call i32 @isatty(i32 noundef %11391) #11
  %11393 = icmp ne i32 %11392, 0
  br i1 %11393, label %11394, label %11411

11394:                                            ; preds = %11389
  %11395 = load i32, ptr %248, align 4, !tbaa !5
  %11396 = call ptr @__errno_location() #12
  store i32 %11395, ptr %11396, align 4, !tbaa !5
  %11397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11398 = load i32, ptr @test_count, align 4, !tbaa !5
  %11399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11400 = load i32, ptr %11399, align 4, !tbaa !5
  %11401 = call ptr @s2n_strerror(i32 noundef %11400, ptr noundef @.str.24)
  %11402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11403 = load i32, ptr %11402, align 4, !tbaa !5
  %11404 = call ptr @s2n_strerror_debug(i32 noundef %11403, ptr noundef @.str.24)
  %11405 = call ptr @__errno_location() #12
  %11406 = load i32, ptr %11405, align 4, !tbaa !5
  %11407 = call ptr @strerror(i32 noundef %11406) #11
  %11408 = call ptr @__errno_location() #12
  %11409 = load i32, ptr %11408, align 4, !tbaa !5
  %11410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11397, ptr noundef @.str.22, i32 noundef %11398, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 480, ptr noundef %11401, ptr noundef %11404, ptr noundef %11407, i32 noundef %11409) #11
  br label %11428

11411:                                            ; preds = %11389, %11382
  %11412 = load i32, ptr %248, align 4, !tbaa !5
  %11413 = call ptr @__errno_location() #12
  store i32 %11412, ptr %11413, align 4, !tbaa !5
  %11414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11415 = load i32, ptr @test_count, align 4, !tbaa !5
  %11416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11417 = load i32, ptr %11416, align 4, !tbaa !5
  %11418 = call ptr @s2n_strerror(i32 noundef %11417, ptr noundef @.str.24)
  %11419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11420 = load i32, ptr %11419, align 4, !tbaa !5
  %11421 = call ptr @s2n_strerror_debug(i32 noundef %11420, ptr noundef @.str.24)
  %11422 = call ptr @__errno_location() #12
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call ptr @strerror(i32 noundef %11423) #11
  %11425 = call ptr @__errno_location() #12
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11414, ptr noundef @.str.25, i32 noundef %11415, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 480, ptr noundef %11418, ptr noundef %11421, ptr noundef %11424, i32 noundef %11426) #11
  br label %11428

11428:                                            ; preds = %11411, %11394
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %11429

11429:                                            ; preds = %11428
  br label %11430

11430:                                            ; preds = %11429
  call void @exit(i32 noundef 1) #13
  unreachable

11431:                                            ; No predecessors!
  br label %11432

11432:                                            ; preds = %11431
  br label %11433

11433:                                            ; preds = %11432, %11374
  br label %11434

11434:                                            ; preds = %11433
  br label %11435

11435:                                            ; preds = %11434
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #11
  store ptr null, ptr %249, align 8, !tbaa !9
  br label %11436

11436:                                            ; preds = %11435
  %11437 = load i32, ptr @test_count, align 4, !tbaa !5
  %11438 = add nsw i32 %11437, 1
  store i32 %11438, ptr @test_count, align 4, !tbaa !5
  %11439 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11439, ptr %249, align 8, !tbaa !9
  %11440 = icmp eq ptr %11439, null
  br i1 %11440, label %11441, label %11494

11441:                                            ; preds = %11436
  br label %11442

11442:                                            ; preds = %11441
  br label %11443

11443:                                            ; preds = %11442
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %11444 = call ptr @__errno_location() #12
  %11445 = load i32, ptr %11444, align 4, !tbaa !5
  store i32 %11445, ptr %250, align 4, !tbaa !5
  %11446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11447 = call i32 @s2n_print_stacktrace(ptr noundef %11446)
  %11448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11449 = trunc i8 %11448 to i1
  br i1 %11449, label %11450, label %11472

11450:                                            ; preds = %11443
  %11451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11452 = call i32 @fileno(ptr noundef %11451) #11
  %11453 = call i32 @isatty(i32 noundef %11452) #11
  %11454 = icmp ne i32 %11453, 0
  br i1 %11454, label %11455, label %11472

11455:                                            ; preds = %11450
  %11456 = load i32, ptr %250, align 4, !tbaa !5
  %11457 = call ptr @__errno_location() #12
  store i32 %11456, ptr %11457, align 4, !tbaa !5
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = load i32, ptr @test_count, align 4, !tbaa !5
  %11460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call ptr @s2n_strerror(i32 noundef %11461, ptr noundef @.str.24)
  %11463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call ptr @s2n_strerror_debug(i32 noundef %11464, ptr noundef @.str.24)
  %11466 = call ptr @__errno_location() #12
  %11467 = load i32, ptr %11466, align 4, !tbaa !5
  %11468 = call ptr @strerror(i32 noundef %11467) #11
  %11469 = call ptr @__errno_location() #12
  %11470 = load i32, ptr %11469, align 4, !tbaa !5
  %11471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11458, ptr noundef @.str.22, i32 noundef %11459, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 486, ptr noundef %11462, ptr noundef %11465, ptr noundef %11468, i32 noundef %11470) #11
  br label %11489

11472:                                            ; preds = %11450, %11443
  %11473 = load i32, ptr %250, align 4, !tbaa !5
  %11474 = call ptr @__errno_location() #12
  store i32 %11473, ptr %11474, align 4, !tbaa !5
  %11475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11476 = load i32, ptr @test_count, align 4, !tbaa !5
  %11477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11478 = load i32, ptr %11477, align 4, !tbaa !5
  %11479 = call ptr @s2n_strerror(i32 noundef %11478, ptr noundef @.str.24)
  %11480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11481 = load i32, ptr %11480, align 4, !tbaa !5
  %11482 = call ptr @s2n_strerror_debug(i32 noundef %11481, ptr noundef @.str.24)
  %11483 = call ptr @__errno_location() #12
  %11484 = load i32, ptr %11483, align 4, !tbaa !5
  %11485 = call ptr @strerror(i32 noundef %11484) #11
  %11486 = call ptr @__errno_location() #12
  %11487 = load i32, ptr %11486, align 4, !tbaa !5
  %11488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11475, ptr noundef @.str.25, i32 noundef %11476, ptr noundef @.str.37, ptr noundef @.str.21, i32 noundef 486, ptr noundef %11479, ptr noundef %11482, ptr noundef %11485, i32 noundef %11487) #11
  br label %11489

11489:                                            ; preds = %11472, %11455
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  call void @exit(i32 noundef 1) #13
  unreachable

11492:                                            ; No predecessors!
  br label %11493

11493:                                            ; preds = %11492
  br label %11494

11494:                                            ; preds = %11493, %11436
  br label %11495

11495:                                            ; preds = %11494
  br label %11496

11496:                                            ; preds = %11495
  br label %11497

11497:                                            ; preds = %11496
  %11498 = load i32, ptr @test_count, align 4, !tbaa !5
  %11499 = add nsw i32 %11498, 1
  store i32 %11499, ptr @test_count, align 4, !tbaa !5
  %11500 = load ptr, ptr %249, align 8, !tbaa !9
  %11501 = call i32 @s2n_setup_conn_for_client_hello(ptr noundef %11500)
  %11502 = getelementptr inbounds %struct.s2n_result, ptr %251, i32 0, i32 0
  store i32 %11501, ptr %11502, align 4
  %11503 = getelementptr inbounds %struct.s2n_result, ptr %251, i32 0, i32 0
  %11504 = load i32, ptr %11503, align 4
  %11505 = call zeroext i1 @s2n_result_is_ok(i32 %11504)
  br i1 %11505, label %11559, label %11506

11506:                                            ; preds = %11497
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

11508:                                            ; preds = %11507
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %11509 = call ptr @__errno_location() #12
  %11510 = load i32, ptr %11509, align 4, !tbaa !5
  store i32 %11510, ptr %252, align 4, !tbaa !5
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @s2n_print_stacktrace(ptr noundef %11511)
  %11513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11514 = trunc i8 %11513 to i1
  br i1 %11514, label %11515, label %11537

11515:                                            ; preds = %11508
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = call i32 @fileno(ptr noundef %11516) #11
  %11518 = call i32 @isatty(i32 noundef %11517) #11
  %11519 = icmp ne i32 %11518, 0
  br i1 %11519, label %11520, label %11537

11520:                                            ; preds = %11515
  %11521 = load i32, ptr %252, align 4, !tbaa !5
  %11522 = call ptr @__errno_location() #12
  store i32 %11521, ptr %11522, align 4, !tbaa !5
  %11523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11524 = load i32, ptr @test_count, align 4, !tbaa !5
  %11525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror(i32 noundef %11526, ptr noundef @.str.24)
  %11528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @s2n_strerror_debug(i32 noundef %11529, ptr noundef @.str.24)
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call ptr @strerror(i32 noundef %11532) #11
  %11534 = call ptr @__errno_location() #12
  %11535 = load i32, ptr %11534, align 4, !tbaa !5
  %11536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11523, ptr noundef @.str.22, i32 noundef %11524, ptr noundef @.str.91, ptr noundef @.str.21, i32 noundef 487, ptr noundef %11527, ptr noundef %11530, ptr noundef %11533, i32 noundef %11535) #11
  br label %11554

11537:                                            ; preds = %11515, %11508
  %11538 = load i32, ptr %252, align 4, !tbaa !5
  %11539 = call ptr @__errno_location() #12
  store i32 %11538, ptr %11539, align 4, !tbaa !5
  %11540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11541 = load i32, ptr @test_count, align 4, !tbaa !5
  %11542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11543 = load i32, ptr %11542, align 4, !tbaa !5
  %11544 = call ptr @s2n_strerror(i32 noundef %11543, ptr noundef @.str.24)
  %11545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11546 = load i32, ptr %11545, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror_debug(i32 noundef %11546, ptr noundef @.str.24)
  %11548 = call ptr @__errno_location() #12
  %11549 = load i32, ptr %11548, align 4, !tbaa !5
  %11550 = call ptr @strerror(i32 noundef %11549) #11
  %11551 = call ptr @__errno_location() #12
  %11552 = load i32, ptr %11551, align 4, !tbaa !5
  %11553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11540, ptr noundef @.str.25, i32 noundef %11541, ptr noundef @.str.91, ptr noundef @.str.21, i32 noundef 487, ptr noundef %11544, ptr noundef %11547, ptr noundef %11550, i32 noundef %11552) #11
  br label %11554

11554:                                            ; preds = %11537, %11520
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

11556:                                            ; preds = %11555
  call void @exit(i32 noundef 1) #13
  unreachable

11557:                                            ; No predecessors!
  br label %11558

11558:                                            ; preds = %11557
  br label %11559

11559:                                            ; preds = %11558, %11497
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  br label %11562

11562:                                            ; preds = %11561
  %11563 = load i32, ptr @test_count, align 4, !tbaa !5
  %11564 = add nsw i32 %11563, 1
  store i32 %11564, ptr @test_count, align 4, !tbaa !5
  %11565 = load ptr, ptr %249, align 8, !tbaa !9
  %11566 = load ptr, ptr %160, align 8, !tbaa !9
  %11567 = call i32 @s2n_connection_set_config(ptr noundef %11565, ptr noundef %11566)
  %11568 = icmp eq i32 %11567, -1
  br i1 %11568, label %11569, label %11622

11569:                                            ; preds = %11562
  br label %11570

11570:                                            ; preds = %11569
  br label %11571

11571:                                            ; preds = %11570
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %11572 = call ptr @__errno_location() #12
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  store i32 %11573, ptr %253, align 4, !tbaa !5
  %11574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11575 = call i32 @s2n_print_stacktrace(ptr noundef %11574)
  %11576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11577 = trunc i8 %11576 to i1
  br i1 %11577, label %11578, label %11600

11578:                                            ; preds = %11571
  %11579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11580 = call i32 @fileno(ptr noundef %11579) #11
  %11581 = call i32 @isatty(i32 noundef %11580) #11
  %11582 = icmp ne i32 %11581, 0
  br i1 %11582, label %11583, label %11600

11583:                                            ; preds = %11578
  %11584 = load i32, ptr %253, align 4, !tbaa !5
  %11585 = call ptr @__errno_location() #12
  store i32 %11584, ptr %11585, align 4, !tbaa !5
  %11586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11587 = load i32, ptr @test_count, align 4, !tbaa !5
  %11588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11589 = load i32, ptr %11588, align 4, !tbaa !5
  %11590 = call ptr @s2n_strerror(i32 noundef %11589, ptr noundef @.str.24)
  %11591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11592 = load i32, ptr %11591, align 4, !tbaa !5
  %11593 = call ptr @s2n_strerror_debug(i32 noundef %11592, ptr noundef @.str.24)
  %11594 = call ptr @__errno_location() #12
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  %11596 = call ptr @strerror(i32 noundef %11595) #11
  %11597 = call ptr @__errno_location() #12
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11586, ptr noundef @.str.22, i32 noundef %11587, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 488, ptr noundef %11590, ptr noundef %11593, ptr noundef %11596, i32 noundef %11598) #11
  br label %11617

11600:                                            ; preds = %11578, %11571
  %11601 = load i32, ptr %253, align 4, !tbaa !5
  %11602 = call ptr @__errno_location() #12
  store i32 %11601, ptr %11602, align 4, !tbaa !5
  %11603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11604 = load i32, ptr @test_count, align 4, !tbaa !5
  %11605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  %11607 = call ptr @s2n_strerror(i32 noundef %11606, ptr noundef @.str.24)
  %11608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11609 = load i32, ptr %11608, align 4, !tbaa !5
  %11610 = call ptr @s2n_strerror_debug(i32 noundef %11609, ptr noundef @.str.24)
  %11611 = call ptr @__errno_location() #12
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  %11613 = call ptr @strerror(i32 noundef %11612) #11
  %11614 = call ptr @__errno_location() #12
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11603, ptr noundef @.str.25, i32 noundef %11604, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 488, ptr noundef %11607, ptr noundef %11610, ptr noundef %11613, i32 noundef %11615) #11
  br label %11617

11617:                                            ; preds = %11600, %11583
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %11618

11618:                                            ; preds = %11617
  br label %11619

11619:                                            ; preds = %11618
  call void @exit(i32 noundef 1) #13
  unreachable

11620:                                            ; No predecessors!
  br label %11621

11621:                                            ; preds = %11620
  br label %11622

11622:                                            ; preds = %11621, %11562
  br label %11623

11623:                                            ; preds = %11622
  br label %11624

11624:                                            ; preds = %11623
  call void @llvm.lifetime.start.p0(i64 40, ptr %254) #11
  call void @llvm.memset.p0.i64(ptr align 8 %254, i8 0, i64 40, i1 false)
  br label %11625

11625:                                            ; preds = %11624
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = add nsw i32 %11626, 1
  store i32 %11627, ptr @test_count, align 4, !tbaa !5
  %11628 = load ptr, ptr %249, align 8, !tbaa !9
  %11629 = call i32 @s2n_connection_set_io_stuffers(ptr noundef @input_stuffer, ptr noundef %254, ptr noundef %11628)
  %11630 = icmp eq i32 %11629, -1
  br i1 %11630, label %11631, label %11684

11631:                                            ; preds = %11625
  br label %11632

11632:                                            ; preds = %11631
  br label %11633

11633:                                            ; preds = %11632
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %11634 = call ptr @__errno_location() #12
  %11635 = load i32, ptr %11634, align 4, !tbaa !5
  store i32 %11635, ptr %255, align 4, !tbaa !5
  %11636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11637 = call i32 @s2n_print_stacktrace(ptr noundef %11636)
  %11638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11639 = trunc i8 %11638 to i1
  br i1 %11639, label %11640, label %11662

11640:                                            ; preds = %11633
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = call i32 @fileno(ptr noundef %11641) #11
  %11643 = call i32 @isatty(i32 noundef %11642) #11
  %11644 = icmp ne i32 %11643, 0
  br i1 %11644, label %11645, label %11662

11645:                                            ; preds = %11640
  %11646 = load i32, ptr %255, align 4, !tbaa !5
  %11647 = call ptr @__errno_location() #12
  store i32 %11646, ptr %11647, align 4, !tbaa !5
  %11648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11649 = load i32, ptr @test_count, align 4, !tbaa !5
  %11650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call ptr @s2n_strerror(i32 noundef %11651, ptr noundef @.str.24)
  %11653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror_debug(i32 noundef %11654, ptr noundef @.str.24)
  %11656 = call ptr @__errno_location() #12
  %11657 = load i32, ptr %11656, align 4, !tbaa !5
  %11658 = call ptr @strerror(i32 noundef %11657) #11
  %11659 = call ptr @__errno_location() #12
  %11660 = load i32, ptr %11659, align 4, !tbaa !5
  %11661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11648, ptr noundef @.str.22, i32 noundef %11649, ptr noundef @.str.98, ptr noundef @.str.21, i32 noundef 492, ptr noundef %11652, ptr noundef %11655, ptr noundef %11658, i32 noundef %11660) #11
  br label %11679

11662:                                            ; preds = %11640, %11633
  %11663 = load i32, ptr %255, align 4, !tbaa !5
  %11664 = call ptr @__errno_location() #12
  store i32 %11663, ptr %11664, align 4, !tbaa !5
  %11665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11666 = load i32, ptr @test_count, align 4, !tbaa !5
  %11667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11668 = load i32, ptr %11667, align 4, !tbaa !5
  %11669 = call ptr @s2n_strerror(i32 noundef %11668, ptr noundef @.str.24)
  %11670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11671 = load i32, ptr %11670, align 4, !tbaa !5
  %11672 = call ptr @s2n_strerror_debug(i32 noundef %11671, ptr noundef @.str.24)
  %11673 = call ptr @__errno_location() #12
  %11674 = load i32, ptr %11673, align 4, !tbaa !5
  %11675 = call ptr @strerror(i32 noundef %11674) #11
  %11676 = call ptr @__errno_location() #12
  %11677 = load i32, ptr %11676, align 4, !tbaa !5
  %11678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11665, ptr noundef @.str.25, i32 noundef %11666, ptr noundef @.str.98, ptr noundef @.str.21, i32 noundef 492, ptr noundef %11669, ptr noundef %11672, ptr noundef %11675, i32 noundef %11677) #11
  br label %11679

11679:                                            ; preds = %11662, %11645
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %11680

11680:                                            ; preds = %11679
  br label %11681

11681:                                            ; preds = %11680
  call void @exit(i32 noundef 1) #13
  unreachable

11682:                                            ; No predecessors!
  br label %11683

11683:                                            ; preds = %11682
  br label %11684

11684:                                            ; preds = %11683, %11625
  br label %11685

11685:                                            ; preds = %11684
  br label %11686

11686:                                            ; preds = %11685
  br label %11687

11687:                                            ; preds = %11686
  br label %11688

11688:                                            ; preds = %11687
  br label %11689

11689:                                            ; preds = %11688
  %11690 = load i32, ptr @test_count, align 4, !tbaa !5
  %11691 = add nsw i32 %11690, 1
  store i32 %11691, ptr @test_count, align 4, !tbaa !5
  %11692 = load ptr, ptr %249, align 8, !tbaa !9
  %11693 = call i32 @s2n_negotiate(ptr noundef %11692, ptr noundef %153)
  %11694 = icmp eq i32 %11693, -1
  br i1 %11694, label %11748, label %11695

11695:                                            ; preds = %11689
  br label %11696

11696:                                            ; preds = %11695
  br label %11697

11697:                                            ; preds = %11696
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %11698 = call ptr @__errno_location() #12
  %11699 = load i32, ptr %11698, align 4, !tbaa !5
  store i32 %11699, ptr %256, align 4, !tbaa !5
  %11700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11701 = call i32 @s2n_print_stacktrace(ptr noundef %11700)
  %11702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11703 = trunc i8 %11702 to i1
  br i1 %11703, label %11704, label %11726

11704:                                            ; preds = %11697
  %11705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11706 = call i32 @fileno(ptr noundef %11705) #11
  %11707 = call i32 @isatty(i32 noundef %11706) #11
  %11708 = icmp ne i32 %11707, 0
  br i1 %11708, label %11709, label %11726

11709:                                            ; preds = %11704
  %11710 = load i32, ptr %256, align 4, !tbaa !5
  %11711 = call ptr @__errno_location() #12
  store i32 %11710, ptr %11711, align 4, !tbaa !5
  %11712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11713 = load i32, ptr @test_count, align 4, !tbaa !5
  %11714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call ptr @s2n_strerror(i32 noundef %11715, ptr noundef @.str.24)
  %11717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call ptr @s2n_strerror_debug(i32 noundef %11718, ptr noundef @.str.24)
  %11720 = call ptr @__errno_location() #12
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @strerror(i32 noundef %11721) #11
  %11723 = call ptr @__errno_location() #12
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11712, ptr noundef @.str.22, i32 noundef %11713, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11716, ptr noundef %11719, ptr noundef %11722, i32 noundef %11724) #11
  br label %11743

11726:                                            ; preds = %11704, %11697
  %11727 = load i32, ptr %256, align 4, !tbaa !5
  %11728 = call ptr @__errno_location() #12
  store i32 %11727, ptr %11728, align 4, !tbaa !5
  %11729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11730 = load i32, ptr @test_count, align 4, !tbaa !5
  %11731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror(i32 noundef %11732, ptr noundef @.str.24)
  %11734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror_debug(i32 noundef %11735, ptr noundef @.str.24)
  %11737 = call ptr @__errno_location() #12
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call ptr @strerror(i32 noundef %11738) #11
  %11740 = call ptr @__errno_location() #12
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11729, ptr noundef @.str.25, i32 noundef %11730, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11733, ptr noundef %11736, ptr noundef %11739, i32 noundef %11741) #11
  br label %11743

11743:                                            ; preds = %11726, %11709
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %11744

11744:                                            ; preds = %11743
  br label %11745

11745:                                            ; preds = %11744
  call void @exit(i32 noundef 1) #13
  unreachable

11746:                                            ; No predecessors!
  br label %11747

11747:                                            ; preds = %11746
  br label %11748

11748:                                            ; preds = %11747, %11689
  br label %11749

11749:                                            ; preds = %11748
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

11751:                                            ; preds = %11750
  %11752 = load i32, ptr @test_count, align 4, !tbaa !5
  %11753 = add nsw i32 %11752, 1
  store i32 %11753, ptr @test_count, align 4, !tbaa !5
  %11754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = icmp eq i32 %11755, 201326592
  br i1 %11756, label %11810, label %11757

11757:                                            ; preds = %11751
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

11759:                                            ; preds = %11758
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %11760 = call ptr @__errno_location() #12
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  store i32 %11761, ptr %257, align 4, !tbaa !5
  %11762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11763 = call i32 @s2n_print_stacktrace(ptr noundef %11762)
  %11764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11765 = trunc i8 %11764 to i1
  br i1 %11765, label %11766, label %11788

11766:                                            ; preds = %11759
  %11767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11768 = call i32 @fileno(ptr noundef %11767) #11
  %11769 = call i32 @isatty(i32 noundef %11768) #11
  %11770 = icmp ne i32 %11769, 0
  br i1 %11770, label %11771, label %11788

11771:                                            ; preds = %11766
  %11772 = load i32, ptr %257, align 4, !tbaa !5
  %11773 = call ptr @__errno_location() #12
  store i32 %11772, ptr %11773, align 4, !tbaa !5
  %11774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11775 = load i32, ptr @test_count, align 4, !tbaa !5
  %11776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11777 = load i32, ptr %11776, align 4, !tbaa !5
  %11778 = call ptr @s2n_strerror(i32 noundef %11777, ptr noundef @.str.24)
  %11779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  %11781 = call ptr @s2n_strerror_debug(i32 noundef %11780, ptr noundef @.str.24)
  %11782 = call ptr @__errno_location() #12
  %11783 = load i32, ptr %11782, align 4, !tbaa !5
  %11784 = call ptr @strerror(i32 noundef %11783) #11
  %11785 = call ptr @__errno_location() #12
  %11786 = load i32, ptr %11785, align 4, !tbaa !5
  %11787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11774, ptr noundef @.str.22, i32 noundef %11775, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11778, ptr noundef %11781, ptr noundef %11784, i32 noundef %11786) #11
  br label %11805

11788:                                            ; preds = %11766, %11759
  %11789 = load i32, ptr %257, align 4, !tbaa !5
  %11790 = call ptr @__errno_location() #12
  store i32 %11789, ptr %11790, align 4, !tbaa !5
  %11791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11792 = load i32, ptr @test_count, align 4, !tbaa !5
  %11793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  %11795 = call ptr @s2n_strerror(i32 noundef %11794, ptr noundef @.str.24)
  %11796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  %11798 = call ptr @s2n_strerror_debug(i32 noundef %11797, ptr noundef @.str.24)
  %11799 = call ptr @__errno_location() #12
  %11800 = load i32, ptr %11799, align 4, !tbaa !5
  %11801 = call ptr @strerror(i32 noundef %11800) #11
  %11802 = call ptr @__errno_location() #12
  %11803 = load i32, ptr %11802, align 4, !tbaa !5
  %11804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11791, ptr noundef @.str.25, i32 noundef %11792, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11795, ptr noundef %11798, ptr noundef %11801, i32 noundef %11803) #11
  br label %11805

11805:                                            ; preds = %11788, %11771
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

11807:                                            ; preds = %11806
  call void @exit(i32 noundef 1) #13
  unreachable

11808:                                            ; No predecessors!
  br label %11809

11809:                                            ; preds = %11808
  br label %11810

11810:                                            ; preds = %11809, %11751
  br label %11811

11811:                                            ; preds = %11810
  br label %11812

11812:                                            ; preds = %11811
  br label %11813

11813:                                            ; preds = %11812
  %11814 = load i32, ptr @test_count, align 4, !tbaa !5
  %11815 = add nsw i32 %11814, 1
  store i32 %11815, ptr @test_count, align 4, !tbaa !5
  %11816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11817 = load i32, ptr %11816, align 4, !tbaa !5
  %11818 = call ptr @s2n_strerror_debug(i32 noundef %11817, ptr noundef @.str.24)
  %11819 = icmp eq ptr %11818, null
  br i1 %11819, label %11820, label %11873

11820:                                            ; preds = %11813
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

11822:                                            ; preds = %11821
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %11823 = call ptr @__errno_location() #12
  %11824 = load i32, ptr %11823, align 4, !tbaa !5
  store i32 %11824, ptr %258, align 4, !tbaa !5
  %11825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11826 = call i32 @s2n_print_stacktrace(ptr noundef %11825)
  %11827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11828 = trunc i8 %11827 to i1
  br i1 %11828, label %11829, label %11851

11829:                                            ; preds = %11822
  %11830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11831 = call i32 @fileno(ptr noundef %11830) #11
  %11832 = call i32 @isatty(i32 noundef %11831) #11
  %11833 = icmp ne i32 %11832, 0
  br i1 %11833, label %11834, label %11851

11834:                                            ; preds = %11829
  %11835 = load i32, ptr %258, align 4, !tbaa !5
  %11836 = call ptr @__errno_location() #12
  store i32 %11835, ptr %11836, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = load i32, ptr @test_count, align 4, !tbaa !5
  %11839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11840 = load i32, ptr %11839, align 4, !tbaa !5
  %11841 = call ptr @s2n_strerror(i32 noundef %11840, ptr noundef @.str.24)
  %11842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11843 = load i32, ptr %11842, align 4, !tbaa !5
  %11844 = call ptr @s2n_strerror_debug(i32 noundef %11843, ptr noundef @.str.24)
  %11845 = call ptr @__errno_location() #12
  %11846 = load i32, ptr %11845, align 4, !tbaa !5
  %11847 = call ptr @strerror(i32 noundef %11846) #11
  %11848 = call ptr @__errno_location() #12
  %11849 = load i32, ptr %11848, align 4, !tbaa !5
  %11850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11837, ptr noundef @.str.22, i32 noundef %11838, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11841, ptr noundef %11844, ptr noundef %11847, i32 noundef %11849) #11
  br label %11868

11851:                                            ; preds = %11829, %11822
  %11852 = load i32, ptr %258, align 4, !tbaa !5
  %11853 = call ptr @__errno_location() #12
  store i32 %11852, ptr %11853, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = load i32, ptr @test_count, align 4, !tbaa !5
  %11856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @s2n_strerror(i32 noundef %11857, ptr noundef @.str.24)
  %11859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call ptr @s2n_strerror_debug(i32 noundef %11860, ptr noundef @.str.24)
  %11862 = call ptr @__errno_location() #12
  %11863 = load i32, ptr %11862, align 4, !tbaa !5
  %11864 = call ptr @strerror(i32 noundef %11863) #11
  %11865 = call ptr @__errno_location() #12
  %11866 = load i32, ptr %11865, align 4, !tbaa !5
  %11867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11854, ptr noundef @.str.25, i32 noundef %11855, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 494, ptr noundef %11858, ptr noundef %11861, ptr noundef %11864, i32 noundef %11866) #11
  br label %11868

11868:                                            ; preds = %11851, %11834
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %11869

11869:                                            ; preds = %11868
  br label %11870

11870:                                            ; preds = %11869
  call void @exit(i32 noundef 1) #13
  unreachable

11871:                                            ; No predecessors!
  br label %11872

11872:                                            ; preds = %11871
  br label %11873

11873:                                            ; preds = %11872, %11813
  br label %11874

11874:                                            ; preds = %11873
  br label %11875

11875:                                            ; preds = %11874
  br label %11876

11876:                                            ; preds = %11875
  br label %11877

11877:                                            ; preds = %11876
  br label %11878

11878:                                            ; preds = %11877
  %11879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11879, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11880 = call ptr @__errno_location() #12
  store i32 0, ptr %11880, align 4, !tbaa !5
  br label %11881

11881:                                            ; preds = %11878
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884
  %11886 = load i32, ptr @test_count, align 4, !tbaa !5
  %11887 = add nsw i32 %11886, 1
  store i32 %11887, ptr @test_count, align 4, !tbaa !5
  %11888 = load ptr, ptr %249, align 8, !tbaa !9
  %11889 = call i32 @s2n_conn_get_current_message_type(ptr noundef %11888)
  %11890 = icmp eq i32 %11889, 0
  br i1 %11890, label %11944, label %11891

11891:                                            ; preds = %11885
  br label %11892

11892:                                            ; preds = %11891
  br label %11893

11893:                                            ; preds = %11892
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %11894 = call ptr @__errno_location() #12
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  store i32 %11895, ptr %259, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @s2n_print_stacktrace(ptr noundef %11896)
  %11898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11899 = trunc i8 %11898 to i1
  br i1 %11899, label %11900, label %11922

11900:                                            ; preds = %11893
  %11901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11902 = call i32 @fileno(ptr noundef %11901) #11
  %11903 = call i32 @isatty(i32 noundef %11902) #11
  %11904 = icmp ne i32 %11903, 0
  br i1 %11904, label %11905, label %11922

11905:                                            ; preds = %11900
  %11906 = load i32, ptr %259, align 4, !tbaa !5
  %11907 = call ptr @__errno_location() #12
  store i32 %11906, ptr %11907, align 4, !tbaa !5
  %11908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11909 = load i32, ptr @test_count, align 4, !tbaa !5
  %11910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11911 = load i32, ptr %11910, align 4, !tbaa !5
  %11912 = call ptr @s2n_strerror(i32 noundef %11911, ptr noundef @.str.24)
  %11913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  %11915 = call ptr @s2n_strerror_debug(i32 noundef %11914, ptr noundef @.str.24)
  %11916 = call ptr @__errno_location() #12
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  %11918 = call ptr @strerror(i32 noundef %11917) #11
  %11919 = call ptr @__errno_location() #12
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11908, ptr noundef @.str.22, i32 noundef %11909, ptr noundef @.str.99, ptr noundef @.str.21, i32 noundef 495, ptr noundef %11912, ptr noundef %11915, ptr noundef %11918, i32 noundef %11920) #11
  br label %11939

11922:                                            ; preds = %11900, %11893
  %11923 = load i32, ptr %259, align 4, !tbaa !5
  %11924 = call ptr @__errno_location() #12
  store i32 %11923, ptr %11924, align 4, !tbaa !5
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = load i32, ptr @test_count, align 4, !tbaa !5
  %11927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror(i32 noundef %11928, ptr noundef @.str.24)
  %11930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11931 = load i32, ptr %11930, align 4, !tbaa !5
  %11932 = call ptr @s2n_strerror_debug(i32 noundef %11931, ptr noundef @.str.24)
  %11933 = call ptr @__errno_location() #12
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call ptr @strerror(i32 noundef %11934) #11
  %11936 = call ptr @__errno_location() #12
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11925, ptr noundef @.str.25, i32 noundef %11926, ptr noundef @.str.99, ptr noundef @.str.21, i32 noundef 495, ptr noundef %11929, ptr noundef %11932, ptr noundef %11935, i32 noundef %11937) #11
  br label %11939

11939:                                            ; preds = %11922, %11905
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

11941:                                            ; preds = %11940
  call void @exit(i32 noundef 1) #13
  unreachable

11942:                                            ; No predecessors!
  br label %11943

11943:                                            ; preds = %11942
  br label %11944

11944:                                            ; preds = %11943, %11885
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  br label %11947

11947:                                            ; preds = %11946
  %11948 = load i32, ptr @test_count, align 4, !tbaa !5
  %11949 = add nsw i32 %11948, 1
  store i32 %11949, ptr @test_count, align 4, !tbaa !5
  %11950 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %11951 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %11952 = sub i32 %11950, %11951
  %11953 = icmp eq i32 %11952, 0
  br i1 %11953, label %12007, label %11954

11954:                                            ; preds = %11947
  br label %11955

11955:                                            ; preds = %11954
  br label %11956

11956:                                            ; preds = %11955
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %11957 = call ptr @__errno_location() #12
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  store i32 %11958, ptr %260, align 4, !tbaa !5
  %11959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11960 = call i32 @s2n_print_stacktrace(ptr noundef %11959)
  %11961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11962 = trunc i8 %11961 to i1
  br i1 %11962, label %11963, label %11985

11963:                                            ; preds = %11956
  %11964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11965 = call i32 @fileno(ptr noundef %11964) #11
  %11966 = call i32 @isatty(i32 noundef %11965) #11
  %11967 = icmp ne i32 %11966, 0
  br i1 %11967, label %11968, label %11985

11968:                                            ; preds = %11963
  %11969 = load i32, ptr %260, align 4, !tbaa !5
  %11970 = call ptr @__errno_location() #12
  store i32 %11969, ptr %11970, align 4, !tbaa !5
  %11971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11972 = load i32, ptr @test_count, align 4, !tbaa !5
  %11973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11974 = load i32, ptr %11973, align 4, !tbaa !5
  %11975 = call ptr @s2n_strerror(i32 noundef %11974, ptr noundef @.str.24)
  %11976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11977 = load i32, ptr %11976, align 4, !tbaa !5
  %11978 = call ptr @s2n_strerror_debug(i32 noundef %11977, ptr noundef @.str.24)
  %11979 = call ptr @__errno_location() #12
  %11980 = load i32, ptr %11979, align 4, !tbaa !5
  %11981 = call ptr @strerror(i32 noundef %11980) #11
  %11982 = call ptr @__errno_location() #12
  %11983 = load i32, ptr %11982, align 4, !tbaa !5
  %11984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11971, ptr noundef @.str.22, i32 noundef %11972, ptr noundef @.str.100, ptr noundef @.str.21, i32 noundef 496, ptr noundef %11975, ptr noundef %11978, ptr noundef %11981, i32 noundef %11983) #11
  br label %12002

11985:                                            ; preds = %11963, %11956
  %11986 = load i32, ptr %260, align 4, !tbaa !5
  %11987 = call ptr @__errno_location() #12
  store i32 %11986, ptr %11987, align 4, !tbaa !5
  %11988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11989 = load i32, ptr @test_count, align 4, !tbaa !5
  %11990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11991 = load i32, ptr %11990, align 4, !tbaa !5
  %11992 = call ptr @s2n_strerror(i32 noundef %11991, ptr noundef @.str.24)
  %11993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11994 = load i32, ptr %11993, align 4, !tbaa !5
  %11995 = call ptr @s2n_strerror_debug(i32 noundef %11994, ptr noundef @.str.24)
  %11996 = call ptr @__errno_location() #12
  %11997 = load i32, ptr %11996, align 4, !tbaa !5
  %11998 = call ptr @strerror(i32 noundef %11997) #11
  %11999 = call ptr @__errno_location() #12
  %12000 = load i32, ptr %11999, align 4, !tbaa !5
  %12001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11988, ptr noundef @.str.25, i32 noundef %11989, ptr noundef @.str.100, ptr noundef @.str.21, i32 noundef 496, ptr noundef %11992, ptr noundef %11995, ptr noundef %11998, i32 noundef %12000) #11
  br label %12002

12002:                                            ; preds = %11985, %11968
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %12003

12003:                                            ; preds = %12002
  br label %12004

12004:                                            ; preds = %12003
  call void @exit(i32 noundef 1) #13
  unreachable

12005:                                            ; No predecessors!
  br label %12006

12006:                                            ; preds = %12005
  br label %12007

12007:                                            ; preds = %12006, %11947
  br label %12008

12008:                                            ; preds = %12007
  br label %12009

12009:                                            ; preds = %12008
  br label %12010

12010:                                            ; preds = %12009
  %12011 = load i32, ptr @test_count, align 4, !tbaa !5
  %12012 = add nsw i32 %12011, 1
  store i32 %12012, ptr @test_count, align 4, !tbaa !5
  %12013 = load ptr, ptr %249, align 8, !tbaa !9
  %12014 = call i32 @s2n_connection_set_io_stuffers(ptr noundef @input_stuffer, ptr noundef @output_stuffer, ptr noundef %12013)
  %12015 = icmp eq i32 %12014, -1
  br i1 %12015, label %12016, label %12069

12016:                                            ; preds = %12010
  br label %12017

12017:                                            ; preds = %12016
  br label %12018

12018:                                            ; preds = %12017
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %12019 = call ptr @__errno_location() #12
  %12020 = load i32, ptr %12019, align 4, !tbaa !5
  store i32 %12020, ptr %261, align 4, !tbaa !5
  %12021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12022 = call i32 @s2n_print_stacktrace(ptr noundef %12021)
  %12023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12024 = trunc i8 %12023 to i1
  br i1 %12024, label %12025, label %12047

12025:                                            ; preds = %12018
  %12026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12027 = call i32 @fileno(ptr noundef %12026) #11
  %12028 = call i32 @isatty(i32 noundef %12027) #11
  %12029 = icmp ne i32 %12028, 0
  br i1 %12029, label %12030, label %12047

12030:                                            ; preds = %12025
  %12031 = load i32, ptr %261, align 4, !tbaa !5
  %12032 = call ptr @__errno_location() #12
  store i32 %12031, ptr %12032, align 4, !tbaa !5
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = load i32, ptr @test_count, align 4, !tbaa !5
  %12035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  %12037 = call ptr @s2n_strerror(i32 noundef %12036, ptr noundef @.str.24)
  %12038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12039 = load i32, ptr %12038, align 4, !tbaa !5
  %12040 = call ptr @s2n_strerror_debug(i32 noundef %12039, ptr noundef @.str.24)
  %12041 = call ptr @__errno_location() #12
  %12042 = load i32, ptr %12041, align 4, !tbaa !5
  %12043 = call ptr @strerror(i32 noundef %12042) #11
  %12044 = call ptr @__errno_location() #12
  %12045 = load i32, ptr %12044, align 4, !tbaa !5
  %12046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12033, ptr noundef @.str.22, i32 noundef %12034, ptr noundef @.str.101, ptr noundef @.str.21, i32 noundef 499, ptr noundef %12037, ptr noundef %12040, ptr noundef %12043, i32 noundef %12045) #11
  br label %12064

12047:                                            ; preds = %12025, %12018
  %12048 = load i32, ptr %261, align 4, !tbaa !5
  %12049 = call ptr @__errno_location() #12
  store i32 %12048, ptr %12049, align 4, !tbaa !5
  %12050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12051 = load i32, ptr @test_count, align 4, !tbaa !5
  %12052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12053 = load i32, ptr %12052, align 4, !tbaa !5
  %12054 = call ptr @s2n_strerror(i32 noundef %12053, ptr noundef @.str.24)
  %12055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call ptr @s2n_strerror_debug(i32 noundef %12056, ptr noundef @.str.24)
  %12058 = call ptr @__errno_location() #12
  %12059 = load i32, ptr %12058, align 4, !tbaa !5
  %12060 = call ptr @strerror(i32 noundef %12059) #11
  %12061 = call ptr @__errno_location() #12
  %12062 = load i32, ptr %12061, align 4, !tbaa !5
  %12063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12050, ptr noundef @.str.25, i32 noundef %12051, ptr noundef @.str.101, ptr noundef @.str.21, i32 noundef 499, ptr noundef %12054, ptr noundef %12057, ptr noundef %12060, i32 noundef %12062) #11
  br label %12064

12064:                                            ; preds = %12047, %12030
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %12065

12065:                                            ; preds = %12064
  br label %12066

12066:                                            ; preds = %12065
  call void @exit(i32 noundef 1) #13
  unreachable

12067:                                            ; No predecessors!
  br label %12068

12068:                                            ; preds = %12067
  br label %12069

12069:                                            ; preds = %12068, %12010
  br label %12070

12070:                                            ; preds = %12069
  br label %12071

12071:                                            ; preds = %12070
  br label %12072

12072:                                            ; preds = %12071
  br label %12073

12073:                                            ; preds = %12072
  br label %12074

12074:                                            ; preds = %12073
  %12075 = load i32, ptr @test_count, align 4, !tbaa !5
  %12076 = add nsw i32 %12075, 1
  store i32 %12076, ptr @test_count, align 4, !tbaa !5
  %12077 = load ptr, ptr %249, align 8, !tbaa !9
  %12078 = call i32 @s2n_negotiate(ptr noundef %12077, ptr noundef %153)
  %12079 = icmp eq i32 %12078, -1
  br i1 %12079, label %12133, label %12080

12080:                                            ; preds = %12074
  br label %12081

12081:                                            ; preds = %12080
  br label %12082

12082:                                            ; preds = %12081
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %12083 = call ptr @__errno_location() #12
  %12084 = load i32, ptr %12083, align 4, !tbaa !5
  store i32 %12084, ptr %262, align 4, !tbaa !5
  %12085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12086 = call i32 @s2n_print_stacktrace(ptr noundef %12085)
  %12087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12088 = trunc i8 %12087 to i1
  br i1 %12088, label %12089, label %12111

12089:                                            ; preds = %12082
  %12090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12091 = call i32 @fileno(ptr noundef %12090) #11
  %12092 = call i32 @isatty(i32 noundef %12091) #11
  %12093 = icmp ne i32 %12092, 0
  br i1 %12093, label %12094, label %12111

12094:                                            ; preds = %12089
  %12095 = load i32, ptr %262, align 4, !tbaa !5
  %12096 = call ptr @__errno_location() #12
  store i32 %12095, ptr %12096, align 4, !tbaa !5
  %12097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12098 = load i32, ptr @test_count, align 4, !tbaa !5
  %12099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12100 = load i32, ptr %12099, align 4, !tbaa !5
  %12101 = call ptr @s2n_strerror(i32 noundef %12100, ptr noundef @.str.24)
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror_debug(i32 noundef %12103, ptr noundef @.str.24)
  %12105 = call ptr @__errno_location() #12
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @strerror(i32 noundef %12106) #11
  %12108 = call ptr @__errno_location() #12
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12097, ptr noundef @.str.22, i32 noundef %12098, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12101, ptr noundef %12104, ptr noundef %12107, i32 noundef %12109) #11
  br label %12128

12111:                                            ; preds = %12089, %12082
  %12112 = load i32, ptr %262, align 4, !tbaa !5
  %12113 = call ptr @__errno_location() #12
  store i32 %12112, ptr %12113, align 4, !tbaa !5
  %12114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12115 = load i32, ptr @test_count, align 4, !tbaa !5
  %12116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12117 = load i32, ptr %12116, align 4, !tbaa !5
  %12118 = call ptr @s2n_strerror(i32 noundef %12117, ptr noundef @.str.24)
  %12119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @s2n_strerror_debug(i32 noundef %12120, ptr noundef @.str.24)
  %12122 = call ptr @__errno_location() #12
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call ptr @strerror(i32 noundef %12123) #11
  %12125 = call ptr @__errno_location() #12
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  %12127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12114, ptr noundef @.str.25, i32 noundef %12115, ptr noundef @.str.82, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12118, ptr noundef %12121, ptr noundef %12124, i32 noundef %12126) #11
  br label %12128

12128:                                            ; preds = %12111, %12094
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %12129

12129:                                            ; preds = %12128
  br label %12130

12130:                                            ; preds = %12129
  call void @exit(i32 noundef 1) #13
  unreachable

12131:                                            ; No predecessors!
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

12133:                                            ; preds = %12132, %12074
  br label %12134

12134:                                            ; preds = %12133
  br label %12135

12135:                                            ; preds = %12134
  br label %12136

12136:                                            ; preds = %12135
  %12137 = load i32, ptr @test_count, align 4, !tbaa !5
  %12138 = add nsw i32 %12137, 1
  store i32 %12138, ptr @test_count, align 4, !tbaa !5
  %12139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12140 = load i32, ptr %12139, align 4, !tbaa !5
  %12141 = icmp eq i32 %12140, 201326592
  br i1 %12141, label %12195, label %12142

12142:                                            ; preds = %12136
  br label %12143

12143:                                            ; preds = %12142
  br label %12144

12144:                                            ; preds = %12143
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %12145 = call ptr @__errno_location() #12
  %12146 = load i32, ptr %12145, align 4, !tbaa !5
  store i32 %12146, ptr %263, align 4, !tbaa !5
  %12147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12148 = call i32 @s2n_print_stacktrace(ptr noundef %12147)
  %12149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12150 = trunc i8 %12149 to i1
  br i1 %12150, label %12151, label %12173

12151:                                            ; preds = %12144
  %12152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12153 = call i32 @fileno(ptr noundef %12152) #11
  %12154 = call i32 @isatty(i32 noundef %12153) #11
  %12155 = icmp ne i32 %12154, 0
  br i1 %12155, label %12156, label %12173

12156:                                            ; preds = %12151
  %12157 = load i32, ptr %263, align 4, !tbaa !5
  %12158 = call ptr @__errno_location() #12
  store i32 %12157, ptr %12158, align 4, !tbaa !5
  %12159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12160 = load i32, ptr @test_count, align 4, !tbaa !5
  %12161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  %12163 = call ptr @s2n_strerror(i32 noundef %12162, ptr noundef @.str.24)
  %12164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @s2n_strerror_debug(i32 noundef %12165, ptr noundef @.str.24)
  %12167 = call ptr @__errno_location() #12
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @strerror(i32 noundef %12168) #11
  %12170 = call ptr @__errno_location() #12
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12159, ptr noundef @.str.22, i32 noundef %12160, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12163, ptr noundef %12166, ptr noundef %12169, i32 noundef %12171) #11
  br label %12190

12173:                                            ; preds = %12151, %12144
  %12174 = load i32, ptr %263, align 4, !tbaa !5
  %12175 = call ptr @__errno_location() #12
  store i32 %12174, ptr %12175, align 4, !tbaa !5
  %12176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12177 = load i32, ptr @test_count, align 4, !tbaa !5
  %12178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12179 = load i32, ptr %12178, align 4, !tbaa !5
  %12180 = call ptr @s2n_strerror(i32 noundef %12179, ptr noundef @.str.24)
  %12181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call ptr @s2n_strerror_debug(i32 noundef %12182, ptr noundef @.str.24)
  %12184 = call ptr @__errno_location() #12
  %12185 = load i32, ptr %12184, align 4, !tbaa !5
  %12186 = call ptr @strerror(i32 noundef %12185) #11
  %12187 = call ptr @__errno_location() #12
  %12188 = load i32, ptr %12187, align 4, !tbaa !5
  %12189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12176, ptr noundef @.str.25, i32 noundef %12177, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12180, ptr noundef %12183, ptr noundef %12186, i32 noundef %12188) #11
  br label %12190

12190:                                            ; preds = %12173, %12156
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %12191

12191:                                            ; preds = %12190
  br label %12192

12192:                                            ; preds = %12191
  call void @exit(i32 noundef 1) #13
  unreachable

12193:                                            ; No predecessors!
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

12195:                                            ; preds = %12194, %12136
  br label %12196

12196:                                            ; preds = %12195
  br label %12197

12197:                                            ; preds = %12196
  br label %12198

12198:                                            ; preds = %12197
  %12199 = load i32, ptr @test_count, align 4, !tbaa !5
  %12200 = add nsw i32 %12199, 1
  store i32 %12200, ptr @test_count, align 4, !tbaa !5
  %12201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = call ptr @s2n_strerror_debug(i32 noundef %12202, ptr noundef @.str.24)
  %12204 = icmp eq ptr %12203, null
  br i1 %12204, label %12205, label %12258

12205:                                            ; preds = %12198
  br label %12206

12206:                                            ; preds = %12205
  br label %12207

12207:                                            ; preds = %12206
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %12208 = call ptr @__errno_location() #12
  %12209 = load i32, ptr %12208, align 4, !tbaa !5
  store i32 %12209, ptr %264, align 4, !tbaa !5
  %12210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12211 = call i32 @s2n_print_stacktrace(ptr noundef %12210)
  %12212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12213 = trunc i8 %12212 to i1
  br i1 %12213, label %12214, label %12236

12214:                                            ; preds = %12207
  %12215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12216 = call i32 @fileno(ptr noundef %12215) #11
  %12217 = call i32 @isatty(i32 noundef %12216) #11
  %12218 = icmp ne i32 %12217, 0
  br i1 %12218, label %12219, label %12236

12219:                                            ; preds = %12214
  %12220 = load i32, ptr %264, align 4, !tbaa !5
  %12221 = call ptr @__errno_location() #12
  store i32 %12220, ptr %12221, align 4, !tbaa !5
  %12222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12223 = load i32, ptr @test_count, align 4, !tbaa !5
  %12224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12225 = load i32, ptr %12224, align 4, !tbaa !5
  %12226 = call ptr @s2n_strerror(i32 noundef %12225, ptr noundef @.str.24)
  %12227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12228 = load i32, ptr %12227, align 4, !tbaa !5
  %12229 = call ptr @s2n_strerror_debug(i32 noundef %12228, ptr noundef @.str.24)
  %12230 = call ptr @__errno_location() #12
  %12231 = load i32, ptr %12230, align 4, !tbaa !5
  %12232 = call ptr @strerror(i32 noundef %12231) #11
  %12233 = call ptr @__errno_location() #12
  %12234 = load i32, ptr %12233, align 4, !tbaa !5
  %12235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12222, ptr noundef @.str.22, i32 noundef %12223, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12226, ptr noundef %12229, ptr noundef %12232, i32 noundef %12234) #11
  br label %12253

12236:                                            ; preds = %12214, %12207
  %12237 = load i32, ptr %264, align 4, !tbaa !5
  %12238 = call ptr @__errno_location() #12
  store i32 %12237, ptr %12238, align 4, !tbaa !5
  %12239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12240 = load i32, ptr @test_count, align 4, !tbaa !5
  %12241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12242 = load i32, ptr %12241, align 4, !tbaa !5
  %12243 = call ptr @s2n_strerror(i32 noundef %12242, ptr noundef @.str.24)
  %12244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12245 = load i32, ptr %12244, align 4, !tbaa !5
  %12246 = call ptr @s2n_strerror_debug(i32 noundef %12245, ptr noundef @.str.24)
  %12247 = call ptr @__errno_location() #12
  %12248 = load i32, ptr %12247, align 4, !tbaa !5
  %12249 = call ptr @strerror(i32 noundef %12248) #11
  %12250 = call ptr @__errno_location() #12
  %12251 = load i32, ptr %12250, align 4, !tbaa !5
  %12252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12239, ptr noundef @.str.25, i32 noundef %12240, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 501, ptr noundef %12243, ptr noundef %12246, ptr noundef %12249, i32 noundef %12251) #11
  br label %12253

12253:                                            ; preds = %12236, %12219
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %12254

12254:                                            ; preds = %12253
  br label %12255

12255:                                            ; preds = %12254
  call void @exit(i32 noundef 1) #13
  unreachable

12256:                                            ; No predecessors!
  br label %12257

12257:                                            ; preds = %12256
  br label %12258

12258:                                            ; preds = %12257, %12198
  br label %12259

12259:                                            ; preds = %12258
  br label %12260

12260:                                            ; preds = %12259
  br label %12261

12261:                                            ; preds = %12260
  br label %12262

12262:                                            ; preds = %12261
  br label %12263

12263:                                            ; preds = %12262
  %12264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12264, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12265 = call ptr @__errno_location() #12
  store i32 0, ptr %12265, align 4, !tbaa !5
  br label %12266

12266:                                            ; preds = %12263
  br label %12267

12267:                                            ; preds = %12266
  br label %12268

12268:                                            ; preds = %12267
  br label %12269

12269:                                            ; preds = %12268
  br label %12270

12270:                                            ; preds = %12269
  %12271 = load i32, ptr @test_count, align 4, !tbaa !5
  %12272 = add nsw i32 %12271, 1
  store i32 %12272, ptr @test_count, align 4, !tbaa !5
  %12273 = load ptr, ptr %249, align 8, !tbaa !9
  %12274 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12273)
  %12275 = icmp eq i32 %12274, 1
  br i1 %12275, label %12329, label %12276

12276:                                            ; preds = %12270
  br label %12277

12277:                                            ; preds = %12276
  br label %12278

12278:                                            ; preds = %12277
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %12279 = call ptr @__errno_location() #12
  %12280 = load i32, ptr %12279, align 4, !tbaa !5
  store i32 %12280, ptr %265, align 4, !tbaa !5
  %12281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12282 = call i32 @s2n_print_stacktrace(ptr noundef %12281)
  %12283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12284 = trunc i8 %12283 to i1
  br i1 %12284, label %12285, label %12307

12285:                                            ; preds = %12278
  %12286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12287 = call i32 @fileno(ptr noundef %12286) #11
  %12288 = call i32 @isatty(i32 noundef %12287) #11
  %12289 = icmp ne i32 %12288, 0
  br i1 %12289, label %12290, label %12307

12290:                                            ; preds = %12285
  %12291 = load i32, ptr %265, align 4, !tbaa !5
  %12292 = call ptr @__errno_location() #12
  store i32 %12291, ptr %12292, align 4, !tbaa !5
  %12293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12294 = load i32, ptr @test_count, align 4, !tbaa !5
  %12295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  %12297 = call ptr @s2n_strerror(i32 noundef %12296, ptr noundef @.str.24)
  %12298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12299 = load i32, ptr %12298, align 4, !tbaa !5
  %12300 = call ptr @s2n_strerror_debug(i32 noundef %12299, ptr noundef @.str.24)
  %12301 = call ptr @__errno_location() #12
  %12302 = load i32, ptr %12301, align 4, !tbaa !5
  %12303 = call ptr @strerror(i32 noundef %12302) #11
  %12304 = call ptr @__errno_location() #12
  %12305 = load i32, ptr %12304, align 4, !tbaa !5
  %12306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12293, ptr noundef @.str.22, i32 noundef %12294, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 502, ptr noundef %12297, ptr noundef %12300, ptr noundef %12303, i32 noundef %12305) #11
  br label %12324

12307:                                            ; preds = %12285, %12278
  %12308 = load i32, ptr %265, align 4, !tbaa !5
  %12309 = call ptr @__errno_location() #12
  store i32 %12308, ptr %12309, align 4, !tbaa !5
  %12310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12311 = load i32, ptr @test_count, align 4, !tbaa !5
  %12312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12313 = load i32, ptr %12312, align 4, !tbaa !5
  %12314 = call ptr @s2n_strerror(i32 noundef %12313, ptr noundef @.str.24)
  %12315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12316 = load i32, ptr %12315, align 4, !tbaa !5
  %12317 = call ptr @s2n_strerror_debug(i32 noundef %12316, ptr noundef @.str.24)
  %12318 = call ptr @__errno_location() #12
  %12319 = load i32, ptr %12318, align 4, !tbaa !5
  %12320 = call ptr @strerror(i32 noundef %12319) #11
  %12321 = call ptr @__errno_location() #12
  %12322 = load i32, ptr %12321, align 4, !tbaa !5
  %12323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12310, ptr noundef @.str.25, i32 noundef %12311, ptr noundef @.str.86, ptr noundef @.str.21, i32 noundef 502, ptr noundef %12314, ptr noundef %12317, ptr noundef %12320, i32 noundef %12322) #11
  br label %12324

12324:                                            ; preds = %12307, %12290
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %12325

12325:                                            ; preds = %12324
  br label %12326

12326:                                            ; preds = %12325
  call void @exit(i32 noundef 1) #13
  unreachable

12327:                                            ; No predecessors!
  br label %12328

12328:                                            ; preds = %12327
  br label %12329

12329:                                            ; preds = %12328, %12270
  br label %12330

12330:                                            ; preds = %12329
  br label %12331

12331:                                            ; preds = %12330
  br label %12332

12332:                                            ; preds = %12331
  %12333 = load i32, ptr @test_count, align 4, !tbaa !5
  %12334 = add nsw i32 %12333, 1
  store i32 %12334, ptr @test_count, align 4, !tbaa !5
  %12335 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 2), align 4, !tbaa !54
  %12336 = load i32, ptr getelementptr inbounds (%struct.s2n_stuffer, ptr @output_stuffer, i32 0, i32 1), align 8, !tbaa !55
  %12337 = sub i32 %12335, %12336
  %12338 = load i32, ptr %230, align 4, !tbaa !5
  %12339 = icmp eq i32 %12337, %12338
  br i1 %12339, label %12393, label %12340

12340:                                            ; preds = %12332
  br label %12341

12341:                                            ; preds = %12340
  br label %12342

12342:                                            ; preds = %12341
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %12343 = call ptr @__errno_location() #12
  %12344 = load i32, ptr %12343, align 4, !tbaa !5
  store i32 %12344, ptr %266, align 4, !tbaa !5
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = call i32 @s2n_print_stacktrace(ptr noundef %12345)
  %12347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12348 = trunc i8 %12347 to i1
  br i1 %12348, label %12349, label %12371

12349:                                            ; preds = %12342
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = call i32 @fileno(ptr noundef %12350) #11
  %12352 = call i32 @isatty(i32 noundef %12351) #11
  %12353 = icmp ne i32 %12352, 0
  br i1 %12353, label %12354, label %12371

12354:                                            ; preds = %12349
  %12355 = load i32, ptr %266, align 4, !tbaa !5
  %12356 = call ptr @__errno_location() #12
  store i32 %12355, ptr %12356, align 4, !tbaa !5
  %12357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12358 = load i32, ptr @test_count, align 4, !tbaa !5
  %12359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12360 = load i32, ptr %12359, align 4, !tbaa !5
  %12361 = call ptr @s2n_strerror(i32 noundef %12360, ptr noundef @.str.24)
  %12362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12363 = load i32, ptr %12362, align 4, !tbaa !5
  %12364 = call ptr @s2n_strerror_debug(i32 noundef %12363, ptr noundef @.str.24)
  %12365 = call ptr @__errno_location() #12
  %12366 = load i32, ptr %12365, align 4, !tbaa !5
  %12367 = call ptr @strerror(i32 noundef %12366) #11
  %12368 = call ptr @__errno_location() #12
  %12369 = load i32, ptr %12368, align 4, !tbaa !5
  %12370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12357, ptr noundef @.str.22, i32 noundef %12358, ptr noundef @.str.102, ptr noundef @.str.21, i32 noundef 503, ptr noundef %12361, ptr noundef %12364, ptr noundef %12367, i32 noundef %12369) #11
  br label %12388

12371:                                            ; preds = %12349, %12342
  %12372 = load i32, ptr %266, align 4, !tbaa !5
  %12373 = call ptr @__errno_location() #12
  store i32 %12372, ptr %12373, align 4, !tbaa !5
  %12374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12375 = load i32, ptr @test_count, align 4, !tbaa !5
  %12376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12377 = load i32, ptr %12376, align 4, !tbaa !5
  %12378 = call ptr @s2n_strerror(i32 noundef %12377, ptr noundef @.str.24)
  %12379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  %12381 = call ptr @s2n_strerror_debug(i32 noundef %12380, ptr noundef @.str.24)
  %12382 = call ptr @__errno_location() #12
  %12383 = load i32, ptr %12382, align 4, !tbaa !5
  %12384 = call ptr @strerror(i32 noundef %12383) #11
  %12385 = call ptr @__errno_location() #12
  %12386 = load i32, ptr %12385, align 4, !tbaa !5
  %12387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12374, ptr noundef @.str.25, i32 noundef %12375, ptr noundef @.str.102, ptr noundef @.str.21, i32 noundef 503, ptr noundef %12378, ptr noundef %12381, ptr noundef %12384, i32 noundef %12386) #11
  br label %12388

12388:                                            ; preds = %12371, %12354
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %12389

12389:                                            ; preds = %12388
  br label %12390

12390:                                            ; preds = %12389
  call void @exit(i32 noundef 1) #13
  unreachable

12391:                                            ; No predecessors!
  br label %12392

12392:                                            ; preds = %12391
  br label %12393

12393:                                            ; preds = %12392, %12332
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  br label %12396

12396:                                            ; preds = %12395
  %12397 = load i32, ptr @test_count, align 4, !tbaa !5
  %12398 = add nsw i32 %12397, 1
  store i32 %12398, ptr @test_count, align 4, !tbaa !5
  %12399 = load ptr, ptr %249, align 8, !tbaa !9
  %12400 = call i32 @s2n_connection_free(ptr noundef %12399)
  %12401 = icmp eq i32 %12400, -1
  br i1 %12401, label %12402, label %12455

12402:                                            ; preds = %12396
  br label %12403

12403:                                            ; preds = %12402
  br label %12404

12404:                                            ; preds = %12403
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %12405 = call ptr @__errno_location() #12
  %12406 = load i32, ptr %12405, align 4, !tbaa !5
  store i32 %12406, ptr %267, align 4, !tbaa !5
  %12407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12408 = call i32 @s2n_print_stacktrace(ptr noundef %12407)
  %12409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12410 = trunc i8 %12409 to i1
  br i1 %12410, label %12411, label %12433

12411:                                            ; preds = %12404
  %12412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12413 = call i32 @fileno(ptr noundef %12412) #11
  %12414 = call i32 @isatty(i32 noundef %12413) #11
  %12415 = icmp ne i32 %12414, 0
  br i1 %12415, label %12416, label %12433

12416:                                            ; preds = %12411
  %12417 = load i32, ptr %267, align 4, !tbaa !5
  %12418 = call ptr @__errno_location() #12
  store i32 %12417, ptr %12418, align 4, !tbaa !5
  %12419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12420 = load i32, ptr @test_count, align 4, !tbaa !5
  %12421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call ptr @s2n_strerror(i32 noundef %12422, ptr noundef @.str.24)
  %12424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call ptr @s2n_strerror_debug(i32 noundef %12425, ptr noundef @.str.24)
  %12427 = call ptr @__errno_location() #12
  %12428 = load i32, ptr %12427, align 4, !tbaa !5
  %12429 = call ptr @strerror(i32 noundef %12428) #11
  %12430 = call ptr @__errno_location() #12
  %12431 = load i32, ptr %12430, align 4, !tbaa !5
  %12432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12419, ptr noundef @.str.22, i32 noundef %12420, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 505, ptr noundef %12423, ptr noundef %12426, ptr noundef %12429, i32 noundef %12431) #11
  br label %12450

12433:                                            ; preds = %12411, %12404
  %12434 = load i32, ptr %267, align 4, !tbaa !5
  %12435 = call ptr @__errno_location() #12
  store i32 %12434, ptr %12435, align 4, !tbaa !5
  %12436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12437 = load i32, ptr @test_count, align 4, !tbaa !5
  %12438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call ptr @s2n_strerror(i32 noundef %12439, ptr noundef @.str.24)
  %12441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  %12443 = call ptr @s2n_strerror_debug(i32 noundef %12442, ptr noundef @.str.24)
  %12444 = call ptr @__errno_location() #12
  %12445 = load i32, ptr %12444, align 4, !tbaa !5
  %12446 = call ptr @strerror(i32 noundef %12445) #11
  %12447 = call ptr @__errno_location() #12
  %12448 = load i32, ptr %12447, align 4, !tbaa !5
  %12449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12436, ptr noundef @.str.25, i32 noundef %12437, ptr noundef @.str.42, ptr noundef @.str.21, i32 noundef 505, ptr noundef %12440, ptr noundef %12443, ptr noundef %12446, i32 noundef %12448) #11
  br label %12450

12450:                                            ; preds = %12433, %12416
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %12451

12451:                                            ; preds = %12450
  br label %12452

12452:                                            ; preds = %12451
  call void @exit(i32 noundef 1) #13
  unreachable

12453:                                            ; No predecessors!
  br label %12454

12454:                                            ; preds = %12453
  br label %12455

12455:                                            ; preds = %12454, %12396
  br label %12456

12456:                                            ; preds = %12455
  br label %12457

12457:                                            ; preds = %12456
  call void @llvm.lifetime.end.p0(i64 40, ptr %254) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #11
  br label %12458

12458:                                            ; preds = %12457
  %12459 = load i32, ptr @test_count, align 4, !tbaa !5
  %12460 = add nsw i32 %12459, 1
  store i32 %12460, ptr @test_count, align 4, !tbaa !5
  %12461 = call i32 @s2n_stuffer_free(ptr noundef @input_stuffer)
  %12462 = icmp eq i32 %12461, -1
  br i1 %12462, label %12463, label %12516

12463:                                            ; preds = %12458
  br label %12464

12464:                                            ; preds = %12463
  br label %12465

12465:                                            ; preds = %12464
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %12466 = call ptr @__errno_location() #12
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  store i32 %12467, ptr %268, align 4, !tbaa !5
  %12468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12469 = call i32 @s2n_print_stacktrace(ptr noundef %12468)
  %12470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12471 = trunc i8 %12470 to i1
  br i1 %12471, label %12472, label %12494

12472:                                            ; preds = %12465
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = call i32 @fileno(ptr noundef %12473) #11
  %12475 = call i32 @isatty(i32 noundef %12474) #11
  %12476 = icmp ne i32 %12475, 0
  br i1 %12476, label %12477, label %12494

12477:                                            ; preds = %12472
  %12478 = load i32, ptr %268, align 4, !tbaa !5
  %12479 = call ptr @__errno_location() #12
  store i32 %12478, ptr %12479, align 4, !tbaa !5
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = load i32, ptr @test_count, align 4, !tbaa !5
  %12482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12483 = load i32, ptr %12482, align 4, !tbaa !5
  %12484 = call ptr @s2n_strerror(i32 noundef %12483, ptr noundef @.str.24)
  %12485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @s2n_strerror_debug(i32 noundef %12486, ptr noundef @.str.24)
  %12488 = call ptr @__errno_location() #12
  %12489 = load i32, ptr %12488, align 4, !tbaa !5
  %12490 = call ptr @strerror(i32 noundef %12489) #11
  %12491 = call ptr @__errno_location() #12
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  %12493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12480, ptr noundef @.str.22, i32 noundef %12481, ptr noundef @.str.103, ptr noundef @.str.21, i32 noundef 508, ptr noundef %12484, ptr noundef %12487, ptr noundef %12490, i32 noundef %12492) #11
  br label %12511

12494:                                            ; preds = %12472, %12465
  %12495 = load i32, ptr %268, align 4, !tbaa !5
  %12496 = call ptr @__errno_location() #12
  store i32 %12495, ptr %12496, align 4, !tbaa !5
  %12497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12498 = load i32, ptr @test_count, align 4, !tbaa !5
  %12499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12500 = load i32, ptr %12499, align 4, !tbaa !5
  %12501 = call ptr @s2n_strerror(i32 noundef %12500, ptr noundef @.str.24)
  %12502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @s2n_strerror_debug(i32 noundef %12503, ptr noundef @.str.24)
  %12505 = call ptr @__errno_location() #12
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call ptr @strerror(i32 noundef %12506) #11
  %12508 = call ptr @__errno_location() #12
  %12509 = load i32, ptr %12508, align 4, !tbaa !5
  %12510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12497, ptr noundef @.str.25, i32 noundef %12498, ptr noundef @.str.103, ptr noundef @.str.21, i32 noundef 508, ptr noundef %12501, ptr noundef %12504, ptr noundef %12507, i32 noundef %12509) #11
  br label %12511

12511:                                            ; preds = %12494, %12477
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %12512

12512:                                            ; preds = %12511
  br label %12513

12513:                                            ; preds = %12512
  call void @exit(i32 noundef 1) #13
  unreachable

12514:                                            ; No predecessors!
  br label %12515

12515:                                            ; preds = %12514
  br label %12516

12516:                                            ; preds = %12515, %12458
  br label %12517

12517:                                            ; preds = %12516
  br label %12518

12518:                                            ; preds = %12517
  br label %12519

12519:                                            ; preds = %12518
  %12520 = load i32, ptr @test_count, align 4, !tbaa !5
  %12521 = add nsw i32 %12520, 1
  store i32 %12521, ptr @test_count, align 4, !tbaa !5
  %12522 = call i32 @s2n_stuffer_free(ptr noundef @output_stuffer)
  %12523 = icmp eq i32 %12522, -1
  br i1 %12523, label %12524, label %12577

12524:                                            ; preds = %12519
  br label %12525

12525:                                            ; preds = %12524
  br label %12526

12526:                                            ; preds = %12525
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %12527 = call ptr @__errno_location() #12
  %12528 = load i32, ptr %12527, align 4, !tbaa !5
  store i32 %12528, ptr %269, align 4, !tbaa !5
  %12529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12530 = call i32 @s2n_print_stacktrace(ptr noundef %12529)
  %12531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12532 = trunc i8 %12531 to i1
  br i1 %12532, label %12533, label %12555

12533:                                            ; preds = %12526
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = call i32 @fileno(ptr noundef %12534) #11
  %12536 = call i32 @isatty(i32 noundef %12535) #11
  %12537 = icmp ne i32 %12536, 0
  br i1 %12537, label %12538, label %12555

12538:                                            ; preds = %12533
  %12539 = load i32, ptr %269, align 4, !tbaa !5
  %12540 = call ptr @__errno_location() #12
  store i32 %12539, ptr %12540, align 4, !tbaa !5
  %12541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12542 = load i32, ptr @test_count, align 4, !tbaa !5
  %12543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12544 = load i32, ptr %12543, align 4, !tbaa !5
  %12545 = call ptr @s2n_strerror(i32 noundef %12544, ptr noundef @.str.24)
  %12546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12547 = load i32, ptr %12546, align 4, !tbaa !5
  %12548 = call ptr @s2n_strerror_debug(i32 noundef %12547, ptr noundef @.str.24)
  %12549 = call ptr @__errno_location() #12
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call ptr @strerror(i32 noundef %12550) #11
  %12552 = call ptr @__errno_location() #12
  %12553 = load i32, ptr %12552, align 4, !tbaa !5
  %12554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12541, ptr noundef @.str.22, i32 noundef %12542, ptr noundef @.str.104, ptr noundef @.str.21, i32 noundef 509, ptr noundef %12545, ptr noundef %12548, ptr noundef %12551, i32 noundef %12553) #11
  br label %12572

12555:                                            ; preds = %12533, %12526
  %12556 = load i32, ptr %269, align 4, !tbaa !5
  %12557 = call ptr @__errno_location() #12
  store i32 %12556, ptr %12557, align 4, !tbaa !5
  %12558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12559 = load i32, ptr @test_count, align 4, !tbaa !5
  %12560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12561 = load i32, ptr %12560, align 4, !tbaa !5
  %12562 = call ptr @s2n_strerror(i32 noundef %12561, ptr noundef @.str.24)
  %12563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12564 = load i32, ptr %12563, align 4, !tbaa !5
  %12565 = call ptr @s2n_strerror_debug(i32 noundef %12564, ptr noundef @.str.24)
  %12566 = call ptr @__errno_location() #12
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = call ptr @strerror(i32 noundef %12567) #11
  %12569 = call ptr @__errno_location() #12
  %12570 = load i32, ptr %12569, align 4, !tbaa !5
  %12571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12558, ptr noundef @.str.25, i32 noundef %12559, ptr noundef @.str.104, ptr noundef @.str.21, i32 noundef 509, ptr noundef %12562, ptr noundef %12565, ptr noundef %12568, i32 noundef %12570) #11
  br label %12572

12572:                                            ; preds = %12555, %12538
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %12573

12573:                                            ; preds = %12572
  br label %12574

12574:                                            ; preds = %12573
  call void @exit(i32 noundef 1) #13
  unreachable

12575:                                            ; No predecessors!
  br label %12576

12576:                                            ; preds = %12575
  br label %12577

12577:                                            ; preds = %12576, %12519
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

12579:                                            ; preds = %12578
  br label %12580

12580:                                            ; preds = %12579
  %12581 = load i32, ptr @test_count, align 4, !tbaa !5
  %12582 = add nsw i32 %12581, 1
  store i32 %12582, ptr @test_count, align 4, !tbaa !5
  %12583 = load ptr, ptr %160, align 8, !tbaa !9
  %12584 = call i32 @s2n_config_free(ptr noundef %12583)
  %12585 = icmp eq i32 %12584, -1
  br i1 %12585, label %12586, label %12639

12586:                                            ; preds = %12580
  br label %12587

12587:                                            ; preds = %12586
  br label %12588

12588:                                            ; preds = %12587
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %12589 = call ptr @__errno_location() #12
  %12590 = load i32, ptr %12589, align 4, !tbaa !5
  store i32 %12590, ptr %270, align 4, !tbaa !5
  %12591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12592 = call i32 @s2n_print_stacktrace(ptr noundef %12591)
  %12593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12594 = trunc i8 %12593 to i1
  br i1 %12594, label %12595, label %12617

12595:                                            ; preds = %12588
  %12596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12597 = call i32 @fileno(ptr noundef %12596) #11
  %12598 = call i32 @isatty(i32 noundef %12597) #11
  %12599 = icmp ne i32 %12598, 0
  br i1 %12599, label %12600, label %12617

12600:                                            ; preds = %12595
  %12601 = load i32, ptr %270, align 4, !tbaa !5
  %12602 = call ptr @__errno_location() #12
  store i32 %12601, ptr %12602, align 4, !tbaa !5
  %12603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12604 = load i32, ptr @test_count, align 4, !tbaa !5
  %12605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call ptr @s2n_strerror(i32 noundef %12606, ptr noundef @.str.24)
  %12608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  %12610 = call ptr @s2n_strerror_debug(i32 noundef %12609, ptr noundef @.str.24)
  %12611 = call ptr @__errno_location() #12
  %12612 = load i32, ptr %12611, align 4, !tbaa !5
  %12613 = call ptr @strerror(i32 noundef %12612) #11
  %12614 = call ptr @__errno_location() #12
  %12615 = load i32, ptr %12614, align 4, !tbaa !5
  %12616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12603, ptr noundef @.str.22, i32 noundef %12604, ptr noundef @.str.105, ptr noundef @.str.21, i32 noundef 510, ptr noundef %12607, ptr noundef %12610, ptr noundef %12613, i32 noundef %12615) #11
  br label %12634

12617:                                            ; preds = %12595, %12588
  %12618 = load i32, ptr %270, align 4, !tbaa !5
  %12619 = call ptr @__errno_location() #12
  store i32 %12618, ptr %12619, align 4, !tbaa !5
  %12620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12621 = load i32, ptr @test_count, align 4, !tbaa !5
  %12622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call ptr @s2n_strerror(i32 noundef %12623, ptr noundef @.str.24)
  %12625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12626 = load i32, ptr %12625, align 4, !tbaa !5
  %12627 = call ptr @s2n_strerror_debug(i32 noundef %12626, ptr noundef @.str.24)
  %12628 = call ptr @__errno_location() #12
  %12629 = load i32, ptr %12628, align 4, !tbaa !5
  %12630 = call ptr @strerror(i32 noundef %12629) #11
  %12631 = call ptr @__errno_location() #12
  %12632 = load i32, ptr %12631, align 4, !tbaa !5
  %12633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12620, ptr noundef @.str.25, i32 noundef %12621, ptr noundef @.str.105, ptr noundef @.str.21, i32 noundef 510, ptr noundef %12624, ptr noundef %12627, ptr noundef %12630, i32 noundef %12632) #11
  br label %12634

12634:                                            ; preds = %12617, %12600
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %12635

12635:                                            ; preds = %12634
  br label %12636

12636:                                            ; preds = %12635
  call void @exit(i32 noundef 1) #13
  unreachable

12637:                                            ; No predecessors!
  br label %12638

12638:                                            ; preds = %12637
  br label %12639

12639:                                            ; preds = %12638, %12580
  br label %12640

12640:                                            ; preds = %12639
  br label %12641

12641:                                            ; preds = %12640
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  store i32 0, ptr %215, align 4
  br label %12642

12642:                                            ; preds = %12641, %10544, %10057
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  %12643 = call i32 @s2n_free(ptr noundef %155)
  call void @llvm.lifetime.end.p0(i64 24, ptr %155) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  %12644 = load i32, ptr %215, align 4
  switch i32 %12644, label %14908 [
    i32 0, label %12645
    i32 1, label %14906
  ]

12645:                                            ; preds = %12642
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  store i32 0, ptr %271, align 4, !tbaa !5
  br label %12646

12646:                                            ; preds = %12645
  br label %12647

12647:                                            ; preds = %12646
  %12648 = load i32, ptr @test_count, align 4, !tbaa !5
  %12649 = add nsw i32 %12648, 1
  store i32 %12649, ptr @test_count, align 4, !tbaa !5
  %12650 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef null, ptr noundef %271)
  %12651 = icmp eq i32 %12650, -1
  br i1 %12651, label %12705, label %12652

12652:                                            ; preds = %12647
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %12655 = call ptr @__errno_location() #12
  %12656 = load i32, ptr %12655, align 4, !tbaa !5
  store i32 %12656, ptr %272, align 4, !tbaa !5
  %12657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12658 = call i32 @s2n_print_stacktrace(ptr noundef %12657)
  %12659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12660 = trunc i8 %12659 to i1
  br i1 %12660, label %12661, label %12683

12661:                                            ; preds = %12654
  %12662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12663 = call i32 @fileno(ptr noundef %12662) #11
  %12664 = call i32 @isatty(i32 noundef %12663) #11
  %12665 = icmp ne i32 %12664, 0
  br i1 %12665, label %12666, label %12683

12666:                                            ; preds = %12661
  %12667 = load i32, ptr %272, align 4, !tbaa !5
  %12668 = call ptr @__errno_location() #12
  store i32 %12667, ptr %12668, align 4, !tbaa !5
  %12669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12670 = load i32, ptr @test_count, align 4, !tbaa !5
  %12671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12672 = load i32, ptr %12671, align 4, !tbaa !5
  %12673 = call ptr @s2n_strerror(i32 noundef %12672, ptr noundef @.str.24)
  %12674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12675 = load i32, ptr %12674, align 4, !tbaa !5
  %12676 = call ptr @s2n_strerror_debug(i32 noundef %12675, ptr noundef @.str.24)
  %12677 = call ptr @__errno_location() #12
  %12678 = load i32, ptr %12677, align 4, !tbaa !5
  %12679 = call ptr @strerror(i32 noundef %12678) #11
  %12680 = call ptr @__errno_location() #12
  %12681 = load i32, ptr %12680, align 4, !tbaa !5
  %12682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12669, ptr noundef @.str.22, i32 noundef %12670, ptr noundef @.str.106, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12673, ptr noundef %12676, ptr noundef %12679, i32 noundef %12681) #11
  br label %12700

12683:                                            ; preds = %12661, %12654
  %12684 = load i32, ptr %272, align 4, !tbaa !5
  %12685 = call ptr @__errno_location() #12
  store i32 %12684, ptr %12685, align 4, !tbaa !5
  %12686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12687 = load i32, ptr @test_count, align 4, !tbaa !5
  %12688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12689 = load i32, ptr %12688, align 4, !tbaa !5
  %12690 = call ptr @s2n_strerror(i32 noundef %12689, ptr noundef @.str.24)
  %12691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12692 = load i32, ptr %12691, align 4, !tbaa !5
  %12693 = call ptr @s2n_strerror_debug(i32 noundef %12692, ptr noundef @.str.24)
  %12694 = call ptr @__errno_location() #12
  %12695 = load i32, ptr %12694, align 4, !tbaa !5
  %12696 = call ptr @strerror(i32 noundef %12695) #11
  %12697 = call ptr @__errno_location() #12
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  %12699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12686, ptr noundef @.str.25, i32 noundef %12687, ptr noundef @.str.106, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12690, ptr noundef %12693, ptr noundef %12696, i32 noundef %12698) #11
  br label %12700

12700:                                            ; preds = %12683, %12666
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %12701

12701:                                            ; preds = %12700
  br label %12702

12702:                                            ; preds = %12701
  call void @exit(i32 noundef 1) #13
  unreachable

12703:                                            ; No predecessors!
  br label %12704

12704:                                            ; preds = %12703
  br label %12705

12705:                                            ; preds = %12704, %12647
  br label %12706

12706:                                            ; preds = %12705
  br label %12707

12707:                                            ; preds = %12706
  br label %12708

12708:                                            ; preds = %12707
  %12709 = load i32, ptr @test_count, align 4, !tbaa !5
  %12710 = add nsw i32 %12709, 1
  store i32 %12710, ptr @test_count, align 4, !tbaa !5
  %12711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12712 = load i32, ptr %12711, align 4, !tbaa !5
  %12713 = icmp eq i32 %12712, 0
  br i1 %12713, label %12714, label %12767

12714:                                            ; preds = %12708
  br label %12715

12715:                                            ; preds = %12714
  br label %12716

12716:                                            ; preds = %12715
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %12717 = call ptr @__errno_location() #12
  %12718 = load i32, ptr %12717, align 4, !tbaa !5
  store i32 %12718, ptr %273, align 4, !tbaa !5
  %12719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12720 = call i32 @s2n_print_stacktrace(ptr noundef %12719)
  %12721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12722 = trunc i8 %12721 to i1
  br i1 %12722, label %12723, label %12745

12723:                                            ; preds = %12716
  %12724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12725 = call i32 @fileno(ptr noundef %12724) #11
  %12726 = call i32 @isatty(i32 noundef %12725) #11
  %12727 = icmp ne i32 %12726, 0
  br i1 %12727, label %12728, label %12745

12728:                                            ; preds = %12723
  %12729 = load i32, ptr %273, align 4, !tbaa !5
  %12730 = call ptr @__errno_location() #12
  store i32 %12729, ptr %12730, align 4, !tbaa !5
  %12731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12732 = load i32, ptr @test_count, align 4, !tbaa !5
  %12733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12734 = load i32, ptr %12733, align 4, !tbaa !5
  %12735 = call ptr @s2n_strerror(i32 noundef %12734, ptr noundef @.str.24)
  %12736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  %12738 = call ptr @s2n_strerror_debug(i32 noundef %12737, ptr noundef @.str.24)
  %12739 = call ptr @__errno_location() #12
  %12740 = load i32, ptr %12739, align 4, !tbaa !5
  %12741 = call ptr @strerror(i32 noundef %12740) #11
  %12742 = call ptr @__errno_location() #12
  %12743 = load i32, ptr %12742, align 4, !tbaa !5
  %12744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12731, ptr noundef @.str.22, i32 noundef %12732, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12735, ptr noundef %12738, ptr noundef %12741, i32 noundef %12743) #11
  br label %12762

12745:                                            ; preds = %12723, %12716
  %12746 = load i32, ptr %273, align 4, !tbaa !5
  %12747 = call ptr @__errno_location() #12
  store i32 %12746, ptr %12747, align 4, !tbaa !5
  %12748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12749 = load i32, ptr @test_count, align 4, !tbaa !5
  %12750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call ptr @s2n_strerror(i32 noundef %12751, ptr noundef @.str.24)
  %12753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = call ptr @s2n_strerror_debug(i32 noundef %12754, ptr noundef @.str.24)
  %12756 = call ptr @__errno_location() #12
  %12757 = load i32, ptr %12756, align 4, !tbaa !5
  %12758 = call ptr @strerror(i32 noundef %12757) #11
  %12759 = call ptr @__errno_location() #12
  %12760 = load i32, ptr %12759, align 4, !tbaa !5
  %12761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12748, ptr noundef @.str.25, i32 noundef %12749, ptr noundef @.str.35, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12752, ptr noundef %12755, ptr noundef %12758, i32 noundef %12760) #11
  br label %12762

12762:                                            ; preds = %12745, %12728
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %12763

12763:                                            ; preds = %12762
  br label %12764

12764:                                            ; preds = %12763
  call void @exit(i32 noundef 1) #13
  unreachable

12765:                                            ; No predecessors!
  br label %12766

12766:                                            ; preds = %12765
  br label %12767

12767:                                            ; preds = %12766, %12708
  br label %12768

12768:                                            ; preds = %12767
  br label %12769

12769:                                            ; preds = %12768
  br label %12770

12770:                                            ; preds = %12769
  %12771 = load i32, ptr @test_count, align 4, !tbaa !5
  %12772 = add nsw i32 %12771, 1
  store i32 %12772, ptr @test_count, align 4, !tbaa !5
  %12773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12774 = load i32, ptr %12773, align 4, !tbaa !5
  %12775 = call ptr @s2n_strerror_debug(i32 noundef %12774, ptr noundef @.str.24)
  %12776 = icmp eq ptr %12775, null
  br i1 %12776, label %12777, label %12830

12777:                                            ; preds = %12770
  br label %12778

12778:                                            ; preds = %12777
  br label %12779

12779:                                            ; preds = %12778
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %12780 = call ptr @__errno_location() #12
  %12781 = load i32, ptr %12780, align 4, !tbaa !5
  store i32 %12781, ptr %274, align 4, !tbaa !5
  %12782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12783 = call i32 @s2n_print_stacktrace(ptr noundef %12782)
  %12784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12785 = trunc i8 %12784 to i1
  br i1 %12785, label %12786, label %12808

12786:                                            ; preds = %12779
  %12787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12788 = call i32 @fileno(ptr noundef %12787) #11
  %12789 = call i32 @isatty(i32 noundef %12788) #11
  %12790 = icmp ne i32 %12789, 0
  br i1 %12790, label %12791, label %12808

12791:                                            ; preds = %12786
  %12792 = load i32, ptr %274, align 4, !tbaa !5
  %12793 = call ptr @__errno_location() #12
  store i32 %12792, ptr %12793, align 4, !tbaa !5
  %12794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12795 = load i32, ptr @test_count, align 4, !tbaa !5
  %12796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12797 = load i32, ptr %12796, align 4, !tbaa !5
  %12798 = call ptr @s2n_strerror(i32 noundef %12797, ptr noundef @.str.24)
  %12799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12800 = load i32, ptr %12799, align 4, !tbaa !5
  %12801 = call ptr @s2n_strerror_debug(i32 noundef %12800, ptr noundef @.str.24)
  %12802 = call ptr @__errno_location() #12
  %12803 = load i32, ptr %12802, align 4, !tbaa !5
  %12804 = call ptr @strerror(i32 noundef %12803) #11
  %12805 = call ptr @__errno_location() #12
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12794, ptr noundef @.str.22, i32 noundef %12795, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12798, ptr noundef %12801, ptr noundef %12804, i32 noundef %12806) #11
  br label %12825

12808:                                            ; preds = %12786, %12779
  %12809 = load i32, ptr %274, align 4, !tbaa !5
  %12810 = call ptr @__errno_location() #12
  store i32 %12809, ptr %12810, align 4, !tbaa !5
  %12811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12812 = load i32, ptr @test_count, align 4, !tbaa !5
  %12813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12814 = load i32, ptr %12813, align 4, !tbaa !5
  %12815 = call ptr @s2n_strerror(i32 noundef %12814, ptr noundef @.str.24)
  %12816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12817 = load i32, ptr %12816, align 4, !tbaa !5
  %12818 = call ptr @s2n_strerror_debug(i32 noundef %12817, ptr noundef @.str.24)
  %12819 = call ptr @__errno_location() #12
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call ptr @strerror(i32 noundef %12820) #11
  %12822 = call ptr @__errno_location() #12
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12811, ptr noundef @.str.25, i32 noundef %12812, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 517, ptr noundef %12815, ptr noundef %12818, ptr noundef %12821, i32 noundef %12823) #11
  br label %12825

12825:                                            ; preds = %12808, %12791
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %12826

12826:                                            ; preds = %12825
  br label %12827

12827:                                            ; preds = %12826
  call void @exit(i32 noundef 1) #13
  unreachable

12828:                                            ; No predecessors!
  br label %12829

12829:                                            ; preds = %12828
  br label %12830

12830:                                            ; preds = %12829, %12770
  br label %12831

12831:                                            ; preds = %12830
  br label %12832

12832:                                            ; preds = %12831
  br label %12833

12833:                                            ; preds = %12832
  %12834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12834, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12835 = call ptr @__errno_location() #12
  store i32 0, ptr %12835, align 4, !tbaa !5
  br label %12836

12836:                                            ; preds = %12833
  br label %12837

12837:                                            ; preds = %12836
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838
  call void @llvm.lifetime.start.p0(i64 22, ptr %275) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %275, ptr align 16 @__const.main.ticket_message_bytes, i64 22, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %276) #11
  %12840 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12840, ptr %276, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 40, ptr %277) #11
  call void @llvm.memset.p0.i64(ptr align 8 %277, i8 0, i64 40, i1 false)
  br label %12841

12841:                                            ; preds = %12839
  %12842 = load i32, ptr @test_count, align 4, !tbaa !5
  %12843 = add nsw i32 %12842, 1
  store i32 %12843, ptr @test_count, align 4, !tbaa !5
  %12844 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %277, i32 noundef 0)
  %12845 = icmp eq i32 %12844, -1
  br i1 %12845, label %12846, label %12899

12846:                                            ; preds = %12841
  br label %12847

12847:                                            ; preds = %12846
  br label %12848

12848:                                            ; preds = %12847
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %12849 = call ptr @__errno_location() #12
  %12850 = load i32, ptr %12849, align 4, !tbaa !5
  store i32 %12850, ptr %278, align 4, !tbaa !5
  %12851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12852 = call i32 @s2n_print_stacktrace(ptr noundef %12851)
  %12853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12854 = trunc i8 %12853 to i1
  br i1 %12854, label %12855, label %12877

12855:                                            ; preds = %12848
  %12856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12857 = call i32 @fileno(ptr noundef %12856) #11
  %12858 = call i32 @isatty(i32 noundef %12857) #11
  %12859 = icmp ne i32 %12858, 0
  br i1 %12859, label %12860, label %12877

12860:                                            ; preds = %12855
  %12861 = load i32, ptr %278, align 4, !tbaa !5
  %12862 = call ptr @__errno_location() #12
  store i32 %12861, ptr %12862, align 4, !tbaa !5
  %12863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12864 = load i32, ptr @test_count, align 4, !tbaa !5
  %12865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12866 = load i32, ptr %12865, align 4, !tbaa !5
  %12867 = call ptr @s2n_strerror(i32 noundef %12866, ptr noundef @.str.24)
  %12868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12869 = load i32, ptr %12868, align 4, !tbaa !5
  %12870 = call ptr @s2n_strerror_debug(i32 noundef %12869, ptr noundef @.str.24)
  %12871 = call ptr @__errno_location() #12
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @strerror(i32 noundef %12872) #11
  %12874 = call ptr @__errno_location() #12
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12863, ptr noundef @.str.22, i32 noundef %12864, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 538, ptr noundef %12867, ptr noundef %12870, ptr noundef %12873, i32 noundef %12875) #11
  br label %12894

12877:                                            ; preds = %12855, %12848
  %12878 = load i32, ptr %278, align 4, !tbaa !5
  %12879 = call ptr @__errno_location() #12
  store i32 %12878, ptr %12879, align 4, !tbaa !5
  %12880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12881 = load i32, ptr @test_count, align 4, !tbaa !5
  %12882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12883 = load i32, ptr %12882, align 4, !tbaa !5
  %12884 = call ptr @s2n_strerror(i32 noundef %12883, ptr noundef @.str.24)
  %12885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12886 = load i32, ptr %12885, align 4, !tbaa !5
  %12887 = call ptr @s2n_strerror_debug(i32 noundef %12886, ptr noundef @.str.24)
  %12888 = call ptr @__errno_location() #12
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @strerror(i32 noundef %12889) #11
  %12891 = call ptr @__errno_location() #12
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12880, ptr noundef @.str.25, i32 noundef %12881, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 538, ptr noundef %12884, ptr noundef %12887, ptr noundef %12890, i32 noundef %12892) #11
  br label %12894

12894:                                            ; preds = %12877, %12860
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %12895

12895:                                            ; preds = %12894
  br label %12896

12896:                                            ; preds = %12895
  call void @exit(i32 noundef 1) #13
  unreachable

12897:                                            ; No predecessors!
  br label %12898

12898:                                            ; preds = %12897
  br label %12899

12899:                                            ; preds = %12898, %12841
  br label %12900

12900:                                            ; preds = %12899
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

12902:                                            ; preds = %12901
  %12903 = load i32, ptr @test_count, align 4, !tbaa !5
  %12904 = add nsw i32 %12903, 1
  store i32 %12904, ptr @test_count, align 4, !tbaa !5
  %12905 = load ptr, ptr %276, align 8, !tbaa !9
  %12906 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %277, ptr noundef %277, ptr noundef %12905)
  %12907 = icmp eq i32 %12906, -1
  br i1 %12907, label %12908, label %12961

12908:                                            ; preds = %12902
  br label %12909

12909:                                            ; preds = %12908
  br label %12910

12910:                                            ; preds = %12909
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %12911 = call ptr @__errno_location() #12
  %12912 = load i32, ptr %12911, align 4, !tbaa !5
  store i32 %12912, ptr %279, align 4, !tbaa !5
  %12913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12914 = call i32 @s2n_print_stacktrace(ptr noundef %12913)
  %12915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12916 = trunc i8 %12915 to i1
  br i1 %12916, label %12917, label %12939

12917:                                            ; preds = %12910
  %12918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12919 = call i32 @fileno(ptr noundef %12918) #11
  %12920 = call i32 @isatty(i32 noundef %12919) #11
  %12921 = icmp ne i32 %12920, 0
  br i1 %12921, label %12922, label %12939

12922:                                            ; preds = %12917
  %12923 = load i32, ptr %279, align 4, !tbaa !5
  %12924 = call ptr @__errno_location() #12
  store i32 %12923, ptr %12924, align 4, !tbaa !5
  %12925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12926 = load i32, ptr @test_count, align 4, !tbaa !5
  %12927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12928 = load i32, ptr %12927, align 4, !tbaa !5
  %12929 = call ptr @s2n_strerror(i32 noundef %12928, ptr noundef @.str.24)
  %12930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12931 = load i32, ptr %12930, align 4, !tbaa !5
  %12932 = call ptr @s2n_strerror_debug(i32 noundef %12931, ptr noundef @.str.24)
  %12933 = call ptr @__errno_location() #12
  %12934 = load i32, ptr %12933, align 4, !tbaa !5
  %12935 = call ptr @strerror(i32 noundef %12934) #11
  %12936 = call ptr @__errno_location() #12
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12925, ptr noundef @.str.22, i32 noundef %12926, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 539, ptr noundef %12929, ptr noundef %12932, ptr noundef %12935, i32 noundef %12937) #11
  br label %12956

12939:                                            ; preds = %12917, %12910
  %12940 = load i32, ptr %279, align 4, !tbaa !5
  %12941 = call ptr @__errno_location() #12
  store i32 %12940, ptr %12941, align 4, !tbaa !5
  %12942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12943 = load i32, ptr @test_count, align 4, !tbaa !5
  %12944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12945 = load i32, ptr %12944, align 4, !tbaa !5
  %12946 = call ptr @s2n_strerror(i32 noundef %12945, ptr noundef @.str.24)
  %12947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12948 = load i32, ptr %12947, align 4, !tbaa !5
  %12949 = call ptr @s2n_strerror_debug(i32 noundef %12948, ptr noundef @.str.24)
  %12950 = call ptr @__errno_location() #12
  %12951 = load i32, ptr %12950, align 4, !tbaa !5
  %12952 = call ptr @strerror(i32 noundef %12951) #11
  %12953 = call ptr @__errno_location() #12
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12942, ptr noundef @.str.25, i32 noundef %12943, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 539, ptr noundef %12946, ptr noundef %12949, ptr noundef %12952, i32 noundef %12954) #11
  br label %12956

12956:                                            ; preds = %12939, %12922
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  call void @exit(i32 noundef 1) #13
  unreachable

12959:                                            ; No predecessors!
  br label %12960

12960:                                            ; preds = %12959
  br label %12961

12961:                                            ; preds = %12960, %12902
  br label %12962

12962:                                            ; preds = %12961
  br label %12963

12963:                                            ; preds = %12962
  br label %12964

12964:                                            ; preds = %12963
  %12965 = load i32, ptr @test_count, align 4, !tbaa !5
  %12966 = add nsw i32 %12965, 1
  store i32 %12966, ptr @test_count, align 4, !tbaa !5
  %12967 = call i32 @s2n_stuffer_write_uint8(ptr noundef %277, i8 noundef zeroext 24)
  %12968 = icmp eq i32 %12967, -1
  br i1 %12968, label %12969, label %13022

12969:                                            ; preds = %12964
  br label %12970

12970:                                            ; preds = %12969
  br label %12971

12971:                                            ; preds = %12970
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %12972 = call ptr @__errno_location() #12
  %12973 = load i32, ptr %12972, align 4, !tbaa !5
  store i32 %12973, ptr %280, align 4, !tbaa !5
  %12974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12975 = call i32 @s2n_print_stacktrace(ptr noundef %12974)
  %12976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12977 = trunc i8 %12976 to i1
  br i1 %12977, label %12978, label %13000

12978:                                            ; preds = %12971
  %12979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12980 = call i32 @fileno(ptr noundef %12979) #11
  %12981 = call i32 @isatty(i32 noundef %12980) #11
  %12982 = icmp ne i32 %12981, 0
  br i1 %12982, label %12983, label %13000

12983:                                            ; preds = %12978
  %12984 = load i32, ptr %280, align 4, !tbaa !5
  %12985 = call ptr @__errno_location() #12
  store i32 %12984, ptr %12985, align 4, !tbaa !5
  %12986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12987 = load i32, ptr @test_count, align 4, !tbaa !5
  %12988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12989 = load i32, ptr %12988, align 4, !tbaa !5
  %12990 = call ptr @s2n_strerror(i32 noundef %12989, ptr noundef @.str.24)
  %12991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call ptr @s2n_strerror_debug(i32 noundef %12992, ptr noundef @.str.24)
  %12994 = call ptr @__errno_location() #12
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call ptr @strerror(i32 noundef %12995) #11
  %12997 = call ptr @__errno_location() #12
  %12998 = load i32, ptr %12997, align 4, !tbaa !5
  %12999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12986, ptr noundef @.str.22, i32 noundef %12987, ptr noundef @.str.107, ptr noundef @.str.21, i32 noundef 542, ptr noundef %12990, ptr noundef %12993, ptr noundef %12996, i32 noundef %12998) #11
  br label %13017

13000:                                            ; preds = %12978, %12971
  %13001 = load i32, ptr %280, align 4, !tbaa !5
  %13002 = call ptr @__errno_location() #12
  store i32 %13001, ptr %13002, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = load i32, ptr @test_count, align 4, !tbaa !5
  %13005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror(i32 noundef %13006, ptr noundef @.str.24)
  %13008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @s2n_strerror_debug(i32 noundef %13009, ptr noundef @.str.24)
  %13011 = call ptr @__errno_location() #12
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call ptr @strerror(i32 noundef %13012) #11
  %13014 = call ptr @__errno_location() #12
  %13015 = load i32, ptr %13014, align 4, !tbaa !5
  %13016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13003, ptr noundef @.str.25, i32 noundef %13004, ptr noundef @.str.107, ptr noundef @.str.21, i32 noundef 542, ptr noundef %13007, ptr noundef %13010, ptr noundef %13013, i32 noundef %13015) #11
  br label %13017

13017:                                            ; preds = %13000, %12983
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  call void @exit(i32 noundef 1) #13
  unreachable

13020:                                            ; No predecessors!
  br label %13021

13021:                                            ; preds = %13020
  br label %13022

13022:                                            ; preds = %13021, %12964
  br label %13023

13023:                                            ; preds = %13022
  br label %13024

13024:                                            ; preds = %13023
  br label %13025

13025:                                            ; preds = %13024
  %13026 = load i32, ptr @test_count, align 4, !tbaa !5
  %13027 = add nsw i32 %13026, 1
  store i32 %13027, ptr @test_count, align 4, !tbaa !5
  %13028 = call i32 @s2n_stuffer_write_uint24(ptr noundef %277, i32 noundef 5)
  %13029 = icmp eq i32 %13028, -1
  br i1 %13029, label %13030, label %13083

13030:                                            ; preds = %13025
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %13033 = call ptr @__errno_location() #12
  %13034 = load i32, ptr %13033, align 4, !tbaa !5
  store i32 %13034, ptr %281, align 4, !tbaa !5
  %13035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13036 = call i32 @s2n_print_stacktrace(ptr noundef %13035)
  %13037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13038 = trunc i8 %13037 to i1
  br i1 %13038, label %13039, label %13061

13039:                                            ; preds = %13032
  %13040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13041 = call i32 @fileno(ptr noundef %13040) #11
  %13042 = call i32 @isatty(i32 noundef %13041) #11
  %13043 = icmp ne i32 %13042, 0
  br i1 %13043, label %13044, label %13061

13044:                                            ; preds = %13039
  %13045 = load i32, ptr %281, align 4, !tbaa !5
  %13046 = call ptr @__errno_location() #12
  store i32 %13045, ptr %13046, align 4, !tbaa !5
  %13047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13048 = load i32, ptr @test_count, align 4, !tbaa !5
  %13049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  %13051 = call ptr @s2n_strerror(i32 noundef %13050, ptr noundef @.str.24)
  %13052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  %13054 = call ptr @s2n_strerror_debug(i32 noundef %13053, ptr noundef @.str.24)
  %13055 = call ptr @__errno_location() #12
  %13056 = load i32, ptr %13055, align 4, !tbaa !5
  %13057 = call ptr @strerror(i32 noundef %13056) #11
  %13058 = call ptr @__errno_location() #12
  %13059 = load i32, ptr %13058, align 4, !tbaa !5
  %13060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13047, ptr noundef @.str.22, i32 noundef %13048, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 543, ptr noundef %13051, ptr noundef %13054, ptr noundef %13057, i32 noundef %13059) #11
  br label %13078

13061:                                            ; preds = %13039, %13032
  %13062 = load i32, ptr %281, align 4, !tbaa !5
  %13063 = call ptr @__errno_location() #12
  store i32 %13062, ptr %13063, align 4, !tbaa !5
  %13064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13065 = load i32, ptr @test_count, align 4, !tbaa !5
  %13066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13067 = load i32, ptr %13066, align 4, !tbaa !5
  %13068 = call ptr @s2n_strerror(i32 noundef %13067, ptr noundef @.str.24)
  %13069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13070 = load i32, ptr %13069, align 4, !tbaa !5
  %13071 = call ptr @s2n_strerror_debug(i32 noundef %13070, ptr noundef @.str.24)
  %13072 = call ptr @__errno_location() #12
  %13073 = load i32, ptr %13072, align 4, !tbaa !5
  %13074 = call ptr @strerror(i32 noundef %13073) #11
  %13075 = call ptr @__errno_location() #12
  %13076 = load i32, ptr %13075, align 4, !tbaa !5
  %13077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13064, ptr noundef @.str.25, i32 noundef %13065, ptr noundef @.str.48, ptr noundef @.str.21, i32 noundef 543, ptr noundef %13068, ptr noundef %13071, ptr noundef %13074, i32 noundef %13076) #11
  br label %13078

13078:                                            ; preds = %13061, %13044
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %13079

13079:                                            ; preds = %13078
  br label %13080

13080:                                            ; preds = %13079
  call void @exit(i32 noundef 1) #13
  unreachable

13081:                                            ; No predecessors!
  br label %13082

13082:                                            ; preds = %13081
  br label %13083

13083:                                            ; preds = %13082, %13025
  br label %13084

13084:                                            ; preds = %13083
  br label %13085

13085:                                            ; preds = %13084
  br label %13086

13086:                                            ; preds = %13085
  %13087 = load i32, ptr @test_count, align 4, !tbaa !5
  %13088 = add nsw i32 %13087, 1
  store i32 %13088, ptr @test_count, align 4, !tbaa !5
  %13089 = call i32 @s2n_stuffer_write_bytes(ptr noundef %277, ptr noundef @TEST_DATA, i32 noundef 5)
  %13090 = icmp eq i32 %13089, -1
  br i1 %13090, label %13091, label %13144

13091:                                            ; preds = %13086
  br label %13092

13092:                                            ; preds = %13091
  br label %13093

13093:                                            ; preds = %13092
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %13094 = call ptr @__errno_location() #12
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  store i32 %13095, ptr %282, align 4, !tbaa !5
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = call i32 @s2n_print_stacktrace(ptr noundef %13096)
  %13098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13099 = trunc i8 %13098 to i1
  br i1 %13099, label %13100, label %13122

13100:                                            ; preds = %13093
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = call i32 @fileno(ptr noundef %13101) #11
  %13103 = call i32 @isatty(i32 noundef %13102) #11
  %13104 = icmp ne i32 %13103, 0
  br i1 %13104, label %13105, label %13122

13105:                                            ; preds = %13100
  %13106 = load i32, ptr %282, align 4, !tbaa !5
  %13107 = call ptr @__errno_location() #12
  store i32 %13106, ptr %13107, align 4, !tbaa !5
  %13108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13109 = load i32, ptr @test_count, align 4, !tbaa !5
  %13110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13111 = load i32, ptr %13110, align 4, !tbaa !5
  %13112 = call ptr @s2n_strerror(i32 noundef %13111, ptr noundef @.str.24)
  %13113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13114 = load i32, ptr %13113, align 4, !tbaa !5
  %13115 = call ptr @s2n_strerror_debug(i32 noundef %13114, ptr noundef @.str.24)
  %13116 = call ptr @__errno_location() #12
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call ptr @strerror(i32 noundef %13117) #11
  %13119 = call ptr @__errno_location() #12
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13108, ptr noundef @.str.22, i32 noundef %13109, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 544, ptr noundef %13112, ptr noundef %13115, ptr noundef %13118, i32 noundef %13120) #11
  br label %13139

13122:                                            ; preds = %13100, %13093
  %13123 = load i32, ptr %282, align 4, !tbaa !5
  %13124 = call ptr @__errno_location() #12
  store i32 %13123, ptr %13124, align 4, !tbaa !5
  %13125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13126 = load i32, ptr @test_count, align 4, !tbaa !5
  %13127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  %13129 = call ptr @s2n_strerror(i32 noundef %13128, ptr noundef @.str.24)
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror_debug(i32 noundef %13131, ptr noundef @.str.24)
  %13133 = call ptr @__errno_location() #12
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @strerror(i32 noundef %13134) #11
  %13136 = call ptr @__errno_location() #12
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13125, ptr noundef @.str.25, i32 noundef %13126, ptr noundef @.str.49, ptr noundef @.str.21, i32 noundef 544, ptr noundef %13129, ptr noundef %13132, ptr noundef %13135, i32 noundef %13137) #11
  br label %13139

13139:                                            ; preds = %13122, %13105
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %13140

13140:                                            ; preds = %13139
  br label %13141

13141:                                            ; preds = %13140
  call void @exit(i32 noundef 1) #13
  unreachable

13142:                                            ; No predecessors!
  br label %13143

13143:                                            ; preds = %13142
  br label %13144

13144:                                            ; preds = %13143, %13086
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145
  br label %13147

13147:                                            ; preds = %13146
  br label %13148

13148:                                            ; preds = %13147
  br label %13149

13149:                                            ; preds = %13148
  %13150 = load i32, ptr @test_count, align 4, !tbaa !5
  %13151 = add nsw i32 %13150, 1
  store i32 %13151, ptr @test_count, align 4, !tbaa !5
  %13152 = load ptr, ptr %276, align 8, !tbaa !9
  %13153 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %13152, ptr noundef %271)
  %13154 = icmp eq i32 %13153, -1
  br i1 %13154, label %13208, label %13155

13155:                                            ; preds = %13149
  br label %13156

13156:                                            ; preds = %13155
  br label %13157

13157:                                            ; preds = %13156
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %13158 = call ptr @__errno_location() #12
  %13159 = load i32, ptr %13158, align 4, !tbaa !5
  store i32 %13159, ptr %283, align 4, !tbaa !5
  %13160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13161 = call i32 @s2n_print_stacktrace(ptr noundef %13160)
  %13162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13163 = trunc i8 %13162 to i1
  br i1 %13163, label %13164, label %13186

13164:                                            ; preds = %13157
  %13165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13166 = call i32 @fileno(ptr noundef %13165) #11
  %13167 = call i32 @isatty(i32 noundef %13166) #11
  %13168 = icmp ne i32 %13167, 0
  br i1 %13168, label %13169, label %13186

13169:                                            ; preds = %13164
  %13170 = load i32, ptr %283, align 4, !tbaa !5
  %13171 = call ptr @__errno_location() #12
  store i32 %13170, ptr %13171, align 4, !tbaa !5
  %13172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13173 = load i32, ptr @test_count, align 4, !tbaa !5
  %13174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13175 = load i32, ptr %13174, align 4, !tbaa !5
  %13176 = call ptr @s2n_strerror(i32 noundef %13175, ptr noundef @.str.24)
  %13177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13178 = load i32, ptr %13177, align 4, !tbaa !5
  %13179 = call ptr @s2n_strerror_debug(i32 noundef %13178, ptr noundef @.str.24)
  %13180 = call ptr @__errno_location() #12
  %13181 = load i32, ptr %13180, align 4, !tbaa !5
  %13182 = call ptr @strerror(i32 noundef %13181) #11
  %13183 = call ptr @__errno_location() #12
  %13184 = load i32, ptr %13183, align 4, !tbaa !5
  %13185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13172, ptr noundef @.str.22, i32 noundef %13173, ptr noundef @.str.108, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13176, ptr noundef %13179, ptr noundef %13182, i32 noundef %13184) #11
  br label %13203

13186:                                            ; preds = %13164, %13157
  %13187 = load i32, ptr %283, align 4, !tbaa !5
  %13188 = call ptr @__errno_location() #12
  store i32 %13187, ptr %13188, align 4, !tbaa !5
  %13189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13190 = load i32, ptr @test_count, align 4, !tbaa !5
  %13191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13192 = load i32, ptr %13191, align 4, !tbaa !5
  %13193 = call ptr @s2n_strerror(i32 noundef %13192, ptr noundef @.str.24)
  %13194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13195 = load i32, ptr %13194, align 4, !tbaa !5
  %13196 = call ptr @s2n_strerror_debug(i32 noundef %13195, ptr noundef @.str.24)
  %13197 = call ptr @__errno_location() #12
  %13198 = load i32, ptr %13197, align 4, !tbaa !5
  %13199 = call ptr @strerror(i32 noundef %13198) #11
  %13200 = call ptr @__errno_location() #12
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13189, ptr noundef @.str.25, i32 noundef %13190, ptr noundef @.str.108, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13193, ptr noundef %13196, ptr noundef %13199, i32 noundef %13201) #11
  br label %13203

13203:                                            ; preds = %13186, %13169
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %13204

13204:                                            ; preds = %13203
  br label %13205

13205:                                            ; preds = %13204
  call void @exit(i32 noundef 1) #13
  unreachable

13206:                                            ; No predecessors!
  br label %13207

13207:                                            ; preds = %13206
  br label %13208

13208:                                            ; preds = %13207, %13149
  br label %13209

13209:                                            ; preds = %13208
  br label %13210

13210:                                            ; preds = %13209
  br label %13211

13211:                                            ; preds = %13210
  %13212 = load i32, ptr @test_count, align 4, !tbaa !5
  %13213 = add nsw i32 %13212, 1
  store i32 %13213, ptr @test_count, align 4, !tbaa !5
  %13214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = icmp eq i32 %13215, 469762107
  br i1 %13216, label %13270, label %13217

13217:                                            ; preds = %13211
  br label %13218

13218:                                            ; preds = %13217
  br label %13219

13219:                                            ; preds = %13218
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %13220 = call ptr @__errno_location() #12
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  store i32 %13221, ptr %284, align 4, !tbaa !5
  %13222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13223 = call i32 @s2n_print_stacktrace(ptr noundef %13222)
  %13224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13225 = trunc i8 %13224 to i1
  br i1 %13225, label %13226, label %13248

13226:                                            ; preds = %13219
  %13227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13228 = call i32 @fileno(ptr noundef %13227) #11
  %13229 = call i32 @isatty(i32 noundef %13228) #11
  %13230 = icmp ne i32 %13229, 0
  br i1 %13230, label %13231, label %13248

13231:                                            ; preds = %13226
  %13232 = load i32, ptr %284, align 4, !tbaa !5
  %13233 = call ptr @__errno_location() #12
  store i32 %13232, ptr %13233, align 4, !tbaa !5
  %13234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13235 = load i32, ptr @test_count, align 4, !tbaa !5
  %13236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13237 = load i32, ptr %13236, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror(i32 noundef %13237, ptr noundef @.str.24)
  %13239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13240 = load i32, ptr %13239, align 4, !tbaa !5
  %13241 = call ptr @s2n_strerror_debug(i32 noundef %13240, ptr noundef @.str.24)
  %13242 = call ptr @__errno_location() #12
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call ptr @strerror(i32 noundef %13243) #11
  %13245 = call ptr @__errno_location() #12
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13234, ptr noundef @.str.22, i32 noundef %13235, ptr noundef @.str.109, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13238, ptr noundef %13241, ptr noundef %13244, i32 noundef %13246) #11
  br label %13265

13248:                                            ; preds = %13226, %13219
  %13249 = load i32, ptr %284, align 4, !tbaa !5
  %13250 = call ptr @__errno_location() #12
  store i32 %13249, ptr %13250, align 4, !tbaa !5
  %13251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13252 = load i32, ptr @test_count, align 4, !tbaa !5
  %13253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13254 = load i32, ptr %13253, align 4, !tbaa !5
  %13255 = call ptr @s2n_strerror(i32 noundef %13254, ptr noundef @.str.24)
  %13256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13257 = load i32, ptr %13256, align 4, !tbaa !5
  %13258 = call ptr @s2n_strerror_debug(i32 noundef %13257, ptr noundef @.str.24)
  %13259 = call ptr @__errno_location() #12
  %13260 = load i32, ptr %13259, align 4, !tbaa !5
  %13261 = call ptr @strerror(i32 noundef %13260) #11
  %13262 = call ptr @__errno_location() #12
  %13263 = load i32, ptr %13262, align 4, !tbaa !5
  %13264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13251, ptr noundef @.str.25, i32 noundef %13252, ptr noundef @.str.109, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13255, ptr noundef %13258, ptr noundef %13261, i32 noundef %13263) #11
  br label %13265

13265:                                            ; preds = %13248, %13231
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %13266

13266:                                            ; preds = %13265
  br label %13267

13267:                                            ; preds = %13266
  call void @exit(i32 noundef 1) #13
  unreachable

13268:                                            ; No predecessors!
  br label %13269

13269:                                            ; preds = %13268
  br label %13270

13270:                                            ; preds = %13269, %13211
  br label %13271

13271:                                            ; preds = %13270
  br label %13272

13272:                                            ; preds = %13271
  br label %13273

13273:                                            ; preds = %13272
  %13274 = load i32, ptr @test_count, align 4, !tbaa !5
  %13275 = add nsw i32 %13274, 1
  store i32 %13275, ptr @test_count, align 4, !tbaa !5
  %13276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13277 = load i32, ptr %13276, align 4, !tbaa !5
  %13278 = call ptr @s2n_strerror_debug(i32 noundef %13277, ptr noundef @.str.24)
  %13279 = icmp eq ptr %13278, null
  br i1 %13279, label %13280, label %13333

13280:                                            ; preds = %13273
  br label %13281

13281:                                            ; preds = %13280
  br label %13282

13282:                                            ; preds = %13281
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %13283 = call ptr @__errno_location() #12
  %13284 = load i32, ptr %13283, align 4, !tbaa !5
  store i32 %13284, ptr %285, align 4, !tbaa !5
  %13285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13286 = call i32 @s2n_print_stacktrace(ptr noundef %13285)
  %13287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13288 = trunc i8 %13287 to i1
  br i1 %13288, label %13289, label %13311

13289:                                            ; preds = %13282
  %13290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13291 = call i32 @fileno(ptr noundef %13290) #11
  %13292 = call i32 @isatty(i32 noundef %13291) #11
  %13293 = icmp ne i32 %13292, 0
  br i1 %13293, label %13294, label %13311

13294:                                            ; preds = %13289
  %13295 = load i32, ptr %285, align 4, !tbaa !5
  %13296 = call ptr @__errno_location() #12
  store i32 %13295, ptr %13296, align 4, !tbaa !5
  %13297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13298 = load i32, ptr @test_count, align 4, !tbaa !5
  %13299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13300 = load i32, ptr %13299, align 4, !tbaa !5
  %13301 = call ptr @s2n_strerror(i32 noundef %13300, ptr noundef @.str.24)
  %13302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13303 = load i32, ptr %13302, align 4, !tbaa !5
  %13304 = call ptr @s2n_strerror_debug(i32 noundef %13303, ptr noundef @.str.24)
  %13305 = call ptr @__errno_location() #12
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call ptr @strerror(i32 noundef %13306) #11
  %13308 = call ptr @__errno_location() #12
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13297, ptr noundef @.str.22, i32 noundef %13298, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13301, ptr noundef %13304, ptr noundef %13307, i32 noundef %13309) #11
  br label %13328

13311:                                            ; preds = %13289, %13282
  %13312 = load i32, ptr %285, align 4, !tbaa !5
  %13313 = call ptr @__errno_location() #12
  store i32 %13312, ptr %13313, align 4, !tbaa !5
  %13314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13315 = load i32, ptr @test_count, align 4, !tbaa !5
  %13316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13317 = load i32, ptr %13316, align 4, !tbaa !5
  %13318 = call ptr @s2n_strerror(i32 noundef %13317, ptr noundef @.str.24)
  %13319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13320 = load i32, ptr %13319, align 4, !tbaa !5
  %13321 = call ptr @s2n_strerror_debug(i32 noundef %13320, ptr noundef @.str.24)
  %13322 = call ptr @__errno_location() #12
  %13323 = load i32, ptr %13322, align 4, !tbaa !5
  %13324 = call ptr @strerror(i32 noundef %13323) #11
  %13325 = call ptr @__errno_location() #12
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13314, ptr noundef @.str.25, i32 noundef %13315, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 546, ptr noundef %13318, ptr noundef %13321, ptr noundef %13324, i32 noundef %13326) #11
  br label %13328

13328:                                            ; preds = %13311, %13294
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %13329

13329:                                            ; preds = %13328
  br label %13330

13330:                                            ; preds = %13329
  call void @exit(i32 noundef 1) #13
  unreachable

13331:                                            ; No predecessors!
  br label %13332

13332:                                            ; preds = %13331
  br label %13333

13333:                                            ; preds = %13332, %13273
  br label %13334

13334:                                            ; preds = %13333
  br label %13335

13335:                                            ; preds = %13334
  br label %13336

13336:                                            ; preds = %13335
  br label %13337

13337:                                            ; preds = %13336
  br label %13338

13338:                                            ; preds = %13337
  %13339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13339, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13340 = call ptr @__errno_location() #12
  store i32 0, ptr %13340, align 4, !tbaa !5
  br label %13341

13341:                                            ; preds = %13338
  br label %13342

13342:                                            ; preds = %13341
  br label %13343

13343:                                            ; preds = %13342
  br label %13344

13344:                                            ; preds = %13343
  %13345 = call i32 @s2n_stuffer_free(ptr noundef %277)
  call void @llvm.lifetime.end.p0(i64 40, ptr %277) #11
  %13346 = call i32 @s2n_connection_ptr_free(ptr noundef %276)
  %13347 = getelementptr inbounds %struct.s2n_result, ptr %286, i32 0, i32 0
  store i32 %13346, ptr %13347, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #11
  %13348 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13348, ptr %287, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %288) #11
  %13349 = call ptr @s2n_config_new()
  store ptr %13349, ptr %288, align 8, !tbaa !9
  br label %13350

13350:                                            ; preds = %13344
  %13351 = load i32, ptr @test_count, align 4, !tbaa !5
  %13352 = add nsw i32 %13351, 1
  store i32 %13352, ptr @test_count, align 4, !tbaa !5
  %13353 = load ptr, ptr %288, align 8, !tbaa !9
  %13354 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %13353, i8 noundef zeroext 1)
  %13355 = icmp eq i32 %13354, -1
  br i1 %13355, label %13356, label %13409

13356:                                            ; preds = %13350
  br label %13357

13357:                                            ; preds = %13356
  br label %13358

13358:                                            ; preds = %13357
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %13359 = call ptr @__errno_location() #12
  %13360 = load i32, ptr %13359, align 4, !tbaa !5
  store i32 %13360, ptr %289, align 4, !tbaa !5
  %13361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13362 = call i32 @s2n_print_stacktrace(ptr noundef %13361)
  %13363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13364 = trunc i8 %13363 to i1
  br i1 %13364, label %13365, label %13387

13365:                                            ; preds = %13358
  %13366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13367 = call i32 @fileno(ptr noundef %13366) #11
  %13368 = call i32 @isatty(i32 noundef %13367) #11
  %13369 = icmp ne i32 %13368, 0
  br i1 %13369, label %13370, label %13387

13370:                                            ; preds = %13365
  %13371 = load i32, ptr %289, align 4, !tbaa !5
  %13372 = call ptr @__errno_location() #12
  store i32 %13371, ptr %13372, align 4, !tbaa !5
  %13373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13374 = load i32, ptr @test_count, align 4, !tbaa !5
  %13375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  %13377 = call ptr @s2n_strerror(i32 noundef %13376, ptr noundef @.str.24)
  %13378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13379 = load i32, ptr %13378, align 4, !tbaa !5
  %13380 = call ptr @s2n_strerror_debug(i32 noundef %13379, ptr noundef @.str.24)
  %13381 = call ptr @__errno_location() #12
  %13382 = load i32, ptr %13381, align 4, !tbaa !5
  %13383 = call ptr @strerror(i32 noundef %13382) #11
  %13384 = call ptr @__errno_location() #12
  %13385 = load i32, ptr %13384, align 4, !tbaa !5
  %13386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13373, ptr noundef @.str.22, i32 noundef %13374, ptr noundef @.str.110, ptr noundef @.str.21, i32 noundef 554, ptr noundef %13377, ptr noundef %13380, ptr noundef %13383, i32 noundef %13385) #11
  br label %13404

13387:                                            ; preds = %13365, %13358
  %13388 = load i32, ptr %289, align 4, !tbaa !5
  %13389 = call ptr @__errno_location() #12
  store i32 %13388, ptr %13389, align 4, !tbaa !5
  %13390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13391 = load i32, ptr @test_count, align 4, !tbaa !5
  %13392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13393 = load i32, ptr %13392, align 4, !tbaa !5
  %13394 = call ptr @s2n_strerror(i32 noundef %13393, ptr noundef @.str.24)
  %13395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13396 = load i32, ptr %13395, align 4, !tbaa !5
  %13397 = call ptr @s2n_strerror_debug(i32 noundef %13396, ptr noundef @.str.24)
  %13398 = call ptr @__errno_location() #12
  %13399 = load i32, ptr %13398, align 4, !tbaa !5
  %13400 = call ptr @strerror(i32 noundef %13399) #11
  %13401 = call ptr @__errno_location() #12
  %13402 = load i32, ptr %13401, align 4, !tbaa !5
  %13403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13390, ptr noundef @.str.25, i32 noundef %13391, ptr noundef @.str.110, ptr noundef @.str.21, i32 noundef 554, ptr noundef %13394, ptr noundef %13397, ptr noundef %13400, i32 noundef %13402) #11
  br label %13404

13404:                                            ; preds = %13387, %13370
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %13405

13405:                                            ; preds = %13404
  br label %13406

13406:                                            ; preds = %13405
  call void @exit(i32 noundef 1) #13
  unreachable

13407:                                            ; No predecessors!
  br label %13408

13408:                                            ; preds = %13407
  br label %13409

13409:                                            ; preds = %13408, %13350
  br label %13410

13410:                                            ; preds = %13409
  br label %13411

13411:                                            ; preds = %13410
  call void @llvm.lifetime.start.p0(i64 1, ptr %290) #11
  store i8 0, ptr %290, align 1, !tbaa !43
  br label %13412

13412:                                            ; preds = %13411
  %13413 = load i32, ptr @test_count, align 4, !tbaa !5
  %13414 = add nsw i32 %13413, 1
  store i32 %13414, ptr @test_count, align 4, !tbaa !5
  %13415 = load ptr, ptr %288, align 8, !tbaa !9
  %13416 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %13415, ptr noundef @s2n_test_session_ticket_cb, ptr noundef %290)
  %13417 = icmp eq i32 %13416, -1
  br i1 %13417, label %13418, label %13471

13418:                                            ; preds = %13412
  br label %13419

13419:                                            ; preds = %13418
  br label %13420

13420:                                            ; preds = %13419
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %13421 = call ptr @__errno_location() #12
  %13422 = load i32, ptr %13421, align 4, !tbaa !5
  store i32 %13422, ptr %291, align 4, !tbaa !5
  %13423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13424 = call i32 @s2n_print_stacktrace(ptr noundef %13423)
  %13425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13426 = trunc i8 %13425 to i1
  br i1 %13426, label %13427, label %13449

13427:                                            ; preds = %13420
  %13428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13429 = call i32 @fileno(ptr noundef %13428) #11
  %13430 = call i32 @isatty(i32 noundef %13429) #11
  %13431 = icmp ne i32 %13430, 0
  br i1 %13431, label %13432, label %13449

13432:                                            ; preds = %13427
  %13433 = load i32, ptr %291, align 4, !tbaa !5
  %13434 = call ptr @__errno_location() #12
  store i32 %13433, ptr %13434, align 4, !tbaa !5
  %13435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13436 = load i32, ptr @test_count, align 4, !tbaa !5
  %13437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13438 = load i32, ptr %13437, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror(i32 noundef %13438, ptr noundef @.str.24)
  %13440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13441 = load i32, ptr %13440, align 4, !tbaa !5
  %13442 = call ptr @s2n_strerror_debug(i32 noundef %13441, ptr noundef @.str.24)
  %13443 = call ptr @__errno_location() #12
  %13444 = load i32, ptr %13443, align 4, !tbaa !5
  %13445 = call ptr @strerror(i32 noundef %13444) #11
  %13446 = call ptr @__errno_location() #12
  %13447 = load i32, ptr %13446, align 4, !tbaa !5
  %13448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13435, ptr noundef @.str.22, i32 noundef %13436, ptr noundef @.str.111, ptr noundef @.str.21, i32 noundef 556, ptr noundef %13439, ptr noundef %13442, ptr noundef %13445, i32 noundef %13447) #11
  br label %13466

13449:                                            ; preds = %13427, %13420
  %13450 = load i32, ptr %291, align 4, !tbaa !5
  %13451 = call ptr @__errno_location() #12
  store i32 %13450, ptr %13451, align 4, !tbaa !5
  %13452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13453 = load i32, ptr @test_count, align 4, !tbaa !5
  %13454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13455 = load i32, ptr %13454, align 4, !tbaa !5
  %13456 = call ptr @s2n_strerror(i32 noundef %13455, ptr noundef @.str.24)
  %13457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13458 = load i32, ptr %13457, align 4, !tbaa !5
  %13459 = call ptr @s2n_strerror_debug(i32 noundef %13458, ptr noundef @.str.24)
  %13460 = call ptr @__errno_location() #12
  %13461 = load i32, ptr %13460, align 4, !tbaa !5
  %13462 = call ptr @strerror(i32 noundef %13461) #11
  %13463 = call ptr @__errno_location() #12
  %13464 = load i32, ptr %13463, align 4, !tbaa !5
  %13465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13452, ptr noundef @.str.25, i32 noundef %13453, ptr noundef @.str.111, ptr noundef @.str.21, i32 noundef 556, ptr noundef %13456, ptr noundef %13459, ptr noundef %13462, i32 noundef %13464) #11
  br label %13466

13466:                                            ; preds = %13449, %13432
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %13467

13467:                                            ; preds = %13466
  br label %13468

13468:                                            ; preds = %13467
  call void @exit(i32 noundef 1) #13
  unreachable

13469:                                            ; No predecessors!
  br label %13470

13470:                                            ; preds = %13469
  br label %13471

13471:                                            ; preds = %13470, %13412
  br label %13472

13472:                                            ; preds = %13471
  br label %13473

13473:                                            ; preds = %13472
  br label %13474

13474:                                            ; preds = %13473
  %13475 = load i32, ptr @test_count, align 4, !tbaa !5
  %13476 = add nsw i32 %13475, 1
  store i32 %13476, ptr @test_count, align 4, !tbaa !5
  %13477 = load ptr, ptr %287, align 8, !tbaa !9
  %13478 = load ptr, ptr %288, align 8, !tbaa !9
  %13479 = call i32 @s2n_connection_set_config(ptr noundef %13477, ptr noundef %13478)
  %13480 = icmp eq i32 %13479, -1
  br i1 %13480, label %13481, label %13534

13481:                                            ; preds = %13474
  br label %13482

13482:                                            ; preds = %13481
  br label %13483

13483:                                            ; preds = %13482
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %13484 = call ptr @__errno_location() #12
  %13485 = load i32, ptr %13484, align 4, !tbaa !5
  store i32 %13485, ptr %292, align 4, !tbaa !5
  %13486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13487 = call i32 @s2n_print_stacktrace(ptr noundef %13486)
  %13488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13489 = trunc i8 %13488 to i1
  br i1 %13489, label %13490, label %13512

13490:                                            ; preds = %13483
  %13491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13492 = call i32 @fileno(ptr noundef %13491) #11
  %13493 = call i32 @isatty(i32 noundef %13492) #11
  %13494 = icmp ne i32 %13493, 0
  br i1 %13494, label %13495, label %13512

13495:                                            ; preds = %13490
  %13496 = load i32, ptr %292, align 4, !tbaa !5
  %13497 = call ptr @__errno_location() #12
  store i32 %13496, ptr %13497, align 4, !tbaa !5
  %13498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13499 = load i32, ptr @test_count, align 4, !tbaa !5
  %13500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @s2n_strerror(i32 noundef %13501, ptr noundef @.str.24)
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call ptr @s2n_strerror_debug(i32 noundef %13504, ptr noundef @.str.24)
  %13506 = call ptr @__errno_location() #12
  %13507 = load i32, ptr %13506, align 4, !tbaa !5
  %13508 = call ptr @strerror(i32 noundef %13507) #11
  %13509 = call ptr @__errno_location() #12
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  %13511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13498, ptr noundef @.str.22, i32 noundef %13499, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 557, ptr noundef %13502, ptr noundef %13505, ptr noundef %13508, i32 noundef %13510) #11
  br label %13529

13512:                                            ; preds = %13490, %13483
  %13513 = load i32, ptr %292, align 4, !tbaa !5
  %13514 = call ptr @__errno_location() #12
  store i32 %13513, ptr %13514, align 4, !tbaa !5
  %13515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13516 = load i32, ptr @test_count, align 4, !tbaa !5
  %13517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13518 = load i32, ptr %13517, align 4, !tbaa !5
  %13519 = call ptr @s2n_strerror(i32 noundef %13518, ptr noundef @.str.24)
  %13520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13521 = load i32, ptr %13520, align 4, !tbaa !5
  %13522 = call ptr @s2n_strerror_debug(i32 noundef %13521, ptr noundef @.str.24)
  %13523 = call ptr @__errno_location() #12
  %13524 = load i32, ptr %13523, align 4, !tbaa !5
  %13525 = call ptr @strerror(i32 noundef %13524) #11
  %13526 = call ptr @__errno_location() #12
  %13527 = load i32, ptr %13526, align 4, !tbaa !5
  %13528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13515, ptr noundef @.str.25, i32 noundef %13516, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 557, ptr noundef %13519, ptr noundef %13522, ptr noundef %13525, i32 noundef %13527) #11
  br label %13529

13529:                                            ; preds = %13512, %13495
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %13530

13530:                                            ; preds = %13529
  br label %13531

13531:                                            ; preds = %13530
  call void @exit(i32 noundef 1) #13
  unreachable

13532:                                            ; No predecessors!
  br label %13533

13533:                                            ; preds = %13532
  br label %13534

13534:                                            ; preds = %13533, %13474
  br label %13535

13535:                                            ; preds = %13534
  br label %13536

13536:                                            ; preds = %13535
  %13537 = load ptr, ptr %287, align 8, !tbaa !9
  %13538 = getelementptr inbounds %struct.s2n_connection, ptr %13537, i32 0, i32 27
  %13539 = load ptr, ptr %13538, align 8, !tbaa !59
  %13540 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13539, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13540, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 40, ptr %293) #11
  call void @llvm.memset.p0.i64(ptr align 8 %293, i8 0, i64 40, i1 false)
  br label %13541

13541:                                            ; preds = %13536
  %13542 = load i32, ptr @test_count, align 4, !tbaa !5
  %13543 = add nsw i32 %13542, 1
  store i32 %13543, ptr @test_count, align 4, !tbaa !5
  %13544 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %293, i32 noundef 0)
  %13545 = icmp eq i32 %13544, -1
  br i1 %13545, label %13546, label %13599

13546:                                            ; preds = %13541
  br label %13547

13547:                                            ; preds = %13546
  br label %13548

13548:                                            ; preds = %13547
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %13549 = call ptr @__errno_location() #12
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  store i32 %13550, ptr %294, align 4, !tbaa !5
  %13551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13552 = call i32 @s2n_print_stacktrace(ptr noundef %13551)
  %13553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13554 = trunc i8 %13553 to i1
  br i1 %13554, label %13555, label %13577

13555:                                            ; preds = %13548
  %13556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13557 = call i32 @fileno(ptr noundef %13556) #11
  %13558 = call i32 @isatty(i32 noundef %13557) #11
  %13559 = icmp ne i32 %13558, 0
  br i1 %13559, label %13560, label %13577

13560:                                            ; preds = %13555
  %13561 = load i32, ptr %294, align 4, !tbaa !5
  %13562 = call ptr @__errno_location() #12
  store i32 %13561, ptr %13562, align 4, !tbaa !5
  %13563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13564 = load i32, ptr @test_count, align 4, !tbaa !5
  %13565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @s2n_strerror(i32 noundef %13566, ptr noundef @.str.24)
  %13568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13569 = load i32, ptr %13568, align 4, !tbaa !5
  %13570 = call ptr @s2n_strerror_debug(i32 noundef %13569, ptr noundef @.str.24)
  %13571 = call ptr @__errno_location() #12
  %13572 = load i32, ptr %13571, align 4, !tbaa !5
  %13573 = call ptr @strerror(i32 noundef %13572) #11
  %13574 = call ptr @__errno_location() #12
  %13575 = load i32, ptr %13574, align 4, !tbaa !5
  %13576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13563, ptr noundef @.str.22, i32 noundef %13564, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 561, ptr noundef %13567, ptr noundef %13570, ptr noundef %13573, i32 noundef %13575) #11
  br label %13594

13577:                                            ; preds = %13555, %13548
  %13578 = load i32, ptr %294, align 4, !tbaa !5
  %13579 = call ptr @__errno_location() #12
  store i32 %13578, ptr %13579, align 4, !tbaa !5
  %13580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13581 = load i32, ptr @test_count, align 4, !tbaa !5
  %13582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13583 = load i32, ptr %13582, align 4, !tbaa !5
  %13584 = call ptr @s2n_strerror(i32 noundef %13583, ptr noundef @.str.24)
  %13585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13586 = load i32, ptr %13585, align 4, !tbaa !5
  %13587 = call ptr @s2n_strerror_debug(i32 noundef %13586, ptr noundef @.str.24)
  %13588 = call ptr @__errno_location() #12
  %13589 = load i32, ptr %13588, align 4, !tbaa !5
  %13590 = call ptr @strerror(i32 noundef %13589) #11
  %13591 = call ptr @__errno_location() #12
  %13592 = load i32, ptr %13591, align 4, !tbaa !5
  %13593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13580, ptr noundef @.str.25, i32 noundef %13581, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 561, ptr noundef %13584, ptr noundef %13587, ptr noundef %13590, i32 noundef %13592) #11
  br label %13594

13594:                                            ; preds = %13577, %13560
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %13595

13595:                                            ; preds = %13594
  br label %13596

13596:                                            ; preds = %13595
  call void @exit(i32 noundef 1) #13
  unreachable

13597:                                            ; No predecessors!
  br label %13598

13598:                                            ; preds = %13597
  br label %13599

13599:                                            ; preds = %13598, %13541
  br label %13600

13600:                                            ; preds = %13599
  br label %13601

13601:                                            ; preds = %13600
  br label %13602

13602:                                            ; preds = %13601
  %13603 = load i32, ptr @test_count, align 4, !tbaa !5
  %13604 = add nsw i32 %13603, 1
  store i32 %13604, ptr @test_count, align 4, !tbaa !5
  %13605 = load ptr, ptr %287, align 8, !tbaa !9
  %13606 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %293, ptr noundef %293, ptr noundef %13605)
  %13607 = icmp eq i32 %13606, -1
  br i1 %13607, label %13608, label %13661

13608:                                            ; preds = %13602
  br label %13609

13609:                                            ; preds = %13608
  br label %13610

13610:                                            ; preds = %13609
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %13611 = call ptr @__errno_location() #12
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  store i32 %13612, ptr %295, align 4, !tbaa !5
  %13613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13614 = call i32 @s2n_print_stacktrace(ptr noundef %13613)
  %13615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13616 = trunc i8 %13615 to i1
  br i1 %13616, label %13617, label %13639

13617:                                            ; preds = %13610
  %13618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13619 = call i32 @fileno(ptr noundef %13618) #11
  %13620 = call i32 @isatty(i32 noundef %13619) #11
  %13621 = icmp ne i32 %13620, 0
  br i1 %13621, label %13622, label %13639

13622:                                            ; preds = %13617
  %13623 = load i32, ptr %295, align 4, !tbaa !5
  %13624 = call ptr @__errno_location() #12
  store i32 %13623, ptr %13624, align 4, !tbaa !5
  %13625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13626 = load i32, ptr @test_count, align 4, !tbaa !5
  %13627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13628 = load i32, ptr %13627, align 4, !tbaa !5
  %13629 = call ptr @s2n_strerror(i32 noundef %13628, ptr noundef @.str.24)
  %13630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13631 = load i32, ptr %13630, align 4, !tbaa !5
  %13632 = call ptr @s2n_strerror_debug(i32 noundef %13631, ptr noundef @.str.24)
  %13633 = call ptr @__errno_location() #12
  %13634 = load i32, ptr %13633, align 4, !tbaa !5
  %13635 = call ptr @strerror(i32 noundef %13634) #11
  %13636 = call ptr @__errno_location() #12
  %13637 = load i32, ptr %13636, align 4, !tbaa !5
  %13638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13625, ptr noundef @.str.22, i32 noundef %13626, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 562, ptr noundef %13629, ptr noundef %13632, ptr noundef %13635, i32 noundef %13637) #11
  br label %13656

13639:                                            ; preds = %13617, %13610
  %13640 = load i32, ptr %295, align 4, !tbaa !5
  %13641 = call ptr @__errno_location() #12
  store i32 %13640, ptr %13641, align 4, !tbaa !5
  %13642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13643 = load i32, ptr @test_count, align 4, !tbaa !5
  %13644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13645 = load i32, ptr %13644, align 4, !tbaa !5
  %13646 = call ptr @s2n_strerror(i32 noundef %13645, ptr noundef @.str.24)
  %13647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13648 = load i32, ptr %13647, align 4, !tbaa !5
  %13649 = call ptr @s2n_strerror_debug(i32 noundef %13648, ptr noundef @.str.24)
  %13650 = call ptr @__errno_location() #12
  %13651 = load i32, ptr %13650, align 4, !tbaa !5
  %13652 = call ptr @strerror(i32 noundef %13651) #11
  %13653 = call ptr @__errno_location() #12
  %13654 = load i32, ptr %13653, align 4, !tbaa !5
  %13655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13642, ptr noundef @.str.25, i32 noundef %13643, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 562, ptr noundef %13646, ptr noundef %13649, ptr noundef %13652, i32 noundef %13654) #11
  br label %13656

13656:                                            ; preds = %13639, %13622
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %13657

13657:                                            ; preds = %13656
  br label %13658

13658:                                            ; preds = %13657
  call void @exit(i32 noundef 1) #13
  unreachable

13659:                                            ; No predecessors!
  br label %13660

13660:                                            ; preds = %13659
  br label %13661

13661:                                            ; preds = %13660, %13602
  br label %13662

13662:                                            ; preds = %13661
  br label %13663

13663:                                            ; preds = %13662
  br label %13664

13664:                                            ; preds = %13663
  %13665 = load i32, ptr @test_count, align 4, !tbaa !5
  %13666 = add nsw i32 %13665, 1
  store i32 %13666, ptr @test_count, align 4, !tbaa !5
  %13667 = getelementptr inbounds [22 x i8], ptr %275, i64 0, i64 0
  %13668 = call i32 @s2n_stuffer_write_bytes(ptr noundef %293, ptr noundef %13667, i32 noundef 22)
  %13669 = icmp eq i32 %13668, -1
  br i1 %13669, label %13670, label %13723

13670:                                            ; preds = %13664
  br label %13671

13671:                                            ; preds = %13670
  br label %13672

13672:                                            ; preds = %13671
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %13673 = call ptr @__errno_location() #12
  %13674 = load i32, ptr %13673, align 4, !tbaa !5
  store i32 %13674, ptr %296, align 4, !tbaa !5
  %13675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13676 = call i32 @s2n_print_stacktrace(ptr noundef %13675)
  %13677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13678 = trunc i8 %13677 to i1
  br i1 %13678, label %13679, label %13701

13679:                                            ; preds = %13672
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = call i32 @fileno(ptr noundef %13680) #11
  %13682 = call i32 @isatty(i32 noundef %13681) #11
  %13683 = icmp ne i32 %13682, 0
  br i1 %13683, label %13684, label %13701

13684:                                            ; preds = %13679
  %13685 = load i32, ptr %296, align 4, !tbaa !5
  %13686 = call ptr @__errno_location() #12
  store i32 %13685, ptr %13686, align 4, !tbaa !5
  %13687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13688 = load i32, ptr @test_count, align 4, !tbaa !5
  %13689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13690 = load i32, ptr %13689, align 4, !tbaa !5
  %13691 = call ptr @s2n_strerror(i32 noundef %13690, ptr noundef @.str.24)
  %13692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13693 = load i32, ptr %13692, align 4, !tbaa !5
  %13694 = call ptr @s2n_strerror_debug(i32 noundef %13693, ptr noundef @.str.24)
  %13695 = call ptr @__errno_location() #12
  %13696 = load i32, ptr %13695, align 4, !tbaa !5
  %13697 = call ptr @strerror(i32 noundef %13696) #11
  %13698 = call ptr @__errno_location() #12
  %13699 = load i32, ptr %13698, align 4, !tbaa !5
  %13700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13687, ptr noundef @.str.22, i32 noundef %13688, ptr noundef @.str.112, ptr noundef @.str.21, i32 noundef 565, ptr noundef %13691, ptr noundef %13694, ptr noundef %13697, i32 noundef %13699) #11
  br label %13718

13701:                                            ; preds = %13679, %13672
  %13702 = load i32, ptr %296, align 4, !tbaa !5
  %13703 = call ptr @__errno_location() #12
  store i32 %13702, ptr %13703, align 4, !tbaa !5
  %13704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13707 = load i32, ptr %13706, align 4, !tbaa !5
  %13708 = call ptr @s2n_strerror(i32 noundef %13707, ptr noundef @.str.24)
  %13709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13710 = load i32, ptr %13709, align 4, !tbaa !5
  %13711 = call ptr @s2n_strerror_debug(i32 noundef %13710, ptr noundef @.str.24)
  %13712 = call ptr @__errno_location() #12
  %13713 = load i32, ptr %13712, align 4, !tbaa !5
  %13714 = call ptr @strerror(i32 noundef %13713) #11
  %13715 = call ptr @__errno_location() #12
  %13716 = load i32, ptr %13715, align 4, !tbaa !5
  %13717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13704, ptr noundef @.str.25, i32 noundef %13705, ptr noundef @.str.112, ptr noundef @.str.21, i32 noundef 565, ptr noundef %13708, ptr noundef %13711, ptr noundef %13714, i32 noundef %13716) #11
  br label %13718

13718:                                            ; preds = %13701, %13684
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %13719

13719:                                            ; preds = %13718
  br label %13720

13720:                                            ; preds = %13719
  call void @exit(i32 noundef 1) #13
  unreachable

13721:                                            ; No predecessors!
  br label %13722

13722:                                            ; preds = %13721
  br label %13723

13723:                                            ; preds = %13722, %13664
  br label %13724

13724:                                            ; preds = %13723
  br label %13725

13725:                                            ; preds = %13724
  br label %13726

13726:                                            ; preds = %13725
  %13727 = load i32, ptr @test_count, align 4, !tbaa !5
  %13728 = add nsw i32 %13727, 1
  store i32 %13728, ptr @test_count, align 4, !tbaa !5
  %13729 = load ptr, ptr %287, align 8, !tbaa !9
  %13730 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %13729, ptr noundef %271)
  %13731 = icmp eq i32 %13730, -1
  br i1 %13731, label %13732, label %13785

13732:                                            ; preds = %13726
  br label %13733

13733:                                            ; preds = %13732
  br label %13734

13734:                                            ; preds = %13733
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %13735 = call ptr @__errno_location() #12
  %13736 = load i32, ptr %13735, align 4, !tbaa !5
  store i32 %13736, ptr %297, align 4, !tbaa !5
  %13737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13738 = call i32 @s2n_print_stacktrace(ptr noundef %13737)
  %13739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13740 = trunc i8 %13739 to i1
  br i1 %13740, label %13741, label %13763

13741:                                            ; preds = %13734
  %13742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13743 = call i32 @fileno(ptr noundef %13742) #11
  %13744 = call i32 @isatty(i32 noundef %13743) #11
  %13745 = icmp ne i32 %13744, 0
  br i1 %13745, label %13746, label %13763

13746:                                            ; preds = %13741
  %13747 = load i32, ptr %297, align 4, !tbaa !5
  %13748 = call ptr @__errno_location() #12
  store i32 %13747, ptr %13748, align 4, !tbaa !5
  %13749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13750 = load i32, ptr @test_count, align 4, !tbaa !5
  %13751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13752 = load i32, ptr %13751, align 4, !tbaa !5
  %13753 = call ptr @s2n_strerror(i32 noundef %13752, ptr noundef @.str.24)
  %13754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  %13756 = call ptr @s2n_strerror_debug(i32 noundef %13755, ptr noundef @.str.24)
  %13757 = call ptr @__errno_location() #12
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call ptr @strerror(i32 noundef %13758) #11
  %13760 = call ptr @__errno_location() #12
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  %13762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13749, ptr noundef @.str.22, i32 noundef %13750, ptr noundef @.str.113, ptr noundef @.str.21, i32 noundef 567, ptr noundef %13753, ptr noundef %13756, ptr noundef %13759, i32 noundef %13761) #11
  br label %13780

13763:                                            ; preds = %13741, %13734
  %13764 = load i32, ptr %297, align 4, !tbaa !5
  %13765 = call ptr @__errno_location() #12
  store i32 %13764, ptr %13765, align 4, !tbaa !5
  %13766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13767 = load i32, ptr @test_count, align 4, !tbaa !5
  %13768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  %13770 = call ptr @s2n_strerror(i32 noundef %13769, ptr noundef @.str.24)
  %13771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13772 = load i32, ptr %13771, align 4, !tbaa !5
  %13773 = call ptr @s2n_strerror_debug(i32 noundef %13772, ptr noundef @.str.24)
  %13774 = call ptr @__errno_location() #12
  %13775 = load i32, ptr %13774, align 4, !tbaa !5
  %13776 = call ptr @strerror(i32 noundef %13775) #11
  %13777 = call ptr @__errno_location() #12
  %13778 = load i32, ptr %13777, align 4, !tbaa !5
  %13779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13766, ptr noundef @.str.25, i32 noundef %13767, ptr noundef @.str.113, ptr noundef @.str.21, i32 noundef 567, ptr noundef %13770, ptr noundef %13773, ptr noundef %13776, i32 noundef %13778) #11
  br label %13780

13780:                                            ; preds = %13763, %13746
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %13781

13781:                                            ; preds = %13780
  br label %13782

13782:                                            ; preds = %13781
  call void @exit(i32 noundef 1) #13
  unreachable

13783:                                            ; No predecessors!
  br label %13784

13784:                                            ; preds = %13783
  br label %13785

13785:                                            ; preds = %13784, %13726
  br label %13786

13786:                                            ; preds = %13785
  br label %13787

13787:                                            ; preds = %13786
  br label %13788

13788:                                            ; preds = %13787
  %13789 = load i32, ptr @test_count, align 4, !tbaa !5
  %13790 = add nsw i32 %13789, 1
  store i32 %13790, ptr @test_count, align 4, !tbaa !5
  %13791 = load i8, ptr %290, align 1, !tbaa !43
  %13792 = zext i8 %13791 to i32
  %13793 = icmp eq i32 %13792, 1
  br i1 %13793, label %13847, label %13794

13794:                                            ; preds = %13788
  br label %13795

13795:                                            ; preds = %13794
  br label %13796

13796:                                            ; preds = %13795
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %13797 = call ptr @__errno_location() #12
  %13798 = load i32, ptr %13797, align 4, !tbaa !5
  store i32 %13798, ptr %298, align 4, !tbaa !5
  %13799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13800 = call i32 @s2n_print_stacktrace(ptr noundef %13799)
  %13801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13802 = trunc i8 %13801 to i1
  br i1 %13802, label %13803, label %13825

13803:                                            ; preds = %13796
  %13804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13805 = call i32 @fileno(ptr noundef %13804) #11
  %13806 = call i32 @isatty(i32 noundef %13805) #11
  %13807 = icmp ne i32 %13806, 0
  br i1 %13807, label %13808, label %13825

13808:                                            ; preds = %13803
  %13809 = load i32, ptr %298, align 4, !tbaa !5
  %13810 = call ptr @__errno_location() #12
  store i32 %13809, ptr %13810, align 4, !tbaa !5
  %13811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13812 = load i32, ptr @test_count, align 4, !tbaa !5
  %13813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13814 = load i32, ptr %13813, align 4, !tbaa !5
  %13815 = call ptr @s2n_strerror(i32 noundef %13814, ptr noundef @.str.24)
  %13816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13817 = load i32, ptr %13816, align 4, !tbaa !5
  %13818 = call ptr @s2n_strerror_debug(i32 noundef %13817, ptr noundef @.str.24)
  %13819 = call ptr @__errno_location() #12
  %13820 = load i32, ptr %13819, align 4, !tbaa !5
  %13821 = call ptr @strerror(i32 noundef %13820) #11
  %13822 = call ptr @__errno_location() #12
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  %13824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13811, ptr noundef @.str.22, i32 noundef %13812, ptr noundef @.str.114, ptr noundef @.str.21, i32 noundef 570, ptr noundef %13815, ptr noundef %13818, ptr noundef %13821, i32 noundef %13823) #11
  br label %13842

13825:                                            ; preds = %13803, %13796
  %13826 = load i32, ptr %298, align 4, !tbaa !5
  %13827 = call ptr @__errno_location() #12
  store i32 %13826, ptr %13827, align 4, !tbaa !5
  %13828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13829 = load i32, ptr @test_count, align 4, !tbaa !5
  %13830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13831 = load i32, ptr %13830, align 4, !tbaa !5
  %13832 = call ptr @s2n_strerror(i32 noundef %13831, ptr noundef @.str.24)
  %13833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13834 = load i32, ptr %13833, align 4, !tbaa !5
  %13835 = call ptr @s2n_strerror_debug(i32 noundef %13834, ptr noundef @.str.24)
  %13836 = call ptr @__errno_location() #12
  %13837 = load i32, ptr %13836, align 4, !tbaa !5
  %13838 = call ptr @strerror(i32 noundef %13837) #11
  %13839 = call ptr @__errno_location() #12
  %13840 = load i32, ptr %13839, align 4, !tbaa !5
  %13841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13828, ptr noundef @.str.25, i32 noundef %13829, ptr noundef @.str.114, ptr noundef @.str.21, i32 noundef 570, ptr noundef %13832, ptr noundef %13835, ptr noundef %13838, i32 noundef %13840) #11
  br label %13842

13842:                                            ; preds = %13825, %13808
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %13843

13843:                                            ; preds = %13842
  br label %13844

13844:                                            ; preds = %13843
  call void @exit(i32 noundef 1) #13
  unreachable

13845:                                            ; No predecessors!
  br label %13846

13846:                                            ; preds = %13845
  br label %13847

13847:                                            ; preds = %13846, %13788
  br label %13848

13848:                                            ; preds = %13847
  br label %13849

13849:                                            ; preds = %13848
  %13850 = call i32 @s2n_stuffer_free(ptr noundef %293)
  call void @llvm.lifetime.end.p0(i64 40, ptr %293) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %290) #11
  %13851 = call i32 @s2n_config_ptr_free(ptr noundef %288)
  %13852 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %13851, ptr %13852, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %288) #11
  %13853 = call i32 @s2n_connection_ptr_free(ptr noundef %287)
  %13854 = getelementptr inbounds %struct.s2n_result, ptr %300, i32 0, i32 0
  store i32 %13853, ptr %13854, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %301) #11
  store i64 1, ptr %301, align 8, !tbaa !48
  br label %13855

13855:                                            ; preds = %14757, %13849
  %13856 = load i64, ptr %301, align 8, !tbaa !48
  %13857 = icmp ult i64 %13856, 22
  br i1 %13857, label %13859, label %13858

13858:                                            ; preds = %13855
  store i32 1401, ptr %215, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %301) #11
  br label %14760

13859:                                            ; preds = %13855
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #11
  %13860 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13860, ptr %302, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %303) #11
  %13861 = call ptr @s2n_config_new()
  store ptr %13861, ptr %303, align 8, !tbaa !9
  br label %13862

13862:                                            ; preds = %13859
  %13863 = load i32, ptr @test_count, align 4, !tbaa !5
  %13864 = add nsw i32 %13863, 1
  store i32 %13864, ptr @test_count, align 4, !tbaa !5
  %13865 = load ptr, ptr %303, align 8, !tbaa !9
  %13866 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %13865, i8 noundef zeroext 1)
  %13867 = icmp eq i32 %13866, -1
  br i1 %13867, label %13868, label %13921

13868:                                            ; preds = %13862
  br label %13869

13869:                                            ; preds = %13868
  br label %13870

13870:                                            ; preds = %13869
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %13871 = call ptr @__errno_location() #12
  %13872 = load i32, ptr %13871, align 4, !tbaa !5
  store i32 %13872, ptr %304, align 4, !tbaa !5
  %13873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13874 = call i32 @s2n_print_stacktrace(ptr noundef %13873)
  %13875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13876 = trunc i8 %13875 to i1
  br i1 %13876, label %13877, label %13899

13877:                                            ; preds = %13870
  %13878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13879 = call i32 @fileno(ptr noundef %13878) #11
  %13880 = call i32 @isatty(i32 noundef %13879) #11
  %13881 = icmp ne i32 %13880, 0
  br i1 %13881, label %13882, label %13899

13882:                                            ; preds = %13877
  %13883 = load i32, ptr %304, align 4, !tbaa !5
  %13884 = call ptr @__errno_location() #12
  store i32 %13883, ptr %13884, align 4, !tbaa !5
  %13885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13886 = load i32, ptr @test_count, align 4, !tbaa !5
  %13887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13888 = load i32, ptr %13887, align 4, !tbaa !5
  %13889 = call ptr @s2n_strerror(i32 noundef %13888, ptr noundef @.str.24)
  %13890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13891 = load i32, ptr %13890, align 4, !tbaa !5
  %13892 = call ptr @s2n_strerror_debug(i32 noundef %13891, ptr noundef @.str.24)
  %13893 = call ptr @__errno_location() #12
  %13894 = load i32, ptr %13893, align 4, !tbaa !5
  %13895 = call ptr @strerror(i32 noundef %13894) #11
  %13896 = call ptr @__errno_location() #12
  %13897 = load i32, ptr %13896, align 4, !tbaa !5
  %13898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13885, ptr noundef @.str.22, i32 noundef %13886, ptr noundef @.str.110, ptr noundef @.str.21, i32 noundef 577, ptr noundef %13889, ptr noundef %13892, ptr noundef %13895, i32 noundef %13897) #11
  br label %13916

13899:                                            ; preds = %13877, %13870
  %13900 = load i32, ptr %304, align 4, !tbaa !5
  %13901 = call ptr @__errno_location() #12
  store i32 %13900, ptr %13901, align 4, !tbaa !5
  %13902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13903 = load i32, ptr @test_count, align 4, !tbaa !5
  %13904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13905 = load i32, ptr %13904, align 4, !tbaa !5
  %13906 = call ptr @s2n_strerror(i32 noundef %13905, ptr noundef @.str.24)
  %13907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13908 = load i32, ptr %13907, align 4, !tbaa !5
  %13909 = call ptr @s2n_strerror_debug(i32 noundef %13908, ptr noundef @.str.24)
  %13910 = call ptr @__errno_location() #12
  %13911 = load i32, ptr %13910, align 4, !tbaa !5
  %13912 = call ptr @strerror(i32 noundef %13911) #11
  %13913 = call ptr @__errno_location() #12
  %13914 = load i32, ptr %13913, align 4, !tbaa !5
  %13915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13902, ptr noundef @.str.25, i32 noundef %13903, ptr noundef @.str.110, ptr noundef @.str.21, i32 noundef 577, ptr noundef %13906, ptr noundef %13909, ptr noundef %13912, i32 noundef %13914) #11
  br label %13916

13916:                                            ; preds = %13899, %13882
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %13917

13917:                                            ; preds = %13916
  br label %13918

13918:                                            ; preds = %13917
  call void @exit(i32 noundef 1) #13
  unreachable

13919:                                            ; No predecessors!
  br label %13920

13920:                                            ; preds = %13919
  br label %13921

13921:                                            ; preds = %13920, %13862
  br label %13922

13922:                                            ; preds = %13921
  br label %13923

13923:                                            ; preds = %13922
  call void @llvm.lifetime.start.p0(i64 1, ptr %305) #11
  store i8 0, ptr %305, align 1, !tbaa !43
  br label %13924

13924:                                            ; preds = %13923
  %13925 = load i32, ptr @test_count, align 4, !tbaa !5
  %13926 = add nsw i32 %13925, 1
  store i32 %13926, ptr @test_count, align 4, !tbaa !5
  %13927 = load ptr, ptr %303, align 8, !tbaa !9
  %13928 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %13927, ptr noundef @s2n_test_session_ticket_cb, ptr noundef %305)
  %13929 = icmp eq i32 %13928, -1
  br i1 %13929, label %13930, label %13983

13930:                                            ; preds = %13924
  br label %13931

13931:                                            ; preds = %13930
  br label %13932

13932:                                            ; preds = %13931
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %13933 = call ptr @__errno_location() #12
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  store i32 %13934, ptr %306, align 4, !tbaa !5
  %13935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13936 = call i32 @s2n_print_stacktrace(ptr noundef %13935)
  %13937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13938 = trunc i8 %13937 to i1
  br i1 %13938, label %13939, label %13961

13939:                                            ; preds = %13932
  %13940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13941 = call i32 @fileno(ptr noundef %13940) #11
  %13942 = call i32 @isatty(i32 noundef %13941) #11
  %13943 = icmp ne i32 %13942, 0
  br i1 %13943, label %13944, label %13961

13944:                                            ; preds = %13939
  %13945 = load i32, ptr %306, align 4, !tbaa !5
  %13946 = call ptr @__errno_location() #12
  store i32 %13945, ptr %13946, align 4, !tbaa !5
  %13947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13948 = load i32, ptr @test_count, align 4, !tbaa !5
  %13949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13950 = load i32, ptr %13949, align 4, !tbaa !5
  %13951 = call ptr @s2n_strerror(i32 noundef %13950, ptr noundef @.str.24)
  %13952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13953 = load i32, ptr %13952, align 4, !tbaa !5
  %13954 = call ptr @s2n_strerror_debug(i32 noundef %13953, ptr noundef @.str.24)
  %13955 = call ptr @__errno_location() #12
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  %13957 = call ptr @strerror(i32 noundef %13956) #11
  %13958 = call ptr @__errno_location() #12
  %13959 = load i32, ptr %13958, align 4, !tbaa !5
  %13960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13947, ptr noundef @.str.22, i32 noundef %13948, ptr noundef @.str.111, ptr noundef @.str.21, i32 noundef 579, ptr noundef %13951, ptr noundef %13954, ptr noundef %13957, i32 noundef %13959) #11
  br label %13978

13961:                                            ; preds = %13939, %13932
  %13962 = load i32, ptr %306, align 4, !tbaa !5
  %13963 = call ptr @__errno_location() #12
  store i32 %13962, ptr %13963, align 4, !tbaa !5
  %13964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13965 = load i32, ptr @test_count, align 4, !tbaa !5
  %13966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13967 = load i32, ptr %13966, align 4, !tbaa !5
  %13968 = call ptr @s2n_strerror(i32 noundef %13967, ptr noundef @.str.24)
  %13969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13970 = load i32, ptr %13969, align 4, !tbaa !5
  %13971 = call ptr @s2n_strerror_debug(i32 noundef %13970, ptr noundef @.str.24)
  %13972 = call ptr @__errno_location() #12
  %13973 = load i32, ptr %13972, align 4, !tbaa !5
  %13974 = call ptr @strerror(i32 noundef %13973) #11
  %13975 = call ptr @__errno_location() #12
  %13976 = load i32, ptr %13975, align 4, !tbaa !5
  %13977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13964, ptr noundef @.str.25, i32 noundef %13965, ptr noundef @.str.111, ptr noundef @.str.21, i32 noundef 579, ptr noundef %13968, ptr noundef %13971, ptr noundef %13974, i32 noundef %13976) #11
  br label %13978

13978:                                            ; preds = %13961, %13944
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %13979

13979:                                            ; preds = %13978
  br label %13980

13980:                                            ; preds = %13979
  call void @exit(i32 noundef 1) #13
  unreachable

13981:                                            ; No predecessors!
  br label %13982

13982:                                            ; preds = %13981
  br label %13983

13983:                                            ; preds = %13982, %13924
  br label %13984

13984:                                            ; preds = %13983
  br label %13985

13985:                                            ; preds = %13984
  br label %13986

13986:                                            ; preds = %13985
  %13987 = load i32, ptr @test_count, align 4, !tbaa !5
  %13988 = add nsw i32 %13987, 1
  store i32 %13988, ptr @test_count, align 4, !tbaa !5
  %13989 = load ptr, ptr %302, align 8, !tbaa !9
  %13990 = load ptr, ptr %303, align 8, !tbaa !9
  %13991 = call i32 @s2n_connection_set_config(ptr noundef %13989, ptr noundef %13990)
  %13992 = icmp eq i32 %13991, -1
  br i1 %13992, label %13993, label %14046

13993:                                            ; preds = %13986
  br label %13994

13994:                                            ; preds = %13993
  br label %13995

13995:                                            ; preds = %13994
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %13996 = call ptr @__errno_location() #12
  %13997 = load i32, ptr %13996, align 4, !tbaa !5
  store i32 %13997, ptr %307, align 4, !tbaa !5
  %13998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13999 = call i32 @s2n_print_stacktrace(ptr noundef %13998)
  %14000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14001 = trunc i8 %14000 to i1
  br i1 %14001, label %14002, label %14024

14002:                                            ; preds = %13995
  %14003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14004 = call i32 @fileno(ptr noundef %14003) #11
  %14005 = call i32 @isatty(i32 noundef %14004) #11
  %14006 = icmp ne i32 %14005, 0
  br i1 %14006, label %14007, label %14024

14007:                                            ; preds = %14002
  %14008 = load i32, ptr %307, align 4, !tbaa !5
  %14009 = call ptr @__errno_location() #12
  store i32 %14008, ptr %14009, align 4, !tbaa !5
  %14010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14011 = load i32, ptr @test_count, align 4, !tbaa !5
  %14012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  %14014 = call ptr @s2n_strerror(i32 noundef %14013, ptr noundef @.str.24)
  %14015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call ptr @s2n_strerror_debug(i32 noundef %14016, ptr noundef @.str.24)
  %14018 = call ptr @__errno_location() #12
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  %14020 = call ptr @strerror(i32 noundef %14019) #11
  %14021 = call ptr @__errno_location() #12
  %14022 = load i32, ptr %14021, align 4, !tbaa !5
  %14023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14010, ptr noundef @.str.22, i32 noundef %14011, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 580, ptr noundef %14014, ptr noundef %14017, ptr noundef %14020, i32 noundef %14022) #11
  br label %14041

14024:                                            ; preds = %14002, %13995
  %14025 = load i32, ptr %307, align 4, !tbaa !5
  %14026 = call ptr @__errno_location() #12
  store i32 %14025, ptr %14026, align 4, !tbaa !5
  %14027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14028 = load i32, ptr @test_count, align 4, !tbaa !5
  %14029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14030 = load i32, ptr %14029, align 4, !tbaa !5
  %14031 = call ptr @s2n_strerror(i32 noundef %14030, ptr noundef @.str.24)
  %14032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14033 = load i32, ptr %14032, align 4, !tbaa !5
  %14034 = call ptr @s2n_strerror_debug(i32 noundef %14033, ptr noundef @.str.24)
  %14035 = call ptr @__errno_location() #12
  %14036 = load i32, ptr %14035, align 4, !tbaa !5
  %14037 = call ptr @strerror(i32 noundef %14036) #11
  %14038 = call ptr @__errno_location() #12
  %14039 = load i32, ptr %14038, align 4, !tbaa !5
  %14040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14027, ptr noundef @.str.25, i32 noundef %14028, ptr noundef @.str.80, ptr noundef @.str.21, i32 noundef 580, ptr noundef %14031, ptr noundef %14034, ptr noundef %14037, i32 noundef %14039) #11
  br label %14041

14041:                                            ; preds = %14024, %14007
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %14042

14042:                                            ; preds = %14041
  br label %14043

14043:                                            ; preds = %14042
  call void @exit(i32 noundef 1) #13
  unreachable

14044:                                            ; No predecessors!
  br label %14045

14045:                                            ; preds = %14044
  br label %14046

14046:                                            ; preds = %14045, %13986
  br label %14047

14047:                                            ; preds = %14046
  br label %14048

14048:                                            ; preds = %14047
  %14049 = load ptr, ptr %302, align 8, !tbaa !9
  %14050 = getelementptr inbounds %struct.s2n_connection, ptr %14049, i32 0, i32 27
  %14051 = load ptr, ptr %14050, align 8, !tbaa !59
  %14052 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14051, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14052, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 40, ptr %308) #11
  call void @llvm.memset.p0.i64(ptr align 8 %308, i8 0, i64 40, i1 false)
  br label %14053

14053:                                            ; preds = %14048
  %14054 = load i32, ptr @test_count, align 4, !tbaa !5
  %14055 = add nsw i32 %14054, 1
  store i32 %14055, ptr @test_count, align 4, !tbaa !5
  %14056 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %308, i32 noundef 0)
  %14057 = icmp eq i32 %14056, -1
  br i1 %14057, label %14058, label %14111

14058:                                            ; preds = %14053
  br label %14059

14059:                                            ; preds = %14058
  br label %14060

14060:                                            ; preds = %14059
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %14061 = call ptr @__errno_location() #12
  %14062 = load i32, ptr %14061, align 4, !tbaa !5
  store i32 %14062, ptr %309, align 4, !tbaa !5
  %14063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14064 = call i32 @s2n_print_stacktrace(ptr noundef %14063)
  %14065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14066 = trunc i8 %14065 to i1
  br i1 %14066, label %14067, label %14089

14067:                                            ; preds = %14060
  %14068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14069 = call i32 @fileno(ptr noundef %14068) #11
  %14070 = call i32 @isatty(i32 noundef %14069) #11
  %14071 = icmp ne i32 %14070, 0
  br i1 %14071, label %14072, label %14089

14072:                                            ; preds = %14067
  %14073 = load i32, ptr %309, align 4, !tbaa !5
  %14074 = call ptr @__errno_location() #12
  store i32 %14073, ptr %14074, align 4, !tbaa !5
  %14075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14076 = load i32, ptr @test_count, align 4, !tbaa !5
  %14077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call ptr @s2n_strerror(i32 noundef %14078, ptr noundef @.str.24)
  %14080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  %14082 = call ptr @s2n_strerror_debug(i32 noundef %14081, ptr noundef @.str.24)
  %14083 = call ptr @__errno_location() #12
  %14084 = load i32, ptr %14083, align 4, !tbaa !5
  %14085 = call ptr @strerror(i32 noundef %14084) #11
  %14086 = call ptr @__errno_location() #12
  %14087 = load i32, ptr %14086, align 4, !tbaa !5
  %14088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14075, ptr noundef @.str.22, i32 noundef %14076, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 584, ptr noundef %14079, ptr noundef %14082, ptr noundef %14085, i32 noundef %14087) #11
  br label %14106

14089:                                            ; preds = %14067, %14060
  %14090 = load i32, ptr %309, align 4, !tbaa !5
  %14091 = call ptr @__errno_location() #12
  store i32 %14090, ptr %14091, align 4, !tbaa !5
  %14092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14093 = load i32, ptr @test_count, align 4, !tbaa !5
  %14094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call ptr @s2n_strerror(i32 noundef %14095, ptr noundef @.str.24)
  %14097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14098 = load i32, ptr %14097, align 4, !tbaa !5
  %14099 = call ptr @s2n_strerror_debug(i32 noundef %14098, ptr noundef @.str.24)
  %14100 = call ptr @__errno_location() #12
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  %14102 = call ptr @strerror(i32 noundef %14101) #11
  %14103 = call ptr @__errno_location() #12
  %14104 = load i32, ptr %14103, align 4, !tbaa !5
  %14105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14092, ptr noundef @.str.25, i32 noundef %14093, ptr noundef @.str.45, ptr noundef @.str.21, i32 noundef 584, ptr noundef %14096, ptr noundef %14099, ptr noundef %14102, i32 noundef %14104) #11
  br label %14106

14106:                                            ; preds = %14089, %14072
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %14107

14107:                                            ; preds = %14106
  br label %14108

14108:                                            ; preds = %14107
  call void @exit(i32 noundef 1) #13
  unreachable

14109:                                            ; No predecessors!
  br label %14110

14110:                                            ; preds = %14109
  br label %14111

14111:                                            ; preds = %14110, %14053
  br label %14112

14112:                                            ; preds = %14111
  br label %14113

14113:                                            ; preds = %14112
  br label %14114

14114:                                            ; preds = %14113
  %14115 = load i32, ptr @test_count, align 4, !tbaa !5
  %14116 = add nsw i32 %14115, 1
  store i32 %14116, ptr @test_count, align 4, !tbaa !5
  %14117 = load ptr, ptr %302, align 8, !tbaa !9
  %14118 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %308, ptr noundef %308, ptr noundef %14117)
  %14119 = icmp eq i32 %14118, -1
  br i1 %14119, label %14120, label %14173

14120:                                            ; preds = %14114
  br label %14121

14121:                                            ; preds = %14120
  br label %14122

14122:                                            ; preds = %14121
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %14123 = call ptr @__errno_location() #12
  %14124 = load i32, ptr %14123, align 4, !tbaa !5
  store i32 %14124, ptr %310, align 4, !tbaa !5
  %14125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14126 = call i32 @s2n_print_stacktrace(ptr noundef %14125)
  %14127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14128 = trunc i8 %14127 to i1
  br i1 %14128, label %14129, label %14151

14129:                                            ; preds = %14122
  %14130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14131 = call i32 @fileno(ptr noundef %14130) #11
  %14132 = call i32 @isatty(i32 noundef %14131) #11
  %14133 = icmp ne i32 %14132, 0
  br i1 %14133, label %14134, label %14151

14134:                                            ; preds = %14129
  %14135 = load i32, ptr %310, align 4, !tbaa !5
  %14136 = call ptr @__errno_location() #12
  store i32 %14135, ptr %14136, align 4, !tbaa !5
  %14137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14138 = load i32, ptr @test_count, align 4, !tbaa !5
  %14139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14140 = load i32, ptr %14139, align 4, !tbaa !5
  %14141 = call ptr @s2n_strerror(i32 noundef %14140, ptr noundef @.str.24)
  %14142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14143 = load i32, ptr %14142, align 4, !tbaa !5
  %14144 = call ptr @s2n_strerror_debug(i32 noundef %14143, ptr noundef @.str.24)
  %14145 = call ptr @__errno_location() #12
  %14146 = load i32, ptr %14145, align 4, !tbaa !5
  %14147 = call ptr @strerror(i32 noundef %14146) #11
  %14148 = call ptr @__errno_location() #12
  %14149 = load i32, ptr %14148, align 4, !tbaa !5
  %14150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14137, ptr noundef @.str.22, i32 noundef %14138, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 585, ptr noundef %14141, ptr noundef %14144, ptr noundef %14147, i32 noundef %14149) #11
  br label %14168

14151:                                            ; preds = %14129, %14122
  %14152 = load i32, ptr %310, align 4, !tbaa !5
  %14153 = call ptr @__errno_location() #12
  store i32 %14152, ptr %14153, align 4, !tbaa !5
  %14154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14155 = load i32, ptr @test_count, align 4, !tbaa !5
  %14156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14157 = load i32, ptr %14156, align 4, !tbaa !5
  %14158 = call ptr @s2n_strerror(i32 noundef %14157, ptr noundef @.str.24)
  %14159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14160 = load i32, ptr %14159, align 4, !tbaa !5
  %14161 = call ptr @s2n_strerror_debug(i32 noundef %14160, ptr noundef @.str.24)
  %14162 = call ptr @__errno_location() #12
  %14163 = load i32, ptr %14162, align 4, !tbaa !5
  %14164 = call ptr @strerror(i32 noundef %14163) #11
  %14165 = call ptr @__errno_location() #12
  %14166 = load i32, ptr %14165, align 4, !tbaa !5
  %14167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14154, ptr noundef @.str.25, i32 noundef %14155, ptr noundef @.str.46, ptr noundef @.str.21, i32 noundef 585, ptr noundef %14158, ptr noundef %14161, ptr noundef %14164, i32 noundef %14166) #11
  br label %14168

14168:                                            ; preds = %14151, %14134
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %14169

14169:                                            ; preds = %14168
  br label %14170

14170:                                            ; preds = %14169
  call void @exit(i32 noundef 1) #13
  unreachable

14171:                                            ; No predecessors!
  br label %14172

14172:                                            ; preds = %14171
  br label %14173

14173:                                            ; preds = %14172, %14114
  br label %14174

14174:                                            ; preds = %14173
  br label %14175

14175:                                            ; preds = %14174
  br label %14176

14176:                                            ; preds = %14175
  %14177 = load i32, ptr @test_count, align 4, !tbaa !5
  %14178 = add nsw i32 %14177, 1
  store i32 %14178, ptr @test_count, align 4, !tbaa !5
  %14179 = getelementptr inbounds [22 x i8], ptr %275, i64 0, i64 0
  %14180 = load i64, ptr %301, align 8, !tbaa !48
  %14181 = trunc i64 %14180 to i32
  %14182 = call i32 @s2n_stuffer_write_bytes(ptr noundef %308, ptr noundef %14179, i32 noundef %14181)
  %14183 = icmp eq i32 %14182, -1
  br i1 %14183, label %14184, label %14237

14184:                                            ; preds = %14176
  br label %14185

14185:                                            ; preds = %14184
  br label %14186

14186:                                            ; preds = %14185
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %14187 = call ptr @__errno_location() #12
  %14188 = load i32, ptr %14187, align 4, !tbaa !5
  store i32 %14188, ptr %311, align 4, !tbaa !5
  %14189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14190 = call i32 @s2n_print_stacktrace(ptr noundef %14189)
  %14191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14192 = trunc i8 %14191 to i1
  br i1 %14192, label %14193, label %14215

14193:                                            ; preds = %14186
  %14194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14195 = call i32 @fileno(ptr noundef %14194) #11
  %14196 = call i32 @isatty(i32 noundef %14195) #11
  %14197 = icmp ne i32 %14196, 0
  br i1 %14197, label %14198, label %14215

14198:                                            ; preds = %14193
  %14199 = load i32, ptr %311, align 4, !tbaa !5
  %14200 = call ptr @__errno_location() #12
  store i32 %14199, ptr %14200, align 4, !tbaa !5
  %14201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14202 = load i32, ptr @test_count, align 4, !tbaa !5
  %14203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14204 = load i32, ptr %14203, align 4, !tbaa !5
  %14205 = call ptr @s2n_strerror(i32 noundef %14204, ptr noundef @.str.24)
  %14206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14207 = load i32, ptr %14206, align 4, !tbaa !5
  %14208 = call ptr @s2n_strerror_debug(i32 noundef %14207, ptr noundef @.str.24)
  %14209 = call ptr @__errno_location() #12
  %14210 = load i32, ptr %14209, align 4, !tbaa !5
  %14211 = call ptr @strerror(i32 noundef %14210) #11
  %14212 = call ptr @__errno_location() #12
  %14213 = load i32, ptr %14212, align 4, !tbaa !5
  %14214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14201, ptr noundef @.str.22, i32 noundef %14202, ptr noundef @.str.115, ptr noundef @.str.21, i32 noundef 588, ptr noundef %14205, ptr noundef %14208, ptr noundef %14211, i32 noundef %14213) #11
  br label %14232

14215:                                            ; preds = %14193, %14186
  %14216 = load i32, ptr %311, align 4, !tbaa !5
  %14217 = call ptr @__errno_location() #12
  store i32 %14216, ptr %14217, align 4, !tbaa !5
  %14218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14219 = load i32, ptr @test_count, align 4, !tbaa !5
  %14220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14221 = load i32, ptr %14220, align 4, !tbaa !5
  %14222 = call ptr @s2n_strerror(i32 noundef %14221, ptr noundef @.str.24)
  %14223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14224 = load i32, ptr %14223, align 4, !tbaa !5
  %14225 = call ptr @s2n_strerror_debug(i32 noundef %14224, ptr noundef @.str.24)
  %14226 = call ptr @__errno_location() #12
  %14227 = load i32, ptr %14226, align 4, !tbaa !5
  %14228 = call ptr @strerror(i32 noundef %14227) #11
  %14229 = call ptr @__errno_location() #12
  %14230 = load i32, ptr %14229, align 4, !tbaa !5
  %14231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14218, ptr noundef @.str.25, i32 noundef %14219, ptr noundef @.str.115, ptr noundef @.str.21, i32 noundef 588, ptr noundef %14222, ptr noundef %14225, ptr noundef %14228, i32 noundef %14230) #11
  br label %14232

14232:                                            ; preds = %14215, %14198
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %14233

14233:                                            ; preds = %14232
  br label %14234

14234:                                            ; preds = %14233
  call void @exit(i32 noundef 1) #13
  unreachable

14235:                                            ; No predecessors!
  br label %14236

14236:                                            ; preds = %14235
  br label %14237

14237:                                            ; preds = %14236, %14176
  br label %14238

14238:                                            ; preds = %14237
  br label %14239

14239:                                            ; preds = %14238
  br label %14240

14240:                                            ; preds = %14239
  br label %14241

14241:                                            ; preds = %14240
  br label %14242

14242:                                            ; preds = %14241
  %14243 = load i32, ptr @test_count, align 4, !tbaa !5
  %14244 = add nsw i32 %14243, 1
  store i32 %14244, ptr @test_count, align 4, !tbaa !5
  %14245 = load ptr, ptr %302, align 8, !tbaa !9
  %14246 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %14245, ptr noundef %271)
  %14247 = icmp eq i32 %14246, -1
  br i1 %14247, label %14301, label %14248

14248:                                            ; preds = %14242
  br label %14249

14249:                                            ; preds = %14248
  br label %14250

14250:                                            ; preds = %14249
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %14251 = call ptr @__errno_location() #12
  %14252 = load i32, ptr %14251, align 4, !tbaa !5
  store i32 %14252, ptr %312, align 4, !tbaa !5
  %14253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14254 = call i32 @s2n_print_stacktrace(ptr noundef %14253)
  %14255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14256 = trunc i8 %14255 to i1
  br i1 %14256, label %14257, label %14279

14257:                                            ; preds = %14250
  %14258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14259 = call i32 @fileno(ptr noundef %14258) #11
  %14260 = call i32 @isatty(i32 noundef %14259) #11
  %14261 = icmp ne i32 %14260, 0
  br i1 %14261, label %14262, label %14279

14262:                                            ; preds = %14257
  %14263 = load i32, ptr %312, align 4, !tbaa !5
  %14264 = call ptr @__errno_location() #12
  store i32 %14263, ptr %14264, align 4, !tbaa !5
  %14265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14266 = load i32, ptr @test_count, align 4, !tbaa !5
  %14267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14268 = load i32, ptr %14267, align 4, !tbaa !5
  %14269 = call ptr @s2n_strerror(i32 noundef %14268, ptr noundef @.str.24)
  %14270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14271 = load i32, ptr %14270, align 4, !tbaa !5
  %14272 = call ptr @s2n_strerror_debug(i32 noundef %14271, ptr noundef @.str.24)
  %14273 = call ptr @__errno_location() #12
  %14274 = load i32, ptr %14273, align 4, !tbaa !5
  %14275 = call ptr @strerror(i32 noundef %14274) #11
  %14276 = call ptr @__errno_location() #12
  %14277 = load i32, ptr %14276, align 4, !tbaa !5
  %14278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14265, ptr noundef @.str.22, i32 noundef %14266, ptr noundef @.str.108, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14269, ptr noundef %14272, ptr noundef %14275, i32 noundef %14277) #11
  br label %14296

14279:                                            ; preds = %14257, %14250
  %14280 = load i32, ptr %312, align 4, !tbaa !5
  %14281 = call ptr @__errno_location() #12
  store i32 %14280, ptr %14281, align 4, !tbaa !5
  %14282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14283 = load i32, ptr @test_count, align 4, !tbaa !5
  %14284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14285 = load i32, ptr %14284, align 4, !tbaa !5
  %14286 = call ptr @s2n_strerror(i32 noundef %14285, ptr noundef @.str.24)
  %14287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14288 = load i32, ptr %14287, align 4, !tbaa !5
  %14289 = call ptr @s2n_strerror_debug(i32 noundef %14288, ptr noundef @.str.24)
  %14290 = call ptr @__errno_location() #12
  %14291 = load i32, ptr %14290, align 4, !tbaa !5
  %14292 = call ptr @strerror(i32 noundef %14291) #11
  %14293 = call ptr @__errno_location() #12
  %14294 = load i32, ptr %14293, align 4, !tbaa !5
  %14295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14282, ptr noundef @.str.25, i32 noundef %14283, ptr noundef @.str.108, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14286, ptr noundef %14289, ptr noundef %14292, i32 noundef %14294) #11
  br label %14296

14296:                                            ; preds = %14279, %14262
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %14297

14297:                                            ; preds = %14296
  br label %14298

14298:                                            ; preds = %14297
  call void @exit(i32 noundef 1) #13
  unreachable

14299:                                            ; No predecessors!
  br label %14300

14300:                                            ; preds = %14299
  br label %14301

14301:                                            ; preds = %14300, %14242
  br label %14302

14302:                                            ; preds = %14301
  br label %14303

14303:                                            ; preds = %14302
  br label %14304

14304:                                            ; preds = %14303
  %14305 = load i32, ptr @test_count, align 4, !tbaa !5
  %14306 = add nsw i32 %14305, 1
  store i32 %14306, ptr @test_count, align 4, !tbaa !5
  %14307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14308 = load i32, ptr %14307, align 4, !tbaa !5
  %14309 = icmp eq i32 %14308, 201326592
  br i1 %14309, label %14363, label %14310

14310:                                            ; preds = %14304
  br label %14311

14311:                                            ; preds = %14310
  br label %14312

14312:                                            ; preds = %14311
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %14313 = call ptr @__errno_location() #12
  %14314 = load i32, ptr %14313, align 4, !tbaa !5
  store i32 %14314, ptr %313, align 4, !tbaa !5
  %14315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14316 = call i32 @s2n_print_stacktrace(ptr noundef %14315)
  %14317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14318 = trunc i8 %14317 to i1
  br i1 %14318, label %14319, label %14341

14319:                                            ; preds = %14312
  %14320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14321 = call i32 @fileno(ptr noundef %14320) #11
  %14322 = call i32 @isatty(i32 noundef %14321) #11
  %14323 = icmp ne i32 %14322, 0
  br i1 %14323, label %14324, label %14341

14324:                                            ; preds = %14319
  %14325 = load i32, ptr %313, align 4, !tbaa !5
  %14326 = call ptr @__errno_location() #12
  store i32 %14325, ptr %14326, align 4, !tbaa !5
  %14327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14328 = load i32, ptr @test_count, align 4, !tbaa !5
  %14329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14330 = load i32, ptr %14329, align 4, !tbaa !5
  %14331 = call ptr @s2n_strerror(i32 noundef %14330, ptr noundef @.str.24)
  %14332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14333 = load i32, ptr %14332, align 4, !tbaa !5
  %14334 = call ptr @s2n_strerror_debug(i32 noundef %14333, ptr noundef @.str.24)
  %14335 = call ptr @__errno_location() #12
  %14336 = load i32, ptr %14335, align 4, !tbaa !5
  %14337 = call ptr @strerror(i32 noundef %14336) #11
  %14338 = call ptr @__errno_location() #12
  %14339 = load i32, ptr %14338, align 4, !tbaa !5
  %14340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14327, ptr noundef @.str.22, i32 noundef %14328, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14331, ptr noundef %14334, ptr noundef %14337, i32 noundef %14339) #11
  br label %14358

14341:                                            ; preds = %14319, %14312
  %14342 = load i32, ptr %313, align 4, !tbaa !5
  %14343 = call ptr @__errno_location() #12
  store i32 %14342, ptr %14343, align 4, !tbaa !5
  %14344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14345 = load i32, ptr @test_count, align 4, !tbaa !5
  %14346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14347 = load i32, ptr %14346, align 4, !tbaa !5
  %14348 = call ptr @s2n_strerror(i32 noundef %14347, ptr noundef @.str.24)
  %14349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14350 = load i32, ptr %14349, align 4, !tbaa !5
  %14351 = call ptr @s2n_strerror_debug(i32 noundef %14350, ptr noundef @.str.24)
  %14352 = call ptr @__errno_location() #12
  %14353 = load i32, ptr %14352, align 4, !tbaa !5
  %14354 = call ptr @strerror(i32 noundef %14353) #11
  %14355 = call ptr @__errno_location() #12
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14344, ptr noundef @.str.25, i32 noundef %14345, ptr noundef @.str.58, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14348, ptr noundef %14351, ptr noundef %14354, i32 noundef %14356) #11
  br label %14358

14358:                                            ; preds = %14341, %14324
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %14359

14359:                                            ; preds = %14358
  br label %14360

14360:                                            ; preds = %14359
  call void @exit(i32 noundef 1) #13
  unreachable

14361:                                            ; No predecessors!
  br label %14362

14362:                                            ; preds = %14361
  br label %14363

14363:                                            ; preds = %14362, %14304
  br label %14364

14364:                                            ; preds = %14363
  br label %14365

14365:                                            ; preds = %14364
  br label %14366

14366:                                            ; preds = %14365
  %14367 = load i32, ptr @test_count, align 4, !tbaa !5
  %14368 = add nsw i32 %14367, 1
  store i32 %14368, ptr @test_count, align 4, !tbaa !5
  %14369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14370 = load i32, ptr %14369, align 4, !tbaa !5
  %14371 = call ptr @s2n_strerror_debug(i32 noundef %14370, ptr noundef @.str.24)
  %14372 = icmp eq ptr %14371, null
  br i1 %14372, label %14373, label %14426

14373:                                            ; preds = %14366
  br label %14374

14374:                                            ; preds = %14373
  br label %14375

14375:                                            ; preds = %14374
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %14376 = call ptr @__errno_location() #12
  %14377 = load i32, ptr %14376, align 4, !tbaa !5
  store i32 %14377, ptr %314, align 4, !tbaa !5
  %14378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14379 = call i32 @s2n_print_stacktrace(ptr noundef %14378)
  %14380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14381 = trunc i8 %14380 to i1
  br i1 %14381, label %14382, label %14404

14382:                                            ; preds = %14375
  %14383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14384 = call i32 @fileno(ptr noundef %14383) #11
  %14385 = call i32 @isatty(i32 noundef %14384) #11
  %14386 = icmp ne i32 %14385, 0
  br i1 %14386, label %14387, label %14404

14387:                                            ; preds = %14382
  %14388 = load i32, ptr %314, align 4, !tbaa !5
  %14389 = call ptr @__errno_location() #12
  store i32 %14388, ptr %14389, align 4, !tbaa !5
  %14390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14391 = load i32, ptr @test_count, align 4, !tbaa !5
  %14392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14393 = load i32, ptr %14392, align 4, !tbaa !5
  %14394 = call ptr @s2n_strerror(i32 noundef %14393, ptr noundef @.str.24)
  %14395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14396 = load i32, ptr %14395, align 4, !tbaa !5
  %14397 = call ptr @s2n_strerror_debug(i32 noundef %14396, ptr noundef @.str.24)
  %14398 = call ptr @__errno_location() #12
  %14399 = load i32, ptr %14398, align 4, !tbaa !5
  %14400 = call ptr @strerror(i32 noundef %14399) #11
  %14401 = call ptr @__errno_location() #12
  %14402 = load i32, ptr %14401, align 4, !tbaa !5
  %14403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14390, ptr noundef @.str.22, i32 noundef %14391, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14394, ptr noundef %14397, ptr noundef %14400, i32 noundef %14402) #11
  br label %14421

14404:                                            ; preds = %14382, %14375
  %14405 = load i32, ptr %314, align 4, !tbaa !5
  %14406 = call ptr @__errno_location() #12
  store i32 %14405, ptr %14406, align 4, !tbaa !5
  %14407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14408 = load i32, ptr @test_count, align 4, !tbaa !5
  %14409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14410 = load i32, ptr %14409, align 4, !tbaa !5
  %14411 = call ptr @s2n_strerror(i32 noundef %14410, ptr noundef @.str.24)
  %14412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14413 = load i32, ptr %14412, align 4, !tbaa !5
  %14414 = call ptr @s2n_strerror_debug(i32 noundef %14413, ptr noundef @.str.24)
  %14415 = call ptr @__errno_location() #12
  %14416 = load i32, ptr %14415, align 4, !tbaa !5
  %14417 = call ptr @strerror(i32 noundef %14416) #11
  %14418 = call ptr @__errno_location() #12
  %14419 = load i32, ptr %14418, align 4, !tbaa !5
  %14420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14407, ptr noundef @.str.25, i32 noundef %14408, ptr noundef @.str.36, ptr noundef @.str.21, i32 noundef 590, ptr noundef %14411, ptr noundef %14414, ptr noundef %14417, i32 noundef %14419) #11
  br label %14421

14421:                                            ; preds = %14404, %14387
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %14422

14422:                                            ; preds = %14421
  br label %14423

14423:                                            ; preds = %14422
  call void @exit(i32 noundef 1) #13
  unreachable

14424:                                            ; No predecessors!
  br label %14425

14425:                                            ; preds = %14424
  br label %14426

14426:                                            ; preds = %14425, %14366
  br label %14427

14427:                                            ; preds = %14426
  br label %14428

14428:                                            ; preds = %14427
  br label %14429

14429:                                            ; preds = %14428
  br label %14430

14430:                                            ; preds = %14429
  br label %14431

14431:                                            ; preds = %14430
  %14432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14432, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14433 = call ptr @__errno_location() #12
  store i32 0, ptr %14433, align 4, !tbaa !5
  br label %14434

14434:                                            ; preds = %14431
  br label %14435

14435:                                            ; preds = %14434
  br label %14436

14436:                                            ; preds = %14435
  br label %14437

14437:                                            ; preds = %14436
  br label %14438

14438:                                            ; preds = %14437
  %14439 = load i32, ptr @test_count, align 4, !tbaa !5
  %14440 = add nsw i32 %14439, 1
  store i32 %14440, ptr @test_count, align 4, !tbaa !5
  %14441 = load i32, ptr %271, align 4, !tbaa !5
  %14442 = icmp eq i32 %14441, 1
  br i1 %14442, label %14496, label %14443

14443:                                            ; preds = %14438
  br label %14444

14444:                                            ; preds = %14443
  br label %14445

14445:                                            ; preds = %14444
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %14446 = call ptr @__errno_location() #12
  %14447 = load i32, ptr %14446, align 4, !tbaa !5
  store i32 %14447, ptr %315, align 4, !tbaa !5
  %14448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14449 = call i32 @s2n_print_stacktrace(ptr noundef %14448)
  %14450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14451 = trunc i8 %14450 to i1
  br i1 %14451, label %14452, label %14474

14452:                                            ; preds = %14445
  %14453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14454 = call i32 @fileno(ptr noundef %14453) #11
  %14455 = call i32 @isatty(i32 noundef %14454) #11
  %14456 = icmp ne i32 %14455, 0
  br i1 %14456, label %14457, label %14474

14457:                                            ; preds = %14452
  %14458 = load i32, ptr %315, align 4, !tbaa !5
  %14459 = call ptr @__errno_location() #12
  store i32 %14458, ptr %14459, align 4, !tbaa !5
  %14460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14461 = load i32, ptr @test_count, align 4, !tbaa !5
  %14462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14463 = load i32, ptr %14462, align 4, !tbaa !5
  %14464 = call ptr @s2n_strerror(i32 noundef %14463, ptr noundef @.str.24)
  %14465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  %14467 = call ptr @s2n_strerror_debug(i32 noundef %14466, ptr noundef @.str.24)
  %14468 = call ptr @__errno_location() #12
  %14469 = load i32, ptr %14468, align 4, !tbaa !5
  %14470 = call ptr @strerror(i32 noundef %14469) #11
  %14471 = call ptr @__errno_location() #12
  %14472 = load i32, ptr %14471, align 4, !tbaa !5
  %14473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14460, ptr noundef @.str.22, i32 noundef %14461, ptr noundef @.str.116, ptr noundef @.str.21, i32 noundef 591, ptr noundef %14464, ptr noundef %14467, ptr noundef %14470, i32 noundef %14472) #11
  br label %14491

14474:                                            ; preds = %14452, %14445
  %14475 = load i32, ptr %315, align 4, !tbaa !5
  %14476 = call ptr @__errno_location() #12
  store i32 %14475, ptr %14476, align 4, !tbaa !5
  %14477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14478 = load i32, ptr @test_count, align 4, !tbaa !5
  %14479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14480 = load i32, ptr %14479, align 4, !tbaa !5
  %14481 = call ptr @s2n_strerror(i32 noundef %14480, ptr noundef @.str.24)
  %14482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14483 = load i32, ptr %14482, align 4, !tbaa !5
  %14484 = call ptr @s2n_strerror_debug(i32 noundef %14483, ptr noundef @.str.24)
  %14485 = call ptr @__errno_location() #12
  %14486 = load i32, ptr %14485, align 4, !tbaa !5
  %14487 = call ptr @strerror(i32 noundef %14486) #11
  %14488 = call ptr @__errno_location() #12
  %14489 = load i32, ptr %14488, align 4, !tbaa !5
  %14490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14477, ptr noundef @.str.25, i32 noundef %14478, ptr noundef @.str.116, ptr noundef @.str.21, i32 noundef 591, ptr noundef %14481, ptr noundef %14484, ptr noundef %14487, i32 noundef %14489) #11
  br label %14491

14491:                                            ; preds = %14474, %14457
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %14492

14492:                                            ; preds = %14491
  br label %14493

14493:                                            ; preds = %14492
  call void @exit(i32 noundef 1) #13
  unreachable

14494:                                            ; No predecessors!
  br label %14495

14495:                                            ; preds = %14494
  br label %14496

14496:                                            ; preds = %14495, %14438
  br label %14497

14497:                                            ; preds = %14496
  br label %14498

14498:                                            ; preds = %14497
  br label %14499

14499:                                            ; preds = %14498
  %14500 = load i32, ptr @test_count, align 4, !tbaa !5
  %14501 = add nsw i32 %14500, 1
  store i32 %14501, ptr @test_count, align 4, !tbaa !5
  %14502 = load i8, ptr %305, align 1, !tbaa !43
  %14503 = zext i8 %14502 to i32
  %14504 = icmp eq i32 %14503, 0
  br i1 %14504, label %14558, label %14505

14505:                                            ; preds = %14499
  br label %14506

14506:                                            ; preds = %14505
  br label %14507

14507:                                            ; preds = %14506
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %14508 = call ptr @__errno_location() #12
  %14509 = load i32, ptr %14508, align 4, !tbaa !5
  store i32 %14509, ptr %316, align 4, !tbaa !5
  %14510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14511 = call i32 @s2n_print_stacktrace(ptr noundef %14510)
  %14512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14513 = trunc i8 %14512 to i1
  br i1 %14513, label %14514, label %14536

14514:                                            ; preds = %14507
  %14515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14516 = call i32 @fileno(ptr noundef %14515) #11
  %14517 = call i32 @isatty(i32 noundef %14516) #11
  %14518 = icmp ne i32 %14517, 0
  br i1 %14518, label %14519, label %14536

14519:                                            ; preds = %14514
  %14520 = load i32, ptr %316, align 4, !tbaa !5
  %14521 = call ptr @__errno_location() #12
  store i32 %14520, ptr %14521, align 4, !tbaa !5
  %14522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14523 = load i32, ptr @test_count, align 4, !tbaa !5
  %14524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14525 = load i32, ptr %14524, align 4, !tbaa !5
  %14526 = call ptr @s2n_strerror(i32 noundef %14525, ptr noundef @.str.24)
  %14527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14528 = load i32, ptr %14527, align 4, !tbaa !5
  %14529 = call ptr @s2n_strerror_debug(i32 noundef %14528, ptr noundef @.str.24)
  %14530 = call ptr @__errno_location() #12
  %14531 = load i32, ptr %14530, align 4, !tbaa !5
  %14532 = call ptr @strerror(i32 noundef %14531) #11
  %14533 = call ptr @__errno_location() #12
  %14534 = load i32, ptr %14533, align 4, !tbaa !5
  %14535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14522, ptr noundef @.str.22, i32 noundef %14523, ptr noundef @.str.117, ptr noundef @.str.21, i32 noundef 594, ptr noundef %14526, ptr noundef %14529, ptr noundef %14532, i32 noundef %14534) #11
  br label %14553

14536:                                            ; preds = %14514, %14507
  %14537 = load i32, ptr %316, align 4, !tbaa !5
  %14538 = call ptr @__errno_location() #12
  store i32 %14537, ptr %14538, align 4, !tbaa !5
  %14539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14540 = load i32, ptr @test_count, align 4, !tbaa !5
  %14541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14542 = load i32, ptr %14541, align 4, !tbaa !5
  %14543 = call ptr @s2n_strerror(i32 noundef %14542, ptr noundef @.str.24)
  %14544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14545 = load i32, ptr %14544, align 4, !tbaa !5
  %14546 = call ptr @s2n_strerror_debug(i32 noundef %14545, ptr noundef @.str.24)
  %14547 = call ptr @__errno_location() #12
  %14548 = load i32, ptr %14547, align 4, !tbaa !5
  %14549 = call ptr @strerror(i32 noundef %14548) #11
  %14550 = call ptr @__errno_location() #12
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  %14552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14539, ptr noundef @.str.25, i32 noundef %14540, ptr noundef @.str.117, ptr noundef @.str.21, i32 noundef 594, ptr noundef %14543, ptr noundef %14546, ptr noundef %14549, i32 noundef %14551) #11
  br label %14553

14553:                                            ; preds = %14536, %14519
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %14554

14554:                                            ; preds = %14553
  br label %14555

14555:                                            ; preds = %14554
  call void @exit(i32 noundef 1) #13
  unreachable

14556:                                            ; No predecessors!
  br label %14557

14557:                                            ; preds = %14556
  br label %14558

14558:                                            ; preds = %14557, %14499
  br label %14559

14559:                                            ; preds = %14558
  br label %14560

14560:                                            ; preds = %14559
  br label %14561

14561:                                            ; preds = %14560
  %14562 = load i32, ptr @test_count, align 4, !tbaa !5
  %14563 = add nsw i32 %14562, 1
  store i32 %14563, ptr @test_count, align 4, !tbaa !5
  %14564 = getelementptr inbounds [22 x i8], ptr %275, i64 0, i64 0
  %14565 = load i64, ptr %301, align 8, !tbaa !48
  %14566 = getelementptr inbounds i8, ptr %14564, i64 %14565
  %14567 = load i64, ptr %301, align 8, !tbaa !48
  %14568 = sub i64 22, %14567
  %14569 = trunc i64 %14568 to i32
  %14570 = call i32 @s2n_stuffer_write_bytes(ptr noundef %308, ptr noundef %14566, i32 noundef %14569)
  %14571 = icmp eq i32 %14570, -1
  br i1 %14571, label %14572, label %14625

14572:                                            ; preds = %14561
  br label %14573

14573:                                            ; preds = %14572
  br label %14574

14574:                                            ; preds = %14573
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %14575 = call ptr @__errno_location() #12
  %14576 = load i32, ptr %14575, align 4, !tbaa !5
  store i32 %14576, ptr %317, align 4, !tbaa !5
  %14577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14578 = call i32 @s2n_print_stacktrace(ptr noundef %14577)
  %14579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14580 = trunc i8 %14579 to i1
  br i1 %14580, label %14581, label %14603

14581:                                            ; preds = %14574
  %14582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14583 = call i32 @fileno(ptr noundef %14582) #11
  %14584 = call i32 @isatty(i32 noundef %14583) #11
  %14585 = icmp ne i32 %14584, 0
  br i1 %14585, label %14586, label %14603

14586:                                            ; preds = %14581
  %14587 = load i32, ptr %317, align 4, !tbaa !5
  %14588 = call ptr @__errno_location() #12
  store i32 %14587, ptr %14588, align 4, !tbaa !5
  %14589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14590 = load i32, ptr @test_count, align 4, !tbaa !5
  %14591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14592 = load i32, ptr %14591, align 4, !tbaa !5
  %14593 = call ptr @s2n_strerror(i32 noundef %14592, ptr noundef @.str.24)
  %14594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14595 = load i32, ptr %14594, align 4, !tbaa !5
  %14596 = call ptr @s2n_strerror_debug(i32 noundef %14595, ptr noundef @.str.24)
  %14597 = call ptr @__errno_location() #12
  %14598 = load i32, ptr %14597, align 4, !tbaa !5
  %14599 = call ptr @strerror(i32 noundef %14598) #11
  %14600 = call ptr @__errno_location() #12
  %14601 = load i32, ptr %14600, align 4, !tbaa !5
  %14602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14589, ptr noundef @.str.22, i32 noundef %14590, ptr noundef @.str.118, ptr noundef @.str.21, i32 noundef 597, ptr noundef %14593, ptr noundef %14596, ptr noundef %14599, i32 noundef %14601) #11
  br label %14620

14603:                                            ; preds = %14581, %14574
  %14604 = load i32, ptr %317, align 4, !tbaa !5
  %14605 = call ptr @__errno_location() #12
  store i32 %14604, ptr %14605, align 4, !tbaa !5
  %14606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14607 = load i32, ptr @test_count, align 4, !tbaa !5
  %14608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14609 = load i32, ptr %14608, align 4, !tbaa !5
  %14610 = call ptr @s2n_strerror(i32 noundef %14609, ptr noundef @.str.24)
  %14611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14612 = load i32, ptr %14611, align 4, !tbaa !5
  %14613 = call ptr @s2n_strerror_debug(i32 noundef %14612, ptr noundef @.str.24)
  %14614 = call ptr @__errno_location() #12
  %14615 = load i32, ptr %14614, align 4, !tbaa !5
  %14616 = call ptr @strerror(i32 noundef %14615) #11
  %14617 = call ptr @__errno_location() #12
  %14618 = load i32, ptr %14617, align 4, !tbaa !5
  %14619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14606, ptr noundef @.str.25, i32 noundef %14607, ptr noundef @.str.118, ptr noundef @.str.21, i32 noundef 597, ptr noundef %14610, ptr noundef %14613, ptr noundef %14616, i32 noundef %14618) #11
  br label %14620

14620:                                            ; preds = %14603, %14586
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %14621

14621:                                            ; preds = %14620
  br label %14622

14622:                                            ; preds = %14621
  call void @exit(i32 noundef 1) #13
  unreachable

14623:                                            ; No predecessors!
  br label %14624

14624:                                            ; preds = %14623
  br label %14625

14625:                                            ; preds = %14624, %14561
  br label %14626

14626:                                            ; preds = %14625
  br label %14627

14627:                                            ; preds = %14626
  br label %14628

14628:                                            ; preds = %14627
  %14629 = load i32, ptr @test_count, align 4, !tbaa !5
  %14630 = add nsw i32 %14629, 1
  store i32 %14630, ptr @test_count, align 4, !tbaa !5
  %14631 = load ptr, ptr %302, align 8, !tbaa !9
  %14632 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %14631, ptr noundef %271)
  %14633 = icmp eq i32 %14632, -1
  br i1 %14633, label %14634, label %14687

14634:                                            ; preds = %14628
  br label %14635

14635:                                            ; preds = %14634
  br label %14636

14636:                                            ; preds = %14635
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %14637 = call ptr @__errno_location() #12
  %14638 = load i32, ptr %14637, align 4, !tbaa !5
  store i32 %14638, ptr %318, align 4, !tbaa !5
  %14639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14640 = call i32 @s2n_print_stacktrace(ptr noundef %14639)
  %14641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14642 = trunc i8 %14641 to i1
  br i1 %14642, label %14643, label %14665

14643:                                            ; preds = %14636
  %14644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14645 = call i32 @fileno(ptr noundef %14644) #11
  %14646 = call i32 @isatty(i32 noundef %14645) #11
  %14647 = icmp ne i32 %14646, 0
  br i1 %14647, label %14648, label %14665

14648:                                            ; preds = %14643
  %14649 = load i32, ptr %318, align 4, !tbaa !5
  %14650 = call ptr @__errno_location() #12
  store i32 %14649, ptr %14650, align 4, !tbaa !5
  %14651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14652 = load i32, ptr @test_count, align 4, !tbaa !5
  %14653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14654 = load i32, ptr %14653, align 4, !tbaa !5
  %14655 = call ptr @s2n_strerror(i32 noundef %14654, ptr noundef @.str.24)
  %14656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14657 = load i32, ptr %14656, align 4, !tbaa !5
  %14658 = call ptr @s2n_strerror_debug(i32 noundef %14657, ptr noundef @.str.24)
  %14659 = call ptr @__errno_location() #12
  %14660 = load i32, ptr %14659, align 4, !tbaa !5
  %14661 = call ptr @strerror(i32 noundef %14660) #11
  %14662 = call ptr @__errno_location() #12
  %14663 = load i32, ptr %14662, align 4, !tbaa !5
  %14664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14651, ptr noundef @.str.22, i32 noundef %14652, ptr noundef @.str.113, ptr noundef @.str.21, i32 noundef 599, ptr noundef %14655, ptr noundef %14658, ptr noundef %14661, i32 noundef %14663) #11
  br label %14682

14665:                                            ; preds = %14643, %14636
  %14666 = load i32, ptr %318, align 4, !tbaa !5
  %14667 = call ptr @__errno_location() #12
  store i32 %14666, ptr %14667, align 4, !tbaa !5
  %14668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14669 = load i32, ptr @test_count, align 4, !tbaa !5
  %14670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  %14672 = call ptr @s2n_strerror(i32 noundef %14671, ptr noundef @.str.24)
  %14673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @s2n_strerror_debug(i32 noundef %14674, ptr noundef @.str.24)
  %14676 = call ptr @__errno_location() #12
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call ptr @strerror(i32 noundef %14677) #11
  %14679 = call ptr @__errno_location() #12
  %14680 = load i32, ptr %14679, align 4, !tbaa !5
  %14681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14668, ptr noundef @.str.25, i32 noundef %14669, ptr noundef @.str.113, ptr noundef @.str.21, i32 noundef 599, ptr noundef %14672, ptr noundef %14675, ptr noundef %14678, i32 noundef %14680) #11
  br label %14682

14682:                                            ; preds = %14665, %14648
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %14683

14683:                                            ; preds = %14682
  br label %14684

14684:                                            ; preds = %14683
  call void @exit(i32 noundef 1) #13
  unreachable

14685:                                            ; No predecessors!
  br label %14686

14686:                                            ; preds = %14685
  br label %14687

14687:                                            ; preds = %14686, %14628
  br label %14688

14688:                                            ; preds = %14687
  br label %14689

14689:                                            ; preds = %14688
  br label %14690

14690:                                            ; preds = %14689
  %14691 = load i32, ptr @test_count, align 4, !tbaa !5
  %14692 = add nsw i32 %14691, 1
  store i32 %14692, ptr @test_count, align 4, !tbaa !5
  %14693 = load i8, ptr %305, align 1, !tbaa !43
  %14694 = zext i8 %14693 to i32
  %14695 = icmp eq i32 %14694, 1
  br i1 %14695, label %14749, label %14696

14696:                                            ; preds = %14690
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

14698:                                            ; preds = %14697
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %14699 = call ptr @__errno_location() #12
  %14700 = load i32, ptr %14699, align 4, !tbaa !5
  store i32 %14700, ptr %319, align 4, !tbaa !5
  %14701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14702 = call i32 @s2n_print_stacktrace(ptr noundef %14701)
  %14703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14704 = trunc i8 %14703 to i1
  br i1 %14704, label %14705, label %14727

14705:                                            ; preds = %14698
  %14706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14707 = call i32 @fileno(ptr noundef %14706) #11
  %14708 = call i32 @isatty(i32 noundef %14707) #11
  %14709 = icmp ne i32 %14708, 0
  br i1 %14709, label %14710, label %14727

14710:                                            ; preds = %14705
  %14711 = load i32, ptr %319, align 4, !tbaa !5
  %14712 = call ptr @__errno_location() #12
  store i32 %14711, ptr %14712, align 4, !tbaa !5
  %14713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14714 = load i32, ptr @test_count, align 4, !tbaa !5
  %14715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14716 = load i32, ptr %14715, align 4, !tbaa !5
  %14717 = call ptr @s2n_strerror(i32 noundef %14716, ptr noundef @.str.24)
  %14718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14719 = load i32, ptr %14718, align 4, !tbaa !5
  %14720 = call ptr @s2n_strerror_debug(i32 noundef %14719, ptr noundef @.str.24)
  %14721 = call ptr @__errno_location() #12
  %14722 = load i32, ptr %14721, align 4, !tbaa !5
  %14723 = call ptr @strerror(i32 noundef %14722) #11
  %14724 = call ptr @__errno_location() #12
  %14725 = load i32, ptr %14724, align 4, !tbaa !5
  %14726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14713, ptr noundef @.str.22, i32 noundef %14714, ptr noundef @.str.114, ptr noundef @.str.21, i32 noundef 602, ptr noundef %14717, ptr noundef %14720, ptr noundef %14723, i32 noundef %14725) #11
  br label %14744

14727:                                            ; preds = %14705, %14698
  %14728 = load i32, ptr %319, align 4, !tbaa !5
  %14729 = call ptr @__errno_location() #12
  store i32 %14728, ptr %14729, align 4, !tbaa !5
  %14730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14731 = load i32, ptr @test_count, align 4, !tbaa !5
  %14732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14733 = load i32, ptr %14732, align 4, !tbaa !5
  %14734 = call ptr @s2n_strerror(i32 noundef %14733, ptr noundef @.str.24)
  %14735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14736 = load i32, ptr %14735, align 4, !tbaa !5
  %14737 = call ptr @s2n_strerror_debug(i32 noundef %14736, ptr noundef @.str.24)
  %14738 = call ptr @__errno_location() #12
  %14739 = load i32, ptr %14738, align 4, !tbaa !5
  %14740 = call ptr @strerror(i32 noundef %14739) #11
  %14741 = call ptr @__errno_location() #12
  %14742 = load i32, ptr %14741, align 4, !tbaa !5
  %14743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14730, ptr noundef @.str.25, i32 noundef %14731, ptr noundef @.str.114, ptr noundef @.str.21, i32 noundef 602, ptr noundef %14734, ptr noundef %14737, ptr noundef %14740, i32 noundef %14742) #11
  br label %14744

14744:                                            ; preds = %14727, %14710
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %14745

14745:                                            ; preds = %14744
  br label %14746

14746:                                            ; preds = %14745
  call void @exit(i32 noundef 1) #13
  unreachable

14747:                                            ; No predecessors!
  br label %14748

14748:                                            ; preds = %14747
  br label %14749

14749:                                            ; preds = %14748, %14690
  br label %14750

14750:                                            ; preds = %14749
  br label %14751

14751:                                            ; preds = %14750
  %14752 = call i32 @s2n_stuffer_free(ptr noundef %308)
  call void @llvm.lifetime.end.p0(i64 40, ptr %308) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %305) #11
  %14753 = call i32 @s2n_config_ptr_free(ptr noundef %303)
  %14754 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %14753, ptr %14754, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #11
  %14755 = call i32 @s2n_connection_ptr_free(ptr noundef %302)
  %14756 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  store i32 %14755, ptr %14756, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #11
  br label %14757

14757:                                            ; preds = %14751
  %14758 = load i64, ptr %301, align 8, !tbaa !48
  %14759 = add i64 %14758, 1
  store i64 %14759, ptr %301, align 8, !tbaa !48
  br label %13855, !llvm.loop !65

14760:                                            ; preds = %13858
  call void @llvm.lifetime.end.p0(i64 22, ptr %275) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %14761

14761:                                            ; preds = %14760
  br label %14762

14762:                                            ; preds = %14761
  %14763 = call i32 @s2n_cleanup()
  %14764 = icmp eq i32 %14763, -1
  br i1 %14764, label %14765, label %14816

14765:                                            ; preds = %14762
  br label %14766

14766:                                            ; preds = %14765
  br label %14767

14767:                                            ; preds = %14766
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %14768 = call ptr @__errno_location() #12
  %14769 = load i32, ptr %14768, align 4, !tbaa !5
  store i32 %14769, ptr %322, align 4, !tbaa !5
  %14770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14771 = call i32 @s2n_print_stacktrace(ptr noundef %14770)
  %14772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14773 = trunc i8 %14772 to i1
  br i1 %14773, label %14774, label %14796

14774:                                            ; preds = %14767
  %14775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14776 = call i32 @fileno(ptr noundef %14775) #11
  %14777 = call i32 @isatty(i32 noundef %14776) #11
  %14778 = icmp ne i32 %14777, 0
  br i1 %14778, label %14779, label %14796

14779:                                            ; preds = %14774
  %14780 = load i32, ptr %322, align 4, !tbaa !5
  %14781 = call ptr @__errno_location() #12
  store i32 %14780, ptr %14781, align 4, !tbaa !5
  %14782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14783 = load i32, ptr @test_count, align 4, !tbaa !5
  %14784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14785 = load i32, ptr %14784, align 4, !tbaa !5
  %14786 = call ptr @s2n_strerror(i32 noundef %14785, ptr noundef @.str.24)
  %14787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14788 = load i32, ptr %14787, align 4, !tbaa !5
  %14789 = call ptr @s2n_strerror_debug(i32 noundef %14788, ptr noundef @.str.24)
  %14790 = call ptr @__errno_location() #12
  %14791 = load i32, ptr %14790, align 4, !tbaa !5
  %14792 = call ptr @strerror(i32 noundef %14791) #11
  %14793 = call ptr @__errno_location() #12
  %14794 = load i32, ptr %14793, align 4, !tbaa !5
  %14795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14782, ptr noundef @.str.22, i32 noundef %14783, ptr noundef @.str.28, ptr noundef @.str.21, i32 noundef 606, ptr noundef %14786, ptr noundef %14789, ptr noundef %14792, i32 noundef %14794) #11
  br label %14813

14796:                                            ; preds = %14774, %14767
  %14797 = load i32, ptr %322, align 4, !tbaa !5
  %14798 = call ptr @__errno_location() #12
  store i32 %14797, ptr %14798, align 4, !tbaa !5
  %14799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14800 = load i32, ptr @test_count, align 4, !tbaa !5
  %14801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14802 = load i32, ptr %14801, align 4, !tbaa !5
  %14803 = call ptr @s2n_strerror(i32 noundef %14802, ptr noundef @.str.24)
  %14804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14805 = load i32, ptr %14804, align 4, !tbaa !5
  %14806 = call ptr @s2n_strerror_debug(i32 noundef %14805, ptr noundef @.str.24)
  %14807 = call ptr @__errno_location() #12
  %14808 = load i32, ptr %14807, align 4, !tbaa !5
  %14809 = call ptr @strerror(i32 noundef %14808) #11
  %14810 = call ptr @__errno_location() #12
  %14811 = load i32, ptr %14810, align 4, !tbaa !5
  %14812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14799, ptr noundef @.str.25, i32 noundef %14800, ptr noundef @.str.28, ptr noundef @.str.21, i32 noundef 606, ptr noundef %14803, ptr noundef %14806, ptr noundef %14809, i32 noundef %14811) #11
  br label %14813

14813:                                            ; preds = %14796, %14779
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %14814

14814:                                            ; preds = %14813
  call void @exit(i32 noundef 1) #13
  unreachable

14815:                                            ; No predecessors!
  br label %14816

14816:                                            ; preds = %14815, %14762
  br label %14817

14817:                                            ; preds = %14816
  br label %14818

14818:                                            ; preds = %14817
  br label %14819

14819:                                            ; preds = %14818
  %14820 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %14821 = icmp eq i32 %14820, -1
  br i1 %14821, label %14822, label %14873

14822:                                            ; preds = %14819
  br label %14823

14823:                                            ; preds = %14822
  br label %14824

14824:                                            ; preds = %14823
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %14825 = call ptr @__errno_location() #12
  %14826 = load i32, ptr %14825, align 4, !tbaa !5
  store i32 %14826, ptr %323, align 4, !tbaa !5
  %14827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14828 = call i32 @s2n_print_stacktrace(ptr noundef %14827)
  %14829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14830 = trunc i8 %14829 to i1
  br i1 %14830, label %14831, label %14853

14831:                                            ; preds = %14824
  %14832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14833 = call i32 @fileno(ptr noundef %14832) #11
  %14834 = call i32 @isatty(i32 noundef %14833) #11
  %14835 = icmp ne i32 %14834, 0
  br i1 %14835, label %14836, label %14853

14836:                                            ; preds = %14831
  %14837 = load i32, ptr %323, align 4, !tbaa !5
  %14838 = call ptr @__errno_location() #12
  store i32 %14837, ptr %14838, align 4, !tbaa !5
  %14839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14840 = load i32, ptr @test_count, align 4, !tbaa !5
  %14841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14842 = load i32, ptr %14841, align 4, !tbaa !5
  %14843 = call ptr @s2n_strerror(i32 noundef %14842, ptr noundef @.str.24)
  %14844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14845 = load i32, ptr %14844, align 4, !tbaa !5
  %14846 = call ptr @s2n_strerror_debug(i32 noundef %14845, ptr noundef @.str.24)
  %14847 = call ptr @__errno_location() #12
  %14848 = load i32, ptr %14847, align 4, !tbaa !5
  %14849 = call ptr @strerror(i32 noundef %14848) #11
  %14850 = call ptr @__errno_location() #12
  %14851 = load i32, ptr %14850, align 4, !tbaa !5
  %14852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14839, ptr noundef @.str.22, i32 noundef %14840, ptr noundef @.str.29, ptr noundef @.str.21, i32 noundef 606, ptr noundef %14843, ptr noundef %14846, ptr noundef %14849, i32 noundef %14851) #11
  br label %14870

14853:                                            ; preds = %14831, %14824
  %14854 = load i32, ptr %323, align 4, !tbaa !5
  %14855 = call ptr @__errno_location() #12
  store i32 %14854, ptr %14855, align 4, !tbaa !5
  %14856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14857 = load i32, ptr @test_count, align 4, !tbaa !5
  %14858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14859 = load i32, ptr %14858, align 4, !tbaa !5
  %14860 = call ptr @s2n_strerror(i32 noundef %14859, ptr noundef @.str.24)
  %14861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  %14863 = call ptr @s2n_strerror_debug(i32 noundef %14862, ptr noundef @.str.24)
  %14864 = call ptr @__errno_location() #12
  %14865 = load i32, ptr %14864, align 4, !tbaa !5
  %14866 = call ptr @strerror(i32 noundef %14865) #11
  %14867 = call ptr @__errno_location() #12
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14856, ptr noundef @.str.25, i32 noundef %14857, ptr noundef @.str.29, ptr noundef @.str.21, i32 noundef 606, ptr noundef %14860, ptr noundef %14863, ptr noundef %14866, i32 noundef %14868) #11
  br label %14870

14870:                                            ; preds = %14853, %14836
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %14871

14871:                                            ; preds = %14870
  call void @exit(i32 noundef 1) #13
  unreachable

14872:                                            ; No predecessors!
  br label %14873

14873:                                            ; preds = %14872, %14819
  br label %14874

14874:                                            ; preds = %14873
  %14875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14876 = trunc i8 %14875 to i1
  br i1 %14876, label %14877, label %14893

14877:                                            ; preds = %14874
  %14878 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14879 = call i32 @fileno(ptr noundef %14878) #11
  %14880 = call i32 @isatty(i32 noundef %14879) #11
  %14881 = icmp ne i32 %14880, 0
  br i1 %14881, label %14882, label %14893

14882:                                            ; preds = %14877
  %14883 = load i32, ptr @test_count, align 4, !tbaa !5
  %14884 = icmp ne i32 %14883, 0
  br i1 %14884, label %14885, label %14889

14885:                                            ; preds = %14882
  %14886 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14887 = load i32, ptr @test_count, align 4, !tbaa !5
  %14888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14886, ptr noundef @.str.30, i32 noundef %14887) #11
  br label %14892

14889:                                            ; preds = %14882
  %14890 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14890, ptr noundef @.str.31) #11
  br label %14892

14892:                                            ; preds = %14889, %14885
  br label %14904

14893:                                            ; preds = %14877, %14874
  %14894 = load i32, ptr @test_count, align 4, !tbaa !5
  %14895 = icmp ne i32 %14894, 0
  br i1 %14895, label %14896, label %14900

14896:                                            ; preds = %14893
  %14897 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14898 = load i32, ptr @test_count, align 4, !tbaa !5
  %14899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14897, ptr noundef @.str.32, i32 noundef %14898) #11
  br label %14903

14900:                                            ; preds = %14893
  %14901 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14901, ptr noundef @.str.33) #11
  br label %14903

14903:                                            ; preds = %14900, %14896
  br label %14904

14904:                                            ; preds = %14903, %14892
  store i32 0, ptr %3, align 4
  br label %14906

14905:                                            ; No predecessors!
  br label %14906

14906:                                            ; preds = %14905, %14904, %12642, %647
  %14907 = load i32, ptr %3, align 4
  ret i32 %14907

14908:                                            ; preds = %12642
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #8

declare i32 @fflush(ptr noundef) #5

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #5

declare i32 @s2n_print_stacktrace(ptr noundef) #5

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #8

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #8

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #5

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #5

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #8

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #9

declare i32 @s2n_enable_atexit() #5

declare i32 @s2n_init() #5

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #5

declare i32 @s2n_cleanup() #5

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) #3

declare void @s2n_debug_info_reset() #5

declare ptr @s2n_connection_new(i32 noundef) #5

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #5

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i32 @s2n_connection_free(ptr noundef) #5

declare i32 @s2n_quic_read_handshake_message(ptr noundef, ptr noundef) #5

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #5

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #5

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #5

declare i32 @s2n_stuffer_write_uint24(ptr noundef, i32 noundef) #5

declare i32 @s2n_stuffer_free(ptr noundef) #5

declare i32 @s2n_connection_ptr_free(ptr noundef) #5

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) #5

declare i32 @s2n_stuffer_wipe(ptr noundef) #5

declare i32 @s2n_record_wipe(ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_read_handler(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_write_handler(ptr noundef) #0

declare i32 @s2n_free(ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_write_test_message(ptr noundef, i32 noundef) #0

declare ptr @s2n_config_new() #5

declare i32 @s2n_config_enable_quic(ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_conn_for_server_hello(ptr noundef) #0

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #5

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) #5

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_conn_for_client_hello(ptr noundef) #0

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) #5

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) #5

declare i32 @s2n_config_free(ptr noundef) #5

declare i32 @s2n_recv_quic_post_handshake_message(ptr noundef, ptr noundef) #5

declare i32 @s2n_config_ptr_free(ptr noundef) #5

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) #5

declare i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #0

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

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 1924}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !6, i64 1920}
!43 = !{!7, !7, i64 0}
!44 = !{!16, !6, i64 2044}
!45 = !{!16, !6, i64 2040}
!46 = !{!16, !6, i64 1884}
!47 = !{!16, !6, i64 1880}
!48 = !{!18, !18, i64 0}
!49 = !{!16, !6, i64 1824}
!50 = !{!16, !6, i64 1844}
!51 = distinct !{!51, !52}
!52 = !{!"llvm.loop.mustprogress"}
!53 = distinct !{!53, !52}
!54 = !{!32, !6, i64 28}
!55 = !{!32, !6, i64 24}
!56 = !{!25, !6, i64 8}
!57 = !{!25, !10, i64 0}
!58 = distinct !{!58, !52}
!59 = !{!16, !10, i64 232}
!60 = !{!61, !10, i64 0}
!61 = !{!"s2n_crypto_parameters", !10, i64 0, !62, i64 8, !62, i64 16, !63, i64 24, !63, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!62 = !{!"s2n_session_key", !10, i64 0}
!63 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !64, i64 16, !64, i64 72, !64, i64 128, !64, i64 184, !7, i64 240, !7, i64 368}
!64 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!65 = distinct !{!65, !52}


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

%struct.s2n_handshake_action = type { i8, i8, i8, [2 x ptr] }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@tls13_state_machine = external hidden local_unnamed_addr global [21 x %struct.s2n_handshake_action], align 16
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.20 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [83 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.22 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [72 x i8], align 1
@__const.main.message_data = external hidden unnamed_addr constant [22 x i8], align 16
@.str.38 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [79 x i8], align 1
@TEST_DATA = external hidden constant [5 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [72 x i8], align 1
@input_stuffer = external dso_local global %struct.s2n_stuffer, align 8
@.str.75 = external hidden unnamed_addr constant [74 x i8], align 1
@output_stuffer = external dso_local global %struct.s2n_stuffer, align 8
@.str.76 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.ticket_message_bytes = external hidden unnamed_addr constant [22 x i8], align 16
@.str.107 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [123 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.112 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [122 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #0

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #3

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #4

declare i32 @s2n_quic_write_handshake_message(ptr noundef) local_unnamed_addr #5

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #6

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

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

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [22 x i8], align 16
  %4 = alloca %struct.s2n_connection, align 8
  %5 = alloca i8, align 1
  %6 = alloca %struct.s2n_stuffer, align 8
  %7 = alloca i8, align 1
  %8 = alloca %struct.s2n_stuffer, align 8
  %9 = alloca i8, align 1
  %10 = alloca %struct.s2n_stuffer, align 8
  %11 = alloca i8, align 1
  %12 = alloca %struct.s2n_stuffer, align 8
  %13 = alloca i8, align 1
  %14 = alloca ptr, align 8
  %15 = alloca %struct.s2n_stuffer, align 8
  %16 = alloca i8, align 1
  %17 = alloca ptr, align 8
  %18 = alloca %struct.s2n_stuffer, align 8
  %19 = alloca i8, align 1
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_blob, align 8
  %22 = alloca %struct.s2n_blob, align 8
  %23 = alloca i8, align 1
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca i32, align 4
  %27 = alloca [22 x i8], align 16
  %28 = alloca ptr, align 8
  %29 = alloca %struct.s2n_stuffer, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca i8, align 1
  %33 = alloca %struct.s2n_stuffer, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca i8, align 1
  %37 = alloca %struct.s2n_stuffer, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %38 = load ptr, ptr @stdout, align 8, !tbaa !9
  %39 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %38, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.21) #12
  %40 = load ptr, ptr @stdout, align 8, !tbaa !9
  %41 = tail call i32 @fflush(ptr noundef %40)
  %42 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %43 = icmp eq i32 %42, -1
  br i1 %43, label %44, label %68

44:                                               ; preds = %2
  %45 = tail call ptr @__errno_location() #13
  %46 = load i32, ptr %45, align 4, !tbaa !5
  %47 = load ptr, ptr @stderr, align 8, !tbaa !9
  %48 = tail call i32 @s2n_print_stacktrace(ptr noundef %47) #12
  %49 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %50 = trunc nuw i8 %49 to i1
  br i1 %50, label %51, label %55

51:                                               ; preds = %44
  %52 = load ptr, ptr @stderr, align 8, !tbaa !9
  %53 = tail call i32 @fileno(ptr noundef %52) #12
  %54 = tail call i32 @isatty(i32 noundef %53) #12
  %.not850 = icmp eq i32 %54, 0
  br i1 %.not850, label %55, label %56

55:                                               ; preds = %51, %44
  br label %56

56:                                               ; preds = %51, %55
  %.str.25.sink = phi ptr [ @.str.25, %55 ], [ @.str.22, %51 ]
  store i32 %46, ptr %45, align 4, !tbaa !5
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = load i32, ptr @test_count, align 4, !tbaa !5
  %59 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %60 = load i32, ptr %59, align 4, !tbaa !5
  %61 = tail call ptr @s2n_strerror(i32 noundef %60, ptr noundef nonnull @.str.24) #12
  %62 = load i32, ptr %59, align 4, !tbaa !5
  %63 = tail call ptr @s2n_strerror_debug(i32 noundef %62, ptr noundef nonnull @.str.24) #12
  %64 = load i32, ptr %45, align 4, !tbaa !5
  %65 = tail call ptr @strerror(i32 noundef %64) #12
  %66 = load i32, ptr %45, align 4, !tbaa !5
  %67 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull %.str.25.sink, i32 noundef %58, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.21, i32 noundef 122, ptr noundef %61, ptr noundef %63, ptr noundef %65, i32 noundef %66) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

68:                                               ; preds = %2
  %69 = load i32, ptr @test_count, align 4, !tbaa !5
  %70 = add nsw i32 %69, 1
  store i32 %70, ptr @test_count, align 4, !tbaa !5
  %71 = tail call i32 @s2n_enable_atexit() #12
  %72 = icmp eq i32 %71, -1
  br i1 %72, label %73, label %97

73:                                               ; preds = %68
  %74 = tail call ptr @__errno_location() #13
  %75 = load i32, ptr %74, align 4, !tbaa !5
  %76 = load ptr, ptr @stderr, align 8, !tbaa !9
  %77 = tail call i32 @s2n_print_stacktrace(ptr noundef %76) #12
  %78 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %79 = trunc nuw i8 %78 to i1
  br i1 %79, label %80, label %84

80:                                               ; preds = %73
  %81 = load ptr, ptr @stderr, align 8, !tbaa !9
  %82 = tail call i32 @fileno(ptr noundef %81) #12
  %83 = tail call i32 @isatty(i32 noundef %82) #12
  %.not849 = icmp eq i32 %83, 0
  br i1 %.not849, label %84, label %85

84:                                               ; preds = %80, %73
  br label %85

85:                                               ; preds = %80, %84
  %.str.25.sink907 = phi ptr [ @.str.25, %84 ], [ @.str.22, %80 ]
  store i32 %75, ptr %74, align 4, !tbaa !5
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = load i32, ptr @test_count, align 4, !tbaa !5
  %88 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %89 = load i32, ptr %88, align 4, !tbaa !5
  %90 = tail call ptr @s2n_strerror(i32 noundef %89, ptr noundef nonnull @.str.24) #12
  %91 = load i32, ptr %88, align 4, !tbaa !5
  %92 = tail call ptr @s2n_strerror_debug(i32 noundef %91, ptr noundef nonnull @.str.24) #12
  %93 = load i32, ptr %74, align 4, !tbaa !5
  %94 = tail call ptr @strerror(i32 noundef %93) #12
  %95 = load i32, ptr %74, align 4, !tbaa !5
  %96 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %86, ptr noundef nonnull %.str.25.sink907, i32 noundef %87, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.21, i32 noundef 122, ptr noundef %90, ptr noundef %92, ptr noundef %94, i32 noundef %95) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

97:                                               ; preds = %68
  %98 = tail call i32 @s2n_init() #12
  %99 = icmp eq i32 %98, -1
  br i1 %99, label %100, label %124

100:                                              ; preds = %97
  %101 = tail call ptr @__errno_location() #13
  %102 = load i32, ptr %101, align 4, !tbaa !5
  %103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %104 = tail call i32 @s2n_print_stacktrace(ptr noundef %103) #12
  %105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %106 = trunc nuw i8 %105 to i1
  br i1 %106, label %107, label %111

107:                                              ; preds = %100
  %108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %109 = tail call i32 @fileno(ptr noundef %108) #12
  %110 = tail call i32 @isatty(i32 noundef %109) #12
  %.not848 = icmp eq i32 %110, 0
  br i1 %.not848, label %111, label %112

111:                                              ; preds = %107, %100
  br label %112

112:                                              ; preds = %107, %111
  %.str.25.sink918 = phi ptr [ @.str.25, %111 ], [ @.str.22, %107 ]
  store i32 %102, ptr %101, align 4, !tbaa !5
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = load i32, ptr @test_count, align 4, !tbaa !5
  %115 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = tail call ptr @s2n_strerror(i32 noundef %116, ptr noundef nonnull @.str.24) #12
  %118 = load i32, ptr %115, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror_debug(i32 noundef %118, ptr noundef nonnull @.str.24) #12
  %120 = load i32, ptr %101, align 4, !tbaa !5
  %121 = tail call ptr @strerror(i32 noundef %120) #12
  %122 = load i32, ptr %101, align 4, !tbaa !5
  %123 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %113, ptr noundef nonnull %.str.25.sink918, i32 noundef %114, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.21, i32 noundef 122, ptr noundef %117, ptr noundef %119, ptr noundef %121, i32 noundef %122) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

124:                                              ; preds = %97
  %125 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %125, label %201, label %126

126:                                              ; preds = %124
  %127 = tail call i32 @s2n_cleanup() #12
  %128 = icmp eq i32 %127, -1
  br i1 %128, label %129, label %153

129:                                              ; preds = %126
  %130 = tail call ptr @__errno_location() #13
  %131 = load i32, ptr %130, align 4, !tbaa !5
  %132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %133 = tail call i32 @s2n_print_stacktrace(ptr noundef %132) #12
  %134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %135 = trunc nuw i8 %134 to i1
  br i1 %135, label %136, label %140

136:                                              ; preds = %129
  %137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %138 = tail call i32 @fileno(ptr noundef %137) #12
  %139 = tail call i32 @isatty(i32 noundef %138) #12
  %.not618 = icmp eq i32 %139, 0
  br i1 %.not618, label %140, label %141

140:                                              ; preds = %136, %129
  br label %141

141:                                              ; preds = %136, %140
  %.str.25.sink929 = phi ptr [ @.str.25, %140 ], [ @.str.22, %136 ]
  store i32 %131, ptr %130, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = load i32, ptr @test_count, align 4, !tbaa !5
  %144 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = tail call ptr @s2n_strerror(i32 noundef %145, ptr noundef nonnull @.str.24) #12
  %147 = load i32, ptr %144, align 4, !tbaa !5
  %148 = tail call ptr @s2n_strerror_debug(i32 noundef %147, ptr noundef nonnull @.str.24) #12
  %149 = load i32, ptr %130, align 4, !tbaa !5
  %150 = tail call ptr @strerror(i32 noundef %149) #12
  %151 = load i32, ptr %130, align 4, !tbaa !5
  %152 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %142, ptr noundef nonnull %.str.25.sink929, i32 noundef %143, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.21, i32 noundef 125, ptr noundef %146, ptr noundef %148, ptr noundef %150, i32 noundef %151) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

153:                                              ; preds = %126
  %154 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %155 = icmp eq i32 %154, -1
  br i1 %155, label %156, label %180

156:                                              ; preds = %153
  %157 = tail call ptr @__errno_location() #13
  %158 = load i32, ptr %157, align 4, !tbaa !5
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = tail call i32 @s2n_print_stacktrace(ptr noundef %159) #12
  %161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %162 = trunc nuw i8 %161 to i1
  br i1 %162, label %163, label %167

163:                                              ; preds = %156
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = tail call i32 @fileno(ptr noundef %164) #12
  %166 = tail call i32 @isatty(i32 noundef %165) #12
  %.not617 = icmp eq i32 %166, 0
  br i1 %.not617, label %167, label %168

167:                                              ; preds = %163, %156
  br label %168

168:                                              ; preds = %163, %167
  %.str.25.sink940 = phi ptr [ @.str.25, %167 ], [ @.str.22, %163 ]
  store i32 %158, ptr %157, align 4, !tbaa !5
  %169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %170 = load i32, ptr @test_count, align 4, !tbaa !5
  %171 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = tail call ptr @s2n_strerror(i32 noundef %172, ptr noundef nonnull @.str.24) #12
  %174 = load i32, ptr %171, align 4, !tbaa !5
  %175 = tail call ptr @s2n_strerror_debug(i32 noundef %174, ptr noundef nonnull @.str.24) #12
  %176 = load i32, ptr %157, align 4, !tbaa !5
  %177 = tail call ptr @strerror(i32 noundef %176) #12
  %178 = load i32, ptr %157, align 4, !tbaa !5
  %179 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %169, ptr noundef nonnull %.str.25.sink940, i32 noundef %170, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.21, i32 noundef 125, ptr noundef %173, ptr noundef %175, ptr noundef %177, i32 noundef %178) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

180:                                              ; preds = %153
  %181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %182 = trunc nuw i8 %181 to i1
  br i1 %182, label %183, label %194

183:                                              ; preds = %180
  %184 = load ptr, ptr @stdout, align 8, !tbaa !9
  %185 = tail call i32 @fileno(ptr noundef %184) #12
  %186 = tail call i32 @isatty(i32 noundef %185) #12
  %.not = icmp eq i32 %186, 0
  br i1 %.not, label %194, label %187

187:                                              ; preds = %183
  %188 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not616 = icmp eq i32 %188, 0
  %189 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not616, label %192, label %190

190:                                              ; preds = %187
  %191 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %189, ptr noundef nonnull @.str.30, i32 noundef %188) #12
  br label %6367

192:                                              ; preds = %187
  %193 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %189, ptr noundef nonnull @.str.31) #12
  br label %6367

194:                                              ; preds = %183, %180
  %195 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not615 = icmp eq i32 %195, 0
  %196 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not615, label %199, label %197

197:                                              ; preds = %194
  %198 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %196, ptr noundef nonnull @.str.32, i32 noundef %195) #12
  br label %6367

199:                                              ; preds = %194
  %200 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %196, ptr noundef nonnull @.str.33) #12
  br label %6367

201:                                              ; preds = %124
  %202 = load i32, ptr @test_count, align 4, !tbaa !5
  %203 = add nsw i32 %202, 1
  store i32 %203, ptr @test_count, align 4, !tbaa !5
  %204 = tail call i32 @s2n_quic_write_handshake_message(ptr noundef null) #12
  %205 = tail call zeroext i1 @s2n_result_is_error(i32 %204)
  br i1 %205, label %230, label %206

206:                                              ; preds = %201
  %207 = tail call ptr @__errno_location() #13
  %208 = load i32, ptr %207, align 4, !tbaa !5
  %209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %210 = tail call i32 @s2n_print_stacktrace(ptr noundef %209) #12
  %211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %212 = trunc nuw i8 %211 to i1
  br i1 %212, label %213, label %217

213:                                              ; preds = %206
  %214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %215 = tail call i32 @fileno(ptr noundef %214) #12
  %216 = tail call i32 @isatty(i32 noundef %215) #12
  %.not619 = icmp eq i32 %216, 0
  br i1 %.not619, label %217, label %218

217:                                              ; preds = %213, %206
  br label %218

218:                                              ; preds = %213, %217
  %.str.25.sink951 = phi ptr [ @.str.25, %217 ], [ @.str.22, %213 ]
  store i32 %208, ptr %207, align 4, !tbaa !5
  %219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %220 = load i32, ptr @test_count, align 4, !tbaa !5
  %221 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %222 = load i32, ptr %221, align 4, !tbaa !5
  %223 = tail call ptr @s2n_strerror(i32 noundef %222, ptr noundef nonnull @.str.24) #12
  %224 = load i32, ptr %221, align 4, !tbaa !5
  %225 = tail call ptr @s2n_strerror_debug(i32 noundef %224, ptr noundef nonnull @.str.24) #12
  %226 = load i32, ptr %207, align 4, !tbaa !5
  %227 = tail call ptr @strerror(i32 noundef %226) #12
  %228 = load i32, ptr %207, align 4, !tbaa !5
  %229 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %219, ptr noundef nonnull %.str.25.sink951, i32 noundef %220, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.21, i32 noundef 131, ptr noundef %223, ptr noundef %225, ptr noundef %227, i32 noundef %228) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

230:                                              ; preds = %201
  %231 = load i32, ptr @test_count, align 4, !tbaa !5
  %232 = add nsw i32 %231, 1
  store i32 %232, ptr @test_count, align 4, !tbaa !5
  %233 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = icmp eq i32 %234, 0
  br i1 %235, label %236, label %259

236:                                              ; preds = %230
  %237 = tail call ptr @__errno_location() #13
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = tail call i32 @s2n_print_stacktrace(ptr noundef %239) #12
  %241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %243, label %247

243:                                              ; preds = %236
  %244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %245 = tail call i32 @fileno(ptr noundef %244) #12
  %246 = tail call i32 @isatty(i32 noundef %245) #12
  %.not847 = icmp eq i32 %246, 0
  br i1 %.not847, label %247, label %248

247:                                              ; preds = %243, %236
  br label %248

248:                                              ; preds = %243, %247
  %.str.25.sink962 = phi ptr [ @.str.25, %247 ], [ @.str.22, %243 ]
  store i32 %238, ptr %237, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = load i32, ptr %233, align 4, !tbaa !5
  %252 = tail call ptr @s2n_strerror(i32 noundef %251, ptr noundef nonnull @.str.24) #12
  %253 = load i32, ptr %233, align 4, !tbaa !5
  %254 = tail call ptr @s2n_strerror_debug(i32 noundef %253, ptr noundef nonnull @.str.24) #12
  %255 = load i32, ptr %237, align 4, !tbaa !5
  %256 = tail call ptr @strerror(i32 noundef %255) #12
  %257 = load i32, ptr %237, align 4, !tbaa !5
  %258 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %249, ptr noundef nonnull %.str.25.sink962, i32 noundef %250, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.21, i32 noundef 131, ptr noundef %252, ptr noundef %254, ptr noundef %256, i32 noundef %257) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

259:                                              ; preds = %230
  %260 = add nsw i32 %231, 2
  store i32 %260, ptr @test_count, align 4, !tbaa !5
  %261 = tail call ptr @s2n_strerror_debug(i32 noundef %234, ptr noundef nonnull @.str.24) #12
  %262 = icmp eq ptr %261, null
  br i1 %262, label %263, label %286

263:                                              ; preds = %259
  %264 = tail call ptr @__errno_location() #13
  %265 = load i32, ptr %264, align 4, !tbaa !5
  %266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %267 = tail call i32 @s2n_print_stacktrace(ptr noundef %266) #12
  %268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %269 = trunc nuw i8 %268 to i1
  br i1 %269, label %270, label %274

270:                                              ; preds = %263
  %271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %272 = tail call i32 @fileno(ptr noundef %271) #12
  %273 = tail call i32 @isatty(i32 noundef %272) #12
  %.not846 = icmp eq i32 %273, 0
  br i1 %.not846, label %274, label %275

274:                                              ; preds = %270, %263
  br label %275

275:                                              ; preds = %270, %274
  %.str.25.sink971 = phi ptr [ @.str.25, %274 ], [ @.str.22, %270 ]
  store i32 %265, ptr %264, align 4, !tbaa !5
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = load i32, ptr @test_count, align 4, !tbaa !5
  %278 = load i32, ptr %233, align 4, !tbaa !5
  %279 = tail call ptr @s2n_strerror(i32 noundef %278, ptr noundef nonnull @.str.24) #12
  %280 = load i32, ptr %233, align 4, !tbaa !5
  %281 = tail call ptr @s2n_strerror_debug(i32 noundef %280, ptr noundef nonnull @.str.24) #12
  %282 = load i32, ptr %264, align 4, !tbaa !5
  %283 = tail call ptr @strerror(i32 noundef %282) #12
  %284 = load i32, ptr %264, align 4, !tbaa !5
  %285 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %276, ptr noundef nonnull %.str.25.sink971, i32 noundef %277, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 131, ptr noundef %279, ptr noundef %281, ptr noundef %283, i32 noundef %284) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

286:                                              ; preds = %259
  store i32 0, ptr %233, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  %287 = tail call ptr @__errno_location() #13
  store i32 0, ptr %287, align 4, !tbaa !5
  %288 = load i32, ptr @test_count, align 4, !tbaa !5
  %289 = add nsw i32 %288, 1
  store i32 %289, ptr @test_count, align 4, !tbaa !5
  %290 = tail call ptr @s2n_connection_new(i32 noundef 1) #12
  %291 = icmp eq ptr %290, null
  br i1 %291, label %292, label %314

292:                                              ; preds = %286
  %293 = load i32, ptr %287, align 4, !tbaa !5
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = tail call i32 @s2n_print_stacktrace(ptr noundef %294) #12
  %296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %297 = trunc nuw i8 %296 to i1
  br i1 %297, label %298, label %302

298:                                              ; preds = %292
  %299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %300 = tail call i32 @fileno(ptr noundef %299) #12
  %301 = tail call i32 @isatty(i32 noundef %300) #12
  %.not845 = icmp eq i32 %301, 0
  br i1 %.not845, label %302, label %303

302:                                              ; preds = %298, %292
  br label %303

303:                                              ; preds = %298, %302
  %.str.25.sink980 = phi ptr [ @.str.25, %302 ], [ @.str.22, %298 ]
  store i32 %293, ptr %287, align 4, !tbaa !5
  %304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %305 = load i32, ptr @test_count, align 4, !tbaa !5
  %306 = load i32, ptr %233, align 4, !tbaa !5
  %307 = tail call ptr @s2n_strerror(i32 noundef %306, ptr noundef nonnull @.str.24) #12
  %308 = load i32, ptr %233, align 4, !tbaa !5
  %309 = tail call ptr @s2n_strerror_debug(i32 noundef %308, ptr noundef nonnull @.str.24) #12
  %310 = load i32, ptr %287, align 4, !tbaa !5
  %311 = tail call ptr @strerror(i32 noundef %310) #12
  %312 = load i32, ptr %287, align 4, !tbaa !5
  %313 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %304, ptr noundef nonnull %.str.25.sink980, i32 noundef %305, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 136, ptr noundef %307, ptr noundef %309, ptr noundef %311, i32 noundef %312) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

314:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %3, ptr noundef nonnull align 16 dereferenceable(22) @__const.main.message_data, i64 22, i1 false)
  %315 = load i32, ptr @test_count, align 4, !tbaa !5
  %316 = add nsw i32 %315, 1
  store i32 %316, ptr @test_count, align 4, !tbaa !5
  %317 = getelementptr inbounds i8, ptr %290, i64 2016
  %318 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %317, ptr noundef nonnull %3, i32 noundef 22) #12
  %319 = icmp eq i32 %318, -1
  br i1 %319, label %320, label %342

320:                                              ; preds = %314
  %321 = load i32, ptr %287, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = call i32 @s2n_print_stacktrace(ptr noundef %322) #12
  %324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %325 = trunc nuw i8 %324 to i1
  br i1 %325, label %326, label %330

326:                                              ; preds = %320
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = call i32 @fileno(ptr noundef %327) #12
  %329 = call i32 @isatty(i32 noundef %328) #12
  %.not844 = icmp eq i32 %329, 0
  br i1 %.not844, label %330, label %331

330:                                              ; preds = %326, %320
  br label %331

331:                                              ; preds = %326, %330
  %.str.25.sink989 = phi ptr [ @.str.25, %330 ], [ @.str.22, %326 ]
  store i32 %321, ptr %287, align 4, !tbaa !5
  %332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %333 = load i32, ptr @test_count, align 4, !tbaa !5
  %334 = load i32, ptr %233, align 4, !tbaa !5
  %335 = call ptr @s2n_strerror(i32 noundef %334, ptr noundef nonnull @.str.24) #12
  %336 = load i32, ptr %233, align 4, !tbaa !5
  %337 = call ptr @s2n_strerror_debug(i32 noundef %336, ptr noundef nonnull @.str.24) #12
  %338 = load i32, ptr %287, align 4, !tbaa !5
  %339 = call ptr @strerror(i32 noundef %338) #12
  %340 = load i32, ptr %287, align 4, !tbaa !5
  %341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %332, ptr noundef nonnull %.str.25.sink989, i32 noundef %333, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.21, i32 noundef 139, ptr noundef %335, ptr noundef %337, ptr noundef %339, i32 noundef %340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

342:                                              ; preds = %314
  %343 = load i32, ptr @test_count, align 4, !tbaa !5
  %344 = add nsw i32 %343, 1
  store i32 %344, ptr @test_count, align 4, !tbaa !5
  %345 = call i32 @s2n_quic_write_handshake_message(ptr noundef nonnull %290) #12
  %346 = call zeroext i1 @s2n_result_is_ok(i32 %345)
  br i1 %346, label %369, label %347

347:                                              ; preds = %342
  %348 = load i32, ptr %287, align 4, !tbaa !5
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @s2n_print_stacktrace(ptr noundef %349) #12
  %351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %352 = trunc nuw i8 %351 to i1
  br i1 %352, label %353, label %357

353:                                              ; preds = %347
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = call i32 @fileno(ptr noundef %354) #12
  %356 = call i32 @isatty(i32 noundef %355) #12
  %.not620 = icmp eq i32 %356, 0
  br i1 %.not620, label %357, label %358

357:                                              ; preds = %353, %347
  br label %358

358:                                              ; preds = %353, %357
  %.str.25.sink998 = phi ptr [ @.str.25, %357 ], [ @.str.22, %353 ]
  store i32 %348, ptr %287, align 4, !tbaa !5
  %359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %360 = load i32, ptr @test_count, align 4, !tbaa !5
  %361 = load i32, ptr %233, align 4, !tbaa !5
  %362 = call ptr @s2n_strerror(i32 noundef %361, ptr noundef nonnull @.str.24) #12
  %363 = load i32, ptr %233, align 4, !tbaa !5
  %364 = call ptr @s2n_strerror_debug(i32 noundef %363, ptr noundef nonnull @.str.24) #12
  %365 = load i32, ptr %287, align 4, !tbaa !5
  %366 = call ptr @strerror(i32 noundef %365) #12
  %367 = load i32, ptr %287, align 4, !tbaa !5
  %368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %359, ptr noundef nonnull %.str.25.sink998, i32 noundef %360, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.21, i32 noundef 141, ptr noundef %362, ptr noundef %364, ptr noundef %366, i32 noundef %367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

369:                                              ; preds = %342
  %370 = load i32, ptr @test_count, align 4, !tbaa !5
  %371 = add nsw i32 %370, 1
  store i32 %371, ptr @test_count, align 4, !tbaa !5
  %372 = getelementptr inbounds i8, ptr %290, i64 1924
  %373 = load i32, ptr %372, align 4, !tbaa !15
  %374 = getelementptr inbounds i8, ptr %290, i64 1920
  %375 = load i32, ptr %374, align 8, !tbaa !42
  %376 = sub i32 %373, %375
  %377 = icmp eq i32 %376, 22
  br i1 %377, label %400, label %378

378:                                              ; preds = %369
  %379 = load i32, ptr %287, align 4, !tbaa !5
  %380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %381 = call i32 @s2n_print_stacktrace(ptr noundef %380) #12
  %382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %383 = trunc nuw i8 %382 to i1
  br i1 %383, label %384, label %388

384:                                              ; preds = %378
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = call i32 @fileno(ptr noundef %385) #12
  %387 = call i32 @isatty(i32 noundef %386) #12
  %.not621 = icmp eq i32 %387, 0
  br i1 %.not621, label %388, label %389

388:                                              ; preds = %384, %378
  br label %389

389:                                              ; preds = %384, %388
  %.str.25.sink1007 = phi ptr [ @.str.25, %388 ], [ @.str.22, %384 ]
  store i32 %379, ptr %287, align 4, !tbaa !5
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = load i32, ptr @test_count, align 4, !tbaa !5
  %392 = load i32, ptr %233, align 4, !tbaa !5
  %393 = call ptr @s2n_strerror(i32 noundef %392, ptr noundef nonnull @.str.24) #12
  %394 = load i32, ptr %233, align 4, !tbaa !5
  %395 = call ptr @s2n_strerror_debug(i32 noundef %394, ptr noundef nonnull @.str.24) #12
  %396 = load i32, ptr %287, align 4, !tbaa !5
  %397 = call ptr @strerror(i32 noundef %396) #12
  %398 = load i32, ptr %287, align 4, !tbaa !5
  %399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %390, ptr noundef nonnull %.str.25.sink1007, i32 noundef %391, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.21, i32 noundef 142, ptr noundef %393, ptr noundef %395, ptr noundef %397, i32 noundef %398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

400:                                              ; preds = %369
  %401 = getelementptr inbounds i8, ptr %290, i64 1896
  %402 = add nsw i32 %370, 2
  store i32 %402, ptr @test_count, align 4, !tbaa !5
  %403 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %401, i32 noundef 22) #12
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(22) %403, ptr noundef nonnull dereferenceable(22) %3, i64 22)
  %404 = icmp eq i32 %bcmp, 0
  br i1 %404, label %427, label %405

405:                                              ; preds = %400
  %406 = load i32, ptr %287, align 4, !tbaa !5
  %407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %408 = call i32 @s2n_print_stacktrace(ptr noundef %407) #12
  %409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %410 = trunc nuw i8 %409 to i1
  br i1 %410, label %411, label %415

411:                                              ; preds = %405
  %412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %413 = call i32 @fileno(ptr noundef %412) #12
  %414 = call i32 @isatty(i32 noundef %413) #12
  %.not622 = icmp eq i32 %414, 0
  br i1 %.not622, label %415, label %416

415:                                              ; preds = %411, %405
  br label %416

416:                                              ; preds = %411, %415
  %.str.25.sink1016 = phi ptr [ @.str.25, %415 ], [ @.str.22, %411 ]
  store i32 %406, ptr %287, align 4, !tbaa !5
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = load i32, ptr @test_count, align 4, !tbaa !5
  %419 = load i32, ptr %233, align 4, !tbaa !5
  %420 = call ptr @s2n_strerror(i32 noundef %419, ptr noundef nonnull @.str.24) #12
  %421 = load i32, ptr %233, align 4, !tbaa !5
  %422 = call ptr @s2n_strerror_debug(i32 noundef %421, ptr noundef nonnull @.str.24) #12
  %423 = load i32, ptr %287, align 4, !tbaa !5
  %424 = call ptr @strerror(i32 noundef %423) #12
  %425 = load i32, ptr %287, align 4, !tbaa !5
  %426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %417, ptr noundef nonnull %.str.25.sink1016, i32 noundef %418, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.21, i32 noundef 144, ptr noundef %420, ptr noundef %422, ptr noundef %424, i32 noundef %425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

427:                                              ; preds = %400
  %428 = load i32, ptr @test_count, align 4, !tbaa !5
  %429 = add nsw i32 %428, 1
  store i32 %429, ptr @test_count, align 4, !tbaa !5
  %430 = call i32 @s2n_connection_free(ptr noundef nonnull %290) #12
  %431 = icmp eq i32 %430, -1
  br i1 %431, label %432, label %454

432:                                              ; preds = %427
  %433 = load i32, ptr %287, align 4, !tbaa !5
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @s2n_print_stacktrace(ptr noundef %434) #12
  %436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc nuw i8 %436 to i1
  br i1 %437, label %438, label %442

438:                                              ; preds = %432
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @fileno(ptr noundef %439) #12
  %441 = call i32 @isatty(i32 noundef %440) #12
  %.not843 = icmp eq i32 %441, 0
  br i1 %.not843, label %442, label %443

442:                                              ; preds = %438, %432
  br label %443

443:                                              ; preds = %438, %442
  %.str.25.sink1025 = phi ptr [ @.str.25, %442 ], [ @.str.22, %438 ]
  store i32 %433, ptr %287, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = load i32, ptr %233, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror(i32 noundef %446, ptr noundef nonnull @.str.24) #12
  %448 = load i32, ptr %233, align 4, !tbaa !5
  %449 = call ptr @s2n_strerror_debug(i32 noundef %448, ptr noundef nonnull @.str.24) #12
  %450 = load i32, ptr %287, align 4, !tbaa !5
  %451 = call ptr @strerror(i32 noundef %450) #12
  %452 = load i32, ptr %287, align 4, !tbaa !5
  %453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef nonnull %.str.25.sink1025, i32 noundef %445, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 146, ptr noundef %447, ptr noundef %449, ptr noundef %451, i32 noundef %452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

454:                                              ; preds = %427
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %3) #12
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %4) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %4, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #12
  store i8 0, ptr %5, align 1, !tbaa !43
  %455 = load i32, ptr @test_count, align 4, !tbaa !5
  %456 = add nsw i32 %455, 1
  store i32 %456, ptr @test_count, align 4, !tbaa !5
  %457 = call i32 @s2n_quic_read_handshake_message(ptr noundef null, ptr noundef nonnull %5) #12
  %458 = call zeroext i1 @s2n_result_is_error(i32 %457)
  br i1 %458, label %481, label %459

459:                                              ; preds = %454
  %460 = load i32, ptr %287, align 4, !tbaa !5
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = call i32 @s2n_print_stacktrace(ptr noundef %461) #12
  %463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %464 = trunc nuw i8 %463 to i1
  br i1 %464, label %465, label %469

465:                                              ; preds = %459
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = call i32 @fileno(ptr noundef %466) #12
  %468 = call i32 @isatty(i32 noundef %467) #12
  %.not623 = icmp eq i32 %468, 0
  br i1 %.not623, label %469, label %470

469:                                              ; preds = %465, %459
  br label %470

470:                                              ; preds = %465, %469
  %.str.25.sink1034 = phi ptr [ @.str.25, %469 ], [ @.str.22, %465 ]
  store i32 %460, ptr %287, align 4, !tbaa !5
  %471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %472 = load i32, ptr @test_count, align 4, !tbaa !5
  %473 = load i32, ptr %233, align 4, !tbaa !5
  %474 = call ptr @s2n_strerror(i32 noundef %473, ptr noundef nonnull @.str.24) #12
  %475 = load i32, ptr %233, align 4, !tbaa !5
  %476 = call ptr @s2n_strerror_debug(i32 noundef %475, ptr noundef nonnull @.str.24) #12
  %477 = load i32, ptr %287, align 4, !tbaa !5
  %478 = call ptr @strerror(i32 noundef %477) #12
  %479 = load i32, ptr %287, align 4, !tbaa !5
  %480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %471, ptr noundef nonnull %.str.25.sink1034, i32 noundef %472, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.21, i32 noundef 157, ptr noundef %474, ptr noundef %476, ptr noundef %478, i32 noundef %479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

481:                                              ; preds = %454
  %482 = load i32, ptr @test_count, align 4, !tbaa !5
  %483 = add nsw i32 %482, 1
  store i32 %483, ptr @test_count, align 4, !tbaa !5
  %484 = load i32, ptr %233, align 4, !tbaa !5
  %485 = icmp eq i32 %484, 0
  br i1 %485, label %486, label %508

486:                                              ; preds = %481
  %487 = load i32, ptr %287, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = call i32 @s2n_print_stacktrace(ptr noundef %488) #12
  %490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %491 = trunc nuw i8 %490 to i1
  br i1 %491, label %492, label %496

492:                                              ; preds = %486
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = call i32 @fileno(ptr noundef %493) #12
  %495 = call i32 @isatty(i32 noundef %494) #12
  %.not842 = icmp eq i32 %495, 0
  br i1 %.not842, label %496, label %497

496:                                              ; preds = %492, %486
  br label %497

497:                                              ; preds = %492, %496
  %.str.25.sink1043 = phi ptr [ @.str.25, %496 ], [ @.str.22, %492 ]
  store i32 %487, ptr %287, align 4, !tbaa !5
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = load i32, ptr %233, align 4, !tbaa !5
  %501 = call ptr @s2n_strerror(i32 noundef %500, ptr noundef nonnull @.str.24) #12
  %502 = load i32, ptr %233, align 4, !tbaa !5
  %503 = call ptr @s2n_strerror_debug(i32 noundef %502, ptr noundef nonnull @.str.24) #12
  %504 = load i32, ptr %287, align 4, !tbaa !5
  %505 = call ptr @strerror(i32 noundef %504) #12
  %506 = load i32, ptr %287, align 4, !tbaa !5
  %507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %498, ptr noundef nonnull %.str.25.sink1043, i32 noundef %499, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.21, i32 noundef 157, ptr noundef %501, ptr noundef %503, ptr noundef %505, i32 noundef %506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

508:                                              ; preds = %481
  %509 = add nsw i32 %482, 2
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = call ptr @s2n_strerror_debug(i32 noundef %484, ptr noundef nonnull @.str.24) #12
  %511 = icmp eq ptr %510, null
  br i1 %511, label %512, label %534

512:                                              ; preds = %508
  %513 = load i32, ptr %287, align 4, !tbaa !5
  %514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %515 = call i32 @s2n_print_stacktrace(ptr noundef %514) #12
  %516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %517 = trunc nuw i8 %516 to i1
  br i1 %517, label %518, label %522

518:                                              ; preds = %512
  %519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %520 = call i32 @fileno(ptr noundef %519) #12
  %521 = call i32 @isatty(i32 noundef %520) #12
  %.not841 = icmp eq i32 %521, 0
  br i1 %.not841, label %522, label %523

522:                                              ; preds = %518, %512
  br label %523

523:                                              ; preds = %518, %522
  %.str.25.sink1052 = phi ptr [ @.str.25, %522 ], [ @.str.22, %518 ]
  store i32 %513, ptr %287, align 4, !tbaa !5
  %524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %525 = load i32, ptr @test_count, align 4, !tbaa !5
  %526 = load i32, ptr %233, align 4, !tbaa !5
  %527 = call ptr @s2n_strerror(i32 noundef %526, ptr noundef nonnull @.str.24) #12
  %528 = load i32, ptr %233, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror_debug(i32 noundef %528, ptr noundef nonnull @.str.24) #12
  %530 = load i32, ptr %287, align 4, !tbaa !5
  %531 = call ptr @strerror(i32 noundef %530) #12
  %532 = load i32, ptr %287, align 4, !tbaa !5
  %533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %524, ptr noundef nonnull %.str.25.sink1052, i32 noundef %525, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 157, ptr noundef %527, ptr noundef %529, ptr noundef %531, i32 noundef %532) #14
  call void @exit(i32 noundef 1) #15
  unreachable

534:                                              ; preds = %508
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %535 = load i32, ptr @test_count, align 4, !tbaa !5
  %536 = add nsw i32 %535, 1
  store i32 %536, ptr @test_count, align 4, !tbaa !5
  %537 = call i32 @s2n_quic_read_handshake_message(ptr noundef nonnull %4, ptr noundef null) #12
  %538 = call zeroext i1 @s2n_result_is_error(i32 %537)
  br i1 %538, label %561, label %539

539:                                              ; preds = %534
  %540 = load i32, ptr %287, align 4, !tbaa !5
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = call i32 @s2n_print_stacktrace(ptr noundef %541) #12
  %543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %544 = trunc nuw i8 %543 to i1
  br i1 %544, label %545, label %549

545:                                              ; preds = %539
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = call i32 @fileno(ptr noundef %546) #12
  %548 = call i32 @isatty(i32 noundef %547) #12
  %.not624 = icmp eq i32 %548, 0
  br i1 %.not624, label %549, label %550

549:                                              ; preds = %545, %539
  br label %550

550:                                              ; preds = %545, %549
  %.str.25.sink1061 = phi ptr [ @.str.25, %549 ], [ @.str.22, %545 ]
  store i32 %540, ptr %287, align 4, !tbaa !5
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = load i32, ptr @test_count, align 4, !tbaa !5
  %553 = load i32, ptr %233, align 4, !tbaa !5
  %554 = call ptr @s2n_strerror(i32 noundef %553, ptr noundef nonnull @.str.24) #12
  %555 = load i32, ptr %233, align 4, !tbaa !5
  %556 = call ptr @s2n_strerror_debug(i32 noundef %555, ptr noundef nonnull @.str.24) #12
  %557 = load i32, ptr %287, align 4, !tbaa !5
  %558 = call ptr @strerror(i32 noundef %557) #12
  %559 = load i32, ptr %287, align 4, !tbaa !5
  %560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %551, ptr noundef nonnull %.str.25.sink1061, i32 noundef %552, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.21, i32 noundef 158, ptr noundef %554, ptr noundef %556, ptr noundef %558, i32 noundef %559) #14
  call void @exit(i32 noundef 1) #15
  unreachable

561:                                              ; preds = %534
  %562 = load i32, ptr @test_count, align 4, !tbaa !5
  %563 = add nsw i32 %562, 1
  store i32 %563, ptr @test_count, align 4, !tbaa !5
  %564 = load i32, ptr %233, align 4, !tbaa !5
  %565 = icmp eq i32 %564, 0
  br i1 %565, label %566, label %588

566:                                              ; preds = %561
  %567 = load i32, ptr %287, align 4, !tbaa !5
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @s2n_print_stacktrace(ptr noundef %568) #12
  %570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %571 = trunc nuw i8 %570 to i1
  br i1 %571, label %572, label %576

572:                                              ; preds = %566
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @fileno(ptr noundef %573) #12
  %575 = call i32 @isatty(i32 noundef %574) #12
  %.not840 = icmp eq i32 %575, 0
  br i1 %.not840, label %576, label %577

576:                                              ; preds = %572, %566
  br label %577

577:                                              ; preds = %572, %576
  %.str.25.sink1070 = phi ptr [ @.str.25, %576 ], [ @.str.22, %572 ]
  store i32 %567, ptr %287, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = load i32, ptr %233, align 4, !tbaa !5
  %581 = call ptr @s2n_strerror(i32 noundef %580, ptr noundef nonnull @.str.24) #12
  %582 = load i32, ptr %233, align 4, !tbaa !5
  %583 = call ptr @s2n_strerror_debug(i32 noundef %582, ptr noundef nonnull @.str.24) #12
  %584 = load i32, ptr %287, align 4, !tbaa !5
  %585 = call ptr @strerror(i32 noundef %584) #12
  %586 = load i32, ptr %287, align 4, !tbaa !5
  %587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull %.str.25.sink1070, i32 noundef %579, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.21, i32 noundef 158, ptr noundef %581, ptr noundef %583, ptr noundef %585, i32 noundef %586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

588:                                              ; preds = %561
  %589 = add nsw i32 %562, 2
  store i32 %589, ptr @test_count, align 4, !tbaa !5
  %590 = call ptr @s2n_strerror_debug(i32 noundef %564, ptr noundef nonnull @.str.24) #12
  %591 = icmp eq ptr %590, null
  br i1 %591, label %592, label %614

592:                                              ; preds = %588
  %593 = load i32, ptr %287, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = call i32 @s2n_print_stacktrace(ptr noundef %594) #12
  %596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %597 = trunc nuw i8 %596 to i1
  br i1 %597, label %598, label %602

598:                                              ; preds = %592
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = call i32 @fileno(ptr noundef %599) #12
  %601 = call i32 @isatty(i32 noundef %600) #12
  %.not839 = icmp eq i32 %601, 0
  br i1 %.not839, label %602, label %603

602:                                              ; preds = %598, %592
  br label %603

603:                                              ; preds = %598, %602
  %.str.25.sink1079 = phi ptr [ @.str.25, %602 ], [ @.str.22, %598 ]
  store i32 %593, ptr %287, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = load i32, ptr %233, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror(i32 noundef %606, ptr noundef nonnull @.str.24) #12
  %608 = load i32, ptr %233, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror_debug(i32 noundef %608, ptr noundef nonnull @.str.24) #12
  %610 = load i32, ptr %287, align 4, !tbaa !5
  %611 = call ptr @strerror(i32 noundef %610) #12
  %612 = load i32, ptr %287, align 4, !tbaa !5
  %613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef nonnull %.str.25.sink1079, i32 noundef %605, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 158, ptr noundef %607, ptr noundef %609, ptr noundef %611, i32 noundef %612) #14
  call void @exit(i32 noundef 1) #15
  unreachable

614:                                              ; preds = %588
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %4) #12
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @test_count, align 4, !tbaa !5
  %617 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %618 = icmp eq ptr %617, null
  br i1 %618, label %619, label %641

619:                                              ; preds = %614
  %620 = load i32, ptr %287, align 4, !tbaa !5
  %621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %622 = call i32 @s2n_print_stacktrace(ptr noundef %621) #12
  %623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %624 = trunc nuw i8 %623 to i1
  br i1 %624, label %625, label %629

625:                                              ; preds = %619
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = call i32 @fileno(ptr noundef %626) #12
  %628 = call i32 @isatty(i32 noundef %627) #12
  %.not838 = icmp eq i32 %628, 0
  br i1 %.not838, label %629, label %630

629:                                              ; preds = %625, %619
  br label %630

630:                                              ; preds = %625, %629
  %.str.25.sink1088 = phi ptr [ @.str.25, %629 ], [ @.str.22, %625 ]
  store i32 %620, ptr %287, align 4, !tbaa !5
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = load i32, ptr @test_count, align 4, !tbaa !5
  %633 = load i32, ptr %233, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror(i32 noundef %633, ptr noundef nonnull @.str.24) #12
  %635 = load i32, ptr %233, align 4, !tbaa !5
  %636 = call ptr @s2n_strerror_debug(i32 noundef %635, ptr noundef nonnull @.str.24) #12
  %637 = load i32, ptr %287, align 4, !tbaa !5
  %638 = call ptr @strerror(i32 noundef %637) #12
  %639 = load i32, ptr %287, align 4, !tbaa !5
  %640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %631, ptr noundef nonnull %.str.25.sink1088, i32 noundef %632, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 164, ptr noundef %634, ptr noundef %636, ptr noundef %638, i32 noundef %639) #14
  call void @exit(i32 noundef 1) #15
  unreachable

641:                                              ; preds = %614
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, i8 0, i64 40, i1 false)
  %642 = load i32, ptr @test_count, align 4, !tbaa !5
  %643 = add nsw i32 %642, 1
  store i32 %643, ptr @test_count, align 4, !tbaa !5
  %644 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #12
  %645 = icmp eq i32 %644, -1
  br i1 %645, label %646, label %668

646:                                              ; preds = %641
  %647 = load i32, ptr %287, align 4, !tbaa !5
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = call i32 @s2n_print_stacktrace(ptr noundef %648) #12
  %650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %651 = trunc nuw i8 %650 to i1
  br i1 %651, label %652, label %656

652:                                              ; preds = %646
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = call i32 @fileno(ptr noundef %653) #12
  %655 = call i32 @isatty(i32 noundef %654) #12
  %.not837 = icmp eq i32 %655, 0
  br i1 %.not837, label %656, label %657

656:                                              ; preds = %652, %646
  br label %657

657:                                              ; preds = %652, %656
  %.str.25.sink1097 = phi ptr [ @.str.25, %656 ], [ @.str.22, %652 ]
  store i32 %647, ptr %287, align 4, !tbaa !5
  %658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %659 = load i32, ptr @test_count, align 4, !tbaa !5
  %660 = load i32, ptr %233, align 4, !tbaa !5
  %661 = call ptr @s2n_strerror(i32 noundef %660, ptr noundef nonnull @.str.24) #12
  %662 = load i32, ptr %233, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror_debug(i32 noundef %662, ptr noundef nonnull @.str.24) #12
  %664 = load i32, ptr %287, align 4, !tbaa !5
  %665 = call ptr @strerror(i32 noundef %664) #12
  %666 = load i32, ptr %287, align 4, !tbaa !5
  %667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %658, ptr noundef nonnull %.str.25.sink1097, i32 noundef %659, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 167, ptr noundef %661, ptr noundef %663, ptr noundef %665, i32 noundef %666) #14
  call void @exit(i32 noundef 1) #15
  unreachable

668:                                              ; preds = %641
  %669 = load i32, ptr @test_count, align 4, !tbaa !5
  %670 = add nsw i32 %669, 1
  store i32 %670, ptr @test_count, align 4, !tbaa !5
  %671 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %6, ptr noundef nonnull %6, ptr noundef nonnull %617) #12
  %672 = icmp eq i32 %671, -1
  br i1 %672, label %673, label %695

673:                                              ; preds = %668
  %674 = load i32, ptr %287, align 4, !tbaa !5
  %675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %676 = call i32 @s2n_print_stacktrace(ptr noundef %675) #12
  %677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %678 = trunc nuw i8 %677 to i1
  br i1 %678, label %679, label %683

679:                                              ; preds = %673
  %680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %681 = call i32 @fileno(ptr noundef %680) #12
  %682 = call i32 @isatty(i32 noundef %681) #12
  %.not836 = icmp eq i32 %682, 0
  br i1 %.not836, label %683, label %684

683:                                              ; preds = %679, %673
  br label %684

684:                                              ; preds = %679, %683
  %.str.25.sink1106 = phi ptr [ @.str.25, %683 ], [ @.str.22, %679 ]
  store i32 %674, ptr %287, align 4, !tbaa !5
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = load i32, ptr @test_count, align 4, !tbaa !5
  %687 = load i32, ptr %233, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror(i32 noundef %687, ptr noundef nonnull @.str.24) #12
  %689 = load i32, ptr %233, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef nonnull @.str.24) #12
  %691 = load i32, ptr %287, align 4, !tbaa !5
  %692 = call ptr @strerror(i32 noundef %691) #12
  %693 = load i32, ptr %287, align 4, !tbaa !5
  %694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %685, ptr noundef nonnull %.str.25.sink1106, i32 noundef %686, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 168, ptr noundef %688, ptr noundef %690, ptr noundef %692, i32 noundef %693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

695:                                              ; preds = %668
  %696 = load i32, ptr @test_count, align 4, !tbaa !5
  %697 = add nsw i32 %696, 1
  store i32 %697, ptr @test_count, align 4, !tbaa !5
  %698 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %6, i8 noundef zeroext 7) #12
  %699 = icmp eq i32 %698, -1
  br i1 %699, label %700, label %722

700:                                              ; preds = %695
  %701 = load i32, ptr %287, align 4, !tbaa !5
  %702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %703 = call i32 @s2n_print_stacktrace(ptr noundef %702) #12
  %704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %705 = trunc nuw i8 %704 to i1
  br i1 %705, label %706, label %710

706:                                              ; preds = %700
  %707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %708 = call i32 @fileno(ptr noundef %707) #12
  %709 = call i32 @isatty(i32 noundef %708) #12
  %.not835 = icmp eq i32 %709, 0
  br i1 %.not835, label %710, label %711

710:                                              ; preds = %706, %700
  br label %711

711:                                              ; preds = %706, %710
  %.str.25.sink1115 = phi ptr [ @.str.25, %710 ], [ @.str.22, %706 ]
  store i32 %701, ptr %287, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = load i32, ptr @test_count, align 4, !tbaa !5
  %714 = load i32, ptr %233, align 4, !tbaa !5
  %715 = call ptr @s2n_strerror(i32 noundef %714, ptr noundef nonnull @.str.24) #12
  %716 = load i32, ptr %233, align 4, !tbaa !5
  %717 = call ptr @s2n_strerror_debug(i32 noundef %716, ptr noundef nonnull @.str.24) #12
  %718 = load i32, ptr %287, align 4, !tbaa !5
  %719 = call ptr @strerror(i32 noundef %718) #12
  %720 = load i32, ptr %287, align 4, !tbaa !5
  %721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %712, ptr noundef nonnull %.str.25.sink1115, i32 noundef %713, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.21, i32 noundef 171, ptr noundef %715, ptr noundef %717, ptr noundef %719, i32 noundef %720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

722:                                              ; preds = %695
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = add nsw i32 %723, 1
  store i32 %724, ptr @test_count, align 4, !tbaa !5
  %725 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %6, i32 noundef 5) #12
  %726 = icmp eq i32 %725, -1
  br i1 %726, label %727, label %749

727:                                              ; preds = %722
  %728 = load i32, ptr %287, align 4, !tbaa !5
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = call i32 @s2n_print_stacktrace(ptr noundef %729) #12
  %731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %732 = trunc nuw i8 %731 to i1
  br i1 %732, label %733, label %737

733:                                              ; preds = %727
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @fileno(ptr noundef %734) #12
  %736 = call i32 @isatty(i32 noundef %735) #12
  %.not834 = icmp eq i32 %736, 0
  br i1 %.not834, label %737, label %738

737:                                              ; preds = %733, %727
  br label %738

738:                                              ; preds = %733, %737
  %.str.25.sink1124 = phi ptr [ @.str.25, %737 ], [ @.str.22, %733 ]
  store i32 %728, ptr %287, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = load i32, ptr %233, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror(i32 noundef %741, ptr noundef nonnull @.str.24) #12
  %743 = load i32, ptr %233, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror_debug(i32 noundef %743, ptr noundef nonnull @.str.24) #12
  %745 = load i32, ptr %287, align 4, !tbaa !5
  %746 = call ptr @strerror(i32 noundef %745) #12
  %747 = load i32, ptr %287, align 4, !tbaa !5
  %748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef nonnull %.str.25.sink1124, i32 noundef %740, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.21, i32 noundef 172, ptr noundef %742, ptr noundef %744, ptr noundef %746, i32 noundef %747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

749:                                              ; preds = %722
  %750 = load i32, ptr @test_count, align 4, !tbaa !5
  %751 = add nsw i32 %750, 1
  store i32 %751, ptr @test_count, align 4, !tbaa !5
  %752 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %6, ptr noundef nonnull @TEST_DATA, i32 noundef 5) #12
  %753 = icmp eq i32 %752, -1
  br i1 %753, label %754, label %776

754:                                              ; preds = %749
  %755 = load i32, ptr %287, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = call i32 @s2n_print_stacktrace(ptr noundef %756) #12
  %758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %759 = trunc nuw i8 %758 to i1
  br i1 %759, label %760, label %764

760:                                              ; preds = %754
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = call i32 @fileno(ptr noundef %761) #12
  %763 = call i32 @isatty(i32 noundef %762) #12
  %.not833 = icmp eq i32 %763, 0
  br i1 %.not833, label %764, label %765

764:                                              ; preds = %760, %754
  br label %765

765:                                              ; preds = %760, %764
  %.str.25.sink1133 = phi ptr [ @.str.25, %764 ], [ @.str.22, %760 ]
  store i32 %755, ptr %287, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = load i32, ptr %233, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror(i32 noundef %768, ptr noundef nonnull @.str.24) #12
  %770 = load i32, ptr %233, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror_debug(i32 noundef %770, ptr noundef nonnull @.str.24) #12
  %772 = load i32, ptr %287, align 4, !tbaa !5
  %773 = call ptr @strerror(i32 noundef %772) #12
  %774 = load i32, ptr %287, align 4, !tbaa !5
  %775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %766, ptr noundef nonnull %.str.25.sink1133, i32 noundef %767, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.21, i32 noundef 173, ptr noundef %769, ptr noundef %771, ptr noundef %773, i32 noundef %774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

776:                                              ; preds = %749
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #12
  store i8 0, ptr %7, align 1, !tbaa !43
  %777 = load i32, ptr @test_count, align 4, !tbaa !5
  %778 = add nsw i32 %777, 1
  store i32 %778, ptr @test_count, align 4, !tbaa !5
  %779 = call i32 @s2n_quic_read_handshake_message(ptr noundef nonnull %617, ptr noundef nonnull %7) #12
  %780 = call zeroext i1 @s2n_result_is_ok(i32 %779)
  br i1 %780, label %803, label %781

781:                                              ; preds = %776
  %782 = load i32, ptr %287, align 4, !tbaa !5
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = call i32 @s2n_print_stacktrace(ptr noundef %783) #12
  %785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %786 = trunc nuw i8 %785 to i1
  br i1 %786, label %787, label %791

787:                                              ; preds = %781
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = call i32 @fileno(ptr noundef %788) #12
  %790 = call i32 @isatty(i32 noundef %789) #12
  %.not625 = icmp eq i32 %790, 0
  br i1 %.not625, label %791, label %792

791:                                              ; preds = %787, %781
  br label %792

792:                                              ; preds = %787, %791
  %.str.25.sink1142 = phi ptr [ @.str.25, %791 ], [ @.str.22, %787 ]
  store i32 %782, ptr %287, align 4, !tbaa !5
  %793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %794 = load i32, ptr @test_count, align 4, !tbaa !5
  %795 = load i32, ptr %233, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror(i32 noundef %795, ptr noundef nonnull @.str.24) #12
  %797 = load i32, ptr %233, align 4, !tbaa !5
  %798 = call ptr @s2n_strerror_debug(i32 noundef %797, ptr noundef nonnull @.str.24) #12
  %799 = load i32, ptr %287, align 4, !tbaa !5
  %800 = call ptr @strerror(i32 noundef %799) #12
  %801 = load i32, ptr %287, align 4, !tbaa !5
  %802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %793, ptr noundef nonnull %.str.25.sink1142, i32 noundef %794, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.21, i32 noundef 176, ptr noundef %796, ptr noundef %798, ptr noundef %800, i32 noundef %801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

803:                                              ; preds = %776
  %804 = load i32, ptr @test_count, align 4, !tbaa !5
  %805 = add nsw i32 %804, 1
  store i32 %805, ptr @test_count, align 4, !tbaa !5
  %806 = load i8, ptr %7, align 1, !tbaa !43
  %807 = icmp eq i8 %806, 7
  br i1 %807, label %830, label %808

808:                                              ; preds = %803
  %809 = load i32, ptr %287, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = call i32 @s2n_print_stacktrace(ptr noundef %810) #12
  %812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %813 = trunc nuw i8 %812 to i1
  br i1 %813, label %814, label %818

814:                                              ; preds = %808
  %815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %816 = call i32 @fileno(ptr noundef %815) #12
  %817 = call i32 @isatty(i32 noundef %816) #12
  %.not626 = icmp eq i32 %817, 0
  br i1 %.not626, label %818, label %819

818:                                              ; preds = %814, %808
  br label %819

819:                                              ; preds = %814, %818
  %.str.25.sink1151 = phi ptr [ @.str.25, %818 ], [ @.str.22, %814 ]
  store i32 %809, ptr %287, align 4, !tbaa !5
  %820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %821 = load i32, ptr @test_count, align 4, !tbaa !5
  %822 = load i32, ptr %233, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror(i32 noundef %822, ptr noundef nonnull @.str.24) #12
  %824 = load i32, ptr %233, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef nonnull @.str.24) #12
  %826 = load i32, ptr %287, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #12
  %828 = load i32, ptr %287, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %820, ptr noundef nonnull %.str.25.sink1151, i32 noundef %821, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.21, i32 noundef 178, ptr noundef %823, ptr noundef %825, ptr noundef %827, i32 noundef %828) #14
  call void @exit(i32 noundef 1) #15
  unreachable

830:                                              ; preds = %803
  %831 = add nsw i32 %804, 2
  store i32 %831, ptr @test_count, align 4, !tbaa !5
  %832 = getelementptr inbounds i8, ptr %617, i64 2044
  %833 = load i32, ptr %832, align 4, !tbaa !44
  %834 = getelementptr inbounds i8, ptr %617, i64 2040
  %835 = load i32, ptr %834, align 8, !tbaa !45
  %836 = sub i32 %833, %835
  %837 = icmp eq i32 %836, 4
  br i1 %837, label %860, label %838

838:                                              ; preds = %830
  %839 = load i32, ptr %287, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = call i32 @s2n_print_stacktrace(ptr noundef %840) #12
  %842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %843 = trunc nuw i8 %842 to i1
  br i1 %843, label %844, label %848

844:                                              ; preds = %838
  %845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %846 = call i32 @fileno(ptr noundef %845) #12
  %847 = call i32 @isatty(i32 noundef %846) #12
  %.not627 = icmp eq i32 %847, 0
  br i1 %.not627, label %848, label %849

848:                                              ; preds = %844, %838
  br label %849

849:                                              ; preds = %844, %848
  %.str.25.sink1160 = phi ptr [ @.str.25, %848 ], [ @.str.22, %844 ]
  store i32 %839, ptr %287, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = load i32, ptr %233, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror(i32 noundef %852, ptr noundef nonnull @.str.24) #12
  %854 = load i32, ptr %233, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef nonnull @.str.24) #12
  %856 = load i32, ptr %287, align 4, !tbaa !5
  %857 = call ptr @strerror(i32 noundef %856) #12
  %858 = load i32, ptr %287, align 4, !tbaa !5
  %859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef nonnull %.str.25.sink1160, i32 noundef %851, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.21, i32 noundef 179, ptr noundef %853, ptr noundef %855, ptr noundef %857, i32 noundef %858) #14
  call void @exit(i32 noundef 1) #15
  unreachable

860:                                              ; preds = %830
  %861 = add nsw i32 %804, 3
  store i32 %861, ptr @test_count, align 4, !tbaa !5
  %862 = getelementptr inbounds i8, ptr %617, i64 1884
  %863 = load i32, ptr %862, align 4, !tbaa !46
  %864 = getelementptr inbounds i8, ptr %617, i64 1880
  %865 = load i32, ptr %864, align 8, !tbaa !47
  %866 = sub i32 %863, %865
  %867 = icmp eq i32 %866, 5
  br i1 %867, label %890, label %868

868:                                              ; preds = %860
  %869 = load i32, ptr %287, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = call i32 @s2n_print_stacktrace(ptr noundef %870) #12
  %872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %873 = trunc nuw i8 %872 to i1
  br i1 %873, label %874, label %878

874:                                              ; preds = %868
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = call i32 @fileno(ptr noundef %875) #12
  %877 = call i32 @isatty(i32 noundef %876) #12
  %.not628 = icmp eq i32 %877, 0
  br i1 %.not628, label %878, label %879

878:                                              ; preds = %874, %868
  br label %879

879:                                              ; preds = %874, %878
  %.str.25.sink1169 = phi ptr [ @.str.25, %878 ], [ @.str.22, %874 ]
  store i32 %869, ptr %287, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = load i32, ptr @test_count, align 4, !tbaa !5
  %882 = load i32, ptr %233, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror(i32 noundef %882, ptr noundef nonnull @.str.24) #12
  %884 = load i32, ptr %233, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror_debug(i32 noundef %884, ptr noundef nonnull @.str.24) #12
  %886 = load i32, ptr %287, align 4, !tbaa !5
  %887 = call ptr @strerror(i32 noundef %886) #12
  %888 = load i32, ptr %287, align 4, !tbaa !5
  %889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %880, ptr noundef nonnull %.str.25.sink1169, i32 noundef %881, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.21, i32 noundef 180, ptr noundef %883, ptr noundef %885, ptr noundef %887, i32 noundef %888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

890:                                              ; preds = %860
  %891 = getelementptr inbounds i8, ptr %617, i64 1856
  %892 = add nsw i32 %804, 4
  store i32 %892, ptr @test_count, align 4, !tbaa !5
  %893 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %891, i32 noundef 5) #12
  %bcmp629 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %893, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %894 = icmp eq i32 %bcmp629, 0
  br i1 %894, label %917, label %895

895:                                              ; preds = %890
  %896 = load i32, ptr %287, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @s2n_print_stacktrace(ptr noundef %897) #12
  %899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc nuw i8 %899 to i1
  br i1 %900, label %901, label %905

901:                                              ; preds = %895
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @fileno(ptr noundef %902) #12
  %904 = call i32 @isatty(i32 noundef %903) #12
  %.not630 = icmp eq i32 %904, 0
  br i1 %.not630, label %905, label %906

905:                                              ; preds = %901, %895
  br label %906

906:                                              ; preds = %901, %905
  %.str.25.sink1178 = phi ptr [ @.str.25, %905 ], [ @.str.22, %901 ]
  store i32 %896, ptr %287, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = load i32, ptr %233, align 4, !tbaa !5
  %910 = call ptr @s2n_strerror(i32 noundef %909, ptr noundef nonnull @.str.24) #12
  %911 = load i32, ptr %233, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror_debug(i32 noundef %911, ptr noundef nonnull @.str.24) #12
  %913 = load i32, ptr %287, align 4, !tbaa !5
  %914 = call ptr @strerror(i32 noundef %913) #12
  %915 = load i32, ptr %287, align 4, !tbaa !5
  %916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %907, ptr noundef nonnull %.str.25.sink1178, i32 noundef %908, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.21, i32 noundef 182, ptr noundef %910, ptr noundef %912, ptr noundef %914, i32 noundef %915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

917:                                              ; preds = %890
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = add nsw i32 %918, 1
  store i32 %919, ptr @test_count, align 4, !tbaa !5
  %920 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #12
  %921 = icmp eq i32 %920, -1
  br i1 %921, label %922, label %944

922:                                              ; preds = %917
  %923 = load i32, ptr %287, align 4, !tbaa !5
  %924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %925 = call i32 @s2n_print_stacktrace(ptr noundef %924) #12
  %926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %927 = trunc nuw i8 %926 to i1
  br i1 %927, label %928, label %932

928:                                              ; preds = %922
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = call i32 @fileno(ptr noundef %929) #12
  %931 = call i32 @isatty(i32 noundef %930) #12
  %.not832 = icmp eq i32 %931, 0
  br i1 %.not832, label %932, label %933

932:                                              ; preds = %928, %922
  br label %933

933:                                              ; preds = %928, %932
  %.str.25.sink1187 = phi ptr [ @.str.25, %932 ], [ @.str.22, %928 ]
  store i32 %923, ptr %287, align 4, !tbaa !5
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = load i32, ptr @test_count, align 4, !tbaa !5
  %936 = load i32, ptr %233, align 4, !tbaa !5
  %937 = call ptr @s2n_strerror(i32 noundef %936, ptr noundef nonnull @.str.24) #12
  %938 = load i32, ptr %233, align 4, !tbaa !5
  %939 = call ptr @s2n_strerror_debug(i32 noundef %938, ptr noundef nonnull @.str.24) #12
  %940 = load i32, ptr %287, align 4, !tbaa !5
  %941 = call ptr @strerror(i32 noundef %940) #12
  %942 = load i32, ptr %287, align 4, !tbaa !5
  %943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %934, ptr noundef nonnull %.str.25.sink1187, i32 noundef %935, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.21, i32 noundef 184, ptr noundef %937, ptr noundef %939, ptr noundef %941, i32 noundef %942) #14
  call void @exit(i32 noundef 1) #15
  unreachable

944:                                              ; preds = %917
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = add nsw i32 %945, 1
  store i32 %946, ptr @test_count, align 4, !tbaa !5
  %947 = call i32 @s2n_connection_free(ptr noundef nonnull %617) #12
  %948 = icmp eq i32 %947, -1
  br i1 %948, label %949, label %971

949:                                              ; preds = %944
  %950 = load i32, ptr %287, align 4, !tbaa !5
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @s2n_print_stacktrace(ptr noundef %951) #12
  %953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %954 = trunc nuw i8 %953 to i1
  br i1 %954, label %955, label %959

955:                                              ; preds = %949
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = call i32 @fileno(ptr noundef %956) #12
  %958 = call i32 @isatty(i32 noundef %957) #12
  %.not831 = icmp eq i32 %958, 0
  br i1 %.not831, label %959, label %960

959:                                              ; preds = %955, %949
  br label %960

960:                                              ; preds = %955, %959
  %.str.25.sink1196 = phi ptr [ @.str.25, %959 ], [ @.str.22, %955 ]
  store i32 %950, ptr %287, align 4, !tbaa !5
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = load i32, ptr @test_count, align 4, !tbaa !5
  %963 = load i32, ptr %233, align 4, !tbaa !5
  %964 = call ptr @s2n_strerror(i32 noundef %963, ptr noundef nonnull @.str.24) #12
  %965 = load i32, ptr %233, align 4, !tbaa !5
  %966 = call ptr @s2n_strerror_debug(i32 noundef %965, ptr noundef nonnull @.str.24) #12
  %967 = load i32, ptr %287, align 4, !tbaa !5
  %968 = call ptr @strerror(i32 noundef %967) #12
  %969 = load i32, ptr %287, align 4, !tbaa !5
  %970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %961, ptr noundef nonnull %.str.25.sink1196, i32 noundef %962, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 185, ptr noundef %964, ptr noundef %966, ptr noundef %968, i32 noundef %969) #14
  call void @exit(i32 noundef 1) #15
  unreachable

971:                                              ; preds = %944
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #12
  %972 = load i32, ptr @test_count, align 4, !tbaa !5
  %973 = add nsw i32 %972, 1
  store i32 %973, ptr @test_count, align 4, !tbaa !5
  %974 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %975 = icmp eq ptr %974, null
  br i1 %975, label %976, label %998

976:                                              ; preds = %971
  %977 = load i32, ptr %287, align 4, !tbaa !5
  %978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %979 = call i32 @s2n_print_stacktrace(ptr noundef %978) #12
  %980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %981 = trunc nuw i8 %980 to i1
  br i1 %981, label %982, label %986

982:                                              ; preds = %976
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = call i32 @fileno(ptr noundef %983) #12
  %985 = call i32 @isatty(i32 noundef %984) #12
  %.not830 = icmp eq i32 %985, 0
  br i1 %.not830, label %986, label %987

986:                                              ; preds = %982, %976
  br label %987

987:                                              ; preds = %982, %986
  %.str.25.sink1205 = phi ptr [ @.str.25, %986 ], [ @.str.22, %982 ]
  store i32 %977, ptr %287, align 4, !tbaa !5
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = load i32, ptr @test_count, align 4, !tbaa !5
  %990 = load i32, ptr %233, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror(i32 noundef %990, ptr noundef nonnull @.str.24) #12
  %992 = load i32, ptr %233, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror_debug(i32 noundef %992, ptr noundef nonnull @.str.24) #12
  %994 = load i32, ptr %287, align 4, !tbaa !5
  %995 = call ptr @strerror(i32 noundef %994) #12
  %996 = load i32, ptr %287, align 4, !tbaa !5
  %997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef nonnull %.str.25.sink1205, i32 noundef %989, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 191, ptr noundef %991, ptr noundef %993, ptr noundef %995, i32 noundef %996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

998:                                              ; preds = %971
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %999 = load i32, ptr @test_count, align 4, !tbaa !5
  %1000 = add nsw i32 %999, 1
  store i32 %1000, ptr @test_count, align 4, !tbaa !5
  %1001 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8, i32 noundef 0) #12
  %1002 = icmp eq i32 %1001, -1
  br i1 %1002, label %1003, label %1025

1003:                                             ; preds = %998
  %1004 = load i32, ptr %287, align 4, !tbaa !5
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @s2n_print_stacktrace(ptr noundef %1005) #12
  %1007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1008 = trunc nuw i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1003
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = call i32 @fileno(ptr noundef %1010) #12
  %1012 = call i32 @isatty(i32 noundef %1011) #12
  %.not829 = icmp eq i32 %1012, 0
  br i1 %.not829, label %1013, label %1014

1013:                                             ; preds = %1009, %1003
  br label %1014

1014:                                             ; preds = %1009, %1013
  %.str.25.sink1214 = phi ptr [ @.str.25, %1013 ], [ @.str.22, %1009 ]
  store i32 %1004, ptr %287, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = load i32, ptr %233, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror(i32 noundef %1017, ptr noundef nonnull @.str.24) #12
  %1019 = load i32, ptr %233, align 4, !tbaa !5
  %1020 = call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef nonnull @.str.24) #12
  %1021 = load i32, ptr %287, align 4, !tbaa !5
  %1022 = call ptr @strerror(i32 noundef %1021) #12
  %1023 = load i32, ptr %287, align 4, !tbaa !5
  %1024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef nonnull %.str.25.sink1214, i32 noundef %1016, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 194, ptr noundef %1018, ptr noundef %1020, ptr noundef %1022, i32 noundef %1023) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1025:                                             ; preds = %998
  %1026 = load i32, ptr @test_count, align 4, !tbaa !5
  %1027 = add nsw i32 %1026, 1
  store i32 %1027, ptr @test_count, align 4, !tbaa !5
  %1028 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %8, ptr noundef nonnull %8, ptr noundef nonnull %974) #12
  %1029 = icmp eq i32 %1028, -1
  br i1 %1029, label %1030, label %1052

1030:                                             ; preds = %1025
  %1031 = load i32, ptr %287, align 4, !tbaa !5
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @s2n_print_stacktrace(ptr noundef %1032) #12
  %1034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1035 = trunc nuw i8 %1034 to i1
  br i1 %1035, label %1036, label %1040

1036:                                             ; preds = %1030
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = call i32 @fileno(ptr noundef %1037) #12
  %1039 = call i32 @isatty(i32 noundef %1038) #12
  %.not828 = icmp eq i32 %1039, 0
  br i1 %.not828, label %1040, label %1041

1040:                                             ; preds = %1036, %1030
  br label %1041

1041:                                             ; preds = %1036, %1040
  %.str.25.sink1223 = phi ptr [ @.str.25, %1040 ], [ @.str.22, %1036 ]
  store i32 %1031, ptr %287, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = load i32, ptr @test_count, align 4, !tbaa !5
  %1044 = load i32, ptr %233, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror(i32 noundef %1044, ptr noundef nonnull @.str.24) #12
  %1046 = load i32, ptr %233, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror_debug(i32 noundef %1046, ptr noundef nonnull @.str.24) #12
  %1048 = load i32, ptr %287, align 4, !tbaa !5
  %1049 = call ptr @strerror(i32 noundef %1048) #12
  %1050 = load i32, ptr %287, align 4, !tbaa !5
  %1051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1042, ptr noundef nonnull %.str.25.sink1223, i32 noundef %1043, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 195, ptr noundef %1045, ptr noundef %1047, ptr noundef %1049, i32 noundef %1050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1052:                                             ; preds = %1025
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = add nsw i32 %1053, 1
  store i32 %1054, ptr @test_count, align 4, !tbaa !5
  %1055 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %8, i8 noundef zeroext 7) #12
  %1056 = icmp eq i32 %1055, -1
  br i1 %1056, label %1057, label %1079

1057:                                             ; preds = %1052
  %1058 = load i32, ptr %287, align 4, !tbaa !5
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = call i32 @s2n_print_stacktrace(ptr noundef %1059) #12
  %1061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1062 = trunc nuw i8 %1061 to i1
  br i1 %1062, label %1063, label %1067

1063:                                             ; preds = %1057
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = call i32 @fileno(ptr noundef %1064) #12
  %1066 = call i32 @isatty(i32 noundef %1065) #12
  %.not827 = icmp eq i32 %1066, 0
  br i1 %.not827, label %1067, label %1068

1067:                                             ; preds = %1063, %1057
  br label %1068

1068:                                             ; preds = %1063, %1067
  %.str.25.sink1232 = phi ptr [ @.str.25, %1067 ], [ @.str.22, %1063 ]
  store i32 %1058, ptr %287, align 4, !tbaa !5
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = load i32, ptr @test_count, align 4, !tbaa !5
  %1071 = load i32, ptr %233, align 4, !tbaa !5
  %1072 = call ptr @s2n_strerror(i32 noundef %1071, ptr noundef nonnull @.str.24) #12
  %1073 = load i32, ptr %233, align 4, !tbaa !5
  %1074 = call ptr @s2n_strerror_debug(i32 noundef %1073, ptr noundef nonnull @.str.24) #12
  %1075 = load i32, ptr %287, align 4, !tbaa !5
  %1076 = call ptr @strerror(i32 noundef %1075) #12
  %1077 = load i32, ptr %287, align 4, !tbaa !5
  %1078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1069, ptr noundef nonnull %.str.25.sink1232, i32 noundef %1070, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 197, ptr noundef %1072, ptr noundef %1074, ptr noundef %1076, i32 noundef %1077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1079:                                             ; preds = %1052
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #12
  store i8 0, ptr %9, align 1, !tbaa !43
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr @test_count, align 4, !tbaa !5
  %1082 = call i32 @s2n_quic_read_handshake_message(ptr noundef nonnull %974, ptr noundef nonnull %9) #12
  %1083 = call zeroext i1 @s2n_result_is_error(i32 %1082)
  br i1 %1083, label %1106, label %1084

1084:                                             ; preds = %1079
  %1085 = load i32, ptr %287, align 4, !tbaa !5
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @s2n_print_stacktrace(ptr noundef %1086) #12
  %1088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1089 = trunc nuw i8 %1088 to i1
  br i1 %1089, label %1090, label %1094

1090:                                             ; preds = %1084
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = call i32 @fileno(ptr noundef %1091) #12
  %1093 = call i32 @isatty(i32 noundef %1092) #12
  %.not631 = icmp eq i32 %1093, 0
  br i1 %.not631, label %1094, label %1095

1094:                                             ; preds = %1090, %1084
  br label %1095

1095:                                             ; preds = %1090, %1094
  %.str.25.sink1241 = phi ptr [ @.str.25, %1094 ], [ @.str.22, %1090 ]
  store i32 %1085, ptr %287, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = load i32, ptr %233, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror(i32 noundef %1098, ptr noundef nonnull @.str.24) #12
  %1100 = load i32, ptr %233, align 4, !tbaa !5
  %1101 = call ptr @s2n_strerror_debug(i32 noundef %1100, ptr noundef nonnull @.str.24) #12
  %1102 = load i32, ptr %287, align 4, !tbaa !5
  %1103 = call ptr @strerror(i32 noundef %1102) #12
  %1104 = load i32, ptr %287, align 4, !tbaa !5
  %1105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef nonnull %.str.25.sink1241, i32 noundef %1097, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.21, i32 noundef 201, ptr noundef %1099, ptr noundef %1101, ptr noundef %1103, i32 noundef %1104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1106:                                             ; preds = %1079
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = add nsw i32 %1107, 1
  store i32 %1108, ptr @test_count, align 4, !tbaa !5
  %1109 = load i32, ptr %233, align 4, !tbaa !5
  %1110 = icmp eq i32 %1109, 201326592
  br i1 %1110, label %1133, label %1111

1111:                                             ; preds = %1106
  %1112 = load i32, ptr %287, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @s2n_print_stacktrace(ptr noundef %1113) #12
  %1115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1116 = trunc nuw i8 %1115 to i1
  br i1 %1116, label %1117, label %1121

1117:                                             ; preds = %1111
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @fileno(ptr noundef %1118) #12
  %1120 = call i32 @isatty(i32 noundef %1119) #12
  %.not632 = icmp eq i32 %1120, 0
  br i1 %.not632, label %1121, label %1122

1121:                                             ; preds = %1117, %1111
  br label %1122

1122:                                             ; preds = %1117, %1121
  %.str.25.sink1250 = phi ptr [ @.str.25, %1121 ], [ @.str.22, %1117 ]
  store i32 %1112, ptr %287, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = load i32, ptr %233, align 4, !tbaa !5
  %1126 = call ptr @s2n_strerror(i32 noundef %1125, ptr noundef nonnull @.str.24) #12
  %1127 = load i32, ptr %233, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror_debug(i32 noundef %1127, ptr noundef nonnull @.str.24) #12
  %1129 = load i32, ptr %287, align 4, !tbaa !5
  %1130 = call ptr @strerror(i32 noundef %1129) #12
  %1131 = load i32, ptr %287, align 4, !tbaa !5
  %1132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1123, ptr noundef nonnull %.str.25.sink1250, i32 noundef %1124, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 201, ptr noundef %1126, ptr noundef %1128, ptr noundef %1130, i32 noundef %1131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1133:                                             ; preds = %1106
  %1134 = add nsw i32 %1107, 2
  store i32 %1134, ptr @test_count, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %1136 = icmp eq ptr %1135, null
  br i1 %1136, label %1137, label %1159

1137:                                             ; preds = %1133
  %1138 = load i32, ptr %287, align 4, !tbaa !5
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = call i32 @s2n_print_stacktrace(ptr noundef %1139) #12
  %1141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1142 = trunc nuw i8 %1141 to i1
  br i1 %1142, label %1143, label %1147

1143:                                             ; preds = %1137
  %1144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1145 = call i32 @fileno(ptr noundef %1144) #12
  %1146 = call i32 @isatty(i32 noundef %1145) #12
  %.not826 = icmp eq i32 %1146, 0
  br i1 %.not826, label %1147, label %1148

1147:                                             ; preds = %1143, %1137
  br label %1148

1148:                                             ; preds = %1143, %1147
  %.str.25.sink1259 = phi ptr [ @.str.25, %1147 ], [ @.str.22, %1143 ]
  store i32 %1138, ptr %287, align 4, !tbaa !5
  %1149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1150 = load i32, ptr @test_count, align 4, !tbaa !5
  %1151 = load i32, ptr %233, align 4, !tbaa !5
  %1152 = call ptr @s2n_strerror(i32 noundef %1151, ptr noundef nonnull @.str.24) #12
  %1153 = load i32, ptr %233, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror_debug(i32 noundef %1153, ptr noundef nonnull @.str.24) #12
  %1155 = load i32, ptr %287, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #12
  %1157 = load i32, ptr %287, align 4, !tbaa !5
  %1158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1149, ptr noundef nonnull %.str.25.sink1259, i32 noundef %1150, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 201, ptr noundef %1152, ptr noundef %1154, ptr noundef %1156, i32 noundef %1157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1159:                                             ; preds = %1133
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %1160 = load i32, ptr @test_count, align 4, !tbaa !5
  %1161 = add nsw i32 %1160, 1
  store i32 %1161, ptr @test_count, align 4, !tbaa !5
  %1162 = call i32 @s2n_stuffer_free(ptr noundef nonnull %8) #12
  %1163 = icmp eq i32 %1162, -1
  br i1 %1163, label %1164, label %1186

1164:                                             ; preds = %1159
  %1165 = load i32, ptr %287, align 4, !tbaa !5
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @s2n_print_stacktrace(ptr noundef %1166) #12
  %1168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1169 = trunc nuw i8 %1168 to i1
  br i1 %1169, label %1170, label %1174

1170:                                             ; preds = %1164
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = call i32 @fileno(ptr noundef %1171) #12
  %1173 = call i32 @isatty(i32 noundef %1172) #12
  %.not825 = icmp eq i32 %1173, 0
  br i1 %.not825, label %1174, label %1175

1174:                                             ; preds = %1170, %1164
  br label %1175

1175:                                             ; preds = %1170, %1174
  %.str.25.sink1268 = phi ptr [ @.str.25, %1174 ], [ @.str.22, %1170 ]
  store i32 %1165, ptr %287, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = load i32, ptr @test_count, align 4, !tbaa !5
  %1178 = load i32, ptr %233, align 4, !tbaa !5
  %1179 = call ptr @s2n_strerror(i32 noundef %1178, ptr noundef nonnull @.str.24) #12
  %1180 = load i32, ptr %233, align 4, !tbaa !5
  %1181 = call ptr @s2n_strerror_debug(i32 noundef %1180, ptr noundef nonnull @.str.24) #12
  %1182 = load i32, ptr %287, align 4, !tbaa !5
  %1183 = call ptr @strerror(i32 noundef %1182) #12
  %1184 = load i32, ptr %287, align 4, !tbaa !5
  %1185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1176, ptr noundef nonnull %.str.25.sink1268, i32 noundef %1177, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.21, i32 noundef 203, ptr noundef %1179, ptr noundef %1181, ptr noundef %1183, i32 noundef %1184) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1186:                                             ; preds = %1159
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = add nsw i32 %1187, 1
  store i32 %1188, ptr @test_count, align 4, !tbaa !5
  %1189 = call i32 @s2n_connection_free(ptr noundef nonnull %974) #12
  %1190 = icmp eq i32 %1189, -1
  br i1 %1190, label %1191, label %1213

1191:                                             ; preds = %1186
  %1192 = load i32, ptr %287, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @s2n_print_stacktrace(ptr noundef %1193) #12
  %1195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1196 = trunc nuw i8 %1195 to i1
  br i1 %1196, label %1197, label %1201

1197:                                             ; preds = %1191
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @fileno(ptr noundef %1198) #12
  %1200 = call i32 @isatty(i32 noundef %1199) #12
  %.not824 = icmp eq i32 %1200, 0
  br i1 %.not824, label %1201, label %1202

1201:                                             ; preds = %1197, %1191
  br label %1202

1202:                                             ; preds = %1197, %1201
  %.str.25.sink1277 = phi ptr [ @.str.25, %1201 ], [ @.str.22, %1197 ]
  store i32 %1192, ptr %287, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %1205 = load i32, ptr %233, align 4, !tbaa !5
  %1206 = call ptr @s2n_strerror(i32 noundef %1205, ptr noundef nonnull @.str.24) #12
  %1207 = load i32, ptr %233, align 4, !tbaa !5
  %1208 = call ptr @s2n_strerror_debug(i32 noundef %1207, ptr noundef nonnull @.str.24) #12
  %1209 = load i32, ptr %287, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #12
  %1211 = load i32, ptr %287, align 4, !tbaa !5
  %1212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1203, ptr noundef nonnull %.str.25.sink1277, i32 noundef %1204, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 204, ptr noundef %1206, ptr noundef %1208, ptr noundef %1210, i32 noundef %1211) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1213:                                             ; preds = %1186
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #12
  %1214 = load i32, ptr @test_count, align 4, !tbaa !5
  %1215 = add nsw i32 %1214, 1
  store i32 %1215, ptr @test_count, align 4, !tbaa !5
  %1216 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1217 = icmp eq ptr %1216, null
  br i1 %1217, label %1218, label %1240

1218:                                             ; preds = %1213
  %1219 = load i32, ptr %287, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = call i32 @s2n_print_stacktrace(ptr noundef %1220) #12
  %1222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1223 = trunc nuw i8 %1222 to i1
  br i1 %1223, label %1224, label %1228

1224:                                             ; preds = %1218
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = call i32 @fileno(ptr noundef %1225) #12
  %1227 = call i32 @isatty(i32 noundef %1226) #12
  %.not823 = icmp eq i32 %1227, 0
  br i1 %.not823, label %1228, label %1229

1228:                                             ; preds = %1224, %1218
  br label %1229

1229:                                             ; preds = %1224, %1228
  %.str.25.sink1286 = phi ptr [ @.str.25, %1228 ], [ @.str.22, %1224 ]
  store i32 %1219, ptr %287, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = load i32, ptr %233, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror(i32 noundef %1232, ptr noundef nonnull @.str.24) #12
  %1234 = load i32, ptr %233, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror_debug(i32 noundef %1234, ptr noundef nonnull @.str.24) #12
  %1236 = load i32, ptr %287, align 4, !tbaa !5
  %1237 = call ptr @strerror(i32 noundef %1236) #12
  %1238 = load i32, ptr %287, align 4, !tbaa !5
  %1239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1230, ptr noundef nonnull %.str.25.sink1286, i32 noundef %1231, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 210, ptr noundef %1233, ptr noundef %1235, ptr noundef %1237, i32 noundef %1238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1240:                                             ; preds = %1213
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, i8 0, i64 40, i1 false)
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = add nsw i32 %1241, 1
  store i32 %1242, ptr @test_count, align 4, !tbaa !5
  %1243 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %10, i32 noundef 0) #12
  %1244 = icmp eq i32 %1243, -1
  br i1 %1244, label %1245, label %1267

1245:                                             ; preds = %1240
  %1246 = load i32, ptr %287, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = call i32 @s2n_print_stacktrace(ptr noundef %1247) #12
  %1249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1250 = trunc nuw i8 %1249 to i1
  br i1 %1250, label %1251, label %1255

1251:                                             ; preds = %1245
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = call i32 @fileno(ptr noundef %1252) #12
  %1254 = call i32 @isatty(i32 noundef %1253) #12
  %.not822 = icmp eq i32 %1254, 0
  br i1 %.not822, label %1255, label %1256

1255:                                             ; preds = %1251, %1245
  br label %1256

1256:                                             ; preds = %1251, %1255
  %.str.25.sink1295 = phi ptr [ @.str.25, %1255 ], [ @.str.22, %1251 ]
  store i32 %1246, ptr %287, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = load i32, ptr @test_count, align 4, !tbaa !5
  %1259 = load i32, ptr %233, align 4, !tbaa !5
  %1260 = call ptr @s2n_strerror(i32 noundef %1259, ptr noundef nonnull @.str.24) #12
  %1261 = load i32, ptr %233, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef %1261, ptr noundef nonnull @.str.24) #12
  %1263 = load i32, ptr %287, align 4, !tbaa !5
  %1264 = call ptr @strerror(i32 noundef %1263) #12
  %1265 = load i32, ptr %287, align 4, !tbaa !5
  %1266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1257, ptr noundef nonnull %.str.25.sink1295, i32 noundef %1258, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 213, ptr noundef %1260, ptr noundef %1262, ptr noundef %1264, i32 noundef %1265) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1267:                                             ; preds = %1240
  %1268 = load i32, ptr @test_count, align 4, !tbaa !5
  %1269 = add nsw i32 %1268, 1
  store i32 %1269, ptr @test_count, align 4, !tbaa !5
  %1270 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %10, ptr noundef nonnull %10, ptr noundef nonnull %1216) #12
  %1271 = icmp eq i32 %1270, -1
  br i1 %1271, label %1272, label %1294

1272:                                             ; preds = %1267
  %1273 = load i32, ptr %287, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @s2n_print_stacktrace(ptr noundef %1274) #12
  %1276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1277 = trunc nuw i8 %1276 to i1
  br i1 %1277, label %1278, label %1282

1278:                                             ; preds = %1272
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = call i32 @fileno(ptr noundef %1279) #12
  %1281 = call i32 @isatty(i32 noundef %1280) #12
  %.not821 = icmp eq i32 %1281, 0
  br i1 %.not821, label %1282, label %1283

1282:                                             ; preds = %1278, %1272
  br label %1283

1283:                                             ; preds = %1278, %1282
  %.str.25.sink1304 = phi ptr [ @.str.25, %1282 ], [ @.str.22, %1278 ]
  store i32 %1273, ptr %287, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = load i32, ptr %233, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror(i32 noundef %1286, ptr noundef nonnull @.str.24) #12
  %1288 = load i32, ptr %233, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef nonnull @.str.24) #12
  %1290 = load i32, ptr %287, align 4, !tbaa !5
  %1291 = call ptr @strerror(i32 noundef %1290) #12
  %1292 = load i32, ptr %287, align 4, !tbaa !5
  %1293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1284, ptr noundef nonnull %.str.25.sink1304, i32 noundef %1285, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 214, ptr noundef %1287, ptr noundef %1289, ptr noundef %1291, i32 noundef %1292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1294:                                             ; preds = %1267
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = add nsw i32 %1295, 1
  store i32 %1296, ptr @test_count, align 4, !tbaa !5
  %1297 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %10, i8 noundef zeroext 7) #12
  %1298 = icmp eq i32 %1297, -1
  br i1 %1298, label %1299, label %1321

1299:                                             ; preds = %1294
  %1300 = load i32, ptr %287, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @s2n_print_stacktrace(ptr noundef %1301) #12
  %1303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1304 = trunc nuw i8 %1303 to i1
  br i1 %1304, label %1305, label %1309

1305:                                             ; preds = %1299
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @fileno(ptr noundef %1306) #12
  %1308 = call i32 @isatty(i32 noundef %1307) #12
  %.not820 = icmp eq i32 %1308, 0
  br i1 %.not820, label %1309, label %1310

1309:                                             ; preds = %1305, %1299
  br label %1310

1310:                                             ; preds = %1305, %1309
  %.str.25.sink1313 = phi ptr [ @.str.25, %1309 ], [ @.str.22, %1305 ]
  store i32 %1300, ptr %287, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = load i32, ptr %233, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef nonnull @.str.24) #12
  %1315 = load i32, ptr %233, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef nonnull @.str.24) #12
  %1317 = load i32, ptr %287, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #12
  %1319 = load i32, ptr %287, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef nonnull %.str.25.sink1313, i32 noundef %1312, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 216, ptr noundef %1314, ptr noundef %1316, ptr noundef %1318, i32 noundef %1319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1321:                                             ; preds = %1294
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = add nsw i32 %1322, 1
  store i32 %1323, ptr @test_count, align 4, !tbaa !5
  %1324 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %10, i32 noundef 5) #12
  %1325 = icmp eq i32 %1324, -1
  br i1 %1325, label %1326, label %1348

1326:                                             ; preds = %1321
  %1327 = load i32, ptr %287, align 4, !tbaa !5
  %1328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1329 = call i32 @s2n_print_stacktrace(ptr noundef %1328) #12
  %1330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1331 = trunc nuw i8 %1330 to i1
  br i1 %1331, label %1332, label %1336

1332:                                             ; preds = %1326
  %1333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1334 = call i32 @fileno(ptr noundef %1333) #12
  %1335 = call i32 @isatty(i32 noundef %1334) #12
  %.not819 = icmp eq i32 %1335, 0
  br i1 %.not819, label %1336, label %1337

1336:                                             ; preds = %1332, %1326
  br label %1337

1337:                                             ; preds = %1332, %1336
  %.str.25.sink1322 = phi ptr [ @.str.25, %1336 ], [ @.str.22, %1332 ]
  store i32 %1327, ptr %287, align 4, !tbaa !5
  %1338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1339 = load i32, ptr @test_count, align 4, !tbaa !5
  %1340 = load i32, ptr %233, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror(i32 noundef %1340, ptr noundef nonnull @.str.24) #12
  %1342 = load i32, ptr %233, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror_debug(i32 noundef %1342, ptr noundef nonnull @.str.24) #12
  %1344 = load i32, ptr %287, align 4, !tbaa !5
  %1345 = call ptr @strerror(i32 noundef %1344) #12
  %1346 = load i32, ptr %287, align 4, !tbaa !5
  %1347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1338, ptr noundef nonnull %.str.25.sink1322, i32 noundef %1339, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.21, i32 noundef 217, ptr noundef %1341, ptr noundef %1343, ptr noundef %1345, i32 noundef %1346) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1348:                                             ; preds = %1321
  %1349 = load i32, ptr @test_count, align 4, !tbaa !5
  %1350 = add nsw i32 %1349, 1
  store i32 %1350, ptr @test_count, align 4, !tbaa !5
  %1351 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %10, ptr noundef nonnull @TEST_DATA, i32 noundef 4) #12
  %1352 = icmp eq i32 %1351, -1
  br i1 %1352, label %1353, label %1375

1353:                                             ; preds = %1348
  %1354 = load i32, ptr %287, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = call i32 @s2n_print_stacktrace(ptr noundef %1355) #12
  %1357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1358 = trunc nuw i8 %1357 to i1
  br i1 %1358, label %1359, label %1363

1359:                                             ; preds = %1353
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = call i32 @fileno(ptr noundef %1360) #12
  %1362 = call i32 @isatty(i32 noundef %1361) #12
  %.not818 = icmp eq i32 %1362, 0
  br i1 %.not818, label %1363, label %1364

1363:                                             ; preds = %1359, %1353
  br label %1364

1364:                                             ; preds = %1359, %1363
  %.str.25.sink1331 = phi ptr [ @.str.25, %1363 ], [ @.str.22, %1359 ]
  store i32 %1354, ptr %287, align 4, !tbaa !5
  %1365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1366 = load i32, ptr @test_count, align 4, !tbaa !5
  %1367 = load i32, ptr %233, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror(i32 noundef %1367, ptr noundef nonnull @.str.24) #12
  %1369 = load i32, ptr %233, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror_debug(i32 noundef %1369, ptr noundef nonnull @.str.24) #12
  %1371 = load i32, ptr %287, align 4, !tbaa !5
  %1372 = call ptr @strerror(i32 noundef %1371) #12
  %1373 = load i32, ptr %287, align 4, !tbaa !5
  %1374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1365, ptr noundef nonnull %.str.25.sink1331, i32 noundef %1366, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.21, i32 noundef 218, ptr noundef %1368, ptr noundef %1370, ptr noundef %1372, i32 noundef %1373) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1375:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #12
  store i8 0, ptr %11, align 1, !tbaa !43
  %1376 = load i32, ptr @test_count, align 4, !tbaa !5
  %1377 = add nsw i32 %1376, 1
  store i32 %1377, ptr @test_count, align 4, !tbaa !5
  %1378 = call i32 @s2n_quic_read_handshake_message(ptr noundef nonnull %1216, ptr noundef nonnull %11) #12
  %1379 = call zeroext i1 @s2n_result_is_error(i32 %1378)
  br i1 %1379, label %1402, label %1380

1380:                                             ; preds = %1375
  %1381 = load i32, ptr %287, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @s2n_print_stacktrace(ptr noundef %1382) #12
  %1384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1385 = trunc nuw i8 %1384 to i1
  br i1 %1385, label %1386, label %1390

1386:                                             ; preds = %1380
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @fileno(ptr noundef %1387) #12
  %1389 = call i32 @isatty(i32 noundef %1388) #12
  %.not633 = icmp eq i32 %1389, 0
  br i1 %.not633, label %1390, label %1391

1390:                                             ; preds = %1386, %1380
  br label %1391

1391:                                             ; preds = %1386, %1390
  %.str.25.sink1340 = phi ptr [ @.str.25, %1390 ], [ @.str.22, %1386 ]
  store i32 %1381, ptr %287, align 4, !tbaa !5
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = load i32, ptr @test_count, align 4, !tbaa !5
  %1394 = load i32, ptr %233, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror(i32 noundef %1394, ptr noundef nonnull @.str.24) #12
  %1396 = load i32, ptr %233, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror_debug(i32 noundef %1396, ptr noundef nonnull @.str.24) #12
  %1398 = load i32, ptr %287, align 4, !tbaa !5
  %1399 = call ptr @strerror(i32 noundef %1398) #12
  %1400 = load i32, ptr %287, align 4, !tbaa !5
  %1401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1392, ptr noundef nonnull %.str.25.sink1340, i32 noundef %1393, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.21, i32 noundef 222, ptr noundef %1395, ptr noundef %1397, ptr noundef %1399, i32 noundef %1400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1402:                                             ; preds = %1375
  %1403 = load i32, ptr @test_count, align 4, !tbaa !5
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr @test_count, align 4, !tbaa !5
  %1405 = load i32, ptr %233, align 4, !tbaa !5
  %1406 = icmp eq i32 %1405, 201326592
  br i1 %1406, label %1429, label %1407

1407:                                             ; preds = %1402
  %1408 = load i32, ptr %287, align 4, !tbaa !5
  %1409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1410 = call i32 @s2n_print_stacktrace(ptr noundef %1409) #12
  %1411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1412 = trunc nuw i8 %1411 to i1
  br i1 %1412, label %1413, label %1417

1413:                                             ; preds = %1407
  %1414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1415 = call i32 @fileno(ptr noundef %1414) #12
  %1416 = call i32 @isatty(i32 noundef %1415) #12
  %.not634 = icmp eq i32 %1416, 0
  br i1 %.not634, label %1417, label %1418

1417:                                             ; preds = %1413, %1407
  br label %1418

1418:                                             ; preds = %1413, %1417
  %.str.25.sink1349 = phi ptr [ @.str.25, %1417 ], [ @.str.22, %1413 ]
  store i32 %1408, ptr %287, align 4, !tbaa !5
  %1419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = load i32, ptr %233, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror(i32 noundef %1421, ptr noundef nonnull @.str.24) #12
  %1423 = load i32, ptr %233, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror_debug(i32 noundef %1423, ptr noundef nonnull @.str.24) #12
  %1425 = load i32, ptr %287, align 4, !tbaa !5
  %1426 = call ptr @strerror(i32 noundef %1425) #12
  %1427 = load i32, ptr %287, align 4, !tbaa !5
  %1428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1419, ptr noundef nonnull %.str.25.sink1349, i32 noundef %1420, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 222, ptr noundef %1422, ptr noundef %1424, ptr noundef %1426, i32 noundef %1427) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1429:                                             ; preds = %1402
  %1430 = add nsw i32 %1403, 2
  store i32 %1430, ptr @test_count, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %1432 = icmp eq ptr %1431, null
  br i1 %1432, label %1433, label %1455

1433:                                             ; preds = %1429
  %1434 = load i32, ptr %287, align 4, !tbaa !5
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1436 = call i32 @s2n_print_stacktrace(ptr noundef %1435) #12
  %1437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1438 = trunc nuw i8 %1437 to i1
  br i1 %1438, label %1439, label %1443

1439:                                             ; preds = %1433
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = call i32 @fileno(ptr noundef %1440) #12
  %1442 = call i32 @isatty(i32 noundef %1441) #12
  %.not817 = icmp eq i32 %1442, 0
  br i1 %.not817, label %1443, label %1444

1443:                                             ; preds = %1439, %1433
  br label %1444

1444:                                             ; preds = %1439, %1443
  %.str.25.sink1358 = phi ptr [ @.str.25, %1443 ], [ @.str.22, %1439 ]
  store i32 %1434, ptr %287, align 4, !tbaa !5
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = load i32, ptr @test_count, align 4, !tbaa !5
  %1447 = load i32, ptr %233, align 4, !tbaa !5
  %1448 = call ptr @s2n_strerror(i32 noundef %1447, ptr noundef nonnull @.str.24) #12
  %1449 = load i32, ptr %233, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror_debug(i32 noundef %1449, ptr noundef nonnull @.str.24) #12
  %1451 = load i32, ptr %287, align 4, !tbaa !5
  %1452 = call ptr @strerror(i32 noundef %1451) #12
  %1453 = load i32, ptr %287, align 4, !tbaa !5
  %1454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1445, ptr noundef nonnull %.str.25.sink1358, i32 noundef %1446, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 222, ptr noundef %1448, ptr noundef %1450, ptr noundef %1452, i32 noundef %1453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1455:                                             ; preds = %1429
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = add nsw i32 %1456, 1
  store i32 %1457, ptr @test_count, align 4, !tbaa !5
  %1458 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10) #12
  %1459 = icmp eq i32 %1458, -1
  br i1 %1459, label %1460, label %1482

1460:                                             ; preds = %1455
  %1461 = load i32, ptr %287, align 4, !tbaa !5
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = call i32 @s2n_print_stacktrace(ptr noundef %1462) #12
  %1464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1465 = trunc nuw i8 %1464 to i1
  br i1 %1465, label %1466, label %1470

1466:                                             ; preds = %1460
  %1467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1468 = call i32 @fileno(ptr noundef %1467) #12
  %1469 = call i32 @isatty(i32 noundef %1468) #12
  %.not816 = icmp eq i32 %1469, 0
  br i1 %.not816, label %1470, label %1471

1470:                                             ; preds = %1466, %1460
  br label %1471

1471:                                             ; preds = %1466, %1470
  %.str.25.sink1367 = phi ptr [ @.str.25, %1470 ], [ @.str.22, %1466 ]
  store i32 %1461, ptr %287, align 4, !tbaa !5
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = load i32, ptr @test_count, align 4, !tbaa !5
  %1474 = load i32, ptr %233, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror(i32 noundef %1474, ptr noundef nonnull @.str.24) #12
  %1476 = load i32, ptr %233, align 4, !tbaa !5
  %1477 = call ptr @s2n_strerror_debug(i32 noundef %1476, ptr noundef nonnull @.str.24) #12
  %1478 = load i32, ptr %287, align 4, !tbaa !5
  %1479 = call ptr @strerror(i32 noundef %1478) #12
  %1480 = load i32, ptr %287, align 4, !tbaa !5
  %1481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1472, ptr noundef nonnull %.str.25.sink1367, i32 noundef %1473, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.21, i32 noundef 224, ptr noundef %1475, ptr noundef %1477, ptr noundef %1479, i32 noundef %1480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1482:                                             ; preds = %1455
  %1483 = load i32, ptr @test_count, align 4, !tbaa !5
  %1484 = add nsw i32 %1483, 1
  store i32 %1484, ptr @test_count, align 4, !tbaa !5
  %1485 = call i32 @s2n_connection_free(ptr noundef nonnull %1216) #12
  %1486 = icmp eq i32 %1485, -1
  br i1 %1486, label %1487, label %1509

1487:                                             ; preds = %1482
  %1488 = load i32, ptr %287, align 4, !tbaa !5
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @s2n_print_stacktrace(ptr noundef %1489) #12
  %1491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1492 = trunc nuw i8 %1491 to i1
  br i1 %1492, label %1493, label %1497

1493:                                             ; preds = %1487
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = call i32 @fileno(ptr noundef %1494) #12
  %1496 = call i32 @isatty(i32 noundef %1495) #12
  %.not815 = icmp eq i32 %1496, 0
  br i1 %.not815, label %1497, label %1498

1497:                                             ; preds = %1493, %1487
  br label %1498

1498:                                             ; preds = %1493, %1497
  %.str.25.sink1376 = phi ptr [ @.str.25, %1497 ], [ @.str.22, %1493 ]
  store i32 %1488, ptr %287, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = load i32, ptr %233, align 4, !tbaa !5
  %1502 = call ptr @s2n_strerror(i32 noundef %1501, ptr noundef nonnull @.str.24) #12
  %1503 = load i32, ptr %233, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror_debug(i32 noundef %1503, ptr noundef nonnull @.str.24) #12
  %1505 = load i32, ptr %287, align 4, !tbaa !5
  %1506 = call ptr @strerror(i32 noundef %1505) #12
  %1507 = load i32, ptr %287, align 4, !tbaa !5
  %1508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef nonnull %.str.25.sink1376, i32 noundef %1500, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 225, ptr noundef %1502, ptr noundef %1504, ptr noundef %1506, i32 noundef %1507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1509:                                             ; preds = %1482
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #12
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = add nsw i32 %1510, 1
  store i32 %1511, ptr @test_count, align 4, !tbaa !5
  %1512 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1513 = icmp eq ptr %1512, null
  br i1 %1513, label %1514, label %1536

1514:                                             ; preds = %1509
  %1515 = load i32, ptr %287, align 4, !tbaa !5
  %1516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1517 = call i32 @s2n_print_stacktrace(ptr noundef %1516) #12
  %1518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1519 = trunc nuw i8 %1518 to i1
  br i1 %1519, label %1520, label %1524

1520:                                             ; preds = %1514
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = call i32 @fileno(ptr noundef %1521) #12
  %1523 = call i32 @isatty(i32 noundef %1522) #12
  %.not814 = icmp eq i32 %1523, 0
  br i1 %.not814, label %1524, label %1525

1524:                                             ; preds = %1520, %1514
  br label %1525

1525:                                             ; preds = %1520, %1524
  %.str.25.sink1385 = phi ptr [ @.str.25, %1524 ], [ @.str.22, %1520 ]
  store i32 %1515, ptr %287, align 4, !tbaa !5
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = load i32, ptr @test_count, align 4, !tbaa !5
  %1528 = load i32, ptr %233, align 4, !tbaa !5
  %1529 = call ptr @s2n_strerror(i32 noundef %1528, ptr noundef nonnull @.str.24) #12
  %1530 = load i32, ptr %233, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror_debug(i32 noundef %1530, ptr noundef nonnull @.str.24) #12
  %1532 = load i32, ptr %287, align 4, !tbaa !5
  %1533 = call ptr @strerror(i32 noundef %1532) #12
  %1534 = load i32, ptr %287, align 4, !tbaa !5
  %1535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1526, ptr noundef nonnull %.str.25.sink1385, i32 noundef %1527, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 231, ptr noundef %1529, ptr noundef %1531, ptr noundef %1533, i32 noundef %1534) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1536:                                             ; preds = %1509
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %12, i8 0, i64 40, i1 false)
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = add nsw i32 %1537, 1
  store i32 %1538, ptr @test_count, align 4, !tbaa !5
  %1539 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %12, i32 noundef 0) #12
  %1540 = icmp eq i32 %1539, -1
  br i1 %1540, label %1541, label %1563

1541:                                             ; preds = %1536
  %1542 = load i32, ptr %287, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @s2n_print_stacktrace(ptr noundef %1543) #12
  %1545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1546 = trunc nuw i8 %1545 to i1
  br i1 %1546, label %1547, label %1551

1547:                                             ; preds = %1541
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @fileno(ptr noundef %1548) #12
  %1550 = call i32 @isatty(i32 noundef %1549) #12
  %.not813 = icmp eq i32 %1550, 0
  br i1 %.not813, label %1551, label %1552

1551:                                             ; preds = %1547, %1541
  br label %1552

1552:                                             ; preds = %1547, %1551
  %.str.25.sink1394 = phi ptr [ @.str.25, %1551 ], [ @.str.22, %1547 ]
  store i32 %1542, ptr %287, align 4, !tbaa !5
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = load i32, ptr %233, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror(i32 noundef %1555, ptr noundef nonnull @.str.24) #12
  %1557 = load i32, ptr %233, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror_debug(i32 noundef %1557, ptr noundef nonnull @.str.24) #12
  %1559 = load i32, ptr %287, align 4, !tbaa !5
  %1560 = call ptr @strerror(i32 noundef %1559) #12
  %1561 = load i32, ptr %287, align 4, !tbaa !5
  %1562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1553, ptr noundef nonnull %.str.25.sink1394, i32 noundef %1554, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 234, ptr noundef %1556, ptr noundef %1558, ptr noundef %1560, i32 noundef %1561) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1563:                                             ; preds = %1536
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = add nsw i32 %1564, 1
  store i32 %1565, ptr @test_count, align 4, !tbaa !5
  %1566 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %12, ptr noundef nonnull %12, ptr noundef nonnull %1512) #12
  %1567 = icmp eq i32 %1566, -1
  br i1 %1567, label %1568, label %1590

1568:                                             ; preds = %1563
  %1569 = load i32, ptr %287, align 4, !tbaa !5
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @s2n_print_stacktrace(ptr noundef %1570) #12
  %1572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1573 = trunc nuw i8 %1572 to i1
  br i1 %1573, label %1574, label %1578

1574:                                             ; preds = %1568
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = call i32 @fileno(ptr noundef %1575) #12
  %1577 = call i32 @isatty(i32 noundef %1576) #12
  %.not812 = icmp eq i32 %1577, 0
  br i1 %.not812, label %1578, label %1579

1578:                                             ; preds = %1574, %1568
  br label %1579

1579:                                             ; preds = %1574, %1578
  %.str.25.sink1403 = phi ptr [ @.str.25, %1578 ], [ @.str.22, %1574 ]
  store i32 %1569, ptr %287, align 4, !tbaa !5
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = load i32, ptr %233, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror(i32 noundef %1582, ptr noundef nonnull @.str.24) #12
  %1584 = load i32, ptr %233, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror_debug(i32 noundef %1584, ptr noundef nonnull @.str.24) #12
  %1586 = load i32, ptr %287, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #12
  %1588 = load i32, ptr %287, align 4, !tbaa !5
  %1589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1580, ptr noundef nonnull %.str.25.sink1403, i32 noundef %1581, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 235, ptr noundef %1583, ptr noundef %1585, ptr noundef %1587, i32 noundef %1588) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1590:                                             ; preds = %1563
  %1591 = load i32, ptr @test_count, align 4, !tbaa !5
  %1592 = add nsw i32 %1591, 1
  store i32 %1592, ptr @test_count, align 4, !tbaa !5
  %1593 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %12, i8 noundef zeroext 7) #12
  %1594 = icmp eq i32 %1593, -1
  br i1 %1594, label %1595, label %1617

1595:                                             ; preds = %1590
  %1596 = load i32, ptr %287, align 4, !tbaa !5
  %1597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1598 = call i32 @s2n_print_stacktrace(ptr noundef %1597) #12
  %1599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1600 = trunc nuw i8 %1599 to i1
  br i1 %1600, label %1601, label %1605

1601:                                             ; preds = %1595
  %1602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1603 = call i32 @fileno(ptr noundef %1602) #12
  %1604 = call i32 @isatty(i32 noundef %1603) #12
  %.not811 = icmp eq i32 %1604, 0
  br i1 %.not811, label %1605, label %1606

1605:                                             ; preds = %1601, %1595
  br label %1606

1606:                                             ; preds = %1601, %1605
  %.str.25.sink1412 = phi ptr [ @.str.25, %1605 ], [ @.str.22, %1601 ]
  store i32 %1596, ptr %287, align 4, !tbaa !5
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = load i32, ptr @test_count, align 4, !tbaa !5
  %1609 = load i32, ptr %233, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror(i32 noundef %1609, ptr noundef nonnull @.str.24) #12
  %1611 = load i32, ptr %233, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror_debug(i32 noundef %1611, ptr noundef nonnull @.str.24) #12
  %1613 = load i32, ptr %287, align 4, !tbaa !5
  %1614 = call ptr @strerror(i32 noundef %1613) #12
  %1615 = load i32, ptr %287, align 4, !tbaa !5
  %1616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1607, ptr noundef nonnull %.str.25.sink1412, i32 noundef %1608, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 237, ptr noundef %1610, ptr noundef %1612, ptr noundef %1614, i32 noundef %1615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1617:                                             ; preds = %1590
  %1618 = load i32, ptr @test_count, align 4, !tbaa !5
  %1619 = add nsw i32 %1618, 1
  store i32 %1619, ptr @test_count, align 4, !tbaa !5
  %1620 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %12, i32 noundef 65537) #12
  %1621 = icmp eq i32 %1620, -1
  br i1 %1621, label %1622, label %1644

1622:                                             ; preds = %1617
  %1623 = load i32, ptr %287, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = call i32 @s2n_print_stacktrace(ptr noundef %1624) #12
  %1626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1627 = trunc nuw i8 %1626 to i1
  br i1 %1627, label %1628, label %1632

1628:                                             ; preds = %1622
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @fileno(ptr noundef %1629) #12
  %1631 = call i32 @isatty(i32 noundef %1630) #12
  %.not810 = icmp eq i32 %1631, 0
  br i1 %.not810, label %1632, label %1633

1632:                                             ; preds = %1628, %1622
  br label %1633

1633:                                             ; preds = %1628, %1632
  %.str.25.sink1421 = phi ptr [ @.str.25, %1632 ], [ @.str.22, %1628 ]
  store i32 %1623, ptr %287, align 4, !tbaa !5
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = load i32, ptr %233, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror(i32 noundef %1636, ptr noundef nonnull @.str.24) #12
  %1638 = load i32, ptr %233, align 4, !tbaa !5
  %1639 = call ptr @s2n_strerror_debug(i32 noundef %1638, ptr noundef nonnull @.str.24) #12
  %1640 = load i32, ptr %287, align 4, !tbaa !5
  %1641 = call ptr @strerror(i32 noundef %1640) #12
  %1642 = load i32, ptr %287, align 4, !tbaa !5
  %1643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1634, ptr noundef nonnull %.str.25.sink1421, i32 noundef %1635, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.21, i32 noundef 238, ptr noundef %1637, ptr noundef %1639, ptr noundef %1641, i32 noundef %1642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1644:                                             ; preds = %1617
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #12
  store i8 0, ptr %13, align 1, !tbaa !43
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = add nsw i32 %1645, 1
  store i32 %1646, ptr @test_count, align 4, !tbaa !5
  %1647 = call i32 @s2n_quic_read_handshake_message(ptr noundef nonnull %1512, ptr noundef nonnull %13) #12
  %1648 = call zeroext i1 @s2n_result_is_error(i32 %1647)
  br i1 %1648, label %1671, label %1649

1649:                                             ; preds = %1644
  %1650 = load i32, ptr %287, align 4, !tbaa !5
  %1651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1652 = call i32 @s2n_print_stacktrace(ptr noundef %1651) #12
  %1653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1654 = trunc nuw i8 %1653 to i1
  br i1 %1654, label %1655, label %1659

1655:                                             ; preds = %1649
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = call i32 @fileno(ptr noundef %1656) #12
  %1658 = call i32 @isatty(i32 noundef %1657) #12
  %.not635 = icmp eq i32 %1658, 0
  br i1 %.not635, label %1659, label %1660

1659:                                             ; preds = %1655, %1649
  br label %1660

1660:                                             ; preds = %1655, %1659
  %.str.25.sink1430 = phi ptr [ @.str.25, %1659 ], [ @.str.22, %1655 ]
  store i32 %1650, ptr %287, align 4, !tbaa !5
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = load i32, ptr %233, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror(i32 noundef %1663, ptr noundef nonnull @.str.24) #12
  %1665 = load i32, ptr %233, align 4, !tbaa !5
  %1666 = call ptr @s2n_strerror_debug(i32 noundef %1665, ptr noundef nonnull @.str.24) #12
  %1667 = load i32, ptr %287, align 4, !tbaa !5
  %1668 = call ptr @strerror(i32 noundef %1667) #12
  %1669 = load i32, ptr %287, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1661, ptr noundef nonnull %.str.25.sink1430, i32 noundef %1662, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.21, i32 noundef 242, ptr noundef %1664, ptr noundef %1666, ptr noundef %1668, i32 noundef %1669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1671:                                             ; preds = %1644
  %1672 = load i32, ptr @test_count, align 4, !tbaa !5
  %1673 = add nsw i32 %1672, 1
  store i32 %1673, ptr @test_count, align 4, !tbaa !5
  %1674 = load i32, ptr %233, align 4, !tbaa !5
  %1675 = icmp eq i32 %1674, 335544322
  br i1 %1675, label %1698, label %1676

1676:                                             ; preds = %1671
  %1677 = load i32, ptr %287, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = call i32 @s2n_print_stacktrace(ptr noundef %1678) #12
  %1680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1681 = trunc nuw i8 %1680 to i1
  br i1 %1681, label %1682, label %1686

1682:                                             ; preds = %1676
  %1683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1684 = call i32 @fileno(ptr noundef %1683) #12
  %1685 = call i32 @isatty(i32 noundef %1684) #12
  %.not636 = icmp eq i32 %1685, 0
  br i1 %.not636, label %1686, label %1687

1686:                                             ; preds = %1682, %1676
  br label %1687

1687:                                             ; preds = %1682, %1686
  %.str.25.sink1439 = phi ptr [ @.str.25, %1686 ], [ @.str.22, %1682 ]
  store i32 %1677, ptr %287, align 4, !tbaa !5
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = load i32, ptr @test_count, align 4, !tbaa !5
  %1690 = load i32, ptr %233, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror(i32 noundef %1690, ptr noundef nonnull @.str.24) #12
  %1692 = load i32, ptr %233, align 4, !tbaa !5
  %1693 = call ptr @s2n_strerror_debug(i32 noundef %1692, ptr noundef nonnull @.str.24) #12
  %1694 = load i32, ptr %287, align 4, !tbaa !5
  %1695 = call ptr @strerror(i32 noundef %1694) #12
  %1696 = load i32, ptr %287, align 4, !tbaa !5
  %1697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1688, ptr noundef nonnull %.str.25.sink1439, i32 noundef %1689, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.21, i32 noundef 242, ptr noundef %1691, ptr noundef %1693, ptr noundef %1695, i32 noundef %1696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1698:                                             ; preds = %1671
  %1699 = add nsw i32 %1672, 2
  store i32 %1699, ptr @test_count, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.24) #12
  %1701 = icmp eq ptr %1700, null
  br i1 %1701, label %1702, label %1724

1702:                                             ; preds = %1698
  %1703 = load i32, ptr %287, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = call i32 @s2n_print_stacktrace(ptr noundef %1704) #12
  %1706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1707 = trunc nuw i8 %1706 to i1
  br i1 %1707, label %1708, label %1712

1708:                                             ; preds = %1702
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = call i32 @fileno(ptr noundef %1709) #12
  %1711 = call i32 @isatty(i32 noundef %1710) #12
  %.not809 = icmp eq i32 %1711, 0
  br i1 %.not809, label %1712, label %1713

1712:                                             ; preds = %1708, %1702
  br label %1713

1713:                                             ; preds = %1708, %1712
  %.str.25.sink1448 = phi ptr [ @.str.25, %1712 ], [ @.str.22, %1708 ]
  store i32 %1703, ptr %287, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = load i32, ptr %233, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror(i32 noundef %1716, ptr noundef nonnull @.str.24) #12
  %1718 = load i32, ptr %233, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror_debug(i32 noundef %1718, ptr noundef nonnull @.str.24) #12
  %1720 = load i32, ptr %287, align 4, !tbaa !5
  %1721 = call ptr @strerror(i32 noundef %1720) #12
  %1722 = load i32, ptr %287, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef nonnull %.str.25.sink1448, i32 noundef %1715, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 242, ptr noundef %1717, ptr noundef %1719, ptr noundef %1721, i32 noundef %1722) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1724:                                             ; preds = %1698
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %1725 = load i32, ptr @test_count, align 4, !tbaa !5
  %1726 = add nsw i32 %1725, 1
  store i32 %1726, ptr @test_count, align 4, !tbaa !5
  %1727 = call i32 @s2n_stuffer_free(ptr noundef nonnull %12) #12
  %1728 = icmp eq i32 %1727, -1
  br i1 %1728, label %1729, label %1751

1729:                                             ; preds = %1724
  %1730 = load i32, ptr %287, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = call i32 @s2n_print_stacktrace(ptr noundef %1731) #12
  %1733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1734 = trunc nuw i8 %1733 to i1
  br i1 %1734, label %1735, label %1739

1735:                                             ; preds = %1729
  %1736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1737 = call i32 @fileno(ptr noundef %1736) #12
  %1738 = call i32 @isatty(i32 noundef %1737) #12
  %.not808 = icmp eq i32 %1738, 0
  br i1 %.not808, label %1739, label %1740

1739:                                             ; preds = %1735, %1729
  br label %1740

1740:                                             ; preds = %1735, %1739
  %.str.25.sink1457 = phi ptr [ @.str.25, %1739 ], [ @.str.22, %1735 ]
  store i32 %1730, ptr %287, align 4, !tbaa !5
  %1741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1742 = load i32, ptr @test_count, align 4, !tbaa !5
  %1743 = load i32, ptr %233, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror(i32 noundef %1743, ptr noundef nonnull @.str.24) #12
  %1745 = load i32, ptr %233, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror_debug(i32 noundef %1745, ptr noundef nonnull @.str.24) #12
  %1747 = load i32, ptr %287, align 4, !tbaa !5
  %1748 = call ptr @strerror(i32 noundef %1747) #12
  %1749 = load i32, ptr %287, align 4, !tbaa !5
  %1750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1741, ptr noundef nonnull %.str.25.sink1457, i32 noundef %1742, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.21, i32 noundef 244, ptr noundef %1744, ptr noundef %1746, ptr noundef %1748, i32 noundef %1749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1751:                                             ; preds = %1724
  %1752 = load i32, ptr @test_count, align 4, !tbaa !5
  %1753 = add nsw i32 %1752, 1
  store i32 %1753, ptr @test_count, align 4, !tbaa !5
  %1754 = call i32 @s2n_connection_free(ptr noundef nonnull %1512) #12
  %1755 = icmp eq i32 %1754, -1
  br i1 %1755, label %1756, label %1778

1756:                                             ; preds = %1751
  %1757 = load i32, ptr %287, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = call i32 @s2n_print_stacktrace(ptr noundef %1758) #12
  %1760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1761 = trunc nuw i8 %1760 to i1
  br i1 %1761, label %1762, label %1766

1762:                                             ; preds = %1756
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = call i32 @fileno(ptr noundef %1763) #12
  %1765 = call i32 @isatty(i32 noundef %1764) #12
  %.not807 = icmp eq i32 %1765, 0
  br i1 %.not807, label %1766, label %1767

1766:                                             ; preds = %1762, %1756
  br label %1767

1767:                                             ; preds = %1762, %1766
  %.str.25.sink1466 = phi ptr [ @.str.25, %1766 ], [ @.str.22, %1762 ]
  store i32 %1757, ptr %287, align 4, !tbaa !5
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = load i32, ptr @test_count, align 4, !tbaa !5
  %1770 = load i32, ptr %233, align 4, !tbaa !5
  %1771 = call ptr @s2n_strerror(i32 noundef %1770, ptr noundef nonnull @.str.24) #12
  %1772 = load i32, ptr %233, align 4, !tbaa !5
  %1773 = call ptr @s2n_strerror_debug(i32 noundef %1772, ptr noundef nonnull @.str.24) #12
  %1774 = load i32, ptr %287, align 4, !tbaa !5
  %1775 = call ptr @strerror(i32 noundef %1774) #12
  %1776 = load i32, ptr %287, align 4, !tbaa !5
  %1777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1768, ptr noundef nonnull %.str.25.sink1466, i32 noundef %1769, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 245, ptr noundef %1771, ptr noundef %1773, ptr noundef %1775, i32 noundef %1776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1778:                                             ; preds = %1751
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  %1779 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1779, ptr %14, align 8, !tbaa !9
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = add nsw i32 %1780, 1
  store i32 %1781, ptr @test_count, align 4, !tbaa !5
  %1782 = icmp eq ptr %1779, null
  br i1 %1782, label %1783, label %1805

1783:                                             ; preds = %1778
  %1784 = load i32, ptr %287, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = call i32 @s2n_print_stacktrace(ptr noundef %1785) #12
  %1787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1788 = trunc nuw i8 %1787 to i1
  br i1 %1788, label %1789, label %1793

1789:                                             ; preds = %1783
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = call i32 @fileno(ptr noundef %1790) #12
  %1792 = call i32 @isatty(i32 noundef %1791) #12
  %.not806 = icmp eq i32 %1792, 0
  br i1 %.not806, label %1793, label %1794

1793:                                             ; preds = %1789, %1783
  br label %1794

1794:                                             ; preds = %1789, %1793
  %.str.25.sink1475 = phi ptr [ @.str.25, %1793 ], [ @.str.22, %1789 ]
  store i32 %1784, ptr %287, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = load i32, ptr %233, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror(i32 noundef %1797, ptr noundef nonnull @.str.24) #12
  %1799 = load i32, ptr %233, align 4, !tbaa !5
  %1800 = call ptr @s2n_strerror_debug(i32 noundef %1799, ptr noundef nonnull @.str.24) #12
  %1801 = load i32, ptr %287, align 4, !tbaa !5
  %1802 = call ptr @strerror(i32 noundef %1801) #12
  %1803 = load i32, ptr %287, align 4, !tbaa !5
  %1804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1795, ptr noundef nonnull %.str.25.sink1475, i32 noundef %1796, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.21, i32 noundef 252, ptr noundef %1798, ptr noundef %1800, ptr noundef %1802, i32 noundef %1803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1805:                                             ; preds = %1778
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %15, i8 0, i64 40, i1 false)
  %1806 = add nsw i32 %1780, 2
  store i32 %1806, ptr @test_count, align 4, !tbaa !5
  %1807 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %15, i32 noundef 0) #12
  %1808 = icmp eq i32 %1807, -1
  br i1 %1808, label %1809, label %1831

1809:                                             ; preds = %1805
  %1810 = load i32, ptr %287, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = call i32 @s2n_print_stacktrace(ptr noundef %1811) #12
  %1813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1814 = trunc nuw i8 %1813 to i1
  br i1 %1814, label %1815, label %1819

1815:                                             ; preds = %1809
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = call i32 @fileno(ptr noundef %1816) #12
  %1818 = call i32 @isatty(i32 noundef %1817) #12
  %.not805 = icmp eq i32 %1818, 0
  br i1 %.not805, label %1819, label %1820

1819:                                             ; preds = %1815, %1809
  br label %1820

1820:                                             ; preds = %1815, %1819
  %.str.25.sink1484 = phi ptr [ @.str.25, %1819 ], [ @.str.22, %1815 ]
  store i32 %1810, ptr %287, align 4, !tbaa !5
  %1821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1822 = load i32, ptr @test_count, align 4, !tbaa !5
  %1823 = load i32, ptr %233, align 4, !tbaa !5
  %1824 = call ptr @s2n_strerror(i32 noundef %1823, ptr noundef nonnull @.str.24) #12
  %1825 = load i32, ptr %233, align 4, !tbaa !5
  %1826 = call ptr @s2n_strerror_debug(i32 noundef %1825, ptr noundef nonnull @.str.24) #12
  %1827 = load i32, ptr %287, align 4, !tbaa !5
  %1828 = call ptr @strerror(i32 noundef %1827) #12
  %1829 = load i32, ptr %287, align 4, !tbaa !5
  %1830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1821, ptr noundef nonnull %.str.25.sink1484, i32 noundef %1822, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 255, ptr noundef %1824, ptr noundef %1826, ptr noundef %1828, i32 noundef %1829) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1831:                                             ; preds = %1805
  %1832 = load i32, ptr @test_count, align 4, !tbaa !5
  %1833 = add nsw i32 %1832, 1
  store i32 %1833, ptr @test_count, align 4, !tbaa !5
  %1834 = load ptr, ptr %14, align 8, !tbaa !9
  %1835 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %15, ptr noundef nonnull %15, ptr noundef %1834) #12
  %1836 = icmp eq i32 %1835, -1
  br i1 %1836, label %1837, label %1859

1837:                                             ; preds = %1831
  %1838 = load i32, ptr %287, align 4, !tbaa !5
  %1839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1840 = call i32 @s2n_print_stacktrace(ptr noundef %1839) #12
  %1841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1842 = trunc nuw i8 %1841 to i1
  br i1 %1842, label %1843, label %1847

1843:                                             ; preds = %1837
  %1844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1845 = call i32 @fileno(ptr noundef %1844) #12
  %1846 = call i32 @isatty(i32 noundef %1845) #12
  %.not804 = icmp eq i32 %1846, 0
  br i1 %.not804, label %1847, label %1848

1847:                                             ; preds = %1843, %1837
  br label %1848

1848:                                             ; preds = %1843, %1847
  %.str.25.sink1493 = phi ptr [ @.str.25, %1847 ], [ @.str.22, %1843 ]
  store i32 %1838, ptr %287, align 4, !tbaa !5
  %1849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1850 = load i32, ptr @test_count, align 4, !tbaa !5
  %1851 = load i32, ptr %233, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror(i32 noundef %1851, ptr noundef nonnull @.str.24) #12
  %1853 = load i32, ptr %233, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror_debug(i32 noundef %1853, ptr noundef nonnull @.str.24) #12
  %1855 = load i32, ptr %287, align 4, !tbaa !5
  %1856 = call ptr @strerror(i32 noundef %1855) #12
  %1857 = load i32, ptr %287, align 4, !tbaa !5
  %1858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1849, ptr noundef nonnull %.str.25.sink1493, i32 noundef %1850, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 256, ptr noundef %1852, ptr noundef %1854, ptr noundef %1856, i32 noundef %1857) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1859:                                             ; preds = %1831
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #12
  store i8 0, ptr %16, align 1, !tbaa !43
  %1860 = load i32, ptr @test_count, align 4, !tbaa !5
  %1861 = add nsw i32 %1860, 1
  store i32 %1861, ptr @test_count, align 4, !tbaa !5
  %1862 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %15, i8 noundef zeroext 7) #12
  %1863 = icmp eq i32 %1862, -1
  br i1 %1863, label %1864, label %1886

1864:                                             ; preds = %1859
  %1865 = load i32, ptr %287, align 4, !tbaa !5
  %1866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1867 = call i32 @s2n_print_stacktrace(ptr noundef %1866) #12
  %1868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1869 = trunc nuw i8 %1868 to i1
  br i1 %1869, label %1870, label %1874

1870:                                             ; preds = %1864
  %1871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1872 = call i32 @fileno(ptr noundef %1871) #12
  %1873 = call i32 @isatty(i32 noundef %1872) #12
  %.not803 = icmp eq i32 %1873, 0
  br i1 %.not803, label %1874, label %1875

1874:                                             ; preds = %1870, %1864
  br label %1875

1875:                                             ; preds = %1870, %1874
  %.str.25.sink1502 = phi ptr [ @.str.25, %1874 ], [ @.str.22, %1870 ]
  store i32 %1865, ptr %287, align 4, !tbaa !5
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = load i32, ptr @test_count, align 4, !tbaa !5
  %1878 = load i32, ptr %233, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror(i32 noundef %1878, ptr noundef nonnull @.str.24) #12
  %1880 = load i32, ptr %233, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror_debug(i32 noundef %1880, ptr noundef nonnull @.str.24) #12
  %1882 = load i32, ptr %287, align 4, !tbaa !5
  %1883 = call ptr @strerror(i32 noundef %1882) #12
  %1884 = load i32, ptr %287, align 4, !tbaa !5
  %1885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1876, ptr noundef nonnull %.str.25.sink1502, i32 noundef %1877, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 262, ptr noundef %1879, ptr noundef %1881, ptr noundef %1883, i32 noundef %1884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1886:                                             ; preds = %1859
  %1887 = load i32, ptr @test_count, align 4, !tbaa !5
  %1888 = add nsw i32 %1887, 1
  store i32 %1888, ptr @test_count, align 4, !tbaa !5
  %1889 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %15, i32 noundef 10) #12
  %1890 = icmp eq i32 %1889, -1
  br i1 %1890, label %1891, label %1913

1891:                                             ; preds = %1886
  %1892 = load i32, ptr %287, align 4, !tbaa !5
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = call i32 @s2n_print_stacktrace(ptr noundef %1893) #12
  %1895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1896 = trunc nuw i8 %1895 to i1
  br i1 %1896, label %1897, label %1901

1897:                                             ; preds = %1891
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = call i32 @fileno(ptr noundef %1898) #12
  %1900 = call i32 @isatty(i32 noundef %1899) #12
  %.not802 = icmp eq i32 %1900, 0
  br i1 %.not802, label %1901, label %1902

1901:                                             ; preds = %1897, %1891
  br label %1902

1902:                                             ; preds = %1897, %1901
  %.str.25.sink1511 = phi ptr [ @.str.25, %1901 ], [ @.str.22, %1897 ]
  store i32 %1892, ptr %287, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = load i32, ptr %233, align 4, !tbaa !5
  %1906 = call ptr @s2n_strerror(i32 noundef %1905, ptr noundef nonnull @.str.24) #12
  %1907 = load i32, ptr %233, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror_debug(i32 noundef %1907, ptr noundef nonnull @.str.24) #12
  %1909 = load i32, ptr %287, align 4, !tbaa !5
  %1910 = call ptr @strerror(i32 noundef %1909) #12
  %1911 = load i32, ptr %287, align 4, !tbaa !5
  %1912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef nonnull %.str.25.sink1511, i32 noundef %1904, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.21, i32 noundef 263, ptr noundef %1906, ptr noundef %1908, ptr noundef %1910, i32 noundef %1911) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1913:                                             ; preds = %1886
  %1914 = load i32, ptr @test_count, align 4, !tbaa !5
  %1915 = add nsw i32 %1914, 1
  store i32 %1915, ptr @test_count, align 4, !tbaa !5
  %1916 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %15, i32 noundef 10) #12
  %1917 = icmp eq i32 %1916, -1
  br i1 %1917, label %1918, label %1940

1918:                                             ; preds = %1913
  %1919 = load i32, ptr %287, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = call i32 @s2n_print_stacktrace(ptr noundef %1920) #12
  %1922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1923 = trunc nuw i8 %1922 to i1
  br i1 %1923, label %1924, label %1928

1924:                                             ; preds = %1918
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1926 = call i32 @fileno(ptr noundef %1925) #12
  %1927 = call i32 @isatty(i32 noundef %1926) #12
  %.not801 = icmp eq i32 %1927, 0
  br i1 %.not801, label %1928, label %1929

1928:                                             ; preds = %1924, %1918
  br label %1929

1929:                                             ; preds = %1924, %1928
  %.str.25.sink1520 = phi ptr [ @.str.25, %1928 ], [ @.str.22, %1924 ]
  store i32 %1919, ptr %287, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = load i32, ptr %233, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror(i32 noundef %1932, ptr noundef nonnull @.str.24) #12
  %1934 = load i32, ptr %233, align 4, !tbaa !5
  %1935 = call ptr @s2n_strerror_debug(i32 noundef %1934, ptr noundef nonnull @.str.24) #12
  %1936 = load i32, ptr %287, align 4, !tbaa !5
  %1937 = call ptr @strerror(i32 noundef %1936) #12
  %1938 = load i32, ptr %287, align 4, !tbaa !5
  %1939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1930, ptr noundef nonnull %.str.25.sink1520, i32 noundef %1931, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.21, i32 noundef 264, ptr noundef %1933, ptr noundef %1935, ptr noundef %1937, i32 noundef %1938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1940:                                             ; preds = %1913
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = add nsw i32 %1941, 1
  store i32 %1942, ptr @test_count, align 4, !tbaa !5
  %1943 = load ptr, ptr %14, align 8, !tbaa !9
  %1944 = call i32 @s2n_quic_read_handshake_message(ptr noundef %1943, ptr noundef nonnull %16) #12
  %1945 = call zeroext i1 @s2n_result_is_ok(i32 %1944)
  br i1 %1945, label %1968, label %1946

1946:                                             ; preds = %1940
  %1947 = load i32, ptr %287, align 4, !tbaa !5
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = call i32 @s2n_print_stacktrace(ptr noundef %1948) #12
  %1950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1951 = trunc nuw i8 %1950 to i1
  br i1 %1951, label %1952, label %1956

1952:                                             ; preds = %1946
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @fileno(ptr noundef %1953) #12
  %1955 = call i32 @isatty(i32 noundef %1954) #12
  %.not637 = icmp eq i32 %1955, 0
  br i1 %.not637, label %1956, label %1957

1956:                                             ; preds = %1952, %1946
  br label %1957

1957:                                             ; preds = %1952, %1956
  %.str.25.sink1529 = phi ptr [ @.str.25, %1956 ], [ @.str.22, %1952 ]
  store i32 %1947, ptr %287, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = load i32, ptr %233, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror(i32 noundef %1960, ptr noundef nonnull @.str.24) #12
  %1962 = load i32, ptr %233, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror_debug(i32 noundef %1962, ptr noundef nonnull @.str.24) #12
  %1964 = load i32, ptr %287, align 4, !tbaa !5
  %1965 = call ptr @strerror(i32 noundef %1964) #12
  %1966 = load i32, ptr %287, align 4, !tbaa !5
  %1967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1958, ptr noundef nonnull %.str.25.sink1529, i32 noundef %1959, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.21, i32 noundef 265, ptr noundef %1961, ptr noundef %1963, ptr noundef %1965, i32 noundef %1966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1968:                                             ; preds = %1940
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = add nsw i32 %1969, 1
  store i32 %1970, ptr @test_count, align 4, !tbaa !5
  %1971 = load ptr, ptr %14, align 8, !tbaa !9
  %1972 = getelementptr inbounds i8, ptr %1971, i64 1884
  %1973 = load i32, ptr %1972, align 4, !tbaa !46
  %1974 = getelementptr inbounds i8, ptr %1971, i64 1880
  %1975 = load i32, ptr %1974, align 8, !tbaa !47
  %1976 = sub i32 %1973, %1975
  %1977 = icmp eq i32 %1976, 10
  br i1 %1977, label %2000, label %1978

1978:                                             ; preds = %1968
  %1979 = load i32, ptr %287, align 4, !tbaa !5
  %1980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1981 = call i32 @s2n_print_stacktrace(ptr noundef %1980) #12
  %1982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1983 = trunc nuw i8 %1982 to i1
  br i1 %1983, label %1984, label %1988

1984:                                             ; preds = %1978
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = call i32 @fileno(ptr noundef %1985) #12
  %1987 = call i32 @isatty(i32 noundef %1986) #12
  %.not638 = icmp eq i32 %1987, 0
  br i1 %.not638, label %1988, label %1989

1988:                                             ; preds = %1984, %1978
  br label %1989

1989:                                             ; preds = %1984, %1988
  %.str.25.sink1538 = phi ptr [ @.str.25, %1988 ], [ @.str.22, %1984 ]
  store i32 %1979, ptr %287, align 4, !tbaa !5
  %1990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1991 = load i32, ptr @test_count, align 4, !tbaa !5
  %1992 = load i32, ptr %233, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror(i32 noundef %1992, ptr noundef nonnull @.str.24) #12
  %1994 = load i32, ptr %233, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror_debug(i32 noundef %1994, ptr noundef nonnull @.str.24) #12
  %1996 = load i32, ptr %287, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #12
  %1998 = load i32, ptr %287, align 4, !tbaa !5
  %1999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1990, ptr noundef nonnull %.str.25.sink1538, i32 noundef %1991, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.21, i32 noundef 266, ptr noundef %1993, ptr noundef %1995, ptr noundef %1997, i32 noundef %1998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2000:                                             ; preds = %1968
  %2001 = add nsw i32 %1969, 2
  store i32 %2001, ptr @test_count, align 4, !tbaa !5
  %2002 = getelementptr inbounds i8, ptr %1971, i64 2016
  %2003 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2002) #12
  %2004 = icmp eq i32 %2003, -1
  br i1 %2004, label %2005, label %2027

2005:                                             ; preds = %2000
  %2006 = load i32, ptr %287, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007) #12
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc nuw i8 %2009 to i1
  br i1 %2010, label %2011, label %2015

2011:                                             ; preds = %2005
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #12
  %2014 = call i32 @isatty(i32 noundef %2013) #12
  %.not800 = icmp eq i32 %2014, 0
  br i1 %.not800, label %2015, label %2016

2015:                                             ; preds = %2011, %2005
  br label %2016

2016:                                             ; preds = %2011, %2015
  %.str.25.sink1547 = phi ptr [ @.str.25, %2015 ], [ @.str.22, %2011 ]
  store i32 %2006, ptr %287, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = load i32, ptr %233, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.24) #12
  %2021 = load i32, ptr %233, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.24) #12
  %2023 = load i32, ptr %287, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #12
  %2025 = load i32, ptr %287, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2017, ptr noundef nonnull %.str.25.sink1547, i32 noundef %2018, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.21, i32 noundef 268, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2027:                                             ; preds = %2000
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = add nsw i32 %2028, 1
  store i32 %2029, ptr @test_count, align 4, !tbaa !5
  %2030 = load ptr, ptr %14, align 8, !tbaa !9
  %2031 = call i32 @s2n_record_wipe(ptr noundef %2030) #12
  %2032 = call zeroext i1 @s2n_result_is_ok(i32 %2031)
  br i1 %2032, label %2055, label %2033

2033:                                             ; preds = %2027
  %2034 = load i32, ptr %287, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #12
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

2039:                                             ; preds = %2033
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #12
  %2042 = call i32 @isatty(i32 noundef %2041) #12
  %.not639 = icmp eq i32 %2042, 0
  br i1 %.not639, label %2043, label %2044

2043:                                             ; preds = %2039, %2033
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.25.sink1556 = phi ptr [ @.str.25, %2043 ], [ @.str.22, %2039 ]
  store i32 %2034, ptr %287, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = load i32, ptr %233, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef nonnull @.str.24) #12
  %2049 = load i32, ptr %233, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror_debug(i32 noundef %2049, ptr noundef nonnull @.str.24) #12
  %2051 = load i32, ptr %287, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #12
  %2053 = load i32, ptr %287, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.25.sink1556, i32 noundef %2046, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.21, i32 noundef 269, ptr noundef %2048, ptr noundef %2050, ptr noundef %2052, i32 noundef %2053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2055:                                             ; preds = %2027
  %2056 = load ptr, ptr %14, align 8, !tbaa !9
  %2057 = getelementptr inbounds i8, ptr %2056, i64 1824
  %2058 = load i32, ptr %2057, align 8, !tbaa !48
  %2059 = getelementptr inbounds i8, ptr %2056, i64 1844
  %2060 = load i32, ptr %2059, align 4, !tbaa !49
  %2061 = sub i32 %2058, %2060
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %2063 = add nsw i32 %2062, 1
  store i32 %2063, ptr @test_count, align 4, !tbaa !5
  %2064 = icmp ugt i32 %2061, 10
  br i1 %2064, label %2087, label %2065

2065:                                             ; preds = %2055
  %2066 = load i32, ptr %287, align 4, !tbaa !5
  %2067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2068 = call i32 @s2n_print_stacktrace(ptr noundef %2067) #12
  %2069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2070 = trunc nuw i8 %2069 to i1
  br i1 %2070, label %2071, label %2075

2071:                                             ; preds = %2065
  %2072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2073 = call i32 @fileno(ptr noundef %2072) #12
  %2074 = call i32 @isatty(i32 noundef %2073) #12
  %.not640 = icmp eq i32 %2074, 0
  br i1 %.not640, label %2075, label %2076

2075:                                             ; preds = %2071, %2065
  br label %2076

2076:                                             ; preds = %2071, %2075
  %.str.25.sink1565 = phi ptr [ @.str.25, %2075 ], [ @.str.22, %2071 ]
  store i32 %2066, ptr %287, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = load i32, ptr @test_count, align 4, !tbaa !5
  %2079 = load i32, ptr %233, align 4, !tbaa !5
  %2080 = call ptr @s2n_strerror(i32 noundef %2079, ptr noundef nonnull @.str.24) #12
  %2081 = load i32, ptr %233, align 4, !tbaa !5
  %2082 = call ptr @s2n_strerror_debug(i32 noundef %2081, ptr noundef nonnull @.str.24) #12
  %2083 = load i32, ptr %287, align 4, !tbaa !5
  %2084 = call ptr @strerror(i32 noundef %2083) #12
  %2085 = load i32, ptr %287, align 4, !tbaa !5
  %2086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2077, ptr noundef nonnull %.str.25.sink1565, i32 noundef %2078, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.21, i32 noundef 271, ptr noundef %2080, ptr noundef %2082, ptr noundef %2084, i32 noundef %2085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2087:                                             ; preds = %2055
  %2088 = zext i32 %2061 to i64
  %2089 = add nuw nsw i64 %2088, 10
  %2090 = add nsw i32 %2062, 2
  store i32 %2090, ptr @test_count, align 4, !tbaa !5
  %2091 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %15, i8 noundef zeroext 7) #12
  %2092 = icmp eq i32 %2091, -1
  br i1 %2092, label %2093, label %2115

2093:                                             ; preds = %2087
  %2094 = load i32, ptr %287, align 4, !tbaa !5
  %2095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2096 = call i32 @s2n_print_stacktrace(ptr noundef %2095) #12
  %2097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2098 = trunc nuw i8 %2097 to i1
  br i1 %2098, label %2099, label %2103

2099:                                             ; preds = %2093
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @fileno(ptr noundef %2100) #12
  %2102 = call i32 @isatty(i32 noundef %2101) #12
  %.not799 = icmp eq i32 %2102, 0
  br i1 %.not799, label %2103, label %2104

2103:                                             ; preds = %2099, %2093
  br label %2104

2104:                                             ; preds = %2099, %2103
  %.str.25.sink1574 = phi ptr [ @.str.25, %2103 ], [ @.str.22, %2099 ]
  store i32 %2094, ptr %287, align 4, !tbaa !5
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = load i32, ptr @test_count, align 4, !tbaa !5
  %2107 = load i32, ptr %233, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef nonnull @.str.24) #12
  %2109 = load i32, ptr %233, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef nonnull @.str.24) #12
  %2111 = load i32, ptr %287, align 4, !tbaa !5
  %2112 = call ptr @strerror(i32 noundef %2111) #12
  %2113 = load i32, ptr %287, align 4, !tbaa !5
  %2114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2105, ptr noundef nonnull %.str.25.sink1574, i32 noundef %2106, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 275, ptr noundef %2108, ptr noundef %2110, ptr noundef %2112, i32 noundef %2113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2115:                                             ; preds = %2087
  %2116 = load i32, ptr @test_count, align 4, !tbaa !5
  %2117 = add nsw i32 %2116, 1
  store i32 %2117, ptr @test_count, align 4, !tbaa !5
  %2118 = trunc i64 %2089 to i32
  %2119 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %15, i32 noundef %2118) #12
  %2120 = icmp eq i32 %2119, -1
  br i1 %2120, label %2121, label %2143

2121:                                             ; preds = %2115
  %2122 = load i32, ptr %287, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @s2n_print_stacktrace(ptr noundef %2123) #12
  %2125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2126 = trunc nuw i8 %2125 to i1
  br i1 %2126, label %2127, label %2131

2127:                                             ; preds = %2121
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @fileno(ptr noundef %2128) #12
  %2130 = call i32 @isatty(i32 noundef %2129) #12
  %.not798 = icmp eq i32 %2130, 0
  br i1 %.not798, label %2131, label %2132

2131:                                             ; preds = %2127, %2121
  br label %2132

2132:                                             ; preds = %2127, %2131
  %.str.25.sink1583 = phi ptr [ @.str.25, %2131 ], [ @.str.22, %2127 ]
  store i32 %2122, ptr %287, align 4, !tbaa !5
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = load i32, ptr %233, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror(i32 noundef %2135, ptr noundef nonnull @.str.24) #12
  %2137 = load i32, ptr %233, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror_debug(i32 noundef %2137, ptr noundef nonnull @.str.24) #12
  %2139 = load i32, ptr %287, align 4, !tbaa !5
  %2140 = call ptr @strerror(i32 noundef %2139) #12
  %2141 = load i32, ptr %287, align 4, !tbaa !5
  %2142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2133, ptr noundef nonnull %.str.25.sink1583, i32 noundef %2134, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.21, i32 noundef 276, ptr noundef %2136, ptr noundef %2138, ptr noundef %2140, i32 noundef %2141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2143:                                             ; preds = %2115
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %15, i32 noundef %2118) #12
  %2147 = icmp eq i32 %2146, -1
  br i1 %2147, label %2148, label %2170

2148:                                             ; preds = %2143
  %2149 = load i32, ptr %287, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #12
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc nuw i8 %2152 to i1
  br i1 %2153, label %2154, label %2158

2154:                                             ; preds = %2148
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #12
  %2157 = call i32 @isatty(i32 noundef %2156) #12
  %.not797 = icmp eq i32 %2157, 0
  br i1 %.not797, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.25.sink1592 = phi ptr [ @.str.25, %2158 ], [ @.str.22, %2154 ]
  store i32 %2149, ptr %287, align 4, !tbaa !5
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = load i32, ptr %233, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.24) #12
  %2164 = load i32, ptr %233, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.24) #12
  %2166 = load i32, ptr %287, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #12
  %2168 = load i32, ptr %287, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.25.sink1592, i32 noundef %2161, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.21, i32 noundef 277, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2170:                                             ; preds = %2143
  %2171 = load i32, ptr @test_count, align 4, !tbaa !5
  %2172 = add nsw i32 %2171, 1
  store i32 %2172, ptr @test_count, align 4, !tbaa !5
  %2173 = load ptr, ptr %14, align 8, !tbaa !9
  %2174 = call i32 @s2n_quic_read_handshake_message(ptr noundef %2173, ptr noundef nonnull %16) #12
  %2175 = call zeroext i1 @s2n_result_is_ok(i32 %2174)
  br i1 %2175, label %2198, label %2176

2176:                                             ; preds = %2170
  %2177 = load i32, ptr %287, align 4, !tbaa !5
  %2178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2179 = call i32 @s2n_print_stacktrace(ptr noundef %2178) #12
  %2180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2181 = trunc nuw i8 %2180 to i1
  br i1 %2181, label %2182, label %2186

2182:                                             ; preds = %2176
  %2183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2184 = call i32 @fileno(ptr noundef %2183) #12
  %2185 = call i32 @isatty(i32 noundef %2184) #12
  %.not641 = icmp eq i32 %2185, 0
  br i1 %.not641, label %2186, label %2187

2186:                                             ; preds = %2182, %2176
  br label %2187

2187:                                             ; preds = %2182, %2186
  %.str.25.sink1601 = phi ptr [ @.str.25, %2186 ], [ @.str.22, %2182 ]
  store i32 %2177, ptr %287, align 4, !tbaa !5
  %2188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2189 = load i32, ptr @test_count, align 4, !tbaa !5
  %2190 = load i32, ptr %233, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef nonnull @.str.24) #12
  %2192 = load i32, ptr %233, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror_debug(i32 noundef %2192, ptr noundef nonnull @.str.24) #12
  %2194 = load i32, ptr %287, align 4, !tbaa !5
  %2195 = call ptr @strerror(i32 noundef %2194) #12
  %2196 = load i32, ptr %287, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2188, ptr noundef nonnull %.str.25.sink1601, i32 noundef %2189, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.21, i32 noundef 278, ptr noundef %2191, ptr noundef %2193, ptr noundef %2195, i32 noundef %2196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2198:                                             ; preds = %2170
  %2199 = load i32, ptr @test_count, align 4, !tbaa !5
  %2200 = add nsw i32 %2199, 1
  store i32 %2200, ptr @test_count, align 4, !tbaa !5
  %2201 = load ptr, ptr %14, align 8, !tbaa !9
  %2202 = getelementptr inbounds i8, ptr %2201, i64 1884
  %2203 = load i32, ptr %2202, align 4, !tbaa !46
  %2204 = getelementptr inbounds i8, ptr %2201, i64 1880
  %2205 = load i32, ptr %2204, align 8, !tbaa !47
  %2206 = sub i32 %2203, %2205
  %2207 = zext i32 %2206 to i64
  %2208 = icmp eq i64 %2089, %2207
  br i1 %2208, label %2231, label %2209

2209:                                             ; preds = %2198
  %2210 = load i32, ptr %287, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = call i32 @s2n_print_stacktrace(ptr noundef %2211) #12
  %2213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2214 = trunc nuw i8 %2213 to i1
  br i1 %2214, label %2215, label %2219

2215:                                             ; preds = %2209
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = call i32 @fileno(ptr noundef %2216) #12
  %2218 = call i32 @isatty(i32 noundef %2217) #12
  %.not642 = icmp eq i32 %2218, 0
  br i1 %.not642, label %2219, label %2220

2219:                                             ; preds = %2215, %2209
  br label %2220

2220:                                             ; preds = %2215, %2219
  %.str.25.sink1610 = phi ptr [ @.str.25, %2219 ], [ @.str.22, %2215 ]
  store i32 %2210, ptr %287, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = load i32, ptr %233, align 4, !tbaa !5
  %2224 = call ptr @s2n_strerror(i32 noundef %2223, ptr noundef nonnull @.str.24) #12
  %2225 = load i32, ptr %233, align 4, !tbaa !5
  %2226 = call ptr @s2n_strerror_debug(i32 noundef %2225, ptr noundef nonnull @.str.24) #12
  %2227 = load i32, ptr %287, align 4, !tbaa !5
  %2228 = call ptr @strerror(i32 noundef %2227) #12
  %2229 = load i32, ptr %287, align 4, !tbaa !5
  %2230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef nonnull %.str.25.sink1610, i32 noundef %2222, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.21, i32 noundef 279, ptr noundef %2224, ptr noundef %2226, ptr noundef %2228, i32 noundef %2229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2231:                                             ; preds = %2198
  %2232 = add nsw i32 %2199, 2
  store i32 %2232, ptr @test_count, align 4, !tbaa !5
  %2233 = getelementptr inbounds i8, ptr %2201, i64 2016
  %2234 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2233) #12
  %2235 = icmp eq i32 %2234, -1
  br i1 %2235, label %2236, label %2258

2236:                                             ; preds = %2231
  %2237 = load i32, ptr %287, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = call i32 @s2n_print_stacktrace(ptr noundef %2238) #12
  %2240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2241 = trunc nuw i8 %2240 to i1
  br i1 %2241, label %2242, label %2246

2242:                                             ; preds = %2236
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = call i32 @fileno(ptr noundef %2243) #12
  %2245 = call i32 @isatty(i32 noundef %2244) #12
  %.not796 = icmp eq i32 %2245, 0
  br i1 %.not796, label %2246, label %2247

2246:                                             ; preds = %2242, %2236
  br label %2247

2247:                                             ; preds = %2242, %2246
  %.str.25.sink1619 = phi ptr [ @.str.25, %2246 ], [ @.str.22, %2242 ]
  store i32 %2237, ptr %287, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = load i32, ptr @test_count, align 4, !tbaa !5
  %2250 = load i32, ptr %233, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror(i32 noundef %2250, ptr noundef nonnull @.str.24) #12
  %2252 = load i32, ptr %233, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef nonnull @.str.24) #12
  %2254 = load i32, ptr %287, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #12
  %2256 = load i32, ptr %287, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef nonnull %.str.25.sink1619, i32 noundef %2249, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.21, i32 noundef 281, ptr noundef %2251, ptr noundef %2253, ptr noundef %2255, i32 noundef %2256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2258:                                             ; preds = %2231
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = add nsw i32 %2259, 1
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = load ptr, ptr %14, align 8, !tbaa !9
  %2262 = call i32 @s2n_record_wipe(ptr noundef %2261) #12
  %2263 = call zeroext i1 @s2n_result_is_ok(i32 %2262)
  br i1 %2263, label %2286, label %2264

2264:                                             ; preds = %2258
  %2265 = load i32, ptr %287, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = call i32 @s2n_print_stacktrace(ptr noundef %2266) #12
  %2268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2269 = trunc nuw i8 %2268 to i1
  br i1 %2269, label %2270, label %2274

2270:                                             ; preds = %2264
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = call i32 @fileno(ptr noundef %2271) #12
  %2273 = call i32 @isatty(i32 noundef %2272) #12
  %.not643 = icmp eq i32 %2273, 0
  br i1 %.not643, label %2274, label %2275

2274:                                             ; preds = %2270, %2264
  br label %2275

2275:                                             ; preds = %2270, %2274
  %.str.25.sink1628 = phi ptr [ @.str.25, %2274 ], [ @.str.22, %2270 ]
  store i32 %2265, ptr %287, align 4, !tbaa !5
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = load i32, ptr @test_count, align 4, !tbaa !5
  %2278 = load i32, ptr %233, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror(i32 noundef %2278, ptr noundef nonnull @.str.24) #12
  %2280 = load i32, ptr %233, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror_debug(i32 noundef %2280, ptr noundef nonnull @.str.24) #12
  %2282 = load i32, ptr %287, align 4, !tbaa !5
  %2283 = call ptr @strerror(i32 noundef %2282) #12
  %2284 = load i32, ptr %287, align 4, !tbaa !5
  %2285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2276, ptr noundef nonnull %.str.25.sink1628, i32 noundef %2277, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.21, i32 noundef 282, ptr noundef %2279, ptr noundef %2281, ptr noundef %2283, i32 noundef %2284) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2286:                                             ; preds = %2258
  %2287 = load ptr, ptr %14, align 8, !tbaa !9
  %2288 = getelementptr inbounds i8, ptr %2287, i64 1824
  %2289 = load i32, ptr %2288, align 8, !tbaa !48
  %2290 = getelementptr inbounds i8, ptr %2287, i64 1844
  %2291 = load i32, ptr %2290, align 4, !tbaa !49
  %2292 = sub i32 %2289, %2291
  %2293 = zext i32 %2292 to i64
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = add nsw i32 %2294, 1
  store i32 %2295, ptr @test_count, align 4, !tbaa !5
  %.not644 = icmp ugt i64 %2089, %2293
  br i1 %.not644, label %2296, label %2318

2296:                                             ; preds = %2286
  %2297 = load i32, ptr %287, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @s2n_print_stacktrace(ptr noundef %2298) #12
  %2300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2301 = trunc nuw i8 %2300 to i1
  br i1 %2301, label %2302, label %2306

2302:                                             ; preds = %2296
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = call i32 @fileno(ptr noundef %2303) #12
  %2305 = call i32 @isatty(i32 noundef %2304) #12
  %.not645 = icmp eq i32 %2305, 0
  br i1 %.not645, label %2306, label %2307

2306:                                             ; preds = %2302, %2296
  br label %2307

2307:                                             ; preds = %2302, %2306
  %.str.25.sink1637 = phi ptr [ @.str.25, %2306 ], [ @.str.22, %2302 ]
  store i32 %2297, ptr %287, align 4, !tbaa !5
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2309 = load i32, ptr @test_count, align 4, !tbaa !5
  %2310 = load i32, ptr %233, align 4, !tbaa !5
  %2311 = call ptr @s2n_strerror(i32 noundef %2310, ptr noundef nonnull @.str.24) #12
  %2312 = load i32, ptr %233, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror_debug(i32 noundef %2312, ptr noundef nonnull @.str.24) #12
  %2314 = load i32, ptr %287, align 4, !tbaa !5
  %2315 = call ptr @strerror(i32 noundef %2314) #12
  %2316 = load i32, ptr %287, align 4, !tbaa !5
  %2317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2308, ptr noundef nonnull %.str.25.sink1637, i32 noundef %2309, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.21, i32 noundef 284, ptr noundef %2311, ptr noundef %2313, ptr noundef %2315, i32 noundef %2316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2318:                                             ; preds = %2286
  %2319 = add nsw i32 %2294, 2
  store i32 %2319, ptr @test_count, align 4, !tbaa !5
  %2320 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %15, i8 noundef zeroext 7) #12
  %2321 = icmp eq i32 %2320, -1
  br i1 %2321, label %2322, label %2344

2322:                                             ; preds = %2318
  %2323 = load i32, ptr %287, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = call i32 @s2n_print_stacktrace(ptr noundef %2324) #12
  %2326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2327 = trunc nuw i8 %2326 to i1
  br i1 %2327, label %2328, label %2332

2328:                                             ; preds = %2322
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = call i32 @fileno(ptr noundef %2329) #12
  %2331 = call i32 @isatty(i32 noundef %2330) #12
  %.not795 = icmp eq i32 %2331, 0
  br i1 %.not795, label %2332, label %2333

2332:                                             ; preds = %2328, %2322
  br label %2333

2333:                                             ; preds = %2328, %2332
  %.str.25.sink1646 = phi ptr [ @.str.25, %2332 ], [ @.str.22, %2328 ]
  store i32 %2323, ptr %287, align 4, !tbaa !5
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = load i32, ptr %233, align 4, !tbaa !5
  %2337 = call ptr @s2n_strerror(i32 noundef %2336, ptr noundef nonnull @.str.24) #12
  %2338 = load i32, ptr %233, align 4, !tbaa !5
  %2339 = call ptr @s2n_strerror_debug(i32 noundef %2338, ptr noundef nonnull @.str.24) #12
  %2340 = load i32, ptr %287, align 4, !tbaa !5
  %2341 = call ptr @strerror(i32 noundef %2340) #12
  %2342 = load i32, ptr %287, align 4, !tbaa !5
  %2343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2334, ptr noundef nonnull %.str.25.sink1646, i32 noundef %2335, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 287, ptr noundef %2337, ptr noundef %2339, ptr noundef %2341, i32 noundef %2342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2344:                                             ; preds = %2318
  %2345 = load i32, ptr @test_count, align 4, !tbaa !5
  %2346 = add nsw i32 %2345, 1
  store i32 %2346, ptr @test_count, align 4, !tbaa !5
  %2347 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %15, i32 noundef 5) #12
  %2348 = icmp eq i32 %2347, -1
  br i1 %2348, label %2349, label %2371

2349:                                             ; preds = %2344
  %2350 = load i32, ptr %287, align 4, !tbaa !5
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = call i32 @s2n_print_stacktrace(ptr noundef %2351) #12
  %2353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2354 = trunc nuw i8 %2353 to i1
  br i1 %2354, label %2355, label %2359

2355:                                             ; preds = %2349
  %2356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2357 = call i32 @fileno(ptr noundef %2356) #12
  %2358 = call i32 @isatty(i32 noundef %2357) #12
  %.not794 = icmp eq i32 %2358, 0
  br i1 %.not794, label %2359, label %2360

2359:                                             ; preds = %2355, %2349
  br label %2360

2360:                                             ; preds = %2355, %2359
  %.str.25.sink1655 = phi ptr [ @.str.25, %2359 ], [ @.str.22, %2355 ]
  store i32 %2350, ptr %287, align 4, !tbaa !5
  %2361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2362 = load i32, ptr @test_count, align 4, !tbaa !5
  %2363 = load i32, ptr %233, align 4, !tbaa !5
  %2364 = call ptr @s2n_strerror(i32 noundef %2363, ptr noundef nonnull @.str.24) #12
  %2365 = load i32, ptr %233, align 4, !tbaa !5
  %2366 = call ptr @s2n_strerror_debug(i32 noundef %2365, ptr noundef nonnull @.str.24) #12
  %2367 = load i32, ptr %287, align 4, !tbaa !5
  %2368 = call ptr @strerror(i32 noundef %2367) #12
  %2369 = load i32, ptr %287, align 4, !tbaa !5
  %2370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2361, ptr noundef nonnull %.str.25.sink1655, i32 noundef %2362, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.21, i32 noundef 288, ptr noundef %2364, ptr noundef %2366, ptr noundef %2368, i32 noundef %2369) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2371:                                             ; preds = %2344
  %2372 = load i32, ptr @test_count, align 4, !tbaa !5
  %2373 = add nsw i32 %2372, 1
  store i32 %2373, ptr @test_count, align 4, !tbaa !5
  %2374 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %15, ptr noundef nonnull @TEST_DATA, i32 noundef 5) #12
  %2375 = icmp eq i32 %2374, -1
  br i1 %2375, label %2376, label %2398

2376:                                             ; preds = %2371
  %2377 = load i32, ptr %287, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = call i32 @s2n_print_stacktrace(ptr noundef %2378) #12
  %2380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2381 = trunc nuw i8 %2380 to i1
  br i1 %2381, label %2382, label %2386

2382:                                             ; preds = %2376
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = call i32 @fileno(ptr noundef %2383) #12
  %2385 = call i32 @isatty(i32 noundef %2384) #12
  %.not793 = icmp eq i32 %2385, 0
  br i1 %.not793, label %2386, label %2387

2386:                                             ; preds = %2382, %2376
  br label %2387

2387:                                             ; preds = %2382, %2386
  %.str.25.sink1664 = phi ptr [ @.str.25, %2386 ], [ @.str.22, %2382 ]
  store i32 %2377, ptr %287, align 4, !tbaa !5
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2389 = load i32, ptr @test_count, align 4, !tbaa !5
  %2390 = load i32, ptr %233, align 4, !tbaa !5
  %2391 = call ptr @s2n_strerror(i32 noundef %2390, ptr noundef nonnull @.str.24) #12
  %2392 = load i32, ptr %233, align 4, !tbaa !5
  %2393 = call ptr @s2n_strerror_debug(i32 noundef %2392, ptr noundef nonnull @.str.24) #12
  %2394 = load i32, ptr %287, align 4, !tbaa !5
  %2395 = call ptr @strerror(i32 noundef %2394) #12
  %2396 = load i32, ptr %287, align 4, !tbaa !5
  %2397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2388, ptr noundef nonnull %.str.25.sink1664, i32 noundef %2389, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.21, i32 noundef 289, ptr noundef %2391, ptr noundef %2393, ptr noundef %2395, i32 noundef %2396) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2398:                                             ; preds = %2371
  %2399 = load i32, ptr @test_count, align 4, !tbaa !5
  %2400 = add nsw i32 %2399, 1
  store i32 %2400, ptr @test_count, align 4, !tbaa !5
  %2401 = load ptr, ptr %14, align 8, !tbaa !9
  %2402 = call i32 @s2n_quic_read_handshake_message(ptr noundef %2401, ptr noundef nonnull %16) #12
  %2403 = call zeroext i1 @s2n_result_is_ok(i32 %2402)
  br i1 %2403, label %2426, label %2404

2404:                                             ; preds = %2398
  %2405 = load i32, ptr %287, align 4, !tbaa !5
  %2406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2407 = call i32 @s2n_print_stacktrace(ptr noundef %2406) #12
  %2408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2409 = trunc nuw i8 %2408 to i1
  br i1 %2409, label %2410, label %2414

2410:                                             ; preds = %2404
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = call i32 @fileno(ptr noundef %2411) #12
  %2413 = call i32 @isatty(i32 noundef %2412) #12
  %.not646 = icmp eq i32 %2413, 0
  br i1 %.not646, label %2414, label %2415

2414:                                             ; preds = %2410, %2404
  br label %2415

2415:                                             ; preds = %2410, %2414
  %.str.25.sink1673 = phi ptr [ @.str.25, %2414 ], [ @.str.22, %2410 ]
  store i32 %2405, ptr %287, align 4, !tbaa !5
  %2416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2417 = load i32, ptr @test_count, align 4, !tbaa !5
  %2418 = load i32, ptr %233, align 4, !tbaa !5
  %2419 = call ptr @s2n_strerror(i32 noundef %2418, ptr noundef nonnull @.str.24) #12
  %2420 = load i32, ptr %233, align 4, !tbaa !5
  %2421 = call ptr @s2n_strerror_debug(i32 noundef %2420, ptr noundef nonnull @.str.24) #12
  %2422 = load i32, ptr %287, align 4, !tbaa !5
  %2423 = call ptr @strerror(i32 noundef %2422) #12
  %2424 = load i32, ptr %287, align 4, !tbaa !5
  %2425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2416, ptr noundef nonnull %.str.25.sink1673, i32 noundef %2417, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.21, i32 noundef 290, ptr noundef %2419, ptr noundef %2421, ptr noundef %2423, i32 noundef %2424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2426:                                             ; preds = %2398
  %2427 = load i32, ptr @test_count, align 4, !tbaa !5
  %2428 = add nsw i32 %2427, 1
  store i32 %2428, ptr @test_count, align 4, !tbaa !5
  %2429 = load ptr, ptr %14, align 8, !tbaa !9
  %2430 = getelementptr inbounds i8, ptr %2429, i64 1884
  %2431 = load i32, ptr %2430, align 4, !tbaa !46
  %2432 = getelementptr inbounds i8, ptr %2429, i64 1880
  %2433 = load i32, ptr %2432, align 8, !tbaa !47
  %2434 = sub i32 %2431, %2433
  %2435 = icmp eq i32 %2434, 5
  br i1 %2435, label %2458, label %2436

2436:                                             ; preds = %2426
  %2437 = load i32, ptr %287, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #12
  %2440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2441 = trunc nuw i8 %2440 to i1
  br i1 %2441, label %2442, label %2446

2442:                                             ; preds = %2436
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #12
  %2445 = call i32 @isatty(i32 noundef %2444) #12
  %.not647 = icmp eq i32 %2445, 0
  br i1 %.not647, label %2446, label %2447

2446:                                             ; preds = %2442, %2436
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.25.sink1682 = phi ptr [ @.str.25, %2446 ], [ @.str.22, %2442 ]
  store i32 %2437, ptr %287, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = load i32, ptr %233, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef nonnull @.str.24) #12
  %2452 = load i32, ptr %233, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef nonnull @.str.24) #12
  %2454 = load i32, ptr %287, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #12
  %2456 = load i32, ptr %287, align 4, !tbaa !5
  %2457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.25.sink1682, i32 noundef %2449, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.21, i32 noundef 291, ptr noundef %2451, ptr noundef %2453, ptr noundef %2455, i32 noundef %2456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2458:                                             ; preds = %2426
  %2459 = add nsw i32 %2427, 2
  store i32 %2459, ptr @test_count, align 4, !tbaa !5
  %2460 = getelementptr inbounds i8, ptr %2429, i64 1856
  %2461 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %2460, i32 noundef 5) #12
  %bcmp648 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %2461, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %2462 = icmp eq i32 %bcmp648, 0
  br i1 %2462, label %2485, label %2463

2463:                                             ; preds = %2458
  %2464 = load i32, ptr %287, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = call i32 @s2n_print_stacktrace(ptr noundef %2465) #12
  %2467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2468 = trunc nuw i8 %2467 to i1
  br i1 %2468, label %2469, label %2473

2469:                                             ; preds = %2463
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @fileno(ptr noundef %2470) #12
  %2472 = call i32 @isatty(i32 noundef %2471) #12
  %.not649 = icmp eq i32 %2472, 0
  br i1 %.not649, label %2473, label %2474

2473:                                             ; preds = %2469, %2463
  br label %2474

2474:                                             ; preds = %2469, %2473
  %.str.25.sink1691 = phi ptr [ @.str.25, %2473 ], [ @.str.22, %2469 ]
  store i32 %2464, ptr %287, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = load i32, ptr %233, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef nonnull @.str.24) #12
  %2479 = load i32, ptr %233, align 4, !tbaa !5
  %2480 = call ptr @s2n_strerror_debug(i32 noundef %2479, ptr noundef nonnull @.str.24) #12
  %2481 = load i32, ptr %287, align 4, !tbaa !5
  %2482 = call ptr @strerror(i32 noundef %2481) #12
  %2483 = load i32, ptr %287, align 4, !tbaa !5
  %2484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2475, ptr noundef nonnull %.str.25.sink1691, i32 noundef %2476, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.21, i32 noundef 293, ptr noundef %2478, ptr noundef %2480, ptr noundef %2482, i32 noundef %2483) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2485:                                             ; preds = %2458
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #12
  %2486 = call i32 @s2n_stuffer_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #12
  %2487 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  %2488 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2488, ptr %17, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = add nsw i32 %2489, 1
  store i32 %2490, ptr @test_count, align 4, !tbaa !5
  %2491 = icmp eq ptr %2488, null
  br i1 %2491, label %2492, label %2514

2492:                                             ; preds = %2485
  %2493 = load i32, ptr %287, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = call i32 @s2n_print_stacktrace(ptr noundef %2494) #12
  %2496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2497 = trunc nuw i8 %2496 to i1
  br i1 %2497, label %2498, label %2502

2498:                                             ; preds = %2492
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2500 = call i32 @fileno(ptr noundef %2499) #12
  %2501 = call i32 @isatty(i32 noundef %2500) #12
  %.not792 = icmp eq i32 %2501, 0
  br i1 %.not792, label %2502, label %2503

2502:                                             ; preds = %2498, %2492
  br label %2503

2503:                                             ; preds = %2498, %2502
  %.str.25.sink1700 = phi ptr [ @.str.25, %2502 ], [ @.str.22, %2498 ]
  store i32 %2493, ptr %287, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = load i32, ptr %233, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror(i32 noundef %2506, ptr noundef nonnull @.str.24) #12
  %2508 = load i32, ptr %233, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef nonnull @.str.24) #12
  %2510 = load i32, ptr %287, align 4, !tbaa !5
  %2511 = call ptr @strerror(i32 noundef %2510) #12
  %2512 = load i32, ptr %287, align 4, !tbaa !5
  %2513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2504, ptr noundef nonnull %.str.25.sink1700, i32 noundef %2505, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.21, i32 noundef 300, ptr noundef %2507, ptr noundef %2509, ptr noundef %2511, i32 noundef %2512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2514:                                             ; preds = %2485
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %18, i8 0, i64 40, i1 false)
  %2515 = add nsw i32 %2489, 2
  store i32 %2515, ptr @test_count, align 4, !tbaa !5
  %2516 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %18, i32 noundef 0) #12
  %2517 = icmp eq i32 %2516, -1
  br i1 %2517, label %2518, label %2540

2518:                                             ; preds = %2514
  %2519 = load i32, ptr %287, align 4, !tbaa !5
  %2520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2521 = call i32 @s2n_print_stacktrace(ptr noundef %2520) #12
  %2522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2523 = trunc nuw i8 %2522 to i1
  br i1 %2523, label %2524, label %2528

2524:                                             ; preds = %2518
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = call i32 @fileno(ptr noundef %2525) #12
  %2527 = call i32 @isatty(i32 noundef %2526) #12
  %.not791 = icmp eq i32 %2527, 0
  br i1 %.not791, label %2528, label %2529

2528:                                             ; preds = %2524, %2518
  br label %2529

2529:                                             ; preds = %2524, %2528
  %.str.25.sink1709 = phi ptr [ @.str.25, %2528 ], [ @.str.22, %2524 ]
  store i32 %2519, ptr %287, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = load i32, ptr %233, align 4, !tbaa !5
  %2533 = call ptr @s2n_strerror(i32 noundef %2532, ptr noundef nonnull @.str.24) #12
  %2534 = load i32, ptr %233, align 4, !tbaa !5
  %2535 = call ptr @s2n_strerror_debug(i32 noundef %2534, ptr noundef nonnull @.str.24) #12
  %2536 = load i32, ptr %287, align 4, !tbaa !5
  %2537 = call ptr @strerror(i32 noundef %2536) #12
  %2538 = load i32, ptr %287, align 4, !tbaa !5
  %2539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2530, ptr noundef nonnull %.str.25.sink1709, i32 noundef %2531, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 303, ptr noundef %2533, ptr noundef %2535, ptr noundef %2537, i32 noundef %2538) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2540:                                             ; preds = %2514
  %2541 = load i32, ptr @test_count, align 4, !tbaa !5
  %2542 = add nsw i32 %2541, 1
  store i32 %2542, ptr @test_count, align 4, !tbaa !5
  %2543 = load ptr, ptr %17, align 8, !tbaa !9
  %2544 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %18, ptr noundef nonnull %18, ptr noundef %2543) #12
  %2545 = icmp eq i32 %2544, -1
  br i1 %2545, label %2546, label %.peel.begin

2546:                                             ; preds = %2540
  %2547 = load i32, ptr %287, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = call i32 @s2n_print_stacktrace(ptr noundef %2548) #12
  %2550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2551 = trunc nuw i8 %2550 to i1
  br i1 %2551, label %2552, label %2556

2552:                                             ; preds = %2546
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @fileno(ptr noundef %2553) #12
  %2555 = call i32 @isatty(i32 noundef %2554) #12
  %.not790 = icmp eq i32 %2555, 0
  br i1 %.not790, label %2556, label %2557

2556:                                             ; preds = %2552, %2546
  br label %2557

2557:                                             ; preds = %2552, %2556
  %.str.25.sink1718 = phi ptr [ @.str.25, %2556 ], [ @.str.22, %2552 ]
  store i32 %2547, ptr %287, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = load i32, ptr %233, align 4, !tbaa !5
  %2561 = call ptr @s2n_strerror(i32 noundef %2560, ptr noundef nonnull @.str.24) #12
  %2562 = load i32, ptr %233, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror_debug(i32 noundef %2562, ptr noundef nonnull @.str.24) #12
  %2564 = load i32, ptr %287, align 4, !tbaa !5
  %2565 = call ptr @strerror(i32 noundef %2564) #12
  %2566 = load i32, ptr %287, align 4, !tbaa !5
  %2567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2558, ptr noundef nonnull %.str.25.sink1718, i32 noundef %2559, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 304, ptr noundef %2561, ptr noundef %2563, ptr noundef %2565, i32 noundef %2566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.peel.begin:                                      ; preds = %2540
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #12
  store i8 0, ptr %19, align 1, !tbaa !43
  %2568 = load i32, ptr @test_count, align 4, !tbaa !5
  %2569 = add nsw i32 %2568, 1
  store i32 %2569, ptr @test_count, align 4, !tbaa !5
  %2570 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %18, i8 noundef zeroext 7) #12
  %2571 = icmp eq i32 %2570, -1
  br i1 %2571, label %.loopexit, label %2572

2572:                                             ; preds = %.peel.begin
  %2573 = load i32, ptr @test_count, align 4, !tbaa !5
  %2574 = add nsw i32 %2573, 1
  store i32 %2574, ptr @test_count, align 4, !tbaa !5
  %2575 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %18, i32 noundef 5) #12
  %2576 = icmp eq i32 %2575, -1
  br i1 %2576, label %.loopexit884, label %2577

2577:                                             ; preds = %2572
  %2578 = load i32, ptr @test_count, align 4, !tbaa !5
  %2579 = add nsw i32 %2578, 1
  store i32 %2579, ptr @test_count, align 4, !tbaa !5
  %2580 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %18, ptr noundef nonnull @TEST_DATA, i32 noundef 5) #12
  %2581 = icmp eq i32 %2580, -1
  br i1 %2581, label %.loopexit885, label %2582

2582:                                             ; preds = %2577
  %2583 = load i32, ptr @test_count, align 4, !tbaa !5
  %2584 = add nsw i32 %2583, 1
  store i32 %2584, ptr @test_count, align 4, !tbaa !5
  %2585 = load ptr, ptr %17, align 8, !tbaa !9
  %2586 = call i32 @s2n_quic_read_handshake_message(ptr noundef %2585, ptr noundef nonnull %19) #12
  %2587 = call zeroext i1 @s2n_result_is_ok(i32 %2586)
  br i1 %2587, label %2588, label %.loopexit886

2588:                                             ; preds = %2582
  %2589 = load i32, ptr @test_count, align 4, !tbaa !5
  %2590 = add nsw i32 %2589, 1
  store i32 %2590, ptr @test_count, align 4, !tbaa !5
  %2591 = load ptr, ptr %17, align 8, !tbaa !9
  %2592 = getelementptr inbounds i8, ptr %2591, i64 1884
  %2593 = load i32, ptr %2592, align 4, !tbaa !46
  %2594 = getelementptr inbounds i8, ptr %2591, i64 1880
  %2595 = load i32, ptr %2594, align 8, !tbaa !47
  %2596 = sub i32 %2593, %2595
  %2597 = icmp eq i32 %2596, 5
  br i1 %2597, label %2598, label %.loopexit887

2598:                                             ; preds = %2588
  %2599 = add nsw i32 %2589, 2
  store i32 %2599, ptr @test_count, align 4, !tbaa !5
  %2600 = getelementptr inbounds i8, ptr %2591, i64 1856
  %2601 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %2600, i32 noundef 5) #12
  %bcmp782.peel = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %2601, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %2602 = icmp eq i32 %bcmp782.peel, 0
  br i1 %2602, label %2603, label %.loopexit888

2603:                                             ; preds = %2598
  %2604 = load i32, ptr @test_count, align 4, !tbaa !5
  %2605 = add nsw i32 %2604, 1
  store i32 %2605, ptr @test_count, align 4, !tbaa !5
  %2606 = load ptr, ptr %17, align 8, !tbaa !9
  %2607 = getelementptr inbounds i8, ptr %2606, i64 2016
  %2608 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2607) #12
  %2609 = icmp eq i32 %2608, -1
  br i1 %2609, label %.loopexit889, label %2610

2610:                                             ; preds = %2603
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = add nsw i32 %2611, 1
  store i32 %2612, ptr @test_count, align 4, !tbaa !5
  %2613 = load ptr, ptr %17, align 8, !tbaa !9
  %2614 = call i32 @s2n_record_wipe(ptr noundef %2613) #12
  %2615 = call zeroext i1 @s2n_result_is_ok(i32 %2614)
  br i1 %2615, label %.peel.next, label %.loopexit890

.peel.next:                                       ; preds = %2610
  %2616 = load ptr, ptr %17, align 8, !tbaa !9
  %2617 = getelementptr inbounds i8, ptr %2616, i64 1824
  %2618 = load i32, ptr %2617, align 8, !tbaa !48
  %2619 = getelementptr inbounds i8, ptr %2616, i64 1844
  %2620 = load i32, ptr %2619, align 4, !tbaa !49
  %2621 = sub i32 %2618, %2620
  %2622 = load i32, ptr @test_count, align 4, !tbaa !5
  %2623 = add nsw i32 %2622, 1
  br label %2632

2624:                                             ; preds = %2849
  %2625 = add nuw nsw i64 %.0589878, 1
  %exitcond.not = icmp eq i64 %2625, 100
  br i1 %exitcond.not, label %.loopexit892, label %2632, !llvm.loop !50

.loopexit892:                                     ; preds = %2624
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #12
  %2626 = call i32 @s2n_stuffer_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #12
  %2627 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #12
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 8), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 16), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 32), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 40), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 56), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 64), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 80), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 88), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 104), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 112), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 128), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 136), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 152), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 160), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 176), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 184), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 200), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 208), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 224), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 232), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 248), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 256), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 272), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 280), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 296), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 304), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 320), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 328), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 344), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 352), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 368), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 376), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 392), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 400), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 416), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 424), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 440), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 448), align 16, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 464), align 16, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 472), align 8, !tbaa !9
  store ptr @s2n_test_read_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 488), align 8, !tbaa !9
  store ptr @s2n_test_write_handler, ptr getelementptr inbounds (i8, ptr @tls13_state_machine, i64 496), align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #12
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = add nsw i32 %2628, 1
  store i32 %2629, ptr @test_count, align 4, !tbaa !5
  %2630 = call i32 @s2n_write_test_message(ptr noundef nonnull %21, i32 noundef 2)
  %2631 = call zeroext i1 @s2n_result_is_ok(i32 %2630)
  br i1 %2631, label %2902, label %2880

2632:                                             ; preds = %.peel.next, %2624
  %2633 = phi i32 [ %2623, %.peel.next ], [ %2857, %2624 ]
  %.0589878 = phi i64 [ 1, %.peel.next ], [ %2625, %2624 ]
  %2634 = add nsw i32 %2633, 1
  store i32 %2634, ptr @test_count, align 4, !tbaa !5
  %2635 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %18, i8 noundef zeroext 7) #12
  %2636 = icmp eq i32 %2635, -1
  br i1 %2636, label %.loopexit, label %2658

.loopexit:                                        ; preds = %2632, %.peel.begin
  %2637 = load i32, ptr %287, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = call i32 @s2n_print_stacktrace(ptr noundef %2638) #12
  %2640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2641 = trunc nuw i8 %2640 to i1
  br i1 %2641, label %2642, label %2646

2642:                                             ; preds = %.loopexit
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = call i32 @fileno(ptr noundef %2643) #12
  %2645 = call i32 @isatty(i32 noundef %2644) #12
  %.not789 = icmp eq i32 %2645, 0
  br i1 %.not789, label %2646, label %2647

2646:                                             ; preds = %2642, %.loopexit
  br label %2647

2647:                                             ; preds = %2642, %2646
  %.str.25.sink1727 = phi ptr [ @.str.25, %2646 ], [ @.str.22, %2642 ]
  store i32 %2637, ptr %287, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = load i32, ptr %233, align 4, !tbaa !5
  %2651 = call ptr @s2n_strerror(i32 noundef %2650, ptr noundef nonnull @.str.24) #12
  %2652 = load i32, ptr %233, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror_debug(i32 noundef %2652, ptr noundef nonnull @.str.24) #12
  %2654 = load i32, ptr %287, align 4, !tbaa !5
  %2655 = call ptr @strerror(i32 noundef %2654) #12
  %2656 = load i32, ptr %287, align 4, !tbaa !5
  %2657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2648, ptr noundef nonnull %.str.25.sink1727, i32 noundef %2649, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.21, i32 noundef 309, ptr noundef %2651, ptr noundef %2653, ptr noundef %2655, i32 noundef %2656) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2658:                                             ; preds = %2632
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = add nsw i32 %2659, 1
  store i32 %2660, ptr @test_count, align 4, !tbaa !5
  %2661 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %18, i32 noundef 5) #12
  %2662 = icmp eq i32 %2661, -1
  br i1 %2662, label %.loopexit884, label %2684

.loopexit884:                                     ; preds = %2658, %2572
  %2663 = load i32, ptr %287, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = call i32 @s2n_print_stacktrace(ptr noundef %2664) #12
  %2666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2667 = trunc nuw i8 %2666 to i1
  br i1 %2667, label %2668, label %2672

2668:                                             ; preds = %.loopexit884
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @fileno(ptr noundef %2669) #12
  %2671 = call i32 @isatty(i32 noundef %2670) #12
  %.not788 = icmp eq i32 %2671, 0
  br i1 %.not788, label %2672, label %2673

2672:                                             ; preds = %2668, %.loopexit884
  br label %2673

2673:                                             ; preds = %2668, %2672
  %.str.25.sink1736 = phi ptr [ @.str.25, %2672 ], [ @.str.22, %2668 ]
  store i32 %2663, ptr %287, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = load i32, ptr @test_count, align 4, !tbaa !5
  %2676 = load i32, ptr %233, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef nonnull @.str.24) #12
  %2678 = load i32, ptr %233, align 4, !tbaa !5
  %2679 = call ptr @s2n_strerror_debug(i32 noundef %2678, ptr noundef nonnull @.str.24) #12
  %2680 = load i32, ptr %287, align 4, !tbaa !5
  %2681 = call ptr @strerror(i32 noundef %2680) #12
  %2682 = load i32, ptr %287, align 4, !tbaa !5
  %2683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2674, ptr noundef nonnull %.str.25.sink1736, i32 noundef %2675, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.21, i32 noundef 310, ptr noundef %2677, ptr noundef %2679, ptr noundef %2681, i32 noundef %2682) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2684:                                             ; preds = %2658
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = add nsw i32 %2685, 1
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %18, ptr noundef nonnull @TEST_DATA, i32 noundef 5) #12
  %2688 = icmp eq i32 %2687, -1
  br i1 %2688, label %.loopexit885, label %2710

.loopexit885:                                     ; preds = %2684, %2577
  %2689 = load i32, ptr %287, align 4, !tbaa !5
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = call i32 @s2n_print_stacktrace(ptr noundef %2690) #12
  %2692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2693 = trunc nuw i8 %2692 to i1
  br i1 %2693, label %2694, label %2698

2694:                                             ; preds = %.loopexit885
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = call i32 @fileno(ptr noundef %2695) #12
  %2697 = call i32 @isatty(i32 noundef %2696) #12
  %.not787 = icmp eq i32 %2697, 0
  br i1 %.not787, label %2698, label %2699

2698:                                             ; preds = %2694, %.loopexit885
  br label %2699

2699:                                             ; preds = %2694, %2698
  %.str.25.sink1745 = phi ptr [ @.str.25, %2698 ], [ @.str.22, %2694 ]
  store i32 %2689, ptr %287, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = load i32, ptr @test_count, align 4, !tbaa !5
  %2702 = load i32, ptr %233, align 4, !tbaa !5
  %2703 = call ptr @s2n_strerror(i32 noundef %2702, ptr noundef nonnull @.str.24) #12
  %2704 = load i32, ptr %233, align 4, !tbaa !5
  %2705 = call ptr @s2n_strerror_debug(i32 noundef %2704, ptr noundef nonnull @.str.24) #12
  %2706 = load i32, ptr %287, align 4, !tbaa !5
  %2707 = call ptr @strerror(i32 noundef %2706) #12
  %2708 = load i32, ptr %287, align 4, !tbaa !5
  %2709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2700, ptr noundef nonnull %.str.25.sink1745, i32 noundef %2701, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.21, i32 noundef 311, ptr noundef %2703, ptr noundef %2705, ptr noundef %2707, i32 noundef %2708) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2710:                                             ; preds = %2684
  %2711 = load i32, ptr @test_count, align 4, !tbaa !5
  %2712 = add nsw i32 %2711, 1
  store i32 %2712, ptr @test_count, align 4, !tbaa !5
  %2713 = load ptr, ptr %17, align 8, !tbaa !9
  %2714 = call i32 @s2n_quic_read_handshake_message(ptr noundef %2713, ptr noundef nonnull %19) #12
  %2715 = call zeroext i1 @s2n_result_is_ok(i32 %2714)
  br i1 %2715, label %2737, label %.loopexit886

.loopexit886:                                     ; preds = %2710, %2582
  %2716 = load i32, ptr %287, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = call i32 @s2n_print_stacktrace(ptr noundef %2717) #12
  %2719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2720 = trunc nuw i8 %2719 to i1
  br i1 %2720, label %2721, label %2725

2721:                                             ; preds = %.loopexit886
  %2722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2723 = call i32 @fileno(ptr noundef %2722) #12
  %2724 = call i32 @isatty(i32 noundef %2723) #12
  %.not780 = icmp eq i32 %2724, 0
  br i1 %.not780, label %2725, label %2726

2725:                                             ; preds = %2721, %.loopexit886
  br label %2726

2726:                                             ; preds = %2721, %2725
  %.str.25.sink1754 = phi ptr [ @.str.25, %2725 ], [ @.str.22, %2721 ]
  store i32 %2716, ptr %287, align 4, !tbaa !5
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = load i32, ptr %233, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror(i32 noundef %2729, ptr noundef nonnull @.str.24) #12
  %2731 = load i32, ptr %233, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror_debug(i32 noundef %2731, ptr noundef nonnull @.str.24) #12
  %2733 = load i32, ptr %287, align 4, !tbaa !5
  %2734 = call ptr @strerror(i32 noundef %2733) #12
  %2735 = load i32, ptr %287, align 4, !tbaa !5
  %2736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2727, ptr noundef nonnull %.str.25.sink1754, i32 noundef %2728, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.21, i32 noundef 312, ptr noundef %2730, ptr noundef %2732, ptr noundef %2734, i32 noundef %2735) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2737:                                             ; preds = %2710
  %2738 = load i32, ptr @test_count, align 4, !tbaa !5
  %2739 = add nsw i32 %2738, 1
  store i32 %2739, ptr @test_count, align 4, !tbaa !5
  %2740 = load ptr, ptr %17, align 8, !tbaa !9
  %2741 = getelementptr inbounds i8, ptr %2740, i64 1884
  %2742 = load i32, ptr %2741, align 4, !tbaa !46
  %2743 = getelementptr inbounds i8, ptr %2740, i64 1880
  %2744 = load i32, ptr %2743, align 8, !tbaa !47
  %2745 = sub i32 %2742, %2744
  %2746 = icmp eq i32 %2745, 5
  br i1 %2746, label %2768, label %.loopexit887

.loopexit887:                                     ; preds = %2737, %2588
  %2747 = load i32, ptr %287, align 4, !tbaa !5
  %2748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2749 = call i32 @s2n_print_stacktrace(ptr noundef %2748) #12
  %2750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2751 = trunc nuw i8 %2750 to i1
  br i1 %2751, label %2752, label %2756

2752:                                             ; preds = %.loopexit887
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = call i32 @fileno(ptr noundef %2753) #12
  %2755 = call i32 @isatty(i32 noundef %2754) #12
  %.not781 = icmp eq i32 %2755, 0
  br i1 %.not781, label %2756, label %2757

2756:                                             ; preds = %2752, %.loopexit887
  br label %2757

2757:                                             ; preds = %2752, %2756
  %.str.25.sink1763 = phi ptr [ @.str.25, %2756 ], [ @.str.22, %2752 ]
  store i32 %2747, ptr %287, align 4, !tbaa !5
  %2758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2759 = load i32, ptr @test_count, align 4, !tbaa !5
  %2760 = load i32, ptr %233, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror(i32 noundef %2760, ptr noundef nonnull @.str.24) #12
  %2762 = load i32, ptr %233, align 4, !tbaa !5
  %2763 = call ptr @s2n_strerror_debug(i32 noundef %2762, ptr noundef nonnull @.str.24) #12
  %2764 = load i32, ptr %287, align 4, !tbaa !5
  %2765 = call ptr @strerror(i32 noundef %2764) #12
  %2766 = load i32, ptr %287, align 4, !tbaa !5
  %2767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2758, ptr noundef nonnull %.str.25.sink1763, i32 noundef %2759, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.21, i32 noundef 313, ptr noundef %2761, ptr noundef %2763, ptr noundef %2765, i32 noundef %2766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2768:                                             ; preds = %2737
  %2769 = add nsw i32 %2738, 2
  store i32 %2769, ptr @test_count, align 4, !tbaa !5
  %2770 = getelementptr inbounds i8, ptr %2740, i64 1856
  %2771 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %2770, i32 noundef 5) #12
  %bcmp782 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %2771, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %2772 = icmp eq i32 %bcmp782, 0
  br i1 %2772, label %2794, label %.loopexit888

.loopexit888:                                     ; preds = %2768, %2598
  %2773 = load i32, ptr %287, align 4, !tbaa !5
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = call i32 @s2n_print_stacktrace(ptr noundef %2774) #12
  %2776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2777 = trunc nuw i8 %2776 to i1
  br i1 %2777, label %2778, label %2782

2778:                                             ; preds = %.loopexit888
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = call i32 @fileno(ptr noundef %2779) #12
  %2781 = call i32 @isatty(i32 noundef %2780) #12
  %.not783 = icmp eq i32 %2781, 0
  br i1 %.not783, label %2782, label %2783

2782:                                             ; preds = %2778, %.loopexit888
  br label %2783

2783:                                             ; preds = %2778, %2782
  %.str.25.sink1772 = phi ptr [ @.str.25, %2782 ], [ @.str.22, %2778 ]
  store i32 %2773, ptr %287, align 4, !tbaa !5
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = load i32, ptr %233, align 4, !tbaa !5
  %2787 = call ptr @s2n_strerror(i32 noundef %2786, ptr noundef nonnull @.str.24) #12
  %2788 = load i32, ptr %233, align 4, !tbaa !5
  %2789 = call ptr @s2n_strerror_debug(i32 noundef %2788, ptr noundef nonnull @.str.24) #12
  %2790 = load i32, ptr %287, align 4, !tbaa !5
  %2791 = call ptr @strerror(i32 noundef %2790) #12
  %2792 = load i32, ptr %287, align 4, !tbaa !5
  %2793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2784, ptr noundef nonnull %.str.25.sink1772, i32 noundef %2785, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.21, i32 noundef 315, ptr noundef %2787, ptr noundef %2789, ptr noundef %2791, i32 noundef %2792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2794:                                             ; preds = %2768
  %2795 = load i32, ptr @test_count, align 4, !tbaa !5
  %2796 = add nsw i32 %2795, 1
  store i32 %2796, ptr @test_count, align 4, !tbaa !5
  %2797 = load ptr, ptr %17, align 8, !tbaa !9
  %2798 = getelementptr inbounds i8, ptr %2797, i64 2016
  %2799 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %2798) #12
  %2800 = icmp eq i32 %2799, -1
  br i1 %2800, label %.loopexit889, label %2822

.loopexit889:                                     ; preds = %2794, %2603
  %2801 = load i32, ptr %287, align 4, !tbaa !5
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = call i32 @s2n_print_stacktrace(ptr noundef %2802) #12
  %2804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2805 = trunc nuw i8 %2804 to i1
  br i1 %2805, label %2806, label %2810

2806:                                             ; preds = %.loopexit889
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = call i32 @fileno(ptr noundef %2807) #12
  %2809 = call i32 @isatty(i32 noundef %2808) #12
  %.not786 = icmp eq i32 %2809, 0
  br i1 %.not786, label %2810, label %2811

2810:                                             ; preds = %2806, %.loopexit889
  br label %2811

2811:                                             ; preds = %2806, %2810
  %.str.25.sink1781 = phi ptr [ @.str.25, %2810 ], [ @.str.22, %2806 ]
  store i32 %2801, ptr %287, align 4, !tbaa !5
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = load i32, ptr @test_count, align 4, !tbaa !5
  %2814 = load i32, ptr %233, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef nonnull @.str.24) #12
  %2816 = load i32, ptr %233, align 4, !tbaa !5
  %2817 = call ptr @s2n_strerror_debug(i32 noundef %2816, ptr noundef nonnull @.str.24) #12
  %2818 = load i32, ptr %287, align 4, !tbaa !5
  %2819 = call ptr @strerror(i32 noundef %2818) #12
  %2820 = load i32, ptr %287, align 4, !tbaa !5
  %2821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2812, ptr noundef nonnull %.str.25.sink1781, i32 noundef %2813, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.21, i32 noundef 317, ptr noundef %2815, ptr noundef %2817, ptr noundef %2819, i32 noundef %2820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2822:                                             ; preds = %2794
  %2823 = load i32, ptr @test_count, align 4, !tbaa !5
  %2824 = add nsw i32 %2823, 1
  store i32 %2824, ptr @test_count, align 4, !tbaa !5
  %2825 = load ptr, ptr %17, align 8, !tbaa !9
  %2826 = call i32 @s2n_record_wipe(ptr noundef %2825) #12
  %2827 = call zeroext i1 @s2n_result_is_ok(i32 %2826)
  br i1 %2827, label %2849, label %.loopexit890

.loopexit890:                                     ; preds = %2822, %2610
  %2828 = load i32, ptr %287, align 4, !tbaa !5
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @s2n_print_stacktrace(ptr noundef %2829) #12
  %2831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2832 = trunc nuw i8 %2831 to i1
  br i1 %2832, label %2833, label %2837

2833:                                             ; preds = %.loopexit890
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = call i32 @fileno(ptr noundef %2834) #12
  %2836 = call i32 @isatty(i32 noundef %2835) #12
  %.not784 = icmp eq i32 %2836, 0
  br i1 %.not784, label %2837, label %2838

2837:                                             ; preds = %2833, %.loopexit890
  br label %2838

2838:                                             ; preds = %2833, %2837
  %.str.25.sink1790 = phi ptr [ @.str.25, %2837 ], [ @.str.22, %2833 ]
  store i32 %2828, ptr %287, align 4, !tbaa !5
  %2839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2840 = load i32, ptr @test_count, align 4, !tbaa !5
  %2841 = load i32, ptr %233, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror(i32 noundef %2841, ptr noundef nonnull @.str.24) #12
  %2843 = load i32, ptr %233, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror_debug(i32 noundef %2843, ptr noundef nonnull @.str.24) #12
  %2845 = load i32, ptr %287, align 4, !tbaa !5
  %2846 = call ptr @strerror(i32 noundef %2845) #12
  %2847 = load i32, ptr %287, align 4, !tbaa !5
  %2848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2839, ptr noundef nonnull %.str.25.sink1790, i32 noundef %2840, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.21, i32 noundef 318, ptr noundef %2842, ptr noundef %2844, ptr noundef %2846, i32 noundef %2847) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2849:                                             ; preds = %2822
  %2850 = load ptr, ptr %17, align 8, !tbaa !9
  %2851 = getelementptr inbounds i8, ptr %2850, i64 1824
  %2852 = load i32, ptr %2851, align 8, !tbaa !48
  %2853 = getelementptr inbounds i8, ptr %2850, i64 1844
  %2854 = load i32, ptr %2853, align 4, !tbaa !49
  %2855 = sub i32 %2852, %2854
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = add nsw i32 %2856, 1
  store i32 %2857, ptr @test_count, align 4, !tbaa !5
  %2858 = icmp eq i32 %2621, %2855
  br i1 %2858, label %2624, label %.loopexit891

.loopexit891:                                     ; preds = %2849
  %2859 = load i32, ptr %287, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = call i32 @s2n_print_stacktrace(ptr noundef %2860) #12
  %2862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2863 = trunc nuw i8 %2862 to i1
  br i1 %2863, label %2864, label %2868

2864:                                             ; preds = %.loopexit891
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @fileno(ptr noundef %2865) #12
  %2867 = call i32 @isatty(i32 noundef %2866) #12
  %.not785 = icmp eq i32 %2867, 0
  br i1 %.not785, label %2868, label %2869

2868:                                             ; preds = %2864, %.loopexit891
  br label %2869

2869:                                             ; preds = %2864, %2868
  %.str.25.sink1799 = phi ptr [ @.str.25, %2868 ], [ @.str.22, %2864 ]
  store i32 %2859, ptr %287, align 4, !tbaa !5
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = load i32, ptr %233, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef nonnull @.str.24) #12
  %2874 = load i32, ptr %233, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror_debug(i32 noundef %2874, ptr noundef nonnull @.str.24) #12
  %2876 = load i32, ptr %287, align 4, !tbaa !5
  %2877 = call ptr @strerror(i32 noundef %2876) #12
  %2878 = load i32, ptr %287, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2870, ptr noundef nonnull %.str.25.sink1799, i32 noundef %2871, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.21, i32 noundef 325, ptr noundef %2873, ptr noundef %2875, ptr noundef %2877, i32 noundef %2878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2880:                                             ; preds = %.loopexit892
  %2881 = load i32, ptr %287, align 4, !tbaa !5
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @s2n_print_stacktrace(ptr noundef %2882) #12
  %2884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2885 = trunc nuw i8 %2884 to i1
  br i1 %2885, label %2886, label %2890

2886:                                             ; preds = %2880
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @fileno(ptr noundef %2887) #12
  %2889 = call i32 @isatty(i32 noundef %2888) #12
  %.not650 = icmp eq i32 %2889, 0
  br i1 %.not650, label %2890, label %2891

2890:                                             ; preds = %2886, %2880
  br label %2891

2891:                                             ; preds = %2886, %2890
  %.str.25.sink1808 = phi ptr [ @.str.25, %2890 ], [ @.str.22, %2886 ]
  store i32 %2881, ptr %287, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = load i32, ptr %233, align 4, !tbaa !5
  %2895 = call ptr @s2n_strerror(i32 noundef %2894, ptr noundef nonnull @.str.24) #12
  %2896 = load i32, ptr %233, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror_debug(i32 noundef %2896, ptr noundef nonnull @.str.24) #12
  %2898 = load i32, ptr %287, align 4, !tbaa !5
  %2899 = call ptr @strerror(i32 noundef %2898) #12
  %2900 = load i32, ptr %287, align 4, !tbaa !5
  %2901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2892, ptr noundef nonnull %.str.25.sink1808, i32 noundef %2893, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.21, i32 noundef 342, ptr noundef %2895, ptr noundef %2897, ptr noundef %2899, i32 noundef %2900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2902:                                             ; preds = %.loopexit892
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = add nsw i32 %2903, 1
  store i32 %2904, ptr @test_count, align 4, !tbaa !5
  %2905 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull @input_stuffer, i32 noundef 0) #12
  %2906 = icmp eq i32 %2905, -1
  br i1 %2906, label %2907, label %2929

2907:                                             ; preds = %2902
  %2908 = load i32, ptr %287, align 4, !tbaa !5
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @s2n_print_stacktrace(ptr noundef %2909) #12
  %2911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2912 = trunc nuw i8 %2911 to i1
  br i1 %2912, label %2913, label %2917

2913:                                             ; preds = %2907
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = call i32 @fileno(ptr noundef %2914) #12
  %2916 = call i32 @isatty(i32 noundef %2915) #12
  %.not779 = icmp eq i32 %2916, 0
  br i1 %.not779, label %2917, label %2918

2917:                                             ; preds = %2913, %2907
  br label %2918

2918:                                             ; preds = %2913, %2917
  %.str.25.sink1817 = phi ptr [ @.str.25, %2917 ], [ @.str.22, %2913 ]
  store i32 %2908, ptr %287, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = load i32, ptr %233, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror(i32 noundef %2921, ptr noundef nonnull @.str.24) #12
  %2923 = load i32, ptr %233, align 4, !tbaa !5
  %2924 = call ptr @s2n_strerror_debug(i32 noundef %2923, ptr noundef nonnull @.str.24) #12
  %2925 = load i32, ptr %287, align 4, !tbaa !5
  %2926 = call ptr @strerror(i32 noundef %2925) #12
  %2927 = load i32, ptr %287, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2919, ptr noundef nonnull %.str.25.sink1817, i32 noundef %2920, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.21, i32 noundef 345, ptr noundef %2922, ptr noundef %2924, ptr noundef %2926, i32 noundef %2927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2929:                                             ; preds = %2902
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = add nsw i32 %2930, 1
  store i32 %2931, ptr @test_count, align 4, !tbaa !5
  %2932 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull @output_stuffer, i32 noundef 0) #12
  %2933 = icmp eq i32 %2932, -1
  br i1 %2933, label %2934, label %2956

2934:                                             ; preds = %2929
  %2935 = load i32, ptr %287, align 4, !tbaa !5
  %2936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2937 = call i32 @s2n_print_stacktrace(ptr noundef %2936) #12
  %2938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2939 = trunc nuw i8 %2938 to i1
  br i1 %2939, label %2940, label %2944

2940:                                             ; preds = %2934
  %2941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2942 = call i32 @fileno(ptr noundef %2941) #12
  %2943 = call i32 @isatty(i32 noundef %2942) #12
  %.not778 = icmp eq i32 %2943, 0
  br i1 %.not778, label %2944, label %2945

2944:                                             ; preds = %2940, %2934
  br label %2945

2945:                                             ; preds = %2940, %2944
  %.str.25.sink1826 = phi ptr [ @.str.25, %2944 ], [ @.str.22, %2940 ]
  store i32 %2935, ptr %287, align 4, !tbaa !5
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = load i32, ptr @test_count, align 4, !tbaa !5
  %2948 = load i32, ptr %233, align 4, !tbaa !5
  %2949 = call ptr @s2n_strerror(i32 noundef %2948, ptr noundef nonnull @.str.24) #12
  %2950 = load i32, ptr %233, align 4, !tbaa !5
  %2951 = call ptr @s2n_strerror_debug(i32 noundef %2950, ptr noundef nonnull @.str.24) #12
  %2952 = load i32, ptr %287, align 4, !tbaa !5
  %2953 = call ptr @strerror(i32 noundef %2952) #12
  %2954 = load i32, ptr %287, align 4, !tbaa !5
  %2955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2946, ptr noundef nonnull %.str.25.sink1826, i32 noundef %2947, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.21, i32 noundef 346, ptr noundef %2949, ptr noundef %2951, ptr noundef %2953, i32 noundef %2954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2956:                                             ; preds = %2929
  %2957 = load i32, ptr @test_count, align 4, !tbaa !5
  %2958 = add nsw i32 %2957, 1
  store i32 %2958, ptr @test_count, align 4, !tbaa !5
  %2959 = call ptr @s2n_config_new() #12
  %2960 = icmp eq ptr %2959, null
  br i1 %2960, label %2961, label %2983

2961:                                             ; preds = %2956
  %2962 = load i32, ptr %287, align 4, !tbaa !5
  %2963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2964 = call i32 @s2n_print_stacktrace(ptr noundef %2963) #12
  %2965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2966 = trunc nuw i8 %2965 to i1
  br i1 %2966, label %2967, label %2971

2967:                                             ; preds = %2961
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = call i32 @fileno(ptr noundef %2968) #12
  %2970 = call i32 @isatty(i32 noundef %2969) #12
  %.not777 = icmp eq i32 %2970, 0
  br i1 %.not777, label %2971, label %2972

2971:                                             ; preds = %2967, %2961
  br label %2972

2972:                                             ; preds = %2967, %2971
  %.str.25.sink1835 = phi ptr [ @.str.25, %2971 ], [ @.str.22, %2967 ]
  store i32 %2962, ptr %287, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = load i32, ptr %233, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror(i32 noundef %2975, ptr noundef nonnull @.str.24) #12
  %2977 = load i32, ptr %233, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef nonnull @.str.24) #12
  %2979 = load i32, ptr %287, align 4, !tbaa !5
  %2980 = call ptr @strerror(i32 noundef %2979) #12
  %2981 = load i32, ptr %287, align 4, !tbaa !5
  %2982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2973, ptr noundef nonnull %.str.25.sink1835, i32 noundef %2974, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.21, i32 noundef 350, ptr noundef %2976, ptr noundef %2978, ptr noundef %2980, i32 noundef %2981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2983:                                             ; preds = %2956
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = add nsw i32 %2984, 1
  store i32 %2985, ptr @test_count, align 4, !tbaa !5
  %2986 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %2959) #12
  %2987 = icmp eq i32 %2986, -1
  br i1 %2987, label %2988, label %3010

2988:                                             ; preds = %2983
  %2989 = load i32, ptr %287, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @s2n_print_stacktrace(ptr noundef %2990) #12
  %2992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2993 = trunc nuw i8 %2992 to i1
  br i1 %2993, label %2994, label %2998

2994:                                             ; preds = %2988
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @fileno(ptr noundef %2995) #12
  %2997 = call i32 @isatty(i32 noundef %2996) #12
  %.not776 = icmp eq i32 %2997, 0
  br i1 %.not776, label %2998, label %2999

2998:                                             ; preds = %2994, %2988
  br label %2999

2999:                                             ; preds = %2994, %2998
  %.str.25.sink1844 = phi ptr [ @.str.25, %2998 ], [ @.str.22, %2994 ]
  store i32 %2989, ptr %287, align 4, !tbaa !5
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = load i32, ptr %233, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror(i32 noundef %3002, ptr noundef nonnull @.str.24) #12
  %3004 = load i32, ptr %233, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror_debug(i32 noundef %3004, ptr noundef nonnull @.str.24) #12
  %3006 = load i32, ptr %287, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #12
  %3008 = load i32, ptr %287, align 4, !tbaa !5
  %3009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3000, ptr noundef nonnull %.str.25.sink1844, i32 noundef %3001, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.21, i32 noundef 351, ptr noundef %3003, ptr noundef %3005, ptr noundef %3007, i32 noundef %3008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3010:                                             ; preds = %2983
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = add nsw i32 %3011, 1
  store i32 %3012, ptr @test_count, align 4, !tbaa !5
  %3013 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3014 = icmp eq ptr %3013, null
  br i1 %3014, label %3015, label %3037

3015:                                             ; preds = %3010
  %3016 = load i32, ptr %287, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = call i32 @s2n_print_stacktrace(ptr noundef %3017) #12
  %3019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3020 = trunc nuw i8 %3019 to i1
  br i1 %3020, label %3021, label %3025

3021:                                             ; preds = %3015
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = call i32 @fileno(ptr noundef %3022) #12
  %3024 = call i32 @isatty(i32 noundef %3023) #12
  %.not775 = icmp eq i32 %3024, 0
  br i1 %.not775, label %3025, label %3026

3025:                                             ; preds = %3021, %3015
  br label %3026

3026:                                             ; preds = %3021, %3025
  %.str.25.sink1853 = phi ptr [ @.str.25, %3025 ], [ @.str.22, %3021 ]
  store i32 %3016, ptr %287, align 4, !tbaa !5
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = load i32, ptr %233, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror(i32 noundef %3029, ptr noundef nonnull @.str.24) #12
  %3031 = load i32, ptr %233, align 4, !tbaa !5
  %3032 = call ptr @s2n_strerror_debug(i32 noundef %3031, ptr noundef nonnull @.str.24) #12
  %3033 = load i32, ptr %287, align 4, !tbaa !5
  %3034 = call ptr @strerror(i32 noundef %3033) #12
  %3035 = load i32, ptr %287, align 4, !tbaa !5
  %3036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3027, ptr noundef nonnull %.str.25.sink1853, i32 noundef %3028, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 356, ptr noundef %3030, ptr noundef %3032, ptr noundef %3034, i32 noundef %3035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3037:                                             ; preds = %3010
  %3038 = load i32, ptr @test_count, align 4, !tbaa !5
  %3039 = add nsw i32 %3038, 1
  store i32 %3039, ptr @test_count, align 4, !tbaa !5
  %3040 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef nonnull %3013)
  %3041 = call zeroext i1 @s2n_result_is_ok(i32 %3040)
  br i1 %3041, label %3064, label %3042

3042:                                             ; preds = %3037
  %3043 = load i32, ptr %287, align 4, !tbaa !5
  %3044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3045 = call i32 @s2n_print_stacktrace(ptr noundef %3044) #12
  %3046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3047 = trunc nuw i8 %3046 to i1
  br i1 %3047, label %3048, label %3052

3048:                                             ; preds = %3042
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @fileno(ptr noundef %3049) #12
  %3051 = call i32 @isatty(i32 noundef %3050) #12
  %.not651 = icmp eq i32 %3051, 0
  br i1 %.not651, label %3052, label %3053

3052:                                             ; preds = %3048, %3042
  br label %3053

3053:                                             ; preds = %3048, %3052
  %.str.25.sink1862 = phi ptr [ @.str.25, %3052 ], [ @.str.22, %3048 ]
  store i32 %3043, ptr %287, align 4, !tbaa !5
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = load i32, ptr @test_count, align 4, !tbaa !5
  %3056 = load i32, ptr %233, align 4, !tbaa !5
  %3057 = call ptr @s2n_strerror(i32 noundef %3056, ptr noundef nonnull @.str.24) #12
  %3058 = load i32, ptr %233, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror_debug(i32 noundef %3058, ptr noundef nonnull @.str.24) #12
  %3060 = load i32, ptr %287, align 4, !tbaa !5
  %3061 = call ptr @strerror(i32 noundef %3060) #12
  %3062 = load i32, ptr %287, align 4, !tbaa !5
  %3063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3054, ptr noundef nonnull %.str.25.sink1862, i32 noundef %3055, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.21, i32 noundef 357, ptr noundef %3057, ptr noundef %3059, ptr noundef %3061, i32 noundef %3062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3064:                                             ; preds = %3037
  %3065 = load i32, ptr @test_count, align 4, !tbaa !5
  %3066 = add nsw i32 %3065, 1
  store i32 %3066, ptr @test_count, align 4, !tbaa !5
  %3067 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3013, ptr noundef nonnull %2959) #12
  %3068 = icmp eq i32 %3067, -1
  br i1 %3068, label %3069, label %3091

3069:                                             ; preds = %3064
  %3070 = load i32, ptr %287, align 4, !tbaa !5
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = call i32 @s2n_print_stacktrace(ptr noundef %3071) #12
  %3073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3074 = trunc nuw i8 %3073 to i1
  br i1 %3074, label %3075, label %3079

3075:                                             ; preds = %3069
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = call i32 @fileno(ptr noundef %3076) #12
  %3078 = call i32 @isatty(i32 noundef %3077) #12
  %.not774 = icmp eq i32 %3078, 0
  br i1 %.not774, label %3079, label %3080

3079:                                             ; preds = %3075, %3069
  br label %3080

3080:                                             ; preds = %3075, %3079
  %.str.25.sink1871 = phi ptr [ @.str.25, %3079 ], [ @.str.22, %3075 ]
  store i32 %3070, ptr %287, align 4, !tbaa !5
  %3081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = load i32, ptr %233, align 4, !tbaa !5
  %3084 = call ptr @s2n_strerror(i32 noundef %3083, ptr noundef nonnull @.str.24) #12
  %3085 = load i32, ptr %233, align 4, !tbaa !5
  %3086 = call ptr @s2n_strerror_debug(i32 noundef %3085, ptr noundef nonnull @.str.24) #12
  %3087 = load i32, ptr %287, align 4, !tbaa !5
  %3088 = call ptr @strerror(i32 noundef %3087) #12
  %3089 = load i32, ptr %287, align 4, !tbaa !5
  %3090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3081, ptr noundef nonnull %.str.25.sink1871, i32 noundef %3082, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 358, ptr noundef %3084, ptr noundef %3086, ptr noundef %3088, i32 noundef %3089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3091:                                             ; preds = %3064
  %3092 = load i32, ptr @test_count, align 4, !tbaa !5
  %3093 = add nsw i32 %3092, 1
  store i32 %3093, ptr @test_count, align 4, !tbaa !5
  %3094 = call i32 @s2n_stuffer_write(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %21) #12
  %3095 = icmp eq i32 %3094, -1
  br i1 %3095, label %3096, label %3118

3096:                                             ; preds = %3091
  %3097 = load i32, ptr %287, align 4, !tbaa !5
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = call i32 @s2n_print_stacktrace(ptr noundef %3098) #12
  %3100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3101 = trunc nuw i8 %3100 to i1
  br i1 %3101, label %3102, label %3106

3102:                                             ; preds = %3096
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = call i32 @fileno(ptr noundef %3103) #12
  %3105 = call i32 @isatty(i32 noundef %3104) #12
  %.not773 = icmp eq i32 %3105, 0
  br i1 %.not773, label %3106, label %3107

3106:                                             ; preds = %3102, %3096
  br label %3107

3107:                                             ; preds = %3102, %3106
  %.str.25.sink1880 = phi ptr [ @.str.25, %3106 ], [ @.str.22, %3102 ]
  store i32 %3097, ptr %287, align 4, !tbaa !5
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = load i32, ptr @test_count, align 4, !tbaa !5
  %3110 = load i32, ptr %233, align 4, !tbaa !5
  %3111 = call ptr @s2n_strerror(i32 noundef %3110, ptr noundef nonnull @.str.24) #12
  %3112 = load i32, ptr %233, align 4, !tbaa !5
  %3113 = call ptr @s2n_strerror_debug(i32 noundef %3112, ptr noundef nonnull @.str.24) #12
  %3114 = load i32, ptr %287, align 4, !tbaa !5
  %3115 = call ptr @strerror(i32 noundef %3114) #12
  %3116 = load i32, ptr %287, align 4, !tbaa !5
  %3117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3108, ptr noundef nonnull %.str.25.sink1880, i32 noundef %3109, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.21, i32 noundef 360, ptr noundef %3111, ptr noundef %3113, ptr noundef %3115, i32 noundef %3116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3118:                                             ; preds = %3091
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = add nsw i32 %3119, 1
  store i32 %3120, ptr @test_count, align 4, !tbaa !5
  %3121 = call i32 @s2n_negotiate(ptr noundef nonnull %3013, ptr noundef nonnull %20)
  %3122 = icmp eq i32 %3121, -1
  br i1 %3122, label %3145, label %3123

3123:                                             ; preds = %3118
  %3124 = load i32, ptr %287, align 4, !tbaa !5
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = call i32 @s2n_print_stacktrace(ptr noundef %3125) #12
  %3127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3128 = trunc nuw i8 %3127 to i1
  br i1 %3128, label %3129, label %3133

3129:                                             ; preds = %3123
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @fileno(ptr noundef %3130) #12
  %3132 = call i32 @isatty(i32 noundef %3131) #12
  %.not652 = icmp eq i32 %3132, 0
  br i1 %.not652, label %3133, label %3134

3133:                                             ; preds = %3129, %3123
  br label %3134

3134:                                             ; preds = %3129, %3133
  %.str.25.sink1889 = phi ptr [ @.str.25, %3133 ], [ @.str.22, %3129 ]
  store i32 %3124, ptr %287, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = load i32, ptr %233, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror(i32 noundef %3137, ptr noundef nonnull @.str.24) #12
  %3139 = load i32, ptr %233, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror_debug(i32 noundef %3139, ptr noundef nonnull @.str.24) #12
  %3141 = load i32, ptr %287, align 4, !tbaa !5
  %3142 = call ptr @strerror(i32 noundef %3141) #12
  %3143 = load i32, ptr %287, align 4, !tbaa !5
  %3144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef nonnull %.str.25.sink1889, i32 noundef %3136, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 361, ptr noundef %3138, ptr noundef %3140, ptr noundef %3142, i32 noundef %3143) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3145:                                             ; preds = %3118
  %3146 = load i32, ptr @test_count, align 4, !tbaa !5
  %3147 = add nsw i32 %3146, 1
  store i32 %3147, ptr @test_count, align 4, !tbaa !5
  %3148 = load i32, ptr %233, align 4, !tbaa !5
  %3149 = icmp eq i32 %3148, 201326592
  br i1 %3149, label %3172, label %3150

3150:                                             ; preds = %3145
  %3151 = load i32, ptr %287, align 4, !tbaa !5
  %3152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3153 = call i32 @s2n_print_stacktrace(ptr noundef %3152) #12
  %3154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3155 = trunc nuw i8 %3154 to i1
  br i1 %3155, label %3156, label %3160

3156:                                             ; preds = %3150
  %3157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3158 = call i32 @fileno(ptr noundef %3157) #12
  %3159 = call i32 @isatty(i32 noundef %3158) #12
  %.not653 = icmp eq i32 %3159, 0
  br i1 %.not653, label %3160, label %3161

3160:                                             ; preds = %3156, %3150
  br label %3161

3161:                                             ; preds = %3156, %3160
  %.str.25.sink1898 = phi ptr [ @.str.25, %3160 ], [ @.str.22, %3156 ]
  store i32 %3151, ptr %287, align 4, !tbaa !5
  %3162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3163 = load i32, ptr @test_count, align 4, !tbaa !5
  %3164 = load i32, ptr %233, align 4, !tbaa !5
  %3165 = call ptr @s2n_strerror(i32 noundef %3164, ptr noundef nonnull @.str.24) #12
  %3166 = load i32, ptr %233, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror_debug(i32 noundef %3166, ptr noundef nonnull @.str.24) #12
  %3168 = load i32, ptr %287, align 4, !tbaa !5
  %3169 = call ptr @strerror(i32 noundef %3168) #12
  %3170 = load i32, ptr %287, align 4, !tbaa !5
  %3171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3162, ptr noundef nonnull %.str.25.sink1898, i32 noundef %3163, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 361, ptr noundef %3165, ptr noundef %3167, ptr noundef %3169, i32 noundef %3170) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3172:                                             ; preds = %3145
  %3173 = add nsw i32 %3146, 2
  store i32 %3173, ptr @test_count, align 4, !tbaa !5
  %3174 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %3175 = icmp eq ptr %3174, null
  br i1 %3175, label %3176, label %3198

3176:                                             ; preds = %3172
  %3177 = load i32, ptr %287, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = call i32 @s2n_print_stacktrace(ptr noundef %3178) #12
  %3180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3181 = trunc nuw i8 %3180 to i1
  br i1 %3181, label %3182, label %3186

3182:                                             ; preds = %3176
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = call i32 @fileno(ptr noundef %3183) #12
  %3185 = call i32 @isatty(i32 noundef %3184) #12
  %.not772 = icmp eq i32 %3185, 0
  br i1 %.not772, label %3186, label %3187

3186:                                             ; preds = %3182, %3176
  br label %3187

3187:                                             ; preds = %3182, %3186
  %.str.25.sink1907 = phi ptr [ @.str.25, %3186 ], [ @.str.22, %3182 ]
  store i32 %3177, ptr %287, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = load i32, ptr %233, align 4, !tbaa !5
  %3191 = call ptr @s2n_strerror(i32 noundef %3190, ptr noundef nonnull @.str.24) #12
  %3192 = load i32, ptr %233, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror_debug(i32 noundef %3192, ptr noundef nonnull @.str.24) #12
  %3194 = load i32, ptr %287, align 4, !tbaa !5
  %3195 = call ptr @strerror(i32 noundef %3194) #12
  %3196 = load i32, ptr %287, align 4, !tbaa !5
  %3197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3188, ptr noundef nonnull %.str.25.sink1907, i32 noundef %3189, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 361, ptr noundef %3191, ptr noundef %3193, ptr noundef %3195, i32 noundef %3196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3198:                                             ; preds = %3172
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %3200 = add nsw i32 %3199, 1
  store i32 %3200, ptr @test_count, align 4, !tbaa !5
  %3201 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %3013)
  %3202 = icmp eq i32 %3201, 16
  br i1 %3202, label %3225, label %3203

3203:                                             ; preds = %3198
  %3204 = load i32, ptr %287, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = call i32 @s2n_print_stacktrace(ptr noundef %3205) #12
  %3207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3208 = trunc nuw i8 %3207 to i1
  br i1 %3208, label %3209, label %3213

3209:                                             ; preds = %3203
  %3210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3211 = call i32 @fileno(ptr noundef %3210) #12
  %3212 = call i32 @isatty(i32 noundef %3211) #12
  %.not654 = icmp eq i32 %3212, 0
  br i1 %.not654, label %3213, label %3214

3213:                                             ; preds = %3209, %3203
  br label %3214

3214:                                             ; preds = %3209, %3213
  %.str.25.sink1916 = phi ptr [ @.str.25, %3213 ], [ @.str.22, %3209 ]
  store i32 %3204, ptr %287, align 4, !tbaa !5
  %3215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3216 = load i32, ptr @test_count, align 4, !tbaa !5
  %3217 = load i32, ptr %233, align 4, !tbaa !5
  %3218 = call ptr @s2n_strerror(i32 noundef %3217, ptr noundef nonnull @.str.24) #12
  %3219 = load i32, ptr %233, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror_debug(i32 noundef %3219, ptr noundef nonnull @.str.24) #12
  %3221 = load i32, ptr %287, align 4, !tbaa !5
  %3222 = call ptr @strerror(i32 noundef %3221) #12
  %3223 = load i32, ptr %287, align 4, !tbaa !5
  %3224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3215, ptr noundef nonnull %.str.25.sink1916, i32 noundef %3216, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.21, i32 noundef 363, ptr noundef %3218, ptr noundef %3220, ptr noundef %3222, i32 noundef %3223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3225:                                             ; preds = %3198
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = add nsw i32 %3226, 1
  store i32 %3227, ptr @test_count, align 4, !tbaa !5
  %3228 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 28), align 4, !tbaa !53
  %3229 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 24), align 8, !tbaa !54
  %3230 = icmp eq i32 %3228, %3229
  br i1 %3230, label %3253, label %3231

3231:                                             ; preds = %3225
  %3232 = load i32, ptr %287, align 4, !tbaa !5
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3234 = call i32 @s2n_print_stacktrace(ptr noundef %3233) #12
  %3235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3236 = trunc nuw i8 %3235 to i1
  br i1 %3236, label %3237, label %3241

3237:                                             ; preds = %3231
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3239 = call i32 @fileno(ptr noundef %3238) #12
  %3240 = call i32 @isatty(i32 noundef %3239) #12
  %.not655 = icmp eq i32 %3240, 0
  br i1 %.not655, label %3241, label %3242

3241:                                             ; preds = %3237, %3231
  br label %3242

3242:                                             ; preds = %3237, %3241
  %.str.25.sink1925 = phi ptr [ @.str.25, %3241 ], [ @.str.22, %3237 ]
  store i32 %3232, ptr %287, align 4, !tbaa !5
  %3243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3244 = load i32, ptr @test_count, align 4, !tbaa !5
  %3245 = load i32, ptr %233, align 4, !tbaa !5
  %3246 = call ptr @s2n_strerror(i32 noundef %3245, ptr noundef nonnull @.str.24) #12
  %3247 = load i32, ptr %233, align 4, !tbaa !5
  %3248 = call ptr @s2n_strerror_debug(i32 noundef %3247, ptr noundef nonnull @.str.24) #12
  %3249 = load i32, ptr %287, align 4, !tbaa !5
  %3250 = call ptr @strerror(i32 noundef %3249) #12
  %3251 = load i32, ptr %287, align 4, !tbaa !5
  %3252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3243, ptr noundef nonnull %.str.25.sink1925, i32 noundef %3244, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.21, i32 noundef 364, ptr noundef %3246, ptr noundef %3248, ptr noundef %3250, i32 noundef %3251) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3253:                                             ; preds = %3225
  %3254 = add nsw i32 %3226, 2
  store i32 %3254, ptr @test_count, align 4, !tbaa !5
  %3255 = call i32 @s2n_connection_free(ptr noundef nonnull %3013) #12
  %3256 = icmp eq i32 %3255, -1
  br i1 %3256, label %3261, label %.preheader

.preheader:                                       ; preds = %3253
  %3257 = getelementptr inbounds i8, ptr %21, i64 8
  %3258 = load i32, ptr %3257, align 8, !tbaa !55
  %3259 = add i32 %3258, -3
  %3260 = icmp ult i32 %3259, -2
  br i1 %3260, label %.lr.ph, label %._crit_edge

3261:                                             ; preds = %3253
  %3262 = load i32, ptr %287, align 4, !tbaa !5
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @s2n_print_stacktrace(ptr noundef %3263) #12
  %3265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3266 = trunc nuw i8 %3265 to i1
  br i1 %3266, label %3267, label %3271

3267:                                             ; preds = %3261
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = call i32 @fileno(ptr noundef %3268) #12
  %3270 = call i32 @isatty(i32 noundef %3269) #12
  %.not771 = icmp eq i32 %3270, 0
  br i1 %.not771, label %3271, label %3272

3271:                                             ; preds = %3267, %3261
  br label %3272

3272:                                             ; preds = %3267, %3271
  %.str.25.sink1934 = phi ptr [ @.str.25, %3271 ], [ @.str.22, %3267 ]
  store i32 %3262, ptr %287, align 4, !tbaa !5
  %3273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3274 = load i32, ptr @test_count, align 4, !tbaa !5
  %3275 = load i32, ptr %233, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror(i32 noundef %3275, ptr noundef nonnull @.str.24) #12
  %3277 = load i32, ptr %233, align 4, !tbaa !5
  %3278 = call ptr @s2n_strerror_debug(i32 noundef %3277, ptr noundef nonnull @.str.24) #12
  %3279 = load i32, ptr %287, align 4, !tbaa !5
  %3280 = call ptr @strerror(i32 noundef %3279) #12
  %3281 = load i32, ptr %287, align 4, !tbaa !5
  %3282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3273, ptr noundef nonnull %.str.25.sink1934, i32 noundef %3274, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 366, ptr noundef %3276, ptr noundef %3278, ptr noundef %3280, i32 noundef %3281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3283:                                             ; preds = %3702
  %3284 = add nuw nsw i64 %.0591881, 1
  %3285 = load i32, ptr %3257, align 8, !tbaa !55
  %3286 = add i32 %3285, -1
  %3287 = zext i32 %3286 to i64
  %3288 = icmp ult i64 %3284, %3287
  br i1 %3288, label %.lr.ph, label %._crit_edge, !llvm.loop !56

._crit_edge:                                      ; preds = %3283, %.preheader
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = add nsw i32 %3289, 1
  store i32 %3290, ptr @test_count, align 4, !tbaa !5
  %3291 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3292 = icmp eq ptr %3291, null
  br i1 %3292, label %3728, label %3750

.lr.ph:                                           ; preds = %.preheader, %3283
  %.0591881 = phi i64 [ %3284, %3283 ], [ 1, %.preheader ]
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = add nsw i32 %3293, 1
  store i32 %3294, ptr @test_count, align 4, !tbaa !5
  %3295 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %3296 = icmp eq ptr %3295, null
  br i1 %3296, label %3297, label %3319

3297:                                             ; preds = %.lr.ph
  %3298 = load i32, ptr %287, align 4, !tbaa !5
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = call i32 @s2n_print_stacktrace(ptr noundef %3299) #12
  %3301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3302 = trunc nuw i8 %3301 to i1
  br i1 %3302, label %3303, label %3307

3303:                                             ; preds = %3297
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @fileno(ptr noundef %3304) #12
  %3306 = call i32 @isatty(i32 noundef %3305) #12
  %.not770 = icmp eq i32 %3306, 0
  br i1 %.not770, label %3307, label %3308

3307:                                             ; preds = %3303, %3297
  br label %3308

3308:                                             ; preds = %3303, %3307
  %.str.25.sink1943 = phi ptr [ @.str.25, %3307 ], [ @.str.22, %3303 ]
  store i32 %3298, ptr %287, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = load i32, ptr %233, align 4, !tbaa !5
  %3312 = call ptr @s2n_strerror(i32 noundef %3311, ptr noundef nonnull @.str.24) #12
  %3313 = load i32, ptr %233, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror_debug(i32 noundef %3313, ptr noundef nonnull @.str.24) #12
  %3315 = load i32, ptr %287, align 4, !tbaa !5
  %3316 = call ptr @strerror(i32 noundef %3315) #12
  %3317 = load i32, ptr %287, align 4, !tbaa !5
  %3318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3309, ptr noundef nonnull %.str.25.sink1943, i32 noundef %3310, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 372, ptr noundef %3312, ptr noundef %3314, ptr noundef %3316, i32 noundef %3317) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3319:                                             ; preds = %.lr.ph
  %3320 = load i32, ptr @test_count, align 4, !tbaa !5
  %3321 = add nsw i32 %3320, 1
  store i32 %3321, ptr @test_count, align 4, !tbaa !5
  %3322 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef nonnull %3295)
  %3323 = call zeroext i1 @s2n_result_is_ok(i32 %3322)
  br i1 %3323, label %3346, label %3324

3324:                                             ; preds = %3319
  %3325 = load i32, ptr %287, align 4, !tbaa !5
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = call i32 @s2n_print_stacktrace(ptr noundef %3326) #12
  %3328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3329 = trunc nuw i8 %3328 to i1
  br i1 %3329, label %3330, label %3334

3330:                                             ; preds = %3324
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @fileno(ptr noundef %3331) #12
  %3333 = call i32 @isatty(i32 noundef %3332) #12
  %.not755 = icmp eq i32 %3333, 0
  br i1 %.not755, label %3334, label %3335

3334:                                             ; preds = %3330, %3324
  br label %3335

3335:                                             ; preds = %3330, %3334
  %.str.25.sink1952 = phi ptr [ @.str.25, %3334 ], [ @.str.22, %3330 ]
  store i32 %3325, ptr %287, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = load i32, ptr @test_count, align 4, !tbaa !5
  %3338 = load i32, ptr %233, align 4, !tbaa !5
  %3339 = call ptr @s2n_strerror(i32 noundef %3338, ptr noundef nonnull @.str.24) #12
  %3340 = load i32, ptr %233, align 4, !tbaa !5
  %3341 = call ptr @s2n_strerror_debug(i32 noundef %3340, ptr noundef nonnull @.str.24) #12
  %3342 = load i32, ptr %287, align 4, !tbaa !5
  %3343 = call ptr @strerror(i32 noundef %3342) #12
  %3344 = load i32, ptr %287, align 4, !tbaa !5
  %3345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3336, ptr noundef nonnull %.str.25.sink1952, i32 noundef %3337, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.21, i32 noundef 373, ptr noundef %3339, ptr noundef %3341, ptr noundef %3343, i32 noundef %3344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3346:                                             ; preds = %3319
  %3347 = load i32, ptr @test_count, align 4, !tbaa !5
  %3348 = add nsw i32 %3347, 1
  store i32 %3348, ptr @test_count, align 4, !tbaa !5
  %3349 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3295, ptr noundef nonnull %2959) #12
  %3350 = icmp eq i32 %3349, -1
  br i1 %3350, label %3351, label %3373

3351:                                             ; preds = %3346
  %3352 = load i32, ptr %287, align 4, !tbaa !5
  %3353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3354 = call i32 @s2n_print_stacktrace(ptr noundef %3353) #12
  %3355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3356 = trunc nuw i8 %3355 to i1
  br i1 %3356, label %3357, label %3361

3357:                                             ; preds = %3351
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @fileno(ptr noundef %3358) #12
  %3360 = call i32 @isatty(i32 noundef %3359) #12
  %.not769 = icmp eq i32 %3360, 0
  br i1 %.not769, label %3361, label %3362

3361:                                             ; preds = %3357, %3351
  br label %3362

3362:                                             ; preds = %3357, %3361
  %.str.25.sink1961 = phi ptr [ @.str.25, %3361 ], [ @.str.22, %3357 ]
  store i32 %3352, ptr %287, align 4, !tbaa !5
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = load i32, ptr @test_count, align 4, !tbaa !5
  %3365 = load i32, ptr %233, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror(i32 noundef %3365, ptr noundef nonnull @.str.24) #12
  %3367 = load i32, ptr %233, align 4, !tbaa !5
  %3368 = call ptr @s2n_strerror_debug(i32 noundef %3367, ptr noundef nonnull @.str.24) #12
  %3369 = load i32, ptr %287, align 4, !tbaa !5
  %3370 = call ptr @strerror(i32 noundef %3369) #12
  %3371 = load i32, ptr %287, align 4, !tbaa !5
  %3372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3363, ptr noundef nonnull %.str.25.sink1961, i32 noundef %3364, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 374, ptr noundef %3366, ptr noundef %3368, ptr noundef %3370, i32 noundef %3371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3373:                                             ; preds = %3346
  %3374 = load i32, ptr @test_count, align 4, !tbaa !5
  %3375 = add nsw i32 %3374, 1
  store i32 %3375, ptr @test_count, align 4, !tbaa !5
  %3376 = load ptr, ptr %21, align 8, !tbaa !57
  %3377 = trunc nuw i64 %.0591881 to i32
  %3378 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull @input_stuffer, ptr noundef %3376, i32 noundef %3377) #12
  %3379 = icmp eq i32 %3378, -1
  br i1 %3379, label %3380, label %3402

3380:                                             ; preds = %3373
  %3381 = load i32, ptr %287, align 4, !tbaa !5
  %3382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3383 = call i32 @s2n_print_stacktrace(ptr noundef %3382) #12
  %3384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3385 = trunc nuw i8 %3384 to i1
  br i1 %3385, label %3386, label %3390

3386:                                             ; preds = %3380
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @fileno(ptr noundef %3387) #12
  %3389 = call i32 @isatty(i32 noundef %3388) #12
  %.not768 = icmp eq i32 %3389, 0
  br i1 %.not768, label %3390, label %3391

3390:                                             ; preds = %3386, %3380
  br label %3391

3391:                                             ; preds = %3386, %3390
  %.str.25.sink1970 = phi ptr [ @.str.25, %3390 ], [ @.str.22, %3386 ]
  store i32 %3381, ptr %287, align 4, !tbaa !5
  %3392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3393 = load i32, ptr @test_count, align 4, !tbaa !5
  %3394 = load i32, ptr %233, align 4, !tbaa !5
  %3395 = call ptr @s2n_strerror(i32 noundef %3394, ptr noundef nonnull @.str.24) #12
  %3396 = load i32, ptr %233, align 4, !tbaa !5
  %3397 = call ptr @s2n_strerror_debug(i32 noundef %3396, ptr noundef nonnull @.str.24) #12
  %3398 = load i32, ptr %287, align 4, !tbaa !5
  %3399 = call ptr @strerror(i32 noundef %3398) #12
  %3400 = load i32, ptr %287, align 4, !tbaa !5
  %3401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3392, ptr noundef nonnull %.str.25.sink1970, i32 noundef %3393, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.21, i32 noundef 377, ptr noundef %3395, ptr noundef %3397, ptr noundef %3399, i32 noundef %3400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3402:                                             ; preds = %3373
  %3403 = load i32, ptr @test_count, align 4, !tbaa !5
  %3404 = add nsw i32 %3403, 1
  store i32 %3404, ptr @test_count, align 4, !tbaa !5
  %3405 = call i32 @s2n_negotiate(ptr noundef nonnull %3295, ptr noundef nonnull %20)
  %3406 = icmp eq i32 %3405, -1
  br i1 %3406, label %3429, label %3407

3407:                                             ; preds = %3402
  %3408 = load i32, ptr %287, align 4, !tbaa !5
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = call i32 @s2n_print_stacktrace(ptr noundef %3409) #12
  %3411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3412 = trunc nuw i8 %3411 to i1
  br i1 %3412, label %3413, label %3417

3413:                                             ; preds = %3407
  %3414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3415 = call i32 @fileno(ptr noundef %3414) #12
  %3416 = call i32 @isatty(i32 noundef %3415) #12
  %.not756 = icmp eq i32 %3416, 0
  br i1 %.not756, label %3417, label %3418

3417:                                             ; preds = %3413, %3407
  br label %3418

3418:                                             ; preds = %3413, %3417
  %.str.25.sink1979 = phi ptr [ @.str.25, %3417 ], [ @.str.22, %3413 ]
  store i32 %3408, ptr %287, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = load i32, ptr @test_count, align 4, !tbaa !5
  %3421 = load i32, ptr %233, align 4, !tbaa !5
  %3422 = call ptr @s2n_strerror(i32 noundef %3421, ptr noundef nonnull @.str.24) #12
  %3423 = load i32, ptr %233, align 4, !tbaa !5
  %3424 = call ptr @s2n_strerror_debug(i32 noundef %3423, ptr noundef nonnull @.str.24) #12
  %3425 = load i32, ptr %287, align 4, !tbaa !5
  %3426 = call ptr @strerror(i32 noundef %3425) #12
  %3427 = load i32, ptr %287, align 4, !tbaa !5
  %3428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3419, ptr noundef nonnull %.str.25.sink1979, i32 noundef %3420, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 378, ptr noundef %3422, ptr noundef %3424, ptr noundef %3426, i32 noundef %3427) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3429:                                             ; preds = %3402
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = add nsw i32 %3430, 1
  store i32 %3431, ptr @test_count, align 4, !tbaa !5
  %3432 = load i32, ptr %233, align 4, !tbaa !5
  %3433 = icmp eq i32 %3432, 201326592
  br i1 %3433, label %3456, label %3434

3434:                                             ; preds = %3429
  %3435 = load i32, ptr %287, align 4, !tbaa !5
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = call i32 @s2n_print_stacktrace(ptr noundef %3436) #12
  %3438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3439 = trunc nuw i8 %3438 to i1
  br i1 %3439, label %3440, label %3444

3440:                                             ; preds = %3434
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = call i32 @fileno(ptr noundef %3441) #12
  %3443 = call i32 @isatty(i32 noundef %3442) #12
  %.not757 = icmp eq i32 %3443, 0
  br i1 %.not757, label %3444, label %3445

3444:                                             ; preds = %3440, %3434
  br label %3445

3445:                                             ; preds = %3440, %3444
  %.str.25.sink1988 = phi ptr [ @.str.25, %3444 ], [ @.str.22, %3440 ]
  store i32 %3435, ptr %287, align 4, !tbaa !5
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = load i32, ptr @test_count, align 4, !tbaa !5
  %3448 = load i32, ptr %233, align 4, !tbaa !5
  %3449 = call ptr @s2n_strerror(i32 noundef %3448, ptr noundef nonnull @.str.24) #12
  %3450 = load i32, ptr %233, align 4, !tbaa !5
  %3451 = call ptr @s2n_strerror_debug(i32 noundef %3450, ptr noundef nonnull @.str.24) #12
  %3452 = load i32, ptr %287, align 4, !tbaa !5
  %3453 = call ptr @strerror(i32 noundef %3452) #12
  %3454 = load i32, ptr %287, align 4, !tbaa !5
  %3455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3446, ptr noundef nonnull %.str.25.sink1988, i32 noundef %3447, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 378, ptr noundef %3449, ptr noundef %3451, ptr noundef %3453, i32 noundef %3454) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3456:                                             ; preds = %3429
  %3457 = add nsw i32 %3430, 2
  store i32 %3457, ptr @test_count, align 4, !tbaa !5
  %3458 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %3459 = icmp eq ptr %3458, null
  br i1 %3459, label %3460, label %3482

3460:                                             ; preds = %3456
  %3461 = load i32, ptr %287, align 4, !tbaa !5
  %3462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3463 = call i32 @s2n_print_stacktrace(ptr noundef %3462) #12
  %3464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3465 = trunc nuw i8 %3464 to i1
  br i1 %3465, label %3466, label %3470

3466:                                             ; preds = %3460
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = call i32 @fileno(ptr noundef %3467) #12
  %3469 = call i32 @isatty(i32 noundef %3468) #12
  %.not767 = icmp eq i32 %3469, 0
  br i1 %.not767, label %3470, label %3471

3470:                                             ; preds = %3466, %3460
  br label %3471

3471:                                             ; preds = %3466, %3470
  %.str.25.sink1997 = phi ptr [ @.str.25, %3470 ], [ @.str.22, %3466 ]
  store i32 %3461, ptr %287, align 4, !tbaa !5
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = load i32, ptr @test_count, align 4, !tbaa !5
  %3474 = load i32, ptr %233, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror(i32 noundef %3474, ptr noundef nonnull @.str.24) #12
  %3476 = load i32, ptr %233, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror_debug(i32 noundef %3476, ptr noundef nonnull @.str.24) #12
  %3478 = load i32, ptr %287, align 4, !tbaa !5
  %3479 = call ptr @strerror(i32 noundef %3478) #12
  %3480 = load i32, ptr %287, align 4, !tbaa !5
  %3481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3472, ptr noundef nonnull %.str.25.sink1997, i32 noundef %3473, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 378, ptr noundef %3475, ptr noundef %3477, ptr noundef %3479, i32 noundef %3480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3482:                                             ; preds = %3456
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %3483 = load i32, ptr @test_count, align 4, !tbaa !5
  %3484 = add nsw i32 %3483, 1
  store i32 %3484, ptr @test_count, align 4, !tbaa !5
  %3485 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %3295)
  %3486 = icmp eq i32 %3485, 1
  br i1 %3486, label %3509, label %3487

3487:                                             ; preds = %3482
  %3488 = load i32, ptr %287, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = call i32 @s2n_print_stacktrace(ptr noundef %3489) #12
  %3491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3492 = trunc nuw i8 %3491 to i1
  br i1 %3492, label %3493, label %3497

3493:                                             ; preds = %3487
  %3494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3495 = call i32 @fileno(ptr noundef %3494) #12
  %3496 = call i32 @isatty(i32 noundef %3495) #12
  %.not758 = icmp eq i32 %3496, 0
  br i1 %.not758, label %3497, label %3498

3497:                                             ; preds = %3493, %3487
  br label %3498

3498:                                             ; preds = %3493, %3497
  %.str.25.sink2006 = phi ptr [ @.str.25, %3497 ], [ @.str.22, %3493 ]
  store i32 %3488, ptr %287, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = load i32, ptr @test_count, align 4, !tbaa !5
  %3501 = load i32, ptr %233, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror(i32 noundef %3501, ptr noundef nonnull @.str.24) #12
  %3503 = load i32, ptr %233, align 4, !tbaa !5
  %3504 = call ptr @s2n_strerror_debug(i32 noundef %3503, ptr noundef nonnull @.str.24) #12
  %3505 = load i32, ptr %287, align 4, !tbaa !5
  %3506 = call ptr @strerror(i32 noundef %3505) #12
  %3507 = load i32, ptr %287, align 4, !tbaa !5
  %3508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3499, ptr noundef nonnull %.str.25.sink2006, i32 noundef %3500, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.21, i32 noundef 380, ptr noundef %3502, ptr noundef %3504, ptr noundef %3506, i32 noundef %3507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3509:                                             ; preds = %3482
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = add nsw i32 %3510, 1
  store i32 %3511, ptr @test_count, align 4, !tbaa !5
  %3512 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 28), align 4, !tbaa !53
  %3513 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 24), align 8, !tbaa !54
  %3514 = icmp eq i32 %3512, %3513
  br i1 %3514, label %3537, label %3515

3515:                                             ; preds = %3509
  %3516 = load i32, ptr %287, align 4, !tbaa !5
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = call i32 @s2n_print_stacktrace(ptr noundef %3517) #12
  %3519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3520 = trunc nuw i8 %3519 to i1
  br i1 %3520, label %3521, label %3525

3521:                                             ; preds = %3515
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = call i32 @fileno(ptr noundef %3522) #12
  %3524 = call i32 @isatty(i32 noundef %3523) #12
  %.not759 = icmp eq i32 %3524, 0
  br i1 %.not759, label %3525, label %3526

3525:                                             ; preds = %3521, %3515
  br label %3526

3526:                                             ; preds = %3521, %3525
  %.str.25.sink2015 = phi ptr [ @.str.25, %3525 ], [ @.str.22, %3521 ]
  store i32 %3516, ptr %287, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = load i32, ptr @test_count, align 4, !tbaa !5
  %3529 = load i32, ptr %233, align 4, !tbaa !5
  %3530 = call ptr @s2n_strerror(i32 noundef %3529, ptr noundef nonnull @.str.24) #12
  %3531 = load i32, ptr %233, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror_debug(i32 noundef %3531, ptr noundef nonnull @.str.24) #12
  %3533 = load i32, ptr %287, align 4, !tbaa !5
  %3534 = call ptr @strerror(i32 noundef %3533) #12
  %3535 = load i32, ptr %287, align 4, !tbaa !5
  %3536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3527, ptr noundef nonnull %.str.25.sink2015, i32 noundef %3528, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.21, i32 noundef 381, ptr noundef %3530, ptr noundef %3532, ptr noundef %3534, i32 noundef %3535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3537:                                             ; preds = %3509
  %3538 = add nsw i32 %3510, 2
  store i32 %3538, ptr @test_count, align 4, !tbaa !5
  %3539 = load ptr, ptr %21, align 8, !tbaa !57
  %3540 = getelementptr inbounds i8, ptr %3539, i64 %.0591881
  %3541 = load i32, ptr %3257, align 8, !tbaa !55
  %3542 = sub i32 %3541, %3377
  %3543 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %3540, i32 noundef %3542) #12
  %3544 = icmp eq i32 %3543, -1
  br i1 %3544, label %3545, label %3567

3545:                                             ; preds = %3537
  %3546 = load i32, ptr %287, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @s2n_print_stacktrace(ptr noundef %3547) #12
  %3549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3550 = trunc nuw i8 %3549 to i1
  br i1 %3550, label %3551, label %3555

3551:                                             ; preds = %3545
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @fileno(ptr noundef %3552) #12
  %3554 = call i32 @isatty(i32 noundef %3553) #12
  %.not766 = icmp eq i32 %3554, 0
  br i1 %.not766, label %3555, label %3556

3555:                                             ; preds = %3551, %3545
  br label %3556

3556:                                             ; preds = %3551, %3555
  %.str.25.sink2024 = phi ptr [ @.str.25, %3555 ], [ @.str.22, %3551 ]
  store i32 %3546, ptr %287, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = load i32, ptr @test_count, align 4, !tbaa !5
  %3559 = load i32, ptr %233, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror(i32 noundef %3559, ptr noundef nonnull @.str.24) #12
  %3561 = load i32, ptr %233, align 4, !tbaa !5
  %3562 = call ptr @s2n_strerror_debug(i32 noundef %3561, ptr noundef nonnull @.str.24) #12
  %3563 = load i32, ptr %287, align 4, !tbaa !5
  %3564 = call ptr @strerror(i32 noundef %3563) #12
  %3565 = load i32, ptr %287, align 4, !tbaa !5
  %3566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3557, ptr noundef nonnull %.str.25.sink2024, i32 noundef %3558, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.21, i32 noundef 385, ptr noundef %3560, ptr noundef %3562, ptr noundef %3564, i32 noundef %3565) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3567:                                             ; preds = %3537
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %3569 = add nsw i32 %3568, 1
  store i32 %3569, ptr @test_count, align 4, !tbaa !5
  %3570 = call i32 @s2n_negotiate(ptr noundef nonnull %3295, ptr noundef nonnull %20)
  %3571 = icmp eq i32 %3570, -1
  br i1 %3571, label %3594, label %3572

3572:                                             ; preds = %3567
  %3573 = load i32, ptr %287, align 4, !tbaa !5
  %3574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3575 = call i32 @s2n_print_stacktrace(ptr noundef %3574) #12
  %3576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3577 = trunc nuw i8 %3576 to i1
  br i1 %3577, label %3578, label %3582

3578:                                             ; preds = %3572
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = call i32 @fileno(ptr noundef %3579) #12
  %3581 = call i32 @isatty(i32 noundef %3580) #12
  %.not760 = icmp eq i32 %3581, 0
  br i1 %.not760, label %3582, label %3583

3582:                                             ; preds = %3578, %3572
  br label %3583

3583:                                             ; preds = %3578, %3582
  %.str.25.sink2033 = phi ptr [ @.str.25, %3582 ], [ @.str.22, %3578 ]
  store i32 %3573, ptr %287, align 4, !tbaa !5
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = load i32, ptr @test_count, align 4, !tbaa !5
  %3586 = load i32, ptr %233, align 4, !tbaa !5
  %3587 = call ptr @s2n_strerror(i32 noundef %3586, ptr noundef nonnull @.str.24) #12
  %3588 = load i32, ptr %233, align 4, !tbaa !5
  %3589 = call ptr @s2n_strerror_debug(i32 noundef %3588, ptr noundef nonnull @.str.24) #12
  %3590 = load i32, ptr %287, align 4, !tbaa !5
  %3591 = call ptr @strerror(i32 noundef %3590) #12
  %3592 = load i32, ptr %287, align 4, !tbaa !5
  %3593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3584, ptr noundef nonnull %.str.25.sink2033, i32 noundef %3585, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 386, ptr noundef %3587, ptr noundef %3589, ptr noundef %3591, i32 noundef %3592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3594:                                             ; preds = %3567
  %3595 = load i32, ptr @test_count, align 4, !tbaa !5
  %3596 = add nsw i32 %3595, 1
  store i32 %3596, ptr @test_count, align 4, !tbaa !5
  %3597 = load i32, ptr %233, align 4, !tbaa !5
  %3598 = icmp eq i32 %3597, 201326592
  br i1 %3598, label %3621, label %3599

3599:                                             ; preds = %3594
  %3600 = load i32, ptr %287, align 4, !tbaa !5
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = call i32 @s2n_print_stacktrace(ptr noundef %3601) #12
  %3603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3604 = trunc nuw i8 %3603 to i1
  br i1 %3604, label %3605, label %3609

3605:                                             ; preds = %3599
  %3606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3607 = call i32 @fileno(ptr noundef %3606) #12
  %3608 = call i32 @isatty(i32 noundef %3607) #12
  %.not761 = icmp eq i32 %3608, 0
  br i1 %.not761, label %3609, label %3610

3609:                                             ; preds = %3605, %3599
  br label %3610

3610:                                             ; preds = %3605, %3609
  %.str.25.sink2042 = phi ptr [ @.str.25, %3609 ], [ @.str.22, %3605 ]
  store i32 %3600, ptr %287, align 4, !tbaa !5
  %3611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3612 = load i32, ptr @test_count, align 4, !tbaa !5
  %3613 = load i32, ptr %233, align 4, !tbaa !5
  %3614 = call ptr @s2n_strerror(i32 noundef %3613, ptr noundef nonnull @.str.24) #12
  %3615 = load i32, ptr %233, align 4, !tbaa !5
  %3616 = call ptr @s2n_strerror_debug(i32 noundef %3615, ptr noundef nonnull @.str.24) #12
  %3617 = load i32, ptr %287, align 4, !tbaa !5
  %3618 = call ptr @strerror(i32 noundef %3617) #12
  %3619 = load i32, ptr %287, align 4, !tbaa !5
  %3620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3611, ptr noundef nonnull %.str.25.sink2042, i32 noundef %3612, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 386, ptr noundef %3614, ptr noundef %3616, ptr noundef %3618, i32 noundef %3619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3621:                                             ; preds = %3594
  %3622 = add nsw i32 %3595, 2
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %3624 = icmp eq ptr %3623, null
  br i1 %3624, label %3625, label %3647

3625:                                             ; preds = %3621
  %3626 = load i32, ptr %287, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @s2n_print_stacktrace(ptr noundef %3627) #12
  %3629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3630 = trunc nuw i8 %3629 to i1
  br i1 %3630, label %3631, label %3635

3631:                                             ; preds = %3625
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = call i32 @fileno(ptr noundef %3632) #12
  %3634 = call i32 @isatty(i32 noundef %3633) #12
  %.not765 = icmp eq i32 %3634, 0
  br i1 %.not765, label %3635, label %3636

3635:                                             ; preds = %3631, %3625
  br label %3636

3636:                                             ; preds = %3631, %3635
  %.str.25.sink2051 = phi ptr [ @.str.25, %3635 ], [ @.str.22, %3631 ]
  store i32 %3626, ptr %287, align 4, !tbaa !5
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = load i32, ptr @test_count, align 4, !tbaa !5
  %3639 = load i32, ptr %233, align 4, !tbaa !5
  %3640 = call ptr @s2n_strerror(i32 noundef %3639, ptr noundef nonnull @.str.24) #12
  %3641 = load i32, ptr %233, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror_debug(i32 noundef %3641, ptr noundef nonnull @.str.24) #12
  %3643 = load i32, ptr %287, align 4, !tbaa !5
  %3644 = call ptr @strerror(i32 noundef %3643) #12
  %3645 = load i32, ptr %287, align 4, !tbaa !5
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3637, ptr noundef nonnull %.str.25.sink2051, i32 noundef %3638, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 386, ptr noundef %3640, ptr noundef %3642, ptr noundef %3644, i32 noundef %3645) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3647:                                             ; preds = %3621
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %3649 = add nsw i32 %3648, 1
  store i32 %3649, ptr @test_count, align 4, !tbaa !5
  %3650 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %3295)
  %3651 = icmp eq i32 %3650, 16
  br i1 %3651, label %3674, label %3652

3652:                                             ; preds = %3647
  %3653 = load i32, ptr %287, align 4, !tbaa !5
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3655 = call i32 @s2n_print_stacktrace(ptr noundef %3654) #12
  %3656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3657 = trunc nuw i8 %3656 to i1
  br i1 %3657, label %3658, label %3662

3658:                                             ; preds = %3652
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = call i32 @fileno(ptr noundef %3659) #12
  %3661 = call i32 @isatty(i32 noundef %3660) #12
  %.not762 = icmp eq i32 %3661, 0
  br i1 %.not762, label %3662, label %3663

3662:                                             ; preds = %3658, %3652
  br label %3663

3663:                                             ; preds = %3658, %3662
  %.str.25.sink2060 = phi ptr [ @.str.25, %3662 ], [ @.str.22, %3658 ]
  store i32 %3653, ptr %287, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = load i32, ptr %233, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror(i32 noundef %3666, ptr noundef nonnull @.str.24) #12
  %3668 = load i32, ptr %233, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror_debug(i32 noundef %3668, ptr noundef nonnull @.str.24) #12
  %3670 = load i32, ptr %287, align 4, !tbaa !5
  %3671 = call ptr @strerror(i32 noundef %3670) #12
  %3672 = load i32, ptr %287, align 4, !tbaa !5
  %3673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3664, ptr noundef nonnull %.str.25.sink2060, i32 noundef %3665, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.21, i32 noundef 388, ptr noundef %3667, ptr noundef %3669, ptr noundef %3671, i32 noundef %3672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3674:                                             ; preds = %3647
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = add nsw i32 %3675, 1
  store i32 %3676, ptr @test_count, align 4, !tbaa !5
  %3677 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 28), align 4, !tbaa !53
  %3678 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 24), align 8, !tbaa !54
  %3679 = icmp eq i32 %3677, %3678
  br i1 %3679, label %3702, label %3680

3680:                                             ; preds = %3674
  %3681 = load i32, ptr %287, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @s2n_print_stacktrace(ptr noundef %3682) #12
  %3684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3685 = trunc nuw i8 %3684 to i1
  br i1 %3685, label %3686, label %3690

3686:                                             ; preds = %3680
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = call i32 @fileno(ptr noundef %3687) #12
  %3689 = call i32 @isatty(i32 noundef %3688) #12
  %.not763 = icmp eq i32 %3689, 0
  br i1 %.not763, label %3690, label %3691

3690:                                             ; preds = %3686, %3680
  br label %3691

3691:                                             ; preds = %3686, %3690
  %.str.25.sink2069 = phi ptr [ @.str.25, %3690 ], [ @.str.22, %3686 ]
  store i32 %3681, ptr %287, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = load i32, ptr @test_count, align 4, !tbaa !5
  %3694 = load i32, ptr %233, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror(i32 noundef %3694, ptr noundef nonnull @.str.24) #12
  %3696 = load i32, ptr %233, align 4, !tbaa !5
  %3697 = call ptr @s2n_strerror_debug(i32 noundef %3696, ptr noundef nonnull @.str.24) #12
  %3698 = load i32, ptr %287, align 4, !tbaa !5
  %3699 = call ptr @strerror(i32 noundef %3698) #12
  %3700 = load i32, ptr %287, align 4, !tbaa !5
  %3701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3692, ptr noundef nonnull %.str.25.sink2069, i32 noundef %3693, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.21, i32 noundef 389, ptr noundef %3695, ptr noundef %3697, ptr noundef %3699, i32 noundef %3700) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3702:                                             ; preds = %3674
  %3703 = add nsw i32 %3675, 2
  store i32 %3703, ptr @test_count, align 4, !tbaa !5
  %3704 = call i32 @s2n_connection_free(ptr noundef nonnull %3295) #12
  %3705 = icmp eq i32 %3704, -1
  br i1 %3705, label %3706, label %3283

3706:                                             ; preds = %3702
  %3707 = load i32, ptr %287, align 4, !tbaa !5
  %3708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3709 = call i32 @s2n_print_stacktrace(ptr noundef %3708) #12
  %3710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3711 = trunc nuw i8 %3710 to i1
  br i1 %3711, label %3712, label %3716

3712:                                             ; preds = %3706
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = call i32 @fileno(ptr noundef %3713) #12
  %3715 = call i32 @isatty(i32 noundef %3714) #12
  %.not764 = icmp eq i32 %3715, 0
  br i1 %.not764, label %3716, label %3717

3716:                                             ; preds = %3712, %3706
  br label %3717

3717:                                             ; preds = %3712, %3716
  %.str.25.sink2078 = phi ptr [ @.str.25, %3716 ], [ @.str.22, %3712 ]
  store i32 %3707, ptr %287, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = load i32, ptr %233, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror(i32 noundef %3720, ptr noundef nonnull @.str.24) #12
  %3722 = load i32, ptr %233, align 4, !tbaa !5
  %3723 = call ptr @s2n_strerror_debug(i32 noundef %3722, ptr noundef nonnull @.str.24) #12
  %3724 = load i32, ptr %287, align 4, !tbaa !5
  %3725 = call ptr @strerror(i32 noundef %3724) #12
  %3726 = load i32, ptr %287, align 4, !tbaa !5
  %3727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3718, ptr noundef nonnull %.str.25.sink2078, i32 noundef %3719, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 391, ptr noundef %3721, ptr noundef %3723, ptr noundef %3725, i32 noundef %3726) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3728:                                             ; preds = %._crit_edge
  %3729 = load i32, ptr %287, align 4, !tbaa !5
  %3730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3731 = call i32 @s2n_print_stacktrace(ptr noundef %3730) #12
  %3732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3733 = trunc nuw i8 %3732 to i1
  br i1 %3733, label %3734, label %3738

3734:                                             ; preds = %3728
  %3735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3736 = call i32 @fileno(ptr noundef %3735) #12
  %3737 = call i32 @isatty(i32 noundef %3736) #12
  %.not754 = icmp eq i32 %3737, 0
  br i1 %.not754, label %3738, label %3739

3738:                                             ; preds = %3734, %3728
  br label %3739

3739:                                             ; preds = %3734, %3738
  %.str.25.sink2087 = phi ptr [ @.str.25, %3738 ], [ @.str.22, %3734 ]
  store i32 %3729, ptr %287, align 4, !tbaa !5
  %3740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3741 = load i32, ptr @test_count, align 4, !tbaa !5
  %3742 = load i32, ptr %233, align 4, !tbaa !5
  %3743 = call ptr @s2n_strerror(i32 noundef %3742, ptr noundef nonnull @.str.24) #12
  %3744 = load i32, ptr %233, align 4, !tbaa !5
  %3745 = call ptr @s2n_strerror_debug(i32 noundef %3744, ptr noundef nonnull @.str.24) #12
  %3746 = load i32, ptr %287, align 4, !tbaa !5
  %3747 = call ptr @strerror(i32 noundef %3746) #12
  %3748 = load i32, ptr %287, align 4, !tbaa !5
  %3749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3740, ptr noundef nonnull %.str.25.sink2087, i32 noundef %3741, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 397, ptr noundef %3743, ptr noundef %3745, ptr noundef %3747, i32 noundef %3748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3750:                                             ; preds = %._crit_edge
  %3751 = load i32, ptr @test_count, align 4, !tbaa !5
  %3752 = add nsw i32 %3751, 1
  store i32 %3752, ptr @test_count, align 4, !tbaa !5
  %3753 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef nonnull %3291)
  %3754 = call zeroext i1 @s2n_result_is_ok(i32 %3753)
  br i1 %3754, label %3777, label %3755

3755:                                             ; preds = %3750
  %3756 = load i32, ptr %287, align 4, !tbaa !5
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @s2n_print_stacktrace(ptr noundef %3757) #12
  %3759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3760 = trunc nuw i8 %3759 to i1
  br i1 %3760, label %3761, label %3765

3761:                                             ; preds = %3755
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @fileno(ptr noundef %3762) #12
  %3764 = call i32 @isatty(i32 noundef %3763) #12
  %.not656 = icmp eq i32 %3764, 0
  br i1 %.not656, label %3765, label %3766

3765:                                             ; preds = %3761, %3755
  br label %3766

3766:                                             ; preds = %3761, %3765
  %.str.25.sink2096 = phi ptr [ @.str.25, %3765 ], [ @.str.22, %3761 ]
  store i32 %3756, ptr %287, align 4, !tbaa !5
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = load i32, ptr @test_count, align 4, !tbaa !5
  %3769 = load i32, ptr %233, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror(i32 noundef %3769, ptr noundef nonnull @.str.24) #12
  %3771 = load i32, ptr %233, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror_debug(i32 noundef %3771, ptr noundef nonnull @.str.24) #12
  %3773 = load i32, ptr %287, align 4, !tbaa !5
  %3774 = call ptr @strerror(i32 noundef %3773) #12
  %3775 = load i32, ptr %287, align 4, !tbaa !5
  %3776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3767, ptr noundef nonnull %.str.25.sink2096, i32 noundef %3768, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.21, i32 noundef 398, ptr noundef %3770, ptr noundef %3772, ptr noundef %3774, i32 noundef %3775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3777:                                             ; preds = %3750
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = add nsw i32 %3778, 1
  store i32 %3779, ptr @test_count, align 4, !tbaa !5
  %3780 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3291, ptr noundef nonnull %2959) #12
  %3781 = icmp eq i32 %3780, -1
  br i1 %3781, label %3782, label %3804

3782:                                             ; preds = %3777
  %3783 = load i32, ptr %287, align 4, !tbaa !5
  %3784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3785 = call i32 @s2n_print_stacktrace(ptr noundef %3784) #12
  %3786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3787 = trunc nuw i8 %3786 to i1
  br i1 %3787, label %3788, label %3792

3788:                                             ; preds = %3782
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @fileno(ptr noundef %3789) #12
  %3791 = call i32 @isatty(i32 noundef %3790) #12
  %.not753 = icmp eq i32 %3791, 0
  br i1 %.not753, label %3792, label %3793

3792:                                             ; preds = %3788, %3782
  br label %3793

3793:                                             ; preds = %3788, %3792
  %.str.25.sink2105 = phi ptr [ @.str.25, %3792 ], [ @.str.22, %3788 ]
  store i32 %3783, ptr %287, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = load i32, ptr @test_count, align 4, !tbaa !5
  %3796 = load i32, ptr %233, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror(i32 noundef %3796, ptr noundef nonnull @.str.24) #12
  %3798 = load i32, ptr %233, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror_debug(i32 noundef %3798, ptr noundef nonnull @.str.24) #12
  %3800 = load i32, ptr %287, align 4, !tbaa !5
  %3801 = call ptr @strerror(i32 noundef %3800) #12
  %3802 = load i32, ptr %287, align 4, !tbaa !5
  %3803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3794, ptr noundef nonnull %.str.25.sink2105, i32 noundef %3795, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 399, ptr noundef %3797, ptr noundef %3799, ptr noundef %3801, i32 noundef %3802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3804:                                             ; preds = %3777
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #12
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = add nsw i32 %3805, 1
  store i32 %3806, ptr @test_count, align 4, !tbaa !5
  %3807 = call i32 @s2n_write_test_message(ptr noundef nonnull %22, i32 noundef 8)
  %3808 = call zeroext i1 @s2n_result_is_ok(i32 %3807)
  br i1 %3808, label %3831, label %3809

3809:                                             ; preds = %3804
  %3810 = load i32, ptr %287, align 4, !tbaa !5
  %3811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3812 = call i32 @s2n_print_stacktrace(ptr noundef %3811) #12
  %3813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3814 = trunc nuw i8 %3813 to i1
  br i1 %3814, label %3815, label %3819

3815:                                             ; preds = %3809
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = call i32 @fileno(ptr noundef %3816) #12
  %3818 = call i32 @isatty(i32 noundef %3817) #12
  %.not657 = icmp eq i32 %3818, 0
  br i1 %.not657, label %3819, label %3820

3819:                                             ; preds = %3815, %3809
  br label %3820

3820:                                             ; preds = %3815, %3819
  %.str.25.sink2114 = phi ptr [ @.str.25, %3819 ], [ @.str.22, %3815 ]
  store i32 %3810, ptr %287, align 4, !tbaa !5
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = load i32, ptr @test_count, align 4, !tbaa !5
  %3823 = load i32, ptr %233, align 4, !tbaa !5
  %3824 = call ptr @s2n_strerror(i32 noundef %3823, ptr noundef nonnull @.str.24) #12
  %3825 = load i32, ptr %233, align 4, !tbaa !5
  %3826 = call ptr @s2n_strerror_debug(i32 noundef %3825, ptr noundef nonnull @.str.24) #12
  %3827 = load i32, ptr %287, align 4, !tbaa !5
  %3828 = call ptr @strerror(i32 noundef %3827) #12
  %3829 = load i32, ptr %287, align 4, !tbaa !5
  %3830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3821, ptr noundef nonnull %.str.25.sink2114, i32 noundef %3822, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.21, i32 noundef 402, ptr noundef %3824, ptr noundef %3826, ptr noundef %3828, i32 noundef %3829) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3831:                                             ; preds = %3804
  %3832 = load i32, ptr @test_count, align 4, !tbaa !5
  %3833 = add nsw i32 %3832, 1
  store i32 %3833, ptr @test_count, align 4, !tbaa !5
  %3834 = call i32 @s2n_stuffer_write(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %21) #12
  %3835 = icmp eq i32 %3834, -1
  br i1 %3835, label %3836, label %3858

3836:                                             ; preds = %3831
  %3837 = load i32, ptr %287, align 4, !tbaa !5
  %3838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3839 = call i32 @s2n_print_stacktrace(ptr noundef %3838) #12
  %3840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3841 = trunc nuw i8 %3840 to i1
  br i1 %3841, label %3842, label %3846

3842:                                             ; preds = %3836
  %3843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3844 = call i32 @fileno(ptr noundef %3843) #12
  %3845 = call i32 @isatty(i32 noundef %3844) #12
  %.not752 = icmp eq i32 %3845, 0
  br i1 %.not752, label %3846, label %3847

3846:                                             ; preds = %3842, %3836
  br label %3847

3847:                                             ; preds = %3842, %3846
  %.str.25.sink2123 = phi ptr [ @.str.25, %3846 ], [ @.str.22, %3842 ]
  store i32 %3837, ptr %287, align 4, !tbaa !5
  %3848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3849 = load i32, ptr @test_count, align 4, !tbaa !5
  %3850 = load i32, ptr %233, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror(i32 noundef %3850, ptr noundef nonnull @.str.24) #12
  %3852 = load i32, ptr %233, align 4, !tbaa !5
  %3853 = call ptr @s2n_strerror_debug(i32 noundef %3852, ptr noundef nonnull @.str.24) #12
  %3854 = load i32, ptr %287, align 4, !tbaa !5
  %3855 = call ptr @strerror(i32 noundef %3854) #12
  %3856 = load i32, ptr %287, align 4, !tbaa !5
  %3857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3848, ptr noundef nonnull %.str.25.sink2123, i32 noundef %3849, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.21, i32 noundef 404, ptr noundef %3851, ptr noundef %3853, ptr noundef %3855, i32 noundef %3856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3858:                                             ; preds = %3831
  %3859 = load i32, ptr @test_count, align 4, !tbaa !5
  %3860 = add nsw i32 %3859, 1
  store i32 %3860, ptr @test_count, align 4, !tbaa !5
  %3861 = call i32 @s2n_stuffer_write(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %22) #12
  %3862 = icmp eq i32 %3861, -1
  br i1 %3862, label %3863, label %3885

3863:                                             ; preds = %3858
  %3864 = load i32, ptr %287, align 4, !tbaa !5
  %3865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3866 = call i32 @s2n_print_stacktrace(ptr noundef %3865) #12
  %3867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3868 = trunc nuw i8 %3867 to i1
  br i1 %3868, label %3869, label %3873

3869:                                             ; preds = %3863
  %3870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3871 = call i32 @fileno(ptr noundef %3870) #12
  %3872 = call i32 @isatty(i32 noundef %3871) #12
  %.not751 = icmp eq i32 %3872, 0
  br i1 %.not751, label %3873, label %3874

3873:                                             ; preds = %3869, %3863
  br label %3874

3874:                                             ; preds = %3869, %3873
  %.str.25.sink2132 = phi ptr [ @.str.25, %3873 ], [ @.str.22, %3869 ]
  store i32 %3864, ptr %287, align 4, !tbaa !5
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = load i32, ptr @test_count, align 4, !tbaa !5
  %3877 = load i32, ptr %233, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror(i32 noundef %3877, ptr noundef nonnull @.str.24) #12
  %3879 = load i32, ptr %233, align 4, !tbaa !5
  %3880 = call ptr @s2n_strerror_debug(i32 noundef %3879, ptr noundef nonnull @.str.24) #12
  %3881 = load i32, ptr %287, align 4, !tbaa !5
  %3882 = call ptr @strerror(i32 noundef %3881) #12
  %3883 = load i32, ptr %287, align 4, !tbaa !5
  %3884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3875, ptr noundef nonnull %.str.25.sink2132, i32 noundef %3876, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.21, i32 noundef 405, ptr noundef %3878, ptr noundef %3880, ptr noundef %3882, i32 noundef %3883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3885:                                             ; preds = %3858
  %3886 = load i32, ptr @test_count, align 4, !tbaa !5
  %3887 = add nsw i32 %3886, 1
  store i32 %3887, ptr @test_count, align 4, !tbaa !5
  %3888 = call i32 @s2n_negotiate(ptr noundef nonnull %3291, ptr noundef nonnull %20)
  %3889 = icmp eq i32 %3888, -1
  br i1 %3889, label %3912, label %3890

3890:                                             ; preds = %3885
  %3891 = load i32, ptr %287, align 4, !tbaa !5
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @s2n_print_stacktrace(ptr noundef %3892) #12
  %3894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3895 = trunc nuw i8 %3894 to i1
  br i1 %3895, label %3896, label %3900

3896:                                             ; preds = %3890
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = call i32 @fileno(ptr noundef %3897) #12
  %3899 = call i32 @isatty(i32 noundef %3898) #12
  %.not658 = icmp eq i32 %3899, 0
  br i1 %.not658, label %3900, label %3901

3900:                                             ; preds = %3896, %3890
  br label %3901

3901:                                             ; preds = %3896, %3900
  %.str.25.sink2141 = phi ptr [ @.str.25, %3900 ], [ @.str.22, %3896 ]
  store i32 %3891, ptr %287, align 4, !tbaa !5
  %3902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3903 = load i32, ptr @test_count, align 4, !tbaa !5
  %3904 = load i32, ptr %233, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef nonnull @.str.24) #12
  %3906 = load i32, ptr %233, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror_debug(i32 noundef %3906, ptr noundef nonnull @.str.24) #12
  %3908 = load i32, ptr %287, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #12
  %3910 = load i32, ptr %287, align 4, !tbaa !5
  %3911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3902, ptr noundef nonnull %.str.25.sink2141, i32 noundef %3903, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 406, ptr noundef %3905, ptr noundef %3907, ptr noundef %3909, i32 noundef %3910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3912:                                             ; preds = %3885
  %3913 = load i32, ptr @test_count, align 4, !tbaa !5
  %3914 = add nsw i32 %3913, 1
  store i32 %3914, ptr @test_count, align 4, !tbaa !5
  %3915 = load i32, ptr %233, align 4, !tbaa !5
  %3916 = icmp eq i32 %3915, 201326592
  br i1 %3916, label %3939, label %3917

3917:                                             ; preds = %3912
  %3918 = load i32, ptr %287, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = call i32 @s2n_print_stacktrace(ptr noundef %3919) #12
  %3921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3922 = trunc nuw i8 %3921 to i1
  br i1 %3922, label %3923, label %3927

3923:                                             ; preds = %3917
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = call i32 @fileno(ptr noundef %3924) #12
  %3926 = call i32 @isatty(i32 noundef %3925) #12
  %.not659 = icmp eq i32 %3926, 0
  br i1 %.not659, label %3927, label %3928

3927:                                             ; preds = %3923, %3917
  br label %3928

3928:                                             ; preds = %3923, %3927
  %.str.25.sink2150 = phi ptr [ @.str.25, %3927 ], [ @.str.22, %3923 ]
  store i32 %3918, ptr %287, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = load i32, ptr %233, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef nonnull @.str.24) #12
  %3933 = load i32, ptr %233, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef nonnull @.str.24) #12
  %3935 = load i32, ptr %287, align 4, !tbaa !5
  %3936 = call ptr @strerror(i32 noundef %3935) #12
  %3937 = load i32, ptr %287, align 4, !tbaa !5
  %3938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3929, ptr noundef nonnull %.str.25.sink2150, i32 noundef %3930, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 406, ptr noundef %3932, ptr noundef %3934, ptr noundef %3936, i32 noundef %3937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3939:                                             ; preds = %3912
  %3940 = add nsw i32 %3913, 2
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %3942 = icmp eq ptr %3941, null
  br i1 %3942, label %3943, label %3965

3943:                                             ; preds = %3939
  %3944 = load i32, ptr %287, align 4, !tbaa !5
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = call i32 @s2n_print_stacktrace(ptr noundef %3945) #12
  %3947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3948 = trunc nuw i8 %3947 to i1
  br i1 %3948, label %3949, label %3953

3949:                                             ; preds = %3943
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = call i32 @fileno(ptr noundef %3950) #12
  %3952 = call i32 @isatty(i32 noundef %3951) #12
  %.not750 = icmp eq i32 %3952, 0
  br i1 %.not750, label %3953, label %3954

3953:                                             ; preds = %3949, %3943
  br label %3954

3954:                                             ; preds = %3949, %3953
  %.str.25.sink2159 = phi ptr [ @.str.25, %3953 ], [ @.str.22, %3949 ]
  store i32 %3944, ptr %287, align 4, !tbaa !5
  %3955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = load i32, ptr %233, align 4, !tbaa !5
  %3958 = call ptr @s2n_strerror(i32 noundef %3957, ptr noundef nonnull @.str.24) #12
  %3959 = load i32, ptr %233, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror_debug(i32 noundef %3959, ptr noundef nonnull @.str.24) #12
  %3961 = load i32, ptr %287, align 4, !tbaa !5
  %3962 = call ptr @strerror(i32 noundef %3961) #12
  %3963 = load i32, ptr %287, align 4, !tbaa !5
  %3964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3955, ptr noundef nonnull %.str.25.sink2159, i32 noundef %3956, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 406, ptr noundef %3958, ptr noundef %3960, ptr noundef %3962, i32 noundef %3963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3965:                                             ; preds = %3939
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %3966 = load i32, ptr @test_count, align 4, !tbaa !5
  %3967 = add nsw i32 %3966, 1
  store i32 %3967, ptr @test_count, align 4, !tbaa !5
  %3968 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %3291)
  %3969 = icmp eq i32 %3968, 2
  br i1 %3969, label %3992, label %3970

3970:                                             ; preds = %3965
  %3971 = load i32, ptr %287, align 4, !tbaa !5
  %3972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3973 = call i32 @s2n_print_stacktrace(ptr noundef %3972) #12
  %3974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3975 = trunc nuw i8 %3974 to i1
  br i1 %3975, label %3976, label %3980

3976:                                             ; preds = %3970
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = call i32 @fileno(ptr noundef %3977) #12
  %3979 = call i32 @isatty(i32 noundef %3978) #12
  %.not660 = icmp eq i32 %3979, 0
  br i1 %.not660, label %3980, label %3981

3980:                                             ; preds = %3976, %3970
  br label %3981

3981:                                             ; preds = %3976, %3980
  %.str.25.sink2168 = phi ptr [ @.str.25, %3980 ], [ @.str.22, %3976 ]
  store i32 %3971, ptr %287, align 4, !tbaa !5
  %3982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3983 = load i32, ptr @test_count, align 4, !tbaa !5
  %3984 = load i32, ptr %233, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror(i32 noundef %3984, ptr noundef nonnull @.str.24) #12
  %3986 = load i32, ptr %233, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror_debug(i32 noundef %3986, ptr noundef nonnull @.str.24) #12
  %3988 = load i32, ptr %287, align 4, !tbaa !5
  %3989 = call ptr @strerror(i32 noundef %3988) #12
  %3990 = load i32, ptr %287, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3982, ptr noundef nonnull %.str.25.sink2168, i32 noundef %3983, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.21, i32 noundef 408, ptr noundef %3985, ptr noundef %3987, ptr noundef %3989, i32 noundef %3990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3992:                                             ; preds = %3965
  %3993 = load i32, ptr @test_count, align 4, !tbaa !5
  %3994 = add nsw i32 %3993, 1
  store i32 %3994, ptr @test_count, align 4, !tbaa !5
  %3995 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 28), align 4, !tbaa !53
  %3996 = load i32, ptr getelementptr inbounds (i8, ptr @input_stuffer, i64 24), align 8, !tbaa !54
  %3997 = icmp eq i32 %3995, %3996
  br i1 %3997, label %4020, label %3998

3998:                                             ; preds = %3992
  %3999 = load i32, ptr %287, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = call i32 @s2n_print_stacktrace(ptr noundef %4000) #12
  %4002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4003 = trunc nuw i8 %4002 to i1
  br i1 %4003, label %4004, label %4008

4004:                                             ; preds = %3998
  %4005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4006 = call i32 @fileno(ptr noundef %4005) #12
  %4007 = call i32 @isatty(i32 noundef %4006) #12
  %.not661 = icmp eq i32 %4007, 0
  br i1 %.not661, label %4008, label %4009

4008:                                             ; preds = %4004, %3998
  br label %4009

4009:                                             ; preds = %4004, %4008
  %.str.25.sink2177 = phi ptr [ @.str.25, %4008 ], [ @.str.22, %4004 ]
  store i32 %3999, ptr %287, align 4, !tbaa !5
  %4010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4011 = load i32, ptr @test_count, align 4, !tbaa !5
  %4012 = load i32, ptr %233, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror(i32 noundef %4012, ptr noundef nonnull @.str.24) #12
  %4014 = load i32, ptr %233, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef nonnull @.str.24) #12
  %4016 = load i32, ptr %287, align 4, !tbaa !5
  %4017 = call ptr @strerror(i32 noundef %4016) #12
  %4018 = load i32, ptr %287, align 4, !tbaa !5
  %4019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4010, ptr noundef nonnull %.str.25.sink2177, i32 noundef %4011, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.21, i32 noundef 409, ptr noundef %4013, ptr noundef %4015, ptr noundef %4017, i32 noundef %4018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4020:                                             ; preds = %3992
  %4021 = add nsw i32 %3993, 2
  store i32 %4021, ptr @test_count, align 4, !tbaa !5
  %4022 = call i32 @s2n_connection_free(ptr noundef nonnull %3291) #12
  %4023 = icmp eq i32 %4022, -1
  br i1 %4023, label %4024, label %4046

4024:                                             ; preds = %4020
  %4025 = load i32, ptr %287, align 4, !tbaa !5
  %4026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4027 = call i32 @s2n_print_stacktrace(ptr noundef %4026) #12
  %4028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4029 = trunc nuw i8 %4028 to i1
  br i1 %4029, label %4030, label %4034

4030:                                             ; preds = %4024
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @fileno(ptr noundef %4031) #12
  %4033 = call i32 @isatty(i32 noundef %4032) #12
  %.not749 = icmp eq i32 %4033, 0
  br i1 %.not749, label %4034, label %4035

4034:                                             ; preds = %4030, %4024
  br label %4035

4035:                                             ; preds = %4030, %4034
  %.str.25.sink2186 = phi ptr [ @.str.25, %4034 ], [ @.str.22, %4030 ]
  store i32 %4025, ptr %287, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = load i32, ptr @test_count, align 4, !tbaa !5
  %4038 = load i32, ptr %233, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror(i32 noundef %4038, ptr noundef nonnull @.str.24) #12
  %4040 = load i32, ptr %233, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror_debug(i32 noundef %4040, ptr noundef nonnull @.str.24) #12
  %4042 = load i32, ptr %287, align 4, !tbaa !5
  %4043 = call ptr @strerror(i32 noundef %4042) #12
  %4044 = load i32, ptr %287, align 4, !tbaa !5
  %4045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4036, ptr noundef nonnull %.str.25.sink2186, i32 noundef %4037, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 411, ptr noundef %4039, ptr noundef %4041, ptr noundef %4043, i32 noundef %4044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4046:                                             ; preds = %4020
  %4047 = call i32 @s2n_free(ptr noundef nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #12
  %4048 = load i32, ptr @test_count, align 4, !tbaa !5
  %4049 = add nsw i32 %4048, 1
  store i32 %4049, ptr @test_count, align 4, !tbaa !5
  %4050 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4051 = icmp eq ptr %4050, null
  br i1 %4051, label %4052, label %4074

4052:                                             ; preds = %4046
  %4053 = load i32, ptr %287, align 4, !tbaa !5
  %4054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4055 = call i32 @s2n_print_stacktrace(ptr noundef %4054) #12
  %4056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4057 = trunc nuw i8 %4056 to i1
  br i1 %4057, label %4058, label %4062

4058:                                             ; preds = %4052
  %4059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4060 = call i32 @fileno(ptr noundef %4059) #12
  %4061 = call i32 @isatty(i32 noundef %4060) #12
  %.not748 = icmp eq i32 %4061, 0
  br i1 %.not748, label %4062, label %4063

4062:                                             ; preds = %4058, %4052
  br label %4063

4063:                                             ; preds = %4058, %4062
  %.str.25.sink2195 = phi ptr [ @.str.25, %4062 ], [ @.str.22, %4058 ]
  store i32 %4053, ptr %287, align 4, !tbaa !5
  %4064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = load i32, ptr %233, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror(i32 noundef %4066, ptr noundef nonnull @.str.24) #12
  %4068 = load i32, ptr %233, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror_debug(i32 noundef %4068, ptr noundef nonnull @.str.24) #12
  %4070 = load i32, ptr %287, align 4, !tbaa !5
  %4071 = call ptr @strerror(i32 noundef %4070) #12
  %4072 = load i32, ptr %287, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4064, ptr noundef nonnull %.str.25.sink2195, i32 noundef %4065, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 417, ptr noundef %4067, ptr noundef %4069, ptr noundef %4071, i32 noundef %4072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4074:                                             ; preds = %4046
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = add nsw i32 %4075, 1
  store i32 %4076, ptr @test_count, align 4, !tbaa !5
  %4077 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef nonnull %4050)
  %4078 = call zeroext i1 @s2n_result_is_ok(i32 %4077)
  br i1 %4078, label %4101, label %4079

4079:                                             ; preds = %4074
  %4080 = load i32, ptr %287, align 4, !tbaa !5
  %4081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4082 = call i32 @s2n_print_stacktrace(ptr noundef %4081) #12
  %4083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4084 = trunc nuw i8 %4083 to i1
  br i1 %4084, label %4085, label %4089

4085:                                             ; preds = %4079
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @fileno(ptr noundef %4086) #12
  %4088 = call i32 @isatty(i32 noundef %4087) #12
  %.not662 = icmp eq i32 %4088, 0
  br i1 %.not662, label %4089, label %4090

4089:                                             ; preds = %4085, %4079
  br label %4090

4090:                                             ; preds = %4085, %4089
  %.str.25.sink2204 = phi ptr [ @.str.25, %4089 ], [ @.str.22, %4085 ]
  store i32 %4080, ptr %287, align 4, !tbaa !5
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = load i32, ptr @test_count, align 4, !tbaa !5
  %4093 = load i32, ptr %233, align 4, !tbaa !5
  %4094 = call ptr @s2n_strerror(i32 noundef %4093, ptr noundef nonnull @.str.24) #12
  %4095 = load i32, ptr %233, align 4, !tbaa !5
  %4096 = call ptr @s2n_strerror_debug(i32 noundef %4095, ptr noundef nonnull @.str.24) #12
  %4097 = load i32, ptr %287, align 4, !tbaa !5
  %4098 = call ptr @strerror(i32 noundef %4097) #12
  %4099 = load i32, ptr %287, align 4, !tbaa !5
  %4100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4091, ptr noundef nonnull %.str.25.sink2204, i32 noundef %4092, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.21, i32 noundef 418, ptr noundef %4094, ptr noundef %4096, ptr noundef %4098, i32 noundef %4099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4101:                                             ; preds = %4074
  %4102 = load i32, ptr @test_count, align 4, !tbaa !5
  %4103 = add nsw i32 %4102, 1
  store i32 %4103, ptr @test_count, align 4, !tbaa !5
  %4104 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4050, ptr noundef nonnull %2959) #12
  %4105 = icmp eq i32 %4104, -1
  br i1 %4105, label %4106, label %4128

4106:                                             ; preds = %4101
  %4107 = load i32, ptr %287, align 4, !tbaa !5
  %4108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4109 = call i32 @s2n_print_stacktrace(ptr noundef %4108) #12
  %4110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4111 = trunc nuw i8 %4110 to i1
  br i1 %4111, label %4112, label %4116

4112:                                             ; preds = %4106
  %4113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4114 = call i32 @fileno(ptr noundef %4113) #12
  %4115 = call i32 @isatty(i32 noundef %4114) #12
  %.not747 = icmp eq i32 %4115, 0
  br i1 %.not747, label %4116, label %4117

4116:                                             ; preds = %4112, %4106
  br label %4117

4117:                                             ; preds = %4112, %4116
  %.str.25.sink2213 = phi ptr [ @.str.25, %4116 ], [ @.str.22, %4112 ]
  store i32 %4107, ptr %287, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = load i32, ptr @test_count, align 4, !tbaa !5
  %4120 = load i32, ptr %233, align 4, !tbaa !5
  %4121 = call ptr @s2n_strerror(i32 noundef %4120, ptr noundef nonnull @.str.24) #12
  %4122 = load i32, ptr %233, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror_debug(i32 noundef %4122, ptr noundef nonnull @.str.24) #12
  %4124 = load i32, ptr %287, align 4, !tbaa !5
  %4125 = call ptr @strerror(i32 noundef %4124) #12
  %4126 = load i32, ptr %287, align 4, !tbaa !5
  %4127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4118, ptr noundef nonnull %.str.25.sink2213, i32 noundef %4119, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 419, ptr noundef %4121, ptr noundef %4123, ptr noundef %4125, i32 noundef %4126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4128:                                             ; preds = %4101
  %4129 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 22) #12
  %4130 = icmp sgt i32 %4129, -1
  br i1 %4130, label %4131, label %.thread858

4131:                                             ; preds = %4128
  %4132 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 3) #12
  %4133 = icmp sgt i32 %4132, -1
  br i1 %4133, label %4134, label %.thread858

4134:                                             ; preds = %4131
  %4135 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 3) #12
  %4136 = icmp sgt i32 %4135, -1
  br i1 %4136, label %4137, label %.thread858

4137:                                             ; preds = %4134
  %4138 = load i32, ptr %3257, align 8, !tbaa !55
  %4139 = trunc i32 %4138 to i16
  %4140 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull @input_stuffer, i16 noundef zeroext %4139) #12
  %4141 = icmp sgt i32 %4140, -1
  br i1 %4141, label %4142, label %.thread858

4142:                                             ; preds = %4137
  %4143 = load i32, ptr @test_count, align 4, !tbaa !5
  %4144 = add nsw i32 %4143, 1
  store i32 %4144, ptr @test_count, align 4, !tbaa !5
  %4145 = call i32 @s2n_stuffer_write(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %21) #12
  %4146 = icmp eq i32 %4145, -1
  br i1 %4146, label %4147, label %4169

4147:                                             ; preds = %4142
  %4148 = load i32, ptr %287, align 4, !tbaa !5
  %4149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4150 = call i32 @s2n_print_stacktrace(ptr noundef %4149) #12
  %4151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4152 = trunc nuw i8 %4151 to i1
  br i1 %4152, label %4153, label %4157

4153:                                             ; preds = %4147
  %4154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4155 = call i32 @fileno(ptr noundef %4154) #12
  %4156 = call i32 @isatty(i32 noundef %4155) #12
  %.not746 = icmp eq i32 %4156, 0
  br i1 %.not746, label %4157, label %4158

4157:                                             ; preds = %4153, %4147
  br label %4158

4158:                                             ; preds = %4153, %4157
  %.str.25.sink2222 = phi ptr [ @.str.25, %4157 ], [ @.str.22, %4153 ]
  store i32 %4148, ptr %287, align 4, !tbaa !5
  %4159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4160 = load i32, ptr @test_count, align 4, !tbaa !5
  %4161 = load i32, ptr %233, align 4, !tbaa !5
  %4162 = call ptr @s2n_strerror(i32 noundef %4161, ptr noundef nonnull @.str.24) #12
  %4163 = load i32, ptr %233, align 4, !tbaa !5
  %4164 = call ptr @s2n_strerror_debug(i32 noundef %4163, ptr noundef nonnull @.str.24) #12
  %4165 = load i32, ptr %287, align 4, !tbaa !5
  %4166 = call ptr @strerror(i32 noundef %4165) #12
  %4167 = load i32, ptr %287, align 4, !tbaa !5
  %4168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4159, ptr noundef nonnull %.str.25.sink2222, i32 noundef %4160, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.21, i32 noundef 427, ptr noundef %4162, ptr noundef %4164, ptr noundef %4166, i32 noundef %4167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4169:                                             ; preds = %4142
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = add nsw i32 %4170, 1
  store i32 %4171, ptr @test_count, align 4, !tbaa !5
  %4172 = call i32 @s2n_negotiate(ptr noundef nonnull %4050, ptr noundef nonnull %20)
  %4173 = icmp eq i32 %4172, -1
  br i1 %4173, label %4196, label %4174

4174:                                             ; preds = %4169
  %4175 = load i32, ptr %287, align 4, !tbaa !5
  %4176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4177 = call i32 @s2n_print_stacktrace(ptr noundef %4176) #12
  %4178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4179 = trunc nuw i8 %4178 to i1
  br i1 %4179, label %4180, label %4184

4180:                                             ; preds = %4174
  %4181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4182 = call i32 @fileno(ptr noundef %4181) #12
  %4183 = call i32 @isatty(i32 noundef %4182) #12
  %.not663 = icmp eq i32 %4183, 0
  br i1 %.not663, label %4184, label %4185

4184:                                             ; preds = %4180, %4174
  br label %4185

4185:                                             ; preds = %4180, %4184
  %.str.25.sink2231 = phi ptr [ @.str.25, %4184 ], [ @.str.22, %4180 ]
  store i32 %4175, ptr %287, align 4, !tbaa !5
  %4186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4187 = load i32, ptr @test_count, align 4, !tbaa !5
  %4188 = load i32, ptr %233, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror(i32 noundef %4188, ptr noundef nonnull @.str.24) #12
  %4190 = load i32, ptr %233, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror_debug(i32 noundef %4190, ptr noundef nonnull @.str.24) #12
  %4192 = load i32, ptr %287, align 4, !tbaa !5
  %4193 = call ptr @strerror(i32 noundef %4192) #12
  %4194 = load i32, ptr %287, align 4, !tbaa !5
  %4195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4186, ptr noundef nonnull %.str.25.sink2231, i32 noundef %4187, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 429, ptr noundef %4189, ptr noundef %4191, ptr noundef %4193, i32 noundef %4194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4196:                                             ; preds = %4169
  %4197 = load i32, ptr @test_count, align 4, !tbaa !5
  %4198 = add nsw i32 %4197, 1
  store i32 %4198, ptr @test_count, align 4, !tbaa !5
  %4199 = load i32, ptr %233, align 4, !tbaa !5
  %4200 = icmp eq i32 %4199, 335544322
  br i1 %4200, label %4223, label %4201

4201:                                             ; preds = %4196
  %4202 = load i32, ptr %287, align 4, !tbaa !5
  %4203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4204 = call i32 @s2n_print_stacktrace(ptr noundef %4203) #12
  %4205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4206 = trunc nuw i8 %4205 to i1
  br i1 %4206, label %4207, label %4211

4207:                                             ; preds = %4201
  %4208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4209 = call i32 @fileno(ptr noundef %4208) #12
  %4210 = call i32 @isatty(i32 noundef %4209) #12
  %.not664 = icmp eq i32 %4210, 0
  br i1 %.not664, label %4211, label %4212

4211:                                             ; preds = %4207, %4201
  br label %4212

4212:                                             ; preds = %4207, %4211
  %.str.25.sink2240 = phi ptr [ @.str.25, %4211 ], [ @.str.22, %4207 ]
  store i32 %4202, ptr %287, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = load i32, ptr %233, align 4, !tbaa !5
  %4216 = call ptr @s2n_strerror(i32 noundef %4215, ptr noundef nonnull @.str.24) #12
  %4217 = load i32, ptr %233, align 4, !tbaa !5
  %4218 = call ptr @s2n_strerror_debug(i32 noundef %4217, ptr noundef nonnull @.str.24) #12
  %4219 = load i32, ptr %287, align 4, !tbaa !5
  %4220 = call ptr @strerror(i32 noundef %4219) #12
  %4221 = load i32, ptr %287, align 4, !tbaa !5
  %4222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4213, ptr noundef nonnull %.str.25.sink2240, i32 noundef %4214, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.21, i32 noundef 429, ptr noundef %4216, ptr noundef %4218, ptr noundef %4220, i32 noundef %4221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4223:                                             ; preds = %4196
  %4224 = add nsw i32 %4197, 2
  store i32 %4224, ptr @test_count, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.24) #12
  %4226 = icmp eq ptr %4225, null
  br i1 %4226, label %4227, label %4249

4227:                                             ; preds = %4223
  %4228 = load i32, ptr %287, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = call i32 @s2n_print_stacktrace(ptr noundef %4229) #12
  %4231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4232 = trunc nuw i8 %4231 to i1
  br i1 %4232, label %4233, label %4237

4233:                                             ; preds = %4227
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @fileno(ptr noundef %4234) #12
  %4236 = call i32 @isatty(i32 noundef %4235) #12
  %.not745 = icmp eq i32 %4236, 0
  br i1 %.not745, label %4237, label %4238

4237:                                             ; preds = %4233, %4227
  br label %4238

4238:                                             ; preds = %4233, %4237
  %.str.25.sink2249 = phi ptr [ @.str.25, %4237 ], [ @.str.22, %4233 ]
  store i32 %4228, ptr %287, align 4, !tbaa !5
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = load i32, ptr @test_count, align 4, !tbaa !5
  %4241 = load i32, ptr %233, align 4, !tbaa !5
  %4242 = call ptr @s2n_strerror(i32 noundef %4241, ptr noundef nonnull @.str.24) #12
  %4243 = load i32, ptr %233, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror_debug(i32 noundef %4243, ptr noundef nonnull @.str.24) #12
  %4245 = load i32, ptr %287, align 4, !tbaa !5
  %4246 = call ptr @strerror(i32 noundef %4245) #12
  %4247 = load i32, ptr %287, align 4, !tbaa !5
  %4248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4239, ptr noundef nonnull %.str.25.sink2249, i32 noundef %4240, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 429, ptr noundef %4242, ptr noundef %4244, ptr noundef %4246, i32 noundef %4247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4249:                                             ; preds = %4223
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %4250 = load i32, ptr @test_count, align 4, !tbaa !5
  %4251 = add nsw i32 %4250, 1
  store i32 %4251, ptr @test_count, align 4, !tbaa !5
  %4252 = call i32 @s2n_connection_free(ptr noundef nonnull %4050) #12
  %4253 = icmp eq i32 %4252, -1
  br i1 %4253, label %4254, label %4276

4254:                                             ; preds = %4249
  %4255 = load i32, ptr %287, align 4, !tbaa !5
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = call i32 @s2n_print_stacktrace(ptr noundef %4256) #12
  %4258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4259 = trunc nuw i8 %4258 to i1
  br i1 %4259, label %4260, label %4264

4260:                                             ; preds = %4254
  %4261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4262 = call i32 @fileno(ptr noundef %4261) #12
  %4263 = call i32 @isatty(i32 noundef %4262) #12
  %.not744 = icmp eq i32 %4263, 0
  br i1 %.not744, label %4264, label %4265

4264:                                             ; preds = %4260, %4254
  br label %4265

4265:                                             ; preds = %4260, %4264
  %.str.25.sink2258 = phi ptr [ @.str.25, %4264 ], [ @.str.22, %4260 ]
  store i32 %4255, ptr %287, align 4, !tbaa !5
  %4266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4267 = load i32, ptr @test_count, align 4, !tbaa !5
  %4268 = load i32, ptr %233, align 4, !tbaa !5
  %4269 = call ptr @s2n_strerror(i32 noundef %4268, ptr noundef nonnull @.str.24) #12
  %4270 = load i32, ptr %233, align 4, !tbaa !5
  %4271 = call ptr @s2n_strerror_debug(i32 noundef %4270, ptr noundef nonnull @.str.24) #12
  %4272 = load i32, ptr %287, align 4, !tbaa !5
  %4273 = call ptr @strerror(i32 noundef %4272) #12
  %4274 = load i32, ptr %287, align 4, !tbaa !5
  %4275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4266, ptr noundef nonnull %.str.25.sink2258, i32 noundef %4267, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 431, ptr noundef %4269, ptr noundef %4271, ptr noundef %4273, i32 noundef %4274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4276:                                             ; preds = %4249
  %4277 = load i32, ptr @test_count, align 4, !tbaa !5
  %4278 = add nsw i32 %4277, 1
  store i32 %4278, ptr @test_count, align 4, !tbaa !5
  %4279 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4280 = icmp eq ptr %4279, null
  br i1 %4280, label %4281, label %4303

4281:                                             ; preds = %4276
  %4282 = load i32, ptr %287, align 4, !tbaa !5
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @s2n_print_stacktrace(ptr noundef %4283) #12
  %4285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4286 = trunc nuw i8 %4285 to i1
  br i1 %4286, label %4287, label %4291

4287:                                             ; preds = %4281
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = call i32 @fileno(ptr noundef %4288) #12
  %4290 = call i32 @isatty(i32 noundef %4289) #12
  %.not743 = icmp eq i32 %4290, 0
  br i1 %.not743, label %4291, label %4292

4291:                                             ; preds = %4287, %4281
  br label %4292

4292:                                             ; preds = %4287, %4291
  %.str.25.sink2267 = phi ptr [ @.str.25, %4291 ], [ @.str.22, %4287 ]
  store i32 %4282, ptr %287, align 4, !tbaa !5
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = load i32, ptr @test_count, align 4, !tbaa !5
  %4295 = load i32, ptr %233, align 4, !tbaa !5
  %4296 = call ptr @s2n_strerror(i32 noundef %4295, ptr noundef nonnull @.str.24) #12
  %4297 = load i32, ptr %233, align 4, !tbaa !5
  %4298 = call ptr @s2n_strerror_debug(i32 noundef %4297, ptr noundef nonnull @.str.24) #12
  %4299 = load i32, ptr %287, align 4, !tbaa !5
  %4300 = call ptr @strerror(i32 noundef %4299) #12
  %4301 = load i32, ptr %287, align 4, !tbaa !5
  %4302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4293, ptr noundef nonnull %.str.25.sink2267, i32 noundef %4294, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 437, ptr noundef %4296, ptr noundef %4298, ptr noundef %4300, i32 noundef %4301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4303:                                             ; preds = %4276
  %4304 = load i32, ptr @test_count, align 4, !tbaa !5
  %4305 = add nsw i32 %4304, 1
  store i32 %4305, ptr @test_count, align 4, !tbaa !5
  %4306 = call i32 @s2n_setup_conn_for_server_hello(ptr noundef nonnull %4279)
  %4307 = call zeroext i1 @s2n_result_is_ok(i32 %4306)
  br i1 %4307, label %4330, label %4308

4308:                                             ; preds = %4303
  %4309 = load i32, ptr %287, align 4, !tbaa !5
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = call i32 @s2n_print_stacktrace(ptr noundef %4310) #12
  %4312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4313 = trunc nuw i8 %4312 to i1
  br i1 %4313, label %4314, label %4318

4314:                                             ; preds = %4308
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @fileno(ptr noundef %4315) #12
  %4317 = call i32 @isatty(i32 noundef %4316) #12
  %.not665 = icmp eq i32 %4317, 0
  br i1 %.not665, label %4318, label %4319

4318:                                             ; preds = %4314, %4308
  br label %4319

4319:                                             ; preds = %4314, %4318
  %.str.25.sink2276 = phi ptr [ @.str.25, %4318 ], [ @.str.22, %4314 ]
  store i32 %4309, ptr %287, align 4, !tbaa !5
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = load i32, ptr @test_count, align 4, !tbaa !5
  %4322 = load i32, ptr %233, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror(i32 noundef %4322, ptr noundef nonnull @.str.24) #12
  %4324 = load i32, ptr %233, align 4, !tbaa !5
  %4325 = call ptr @s2n_strerror_debug(i32 noundef %4324, ptr noundef nonnull @.str.24) #12
  %4326 = load i32, ptr %287, align 4, !tbaa !5
  %4327 = call ptr @strerror(i32 noundef %4326) #12
  %4328 = load i32, ptr %287, align 4, !tbaa !5
  %4329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4320, ptr noundef nonnull %.str.25.sink2276, i32 noundef %4321, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.21, i32 noundef 438, ptr noundef %4323, ptr noundef %4325, ptr noundef %4327, i32 noundef %4328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4330:                                             ; preds = %4303
  %4331 = load i32, ptr @test_count, align 4, !tbaa !5
  %4332 = add nsw i32 %4331, 1
  store i32 %4332, ptr @test_count, align 4, !tbaa !5
  %4333 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4279, ptr noundef nonnull %2959) #12
  %4334 = icmp eq i32 %4333, -1
  br i1 %4334, label %4335, label %4357

4335:                                             ; preds = %4330
  %4336 = load i32, ptr %287, align 4, !tbaa !5
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = call i32 @s2n_print_stacktrace(ptr noundef %4337) #12
  %4339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4340 = trunc nuw i8 %4339 to i1
  br i1 %4340, label %4341, label %4345

4341:                                             ; preds = %4335
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = call i32 @fileno(ptr noundef %4342) #12
  %4344 = call i32 @isatty(i32 noundef %4343) #12
  %.not742 = icmp eq i32 %4344, 0
  br i1 %.not742, label %4345, label %4346

4345:                                             ; preds = %4341, %4335
  br label %4346

4346:                                             ; preds = %4341, %4345
  %.str.25.sink2285 = phi ptr [ @.str.25, %4345 ], [ @.str.22, %4341 ]
  store i32 %4336, ptr %287, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = load i32, ptr %233, align 4, !tbaa !5
  %4350 = call ptr @s2n_strerror(i32 noundef %4349, ptr noundef nonnull @.str.24) #12
  %4351 = load i32, ptr %233, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror_debug(i32 noundef %4351, ptr noundef nonnull @.str.24) #12
  %4353 = load i32, ptr %287, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #12
  %4355 = load i32, ptr %287, align 4, !tbaa !5
  %4356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4347, ptr noundef nonnull %.str.25.sink2285, i32 noundef %4348, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 439, ptr noundef %4350, ptr noundef %4352, ptr noundef %4354, i32 noundef %4355) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4357:                                             ; preds = %4330
  %4358 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 20) #12
  %4359 = icmp sgt i32 %4358, -1
  br i1 %4359, label %4360, label %.thread858

4360:                                             ; preds = %4357
  %4361 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 3) #12
  %4362 = icmp sgt i32 %4361, -1
  br i1 %4362, label %4363, label %.thread858

4363:                                             ; preds = %4360
  %4364 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 3) #12
  %4365 = icmp sgt i32 %4364, -1
  br i1 %4365, label %4366, label %.thread858

4366:                                             ; preds = %4363
  %4367 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull @input_stuffer, i16 noundef zeroext 1) #12
  %4368 = icmp sgt i32 %4367, -1
  br i1 %4368, label %4369, label %.thread858

4369:                                             ; preds = %4366
  %4370 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull @input_stuffer, i8 noundef zeroext 1) #12
  %4371 = icmp sgt i32 %4370, -1
  br i1 %4371, label %4372, label %.thread858

4372:                                             ; preds = %4369
  %4373 = load i32, ptr @test_count, align 4, !tbaa !5
  %4374 = add nsw i32 %4373, 1
  store i32 %4374, ptr @test_count, align 4, !tbaa !5
  %4375 = call i32 @s2n_negotiate(ptr noundef nonnull %4279, ptr noundef nonnull %20)
  %4376 = icmp eq i32 %4375, -1
  br i1 %4376, label %4399, label %4377

4377:                                             ; preds = %4372
  %4378 = load i32, ptr %287, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = call i32 @s2n_print_stacktrace(ptr noundef %4379) #12
  %4381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4382 = trunc nuw i8 %4381 to i1
  br i1 %4382, label %4383, label %4387

4383:                                             ; preds = %4377
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @fileno(ptr noundef %4384) #12
  %4386 = call i32 @isatty(i32 noundef %4385) #12
  %.not666 = icmp eq i32 %4386, 0
  br i1 %.not666, label %4387, label %4388

4387:                                             ; preds = %4383, %4377
  br label %4388

4388:                                             ; preds = %4383, %4387
  %.str.25.sink2294 = phi ptr [ @.str.25, %4387 ], [ @.str.22, %4383 ]
  store i32 %4378, ptr %287, align 4, !tbaa !5
  %4389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4390 = load i32, ptr @test_count, align 4, !tbaa !5
  %4391 = load i32, ptr %233, align 4, !tbaa !5
  %4392 = call ptr @s2n_strerror(i32 noundef %4391, ptr noundef nonnull @.str.24) #12
  %4393 = load i32, ptr %233, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror_debug(i32 noundef %4393, ptr noundef nonnull @.str.24) #12
  %4395 = load i32, ptr %287, align 4, !tbaa !5
  %4396 = call ptr @strerror(i32 noundef %4395) #12
  %4397 = load i32, ptr %287, align 4, !tbaa !5
  %4398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4389, ptr noundef nonnull %.str.25.sink2294, i32 noundef %4390, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 449, ptr noundef %4392, ptr noundef %4394, ptr noundef %4396, i32 noundef %4397) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4399:                                             ; preds = %4372
  %4400 = load i32, ptr @test_count, align 4, !tbaa !5
  %4401 = add nsw i32 %4400, 1
  store i32 %4401, ptr @test_count, align 4, !tbaa !5
  %4402 = load i32, ptr %233, align 4, !tbaa !5
  %4403 = icmp eq i32 %4402, 335544322
  br i1 %4403, label %4426, label %4404

4404:                                             ; preds = %4399
  %4405 = load i32, ptr %287, align 4, !tbaa !5
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4407 = call i32 @s2n_print_stacktrace(ptr noundef %4406) #12
  %4408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4409 = trunc nuw i8 %4408 to i1
  br i1 %4409, label %4410, label %4414

4410:                                             ; preds = %4404
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = call i32 @fileno(ptr noundef %4411) #12
  %4413 = call i32 @isatty(i32 noundef %4412) #12
  %.not667 = icmp eq i32 %4413, 0
  br i1 %.not667, label %4414, label %4415

4414:                                             ; preds = %4410, %4404
  br label %4415

4415:                                             ; preds = %4410, %4414
  %.str.25.sink2303 = phi ptr [ @.str.25, %4414 ], [ @.str.22, %4410 ]
  store i32 %4405, ptr %287, align 4, !tbaa !5
  %4416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4417 = load i32, ptr @test_count, align 4, !tbaa !5
  %4418 = load i32, ptr %233, align 4, !tbaa !5
  %4419 = call ptr @s2n_strerror(i32 noundef %4418, ptr noundef nonnull @.str.24) #12
  %4420 = load i32, ptr %233, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror_debug(i32 noundef %4420, ptr noundef nonnull @.str.24) #12
  %4422 = load i32, ptr %287, align 4, !tbaa !5
  %4423 = call ptr @strerror(i32 noundef %4422) #12
  %4424 = load i32, ptr %287, align 4, !tbaa !5
  %4425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4416, ptr noundef nonnull %.str.25.sink2303, i32 noundef %4417, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.21, i32 noundef 449, ptr noundef %4419, ptr noundef %4421, ptr noundef %4423, i32 noundef %4424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4426:                                             ; preds = %4399
  %4427 = add nsw i32 %4400, 2
  store i32 %4427, ptr @test_count, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.24) #12
  %4429 = icmp eq ptr %4428, null
  br i1 %4429, label %4430, label %4452

4430:                                             ; preds = %4426
  %4431 = load i32, ptr %287, align 4, !tbaa !5
  %4432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4433 = call i32 @s2n_print_stacktrace(ptr noundef %4432) #12
  %4434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4435 = trunc nuw i8 %4434 to i1
  br i1 %4435, label %4436, label %4440

4436:                                             ; preds = %4430
  %4437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4438 = call i32 @fileno(ptr noundef %4437) #12
  %4439 = call i32 @isatty(i32 noundef %4438) #12
  %.not741 = icmp eq i32 %4439, 0
  br i1 %.not741, label %4440, label %4441

4440:                                             ; preds = %4436, %4430
  br label %4441

4441:                                             ; preds = %4436, %4440
  %.str.25.sink2312 = phi ptr [ @.str.25, %4440 ], [ @.str.22, %4436 ]
  store i32 %4431, ptr %287, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = load i32, ptr @test_count, align 4, !tbaa !5
  %4444 = load i32, ptr %233, align 4, !tbaa !5
  %4445 = call ptr @s2n_strerror(i32 noundef %4444, ptr noundef nonnull @.str.24) #12
  %4446 = load i32, ptr %233, align 4, !tbaa !5
  %4447 = call ptr @s2n_strerror_debug(i32 noundef %4446, ptr noundef nonnull @.str.24) #12
  %4448 = load i32, ptr %287, align 4, !tbaa !5
  %4449 = call ptr @strerror(i32 noundef %4448) #12
  %4450 = load i32, ptr %287, align 4, !tbaa !5
  %4451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4442, ptr noundef nonnull %.str.25.sink2312, i32 noundef %4443, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 449, ptr noundef %4445, ptr noundef %4447, ptr noundef %4449, i32 noundef %4450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4452:                                             ; preds = %4426
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %4453 = load i32, ptr @test_count, align 4, !tbaa !5
  %4454 = add nsw i32 %4453, 1
  store i32 %4454, ptr @test_count, align 4, !tbaa !5
  %4455 = call i32 @s2n_connection_free(ptr noundef nonnull %4279) #12
  %4456 = icmp eq i32 %4455, -1
  br i1 %4456, label %4457, label %4479

4457:                                             ; preds = %4452
  %4458 = load i32, ptr %287, align 4, !tbaa !5
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @s2n_print_stacktrace(ptr noundef %4459) #12
  %4461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4462 = trunc nuw i8 %4461 to i1
  br i1 %4462, label %4463, label %4467

4463:                                             ; preds = %4457
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = call i32 @fileno(ptr noundef %4464) #12
  %4466 = call i32 @isatty(i32 noundef %4465) #12
  %.not740 = icmp eq i32 %4466, 0
  br i1 %.not740, label %4467, label %4468

4467:                                             ; preds = %4463, %4457
  br label %4468

4468:                                             ; preds = %4463, %4467
  %.str.25.sink2321 = phi ptr [ @.str.25, %4467 ], [ @.str.22, %4463 ]
  store i32 %4458, ptr %287, align 4, !tbaa !5
  %4469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4470 = load i32, ptr @test_count, align 4, !tbaa !5
  %4471 = load i32, ptr %233, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror(i32 noundef %4471, ptr noundef nonnull @.str.24) #12
  %4473 = load i32, ptr %233, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror_debug(i32 noundef %4473, ptr noundef nonnull @.str.24) #12
  %4475 = load i32, ptr %287, align 4, !tbaa !5
  %4476 = call ptr @strerror(i32 noundef %4475) #12
  %4477 = load i32, ptr %287, align 4, !tbaa !5
  %4478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4469, ptr noundef nonnull %.str.25.sink2321, i32 noundef %4470, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 451, ptr noundef %4472, ptr noundef %4474, ptr noundef %4476, i32 noundef %4477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4479:                                             ; preds = %4452
  %4480 = load i32, ptr @test_count, align 4, !tbaa !5
  %4481 = add nsw i32 %4480, 1
  store i32 %4481, ptr @test_count, align 4, !tbaa !5
  %4482 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4483 = icmp eq ptr %4482, null
  br i1 %4483, label %4484, label %4506

4484:                                             ; preds = %4479
  %4485 = load i32, ptr %287, align 4, !tbaa !5
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @s2n_print_stacktrace(ptr noundef %4486) #12
  %4488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4489 = trunc nuw i8 %4488 to i1
  br i1 %4489, label %4490, label %4494

4490:                                             ; preds = %4484
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = call i32 @fileno(ptr noundef %4491) #12
  %4493 = call i32 @isatty(i32 noundef %4492) #12
  %.not739 = icmp eq i32 %4493, 0
  br i1 %.not739, label %4494, label %4495

4494:                                             ; preds = %4490, %4484
  br label %4495

4495:                                             ; preds = %4490, %4494
  %.str.25.sink2330 = phi ptr [ @.str.25, %4494 ], [ @.str.22, %4490 ]
  store i32 %4485, ptr %287, align 4, !tbaa !5
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = load i32, ptr @test_count, align 4, !tbaa !5
  %4498 = load i32, ptr %233, align 4, !tbaa !5
  %4499 = call ptr @s2n_strerror(i32 noundef %4498, ptr noundef nonnull @.str.24) #12
  %4500 = load i32, ptr %233, align 4, !tbaa !5
  %4501 = call ptr @s2n_strerror_debug(i32 noundef %4500, ptr noundef nonnull @.str.24) #12
  %4502 = load i32, ptr %287, align 4, !tbaa !5
  %4503 = call ptr @strerror(i32 noundef %4502) #12
  %4504 = load i32, ptr %287, align 4, !tbaa !5
  %4505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4496, ptr noundef nonnull %.str.25.sink2330, i32 noundef %4497, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 459, ptr noundef %4499, ptr noundef %4501, ptr noundef %4503, i32 noundef %4504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4506:                                             ; preds = %4479
  %4507 = load i32, ptr @test_count, align 4, !tbaa !5
  %4508 = add nsw i32 %4507, 1
  store i32 %4508, ptr @test_count, align 4, !tbaa !5
  %4509 = call i32 @s2n_setup_conn_for_client_hello(ptr noundef nonnull %4482)
  %4510 = call zeroext i1 @s2n_result_is_ok(i32 %4509)
  br i1 %4510, label %4533, label %4511

4511:                                             ; preds = %4506
  %4512 = load i32, ptr %287, align 4, !tbaa !5
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = call i32 @s2n_print_stacktrace(ptr noundef %4513) #12
  %4515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4516 = trunc nuw i8 %4515 to i1
  br i1 %4516, label %4517, label %4521

4517:                                             ; preds = %4511
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = call i32 @fileno(ptr noundef %4518) #12
  %4520 = call i32 @isatty(i32 noundef %4519) #12
  %.not668 = icmp eq i32 %4520, 0
  br i1 %.not668, label %4521, label %4522

4521:                                             ; preds = %4517, %4511
  br label %4522

4522:                                             ; preds = %4517, %4521
  %.str.25.sink2339 = phi ptr [ @.str.25, %4521 ], [ @.str.22, %4517 ]
  store i32 %4512, ptr %287, align 4, !tbaa !5
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = load i32, ptr @test_count, align 4, !tbaa !5
  %4525 = load i32, ptr %233, align 4, !tbaa !5
  %4526 = call ptr @s2n_strerror(i32 noundef %4525, ptr noundef nonnull @.str.24) #12
  %4527 = load i32, ptr %233, align 4, !tbaa !5
  %4528 = call ptr @s2n_strerror_debug(i32 noundef %4527, ptr noundef nonnull @.str.24) #12
  %4529 = load i32, ptr %287, align 4, !tbaa !5
  %4530 = call ptr @strerror(i32 noundef %4529) #12
  %4531 = load i32, ptr %287, align 4, !tbaa !5
  %4532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4523, ptr noundef nonnull %.str.25.sink2339, i32 noundef %4524, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.21, i32 noundef 460, ptr noundef %4526, ptr noundef %4528, ptr noundef %4530, i32 noundef %4531) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4533:                                             ; preds = %4506
  %4534 = load i32, ptr @test_count, align 4, !tbaa !5
  %4535 = add nsw i32 %4534, 1
  store i32 %4535, ptr @test_count, align 4, !tbaa !5
  %4536 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4482, ptr noundef nonnull %2959) #12
  %4537 = icmp eq i32 %4536, -1
  br i1 %4537, label %4538, label %4560

4538:                                             ; preds = %4533
  %4539 = load i32, ptr %287, align 4, !tbaa !5
  %4540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4541 = call i32 @s2n_print_stacktrace(ptr noundef %4540) #12
  %4542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4543 = trunc nuw i8 %4542 to i1
  br i1 %4543, label %4544, label %4548

4544:                                             ; preds = %4538
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = call i32 @fileno(ptr noundef %4545) #12
  %4547 = call i32 @isatty(i32 noundef %4546) #12
  %.not738 = icmp eq i32 %4547, 0
  br i1 %.not738, label %4548, label %4549

4548:                                             ; preds = %4544, %4538
  br label %4549

4549:                                             ; preds = %4544, %4548
  %.str.25.sink2348 = phi ptr [ @.str.25, %4548 ], [ @.str.22, %4544 ]
  store i32 %4539, ptr %287, align 4, !tbaa !5
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = load i32, ptr @test_count, align 4, !tbaa !5
  %4552 = load i32, ptr %233, align 4, !tbaa !5
  %4553 = call ptr @s2n_strerror(i32 noundef %4552, ptr noundef nonnull @.str.24) #12
  %4554 = load i32, ptr %233, align 4, !tbaa !5
  %4555 = call ptr @s2n_strerror_debug(i32 noundef %4554, ptr noundef nonnull @.str.24) #12
  %4556 = load i32, ptr %287, align 4, !tbaa !5
  %4557 = call ptr @strerror(i32 noundef %4556) #12
  %4558 = load i32, ptr %287, align 4, !tbaa !5
  %4559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4550, ptr noundef nonnull %.str.25.sink2348, i32 noundef %4551, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 461, ptr noundef %4553, ptr noundef %4555, ptr noundef %4557, i32 noundef %4558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4560:                                             ; preds = %4533
  %4561 = load i32, ptr @test_count, align 4, !tbaa !5
  %4562 = add nsw i32 %4561, 1
  store i32 %4562, ptr @test_count, align 4, !tbaa !5
  %4563 = call i32 @s2n_negotiate(ptr noundef nonnull %4482, ptr noundef nonnull %20)
  %4564 = icmp eq i32 %4563, -1
  br i1 %4564, label %4587, label %4565

4565:                                             ; preds = %4560
  %4566 = load i32, ptr %287, align 4, !tbaa !5
  %4567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4568 = call i32 @s2n_print_stacktrace(ptr noundef %4567) #12
  %4569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4570 = trunc nuw i8 %4569 to i1
  br i1 %4570, label %4571, label %4575

4571:                                             ; preds = %4565
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @fileno(ptr noundef %4572) #12
  %4574 = call i32 @isatty(i32 noundef %4573) #12
  %.not669 = icmp eq i32 %4574, 0
  br i1 %.not669, label %4575, label %4576

4575:                                             ; preds = %4571, %4565
  br label %4576

4576:                                             ; preds = %4571, %4575
  %.str.25.sink2357 = phi ptr [ @.str.25, %4575 ], [ @.str.22, %4571 ]
  store i32 %4566, ptr %287, align 4, !tbaa !5
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = load i32, ptr @test_count, align 4, !tbaa !5
  %4579 = load i32, ptr %233, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror(i32 noundef %4579, ptr noundef nonnull @.str.24) #12
  %4581 = load i32, ptr %233, align 4, !tbaa !5
  %4582 = call ptr @s2n_strerror_debug(i32 noundef %4581, ptr noundef nonnull @.str.24) #12
  %4583 = load i32, ptr %287, align 4, !tbaa !5
  %4584 = call ptr @strerror(i32 noundef %4583) #12
  %4585 = load i32, ptr %287, align 4, !tbaa !5
  %4586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4577, ptr noundef nonnull %.str.25.sink2357, i32 noundef %4578, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 463, ptr noundef %4580, ptr noundef %4582, ptr noundef %4584, i32 noundef %4585) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4587:                                             ; preds = %4560
  %4588 = load i32, ptr @test_count, align 4, !tbaa !5
  %4589 = add nsw i32 %4588, 1
  store i32 %4589, ptr @test_count, align 4, !tbaa !5
  %4590 = load i32, ptr %233, align 4, !tbaa !5
  %4591 = icmp eq i32 %4590, 201326592
  br i1 %4591, label %4614, label %4592

4592:                                             ; preds = %4587
  %4593 = load i32, ptr %287, align 4, !tbaa !5
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4595 = call i32 @s2n_print_stacktrace(ptr noundef %4594) #12
  %4596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4597 = trunc nuw i8 %4596 to i1
  br i1 %4597, label %4598, label %4602

4598:                                             ; preds = %4592
  %4599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4600 = call i32 @fileno(ptr noundef %4599) #12
  %4601 = call i32 @isatty(i32 noundef %4600) #12
  %.not670 = icmp eq i32 %4601, 0
  br i1 %.not670, label %4602, label %4603

4602:                                             ; preds = %4598, %4592
  br label %4603

4603:                                             ; preds = %4598, %4602
  %.str.25.sink2366 = phi ptr [ @.str.25, %4602 ], [ @.str.22, %4598 ]
  store i32 %4593, ptr %287, align 4, !tbaa !5
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = load i32, ptr @test_count, align 4, !tbaa !5
  %4606 = load i32, ptr %233, align 4, !tbaa !5
  %4607 = call ptr @s2n_strerror(i32 noundef %4606, ptr noundef nonnull @.str.24) #12
  %4608 = load i32, ptr %233, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror_debug(i32 noundef %4608, ptr noundef nonnull @.str.24) #12
  %4610 = load i32, ptr %287, align 4, !tbaa !5
  %4611 = call ptr @strerror(i32 noundef %4610) #12
  %4612 = load i32, ptr %287, align 4, !tbaa !5
  %4613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4604, ptr noundef nonnull %.str.25.sink2366, i32 noundef %4605, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 463, ptr noundef %4607, ptr noundef %4609, ptr noundef %4611, i32 noundef %4612) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4614:                                             ; preds = %4587
  %4615 = add nsw i32 %4588, 2
  store i32 %4615, ptr @test_count, align 4, !tbaa !5
  %4616 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %4617 = icmp eq ptr %4616, null
  br i1 %4617, label %4618, label %4640

4618:                                             ; preds = %4614
  %4619 = load i32, ptr %287, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = call i32 @s2n_print_stacktrace(ptr noundef %4620) #12
  %4622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4623 = trunc nuw i8 %4622 to i1
  br i1 %4623, label %4624, label %4628

4624:                                             ; preds = %4618
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @fileno(ptr noundef %4625) #12
  %4627 = call i32 @isatty(i32 noundef %4626) #12
  %.not737 = icmp eq i32 %4627, 0
  br i1 %.not737, label %4628, label %4629

4628:                                             ; preds = %4624, %4618
  br label %4629

4629:                                             ; preds = %4624, %4628
  %.str.25.sink2375 = phi ptr [ @.str.25, %4628 ], [ @.str.22, %4624 ]
  store i32 %4619, ptr %287, align 4, !tbaa !5
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = load i32, ptr @test_count, align 4, !tbaa !5
  %4632 = load i32, ptr %233, align 4, !tbaa !5
  %4633 = call ptr @s2n_strerror(i32 noundef %4632, ptr noundef nonnull @.str.24) #12
  %4634 = load i32, ptr %233, align 4, !tbaa !5
  %4635 = call ptr @s2n_strerror_debug(i32 noundef %4634, ptr noundef nonnull @.str.24) #12
  %4636 = load i32, ptr %287, align 4, !tbaa !5
  %4637 = call ptr @strerror(i32 noundef %4636) #12
  %4638 = load i32, ptr %287, align 4, !tbaa !5
  %4639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4630, ptr noundef nonnull %.str.25.sink2375, i32 noundef %4631, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 463, ptr noundef %4633, ptr noundef %4635, ptr noundef %4637, i32 noundef %4638) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4640:                                             ; preds = %4614
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %4641 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 28), align 4, !tbaa !53
  %4642 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 24), align 8, !tbaa !54
  %4643 = sub i32 %4641, %4642
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #12
  store i8 0, ptr %23, align 1, !tbaa !43
  %4644 = load i32, ptr @test_count, align 4, !tbaa !5
  %4645 = add nsw i32 %4644, 1
  store i32 %4645, ptr @test_count, align 4, !tbaa !5
  %4646 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull @output_stuffer, ptr noundef nonnull %23) #12
  %4647 = icmp eq i32 %4646, -1
  br i1 %4647, label %4648, label %4670

4648:                                             ; preds = %4640
  %4649 = load i32, ptr %287, align 4, !tbaa !5
  %4650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4651 = call i32 @s2n_print_stacktrace(ptr noundef %4650) #12
  %4652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4653 = trunc nuw i8 %4652 to i1
  br i1 %4653, label %4654, label %4658

4654:                                             ; preds = %4648
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = call i32 @fileno(ptr noundef %4655) #12
  %4657 = call i32 @isatty(i32 noundef %4656) #12
  %.not736 = icmp eq i32 %4657, 0
  br i1 %.not736, label %4658, label %4659

4658:                                             ; preds = %4654, %4648
  br label %4659

4659:                                             ; preds = %4654, %4658
  %.str.25.sink2384 = phi ptr [ @.str.25, %4658 ], [ @.str.22, %4654 ]
  store i32 %4649, ptr %287, align 4, !tbaa !5
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = load i32, ptr @test_count, align 4, !tbaa !5
  %4662 = load i32, ptr %233, align 4, !tbaa !5
  %4663 = call ptr @s2n_strerror(i32 noundef %4662, ptr noundef nonnull @.str.24) #12
  %4664 = load i32, ptr %233, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror_debug(i32 noundef %4664, ptr noundef nonnull @.str.24) #12
  %4666 = load i32, ptr %287, align 4, !tbaa !5
  %4667 = call ptr @strerror(i32 noundef %4666) #12
  %4668 = load i32, ptr %287, align 4, !tbaa !5
  %4669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4660, ptr noundef nonnull %.str.25.sink2384, i32 noundef %4661, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.21, i32 noundef 467, ptr noundef %4663, ptr noundef %4665, ptr noundef %4667, i32 noundef %4668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4670:                                             ; preds = %4640
  %4671 = load i32, ptr @test_count, align 4, !tbaa !5
  %4672 = add nsw i32 %4671, 1
  store i32 %4672, ptr @test_count, align 4, !tbaa !5
  %4673 = load i8, ptr %23, align 1, !tbaa !43
  %4674 = icmp eq i8 %4673, 1
  br i1 %4674, label %4697, label %4675

4675:                                             ; preds = %4670
  %4676 = load i32, ptr %287, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @s2n_print_stacktrace(ptr noundef %4677) #12
  %4679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4680 = trunc nuw i8 %4679 to i1
  br i1 %4680, label %4681, label %4685

4681:                                             ; preds = %4675
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = call i32 @fileno(ptr noundef %4682) #12
  %4684 = call i32 @isatty(i32 noundef %4683) #12
  %.not671 = icmp eq i32 %4684, 0
  br i1 %.not671, label %4685, label %4686

4685:                                             ; preds = %4681, %4675
  br label %4686

4686:                                             ; preds = %4681, %4685
  %.str.25.sink2393 = phi ptr [ @.str.25, %4685 ], [ @.str.22, %4681 ]
  store i32 %4676, ptr %287, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = load i32, ptr @test_count, align 4, !tbaa !5
  %4689 = load i32, ptr %233, align 4, !tbaa !5
  %4690 = call ptr @s2n_strerror(i32 noundef %4689, ptr noundef nonnull @.str.24) #12
  %4691 = load i32, ptr %233, align 4, !tbaa !5
  %4692 = call ptr @s2n_strerror_debug(i32 noundef %4691, ptr noundef nonnull @.str.24) #12
  %4693 = load i32, ptr %287, align 4, !tbaa !5
  %4694 = call ptr @strerror(i32 noundef %4693) #12
  %4695 = load i32, ptr %287, align 4, !tbaa !5
  %4696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4687, ptr noundef nonnull %.str.25.sink2393, i32 noundef %4688, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.21, i32 noundef 468, ptr noundef %4690, ptr noundef %4692, ptr noundef %4694, i32 noundef %4695) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4697:                                             ; preds = %4670
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #12
  store i32 0, ptr %24, align 4, !tbaa !5
  %4698 = add nsw i32 %4671, 2
  store i32 %4698, ptr @test_count, align 4, !tbaa !5
  %4699 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull @output_stuffer, ptr noundef nonnull %24) #12
  %4700 = icmp eq i32 %4699, -1
  br i1 %4700, label %4701, label %4723

4701:                                             ; preds = %4697
  %4702 = load i32, ptr %287, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = call i32 @s2n_print_stacktrace(ptr noundef %4703) #12
  %4705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4706 = trunc nuw i8 %4705 to i1
  br i1 %4706, label %4707, label %4711

4707:                                             ; preds = %4701
  %4708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4709 = call i32 @fileno(ptr noundef %4708) #12
  %4710 = call i32 @isatty(i32 noundef %4709) #12
  %.not735 = icmp eq i32 %4710, 0
  br i1 %.not735, label %4711, label %4712

4711:                                             ; preds = %4707, %4701
  br label %4712

4712:                                             ; preds = %4707, %4711
  %.str.25.sink2402 = phi ptr [ @.str.25, %4711 ], [ @.str.22, %4707 ]
  store i32 %4702, ptr %287, align 4, !tbaa !5
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = load i32, ptr @test_count, align 4, !tbaa !5
  %4715 = load i32, ptr %233, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror(i32 noundef %4715, ptr noundef nonnull @.str.24) #12
  %4717 = load i32, ptr %233, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror_debug(i32 noundef %4717, ptr noundef nonnull @.str.24) #12
  %4719 = load i32, ptr %287, align 4, !tbaa !5
  %4720 = call ptr @strerror(i32 noundef %4719) #12
  %4721 = load i32, ptr %287, align 4, !tbaa !5
  %4722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4713, ptr noundef nonnull %.str.25.sink2402, i32 noundef %4714, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.21, i32 noundef 471, ptr noundef %4716, ptr noundef %4718, ptr noundef %4720, i32 noundef %4721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4723:                                             ; preds = %4697
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = add nsw i32 %4724, 1
  store i32 %4725, ptr @test_count, align 4, !tbaa !5
  %4726 = load i32, ptr %24, align 4, !tbaa !5
  %4727 = icmp eq i32 %4726, 5
  br i1 %4727, label %4750, label %4728

4728:                                             ; preds = %4723
  %4729 = load i32, ptr %287, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = call i32 @s2n_print_stacktrace(ptr noundef %4730) #12
  %4732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4733 = trunc nuw i8 %4732 to i1
  br i1 %4733, label %4734, label %4738

4734:                                             ; preds = %4728
  %4735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4736 = call i32 @fileno(ptr noundef %4735) #12
  %4737 = call i32 @isatty(i32 noundef %4736) #12
  %.not672 = icmp eq i32 %4737, 0
  br i1 %.not672, label %4738, label %4739

4738:                                             ; preds = %4734, %4728
  br label %4739

4739:                                             ; preds = %4734, %4738
  %.str.25.sink2411 = phi ptr [ @.str.25, %4738 ], [ @.str.22, %4734 ]
  store i32 %4729, ptr %287, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = load i32, ptr %233, align 4, !tbaa !5
  %4743 = call ptr @s2n_strerror(i32 noundef %4742, ptr noundef nonnull @.str.24) #12
  %4744 = load i32, ptr %233, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror_debug(i32 noundef %4744, ptr noundef nonnull @.str.24) #12
  %4746 = load i32, ptr %287, align 4, !tbaa !5
  %4747 = call ptr @strerror(i32 noundef %4746) #12
  %4748 = load i32, ptr %287, align 4, !tbaa !5
  %4749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4740, ptr noundef nonnull %.str.25.sink2411, i32 noundef %4741, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.21, i32 noundef 472, ptr noundef %4743, ptr noundef %4745, ptr noundef %4747, i32 noundef %4748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4750:                                             ; preds = %4723
  %4751 = add nsw i32 %4724, 2
  store i32 %4751, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 28), align 4, !tbaa !53
  %4753 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 24), align 8, !tbaa !54
  %4754 = sub i32 %4752, %4753
  %4755 = icmp eq i32 %4754, 5
  br i1 %4755, label %4778, label %4756

4756:                                             ; preds = %4750
  %4757 = load i32, ptr %287, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = call i32 @s2n_print_stacktrace(ptr noundef %4758) #12
  %4760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4761 = trunc nuw i8 %4760 to i1
  br i1 %4761, label %4762, label %4766

4762:                                             ; preds = %4756
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @fileno(ptr noundef %4763) #12
  %4765 = call i32 @isatty(i32 noundef %4764) #12
  %.not673 = icmp eq i32 %4765, 0
  br i1 %.not673, label %4766, label %4767

4766:                                             ; preds = %4762, %4756
  br label %4767

4767:                                             ; preds = %4762, %4766
  %.str.25.sink2420 = phi ptr [ @.str.25, %4766 ], [ @.str.22, %4762 ]
  store i32 %4757, ptr %287, align 4, !tbaa !5
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = load i32, ptr %233, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef nonnull @.str.24) #12
  %4772 = load i32, ptr %233, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror_debug(i32 noundef %4772, ptr noundef nonnull @.str.24) #12
  %4774 = load i32, ptr %287, align 4, !tbaa !5
  %4775 = call ptr @strerror(i32 noundef %4774) #12
  %4776 = load i32, ptr %287, align 4, !tbaa !5
  %4777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4768, ptr noundef nonnull %.str.25.sink2420, i32 noundef %4769, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.21, i32 noundef 474, ptr noundef %4771, ptr noundef %4773, ptr noundef %4775, i32 noundef %4776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4778:                                             ; preds = %4750
  %4779 = add nsw i32 %4724, 3
  store i32 %4779, ptr @test_count, align 4, !tbaa !5
  %4780 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull @output_stuffer, i32 noundef 5) #12
  %bcmp674 = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %4780, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %4781 = icmp eq i32 %bcmp674, 0
  br i1 %4781, label %4804, label %4782

4782:                                             ; preds = %4778
  %4783 = load i32, ptr %287, align 4, !tbaa !5
  %4784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4785 = call i32 @s2n_print_stacktrace(ptr noundef %4784) #12
  %4786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4787 = trunc nuw i8 %4786 to i1
  br i1 %4787, label %4788, label %4792

4788:                                             ; preds = %4782
  %4789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4790 = call i32 @fileno(ptr noundef %4789) #12
  %4791 = call i32 @isatty(i32 noundef %4790) #12
  %.not675 = icmp eq i32 %4791, 0
  br i1 %.not675, label %4792, label %4793

4792:                                             ; preds = %4788, %4782
  br label %4793

4793:                                             ; preds = %4788, %4792
  %.str.25.sink2429 = phi ptr [ @.str.25, %4792 ], [ @.str.22, %4788 ]
  store i32 %4783, ptr %287, align 4, !tbaa !5
  %4794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4795 = load i32, ptr @test_count, align 4, !tbaa !5
  %4796 = load i32, ptr %233, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror(i32 noundef %4796, ptr noundef nonnull @.str.24) #12
  %4798 = load i32, ptr %233, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror_debug(i32 noundef %4798, ptr noundef nonnull @.str.24) #12
  %4800 = load i32, ptr %287, align 4, !tbaa !5
  %4801 = call ptr @strerror(i32 noundef %4800) #12
  %4802 = load i32, ptr %287, align 4, !tbaa !5
  %4803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4794, ptr noundef nonnull %.str.25.sink2429, i32 noundef %4795, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.21, i32 noundef 476, ptr noundef %4797, ptr noundef %4799, ptr noundef %4801, i32 noundef %4802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4804:                                             ; preds = %4778
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = add nsw i32 %4805, 1
  store i32 %4806, ptr @test_count, align 4, !tbaa !5
  %4807 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %4482)
  %4808 = icmp eq i32 %4807, 1
  br i1 %4808, label %4831, label %4809

4809:                                             ; preds = %4804
  %4810 = load i32, ptr %287, align 4, !tbaa !5
  %4811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4812 = call i32 @s2n_print_stacktrace(ptr noundef %4811) #12
  %4813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4814 = trunc nuw i8 %4813 to i1
  br i1 %4814, label %4815, label %4819

4815:                                             ; preds = %4809
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @fileno(ptr noundef %4816) #12
  %4818 = call i32 @isatty(i32 noundef %4817) #12
  %.not676 = icmp eq i32 %4818, 0
  br i1 %.not676, label %4819, label %4820

4819:                                             ; preds = %4815, %4809
  br label %4820

4820:                                             ; preds = %4815, %4819
  %.str.25.sink2438 = phi ptr [ @.str.25, %4819 ], [ @.str.22, %4815 ]
  store i32 %4810, ptr %287, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = load i32, ptr %233, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror(i32 noundef %4823, ptr noundef nonnull @.str.24) #12
  %4825 = load i32, ptr %233, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror_debug(i32 noundef %4825, ptr noundef nonnull @.str.24) #12
  %4827 = load i32, ptr %287, align 4, !tbaa !5
  %4828 = call ptr @strerror(i32 noundef %4827) #12
  %4829 = load i32, ptr %287, align 4, !tbaa !5
  %4830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef nonnull %.str.25.sink2438, i32 noundef %4822, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.21, i32 noundef 478, ptr noundef %4824, ptr noundef %4826, ptr noundef %4828, i32 noundef %4829) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4831:                                             ; preds = %4804
  %4832 = load i32, ptr @test_count, align 4, !tbaa !5
  %4833 = add nsw i32 %4832, 1
  store i32 %4833, ptr @test_count, align 4, !tbaa !5
  %4834 = call i32 @s2n_connection_free(ptr noundef nonnull %4482) #12
  %4835 = icmp eq i32 %4834, -1
  br i1 %4835, label %4836, label %4858

4836:                                             ; preds = %4831
  %4837 = load i32, ptr %287, align 4, !tbaa !5
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = call i32 @s2n_print_stacktrace(ptr noundef %4838) #12
  %4840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4841 = trunc nuw i8 %4840 to i1
  br i1 %4841, label %4842, label %4846

4842:                                             ; preds = %4836
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @fileno(ptr noundef %4843) #12
  %4845 = call i32 @isatty(i32 noundef %4844) #12
  %.not734 = icmp eq i32 %4845, 0
  br i1 %.not734, label %4846, label %4847

4846:                                             ; preds = %4842, %4836
  br label %4847

4847:                                             ; preds = %4842, %4846
  %.str.25.sink2447 = phi ptr [ @.str.25, %4846 ], [ @.str.22, %4842 ]
  store i32 %4837, ptr %287, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = load i32, ptr @test_count, align 4, !tbaa !5
  %4850 = load i32, ptr %233, align 4, !tbaa !5
  %4851 = call ptr @s2n_strerror(i32 noundef %4850, ptr noundef nonnull @.str.24) #12
  %4852 = load i32, ptr %233, align 4, !tbaa !5
  %4853 = call ptr @s2n_strerror_debug(i32 noundef %4852, ptr noundef nonnull @.str.24) #12
  %4854 = load i32, ptr %287, align 4, !tbaa !5
  %4855 = call ptr @strerror(i32 noundef %4854) #12
  %4856 = load i32, ptr %287, align 4, !tbaa !5
  %4857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4848, ptr noundef nonnull %.str.25.sink2447, i32 noundef %4849, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 480, ptr noundef %4851, ptr noundef %4853, ptr noundef %4855, i32 noundef %4856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4858:                                             ; preds = %4831
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #12
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = add nsw i32 %4859, 1
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4862 = icmp eq ptr %4861, null
  br i1 %4862, label %4863, label %4885

4863:                                             ; preds = %4858
  %4864 = load i32, ptr %287, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @s2n_print_stacktrace(ptr noundef %4865) #12
  %4867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4868 = trunc nuw i8 %4867 to i1
  br i1 %4868, label %4869, label %4873

4869:                                             ; preds = %4863
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @fileno(ptr noundef %4870) #12
  %4872 = call i32 @isatty(i32 noundef %4871) #12
  %.not733 = icmp eq i32 %4872, 0
  br i1 %.not733, label %4873, label %4874

4873:                                             ; preds = %4869, %4863
  br label %4874

4874:                                             ; preds = %4869, %4873
  %.str.25.sink2456 = phi ptr [ @.str.25, %4873 ], [ @.str.22, %4869 ]
  store i32 %4864, ptr %287, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = load i32, ptr %233, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror(i32 noundef %4877, ptr noundef nonnull @.str.24) #12
  %4879 = load i32, ptr %233, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef nonnull @.str.24) #12
  %4881 = load i32, ptr %287, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #12
  %4883 = load i32, ptr %287, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef nonnull %.str.25.sink2456, i32 noundef %4876, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.21, i32 noundef 486, ptr noundef %4878, ptr noundef %4880, ptr noundef %4882, i32 noundef %4883) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4885:                                             ; preds = %4858
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = add nsw i32 %4886, 1
  store i32 %4887, ptr @test_count, align 4, !tbaa !5
  %4888 = call i32 @s2n_setup_conn_for_client_hello(ptr noundef nonnull %4861)
  %4889 = call zeroext i1 @s2n_result_is_ok(i32 %4888)
  br i1 %4889, label %4912, label %4890

4890:                                             ; preds = %4885
  %4891 = load i32, ptr %287, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = call i32 @s2n_print_stacktrace(ptr noundef %4892) #12
  %4894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4895 = trunc nuw i8 %4894 to i1
  br i1 %4895, label %4896, label %4900

4896:                                             ; preds = %4890
  %4897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4898 = call i32 @fileno(ptr noundef %4897) #12
  %4899 = call i32 @isatty(i32 noundef %4898) #12
  %.not677 = icmp eq i32 %4899, 0
  br i1 %.not677, label %4900, label %4901

4900:                                             ; preds = %4896, %4890
  br label %4901

4901:                                             ; preds = %4896, %4900
  %.str.25.sink2465 = phi ptr [ @.str.25, %4900 ], [ @.str.22, %4896 ]
  store i32 %4891, ptr %287, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = load i32, ptr @test_count, align 4, !tbaa !5
  %4904 = load i32, ptr %233, align 4, !tbaa !5
  %4905 = call ptr @s2n_strerror(i32 noundef %4904, ptr noundef nonnull @.str.24) #12
  %4906 = load i32, ptr %233, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror_debug(i32 noundef %4906, ptr noundef nonnull @.str.24) #12
  %4908 = load i32, ptr %287, align 4, !tbaa !5
  %4909 = call ptr @strerror(i32 noundef %4908) #12
  %4910 = load i32, ptr %287, align 4, !tbaa !5
  %4911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4902, ptr noundef nonnull %.str.25.sink2465, i32 noundef %4903, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.21, i32 noundef 487, ptr noundef %4905, ptr noundef %4907, ptr noundef %4909, i32 noundef %4910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4912:                                             ; preds = %4885
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = add nsw i32 %4913, 1
  store i32 %4914, ptr @test_count, align 4, !tbaa !5
  %4915 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4861, ptr noundef nonnull %2959) #12
  %4916 = icmp eq i32 %4915, -1
  br i1 %4916, label %4917, label %4939

4917:                                             ; preds = %4912
  %4918 = load i32, ptr %287, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = call i32 @s2n_print_stacktrace(ptr noundef %4919) #12
  %4921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4922 = trunc nuw i8 %4921 to i1
  br i1 %4922, label %4923, label %4927

4923:                                             ; preds = %4917
  %4924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4925 = call i32 @fileno(ptr noundef %4924) #12
  %4926 = call i32 @isatty(i32 noundef %4925) #12
  %.not732 = icmp eq i32 %4926, 0
  br i1 %.not732, label %4927, label %4928

4927:                                             ; preds = %4923, %4917
  br label %4928

4928:                                             ; preds = %4923, %4927
  %.str.25.sink2474 = phi ptr [ @.str.25, %4927 ], [ @.str.22, %4923 ]
  store i32 %4918, ptr %287, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = load i32, ptr %233, align 4, !tbaa !5
  %4932 = call ptr @s2n_strerror(i32 noundef %4931, ptr noundef nonnull @.str.24) #12
  %4933 = load i32, ptr %233, align 4, !tbaa !5
  %4934 = call ptr @s2n_strerror_debug(i32 noundef %4933, ptr noundef nonnull @.str.24) #12
  %4935 = load i32, ptr %287, align 4, !tbaa !5
  %4936 = call ptr @strerror(i32 noundef %4935) #12
  %4937 = load i32, ptr %287, align 4, !tbaa !5
  %4938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4929, ptr noundef nonnull %.str.25.sink2474, i32 noundef %4930, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 488, ptr noundef %4932, ptr noundef %4934, ptr noundef %4936, i32 noundef %4937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4939:                                             ; preds = %4912
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %25, i8 0, i64 40, i1 false)
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = add nsw i32 %4940, 1
  store i32 %4941, ptr @test_count, align 4, !tbaa !5
  %4942 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull @input_stuffer, ptr noundef nonnull %25, ptr noundef nonnull %4861) #12
  %4943 = icmp eq i32 %4942, -1
  br i1 %4943, label %4944, label %4966

4944:                                             ; preds = %4939
  %4945 = load i32, ptr %287, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = call i32 @s2n_print_stacktrace(ptr noundef %4946) #12
  %4948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4949 = trunc nuw i8 %4948 to i1
  br i1 %4949, label %4950, label %4954

4950:                                             ; preds = %4944
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = call i32 @fileno(ptr noundef %4951) #12
  %4953 = call i32 @isatty(i32 noundef %4952) #12
  %.not731 = icmp eq i32 %4953, 0
  br i1 %.not731, label %4954, label %4955

4954:                                             ; preds = %4950, %4944
  br label %4955

4955:                                             ; preds = %4950, %4954
  %.str.25.sink2483 = phi ptr [ @.str.25, %4954 ], [ @.str.22, %4950 ]
  store i32 %4945, ptr %287, align 4, !tbaa !5
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = load i32, ptr @test_count, align 4, !tbaa !5
  %4958 = load i32, ptr %233, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror(i32 noundef %4958, ptr noundef nonnull @.str.24) #12
  %4960 = load i32, ptr %233, align 4, !tbaa !5
  %4961 = call ptr @s2n_strerror_debug(i32 noundef %4960, ptr noundef nonnull @.str.24) #12
  %4962 = load i32, ptr %287, align 4, !tbaa !5
  %4963 = call ptr @strerror(i32 noundef %4962) #12
  %4964 = load i32, ptr %287, align 4, !tbaa !5
  %4965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4956, ptr noundef nonnull %.str.25.sink2483, i32 noundef %4957, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.21, i32 noundef 492, ptr noundef %4959, ptr noundef %4961, ptr noundef %4963, i32 noundef %4964) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4966:                                             ; preds = %4939
  %4967 = load i32, ptr @test_count, align 4, !tbaa !5
  %4968 = add nsw i32 %4967, 1
  store i32 %4968, ptr @test_count, align 4, !tbaa !5
  %4969 = call i32 @s2n_negotiate(ptr noundef nonnull %4861, ptr noundef nonnull %20)
  %4970 = icmp eq i32 %4969, -1
  br i1 %4970, label %4993, label %4971

4971:                                             ; preds = %4966
  %4972 = load i32, ptr %287, align 4, !tbaa !5
  %4973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4974 = call i32 @s2n_print_stacktrace(ptr noundef %4973) #12
  %4975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4976 = trunc nuw i8 %4975 to i1
  br i1 %4976, label %4977, label %4981

4977:                                             ; preds = %4971
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = call i32 @fileno(ptr noundef %4978) #12
  %4980 = call i32 @isatty(i32 noundef %4979) #12
  %.not678 = icmp eq i32 %4980, 0
  br i1 %.not678, label %4981, label %4982

4981:                                             ; preds = %4977, %4971
  br label %4982

4982:                                             ; preds = %4977, %4981
  %.str.25.sink2492 = phi ptr [ @.str.25, %4981 ], [ @.str.22, %4977 ]
  store i32 %4972, ptr %287, align 4, !tbaa !5
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = load i32, ptr @test_count, align 4, !tbaa !5
  %4985 = load i32, ptr %233, align 4, !tbaa !5
  %4986 = call ptr @s2n_strerror(i32 noundef %4985, ptr noundef nonnull @.str.24) #12
  %4987 = load i32, ptr %233, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror_debug(i32 noundef %4987, ptr noundef nonnull @.str.24) #12
  %4989 = load i32, ptr %287, align 4, !tbaa !5
  %4990 = call ptr @strerror(i32 noundef %4989) #12
  %4991 = load i32, ptr %287, align 4, !tbaa !5
  %4992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4983, ptr noundef nonnull %.str.25.sink2492, i32 noundef %4984, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 494, ptr noundef %4986, ptr noundef %4988, ptr noundef %4990, i32 noundef %4991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4993:                                             ; preds = %4966
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = add nsw i32 %4994, 1
  store i32 %4995, ptr @test_count, align 4, !tbaa !5
  %4996 = load i32, ptr %233, align 4, !tbaa !5
  %4997 = icmp eq i32 %4996, 201326592
  br i1 %4997, label %5020, label %4998

4998:                                             ; preds = %4993
  %4999 = load i32, ptr %287, align 4, !tbaa !5
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = call i32 @s2n_print_stacktrace(ptr noundef %5000) #12
  %5002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5003 = trunc nuw i8 %5002 to i1
  br i1 %5003, label %5004, label %5008

5004:                                             ; preds = %4998
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = call i32 @fileno(ptr noundef %5005) #12
  %5007 = call i32 @isatty(i32 noundef %5006) #12
  %.not679 = icmp eq i32 %5007, 0
  br i1 %.not679, label %5008, label %5009

5008:                                             ; preds = %5004, %4998
  br label %5009

5009:                                             ; preds = %5004, %5008
  %.str.25.sink2501 = phi ptr [ @.str.25, %5008 ], [ @.str.22, %5004 ]
  store i32 %4999, ptr %287, align 4, !tbaa !5
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = load i32, ptr @test_count, align 4, !tbaa !5
  %5012 = load i32, ptr %233, align 4, !tbaa !5
  %5013 = call ptr @s2n_strerror(i32 noundef %5012, ptr noundef nonnull @.str.24) #12
  %5014 = load i32, ptr %233, align 4, !tbaa !5
  %5015 = call ptr @s2n_strerror_debug(i32 noundef %5014, ptr noundef nonnull @.str.24) #12
  %5016 = load i32, ptr %287, align 4, !tbaa !5
  %5017 = call ptr @strerror(i32 noundef %5016) #12
  %5018 = load i32, ptr %287, align 4, !tbaa !5
  %5019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5010, ptr noundef nonnull %.str.25.sink2501, i32 noundef %5011, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 494, ptr noundef %5013, ptr noundef %5015, ptr noundef %5017, i32 noundef %5018) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5020:                                             ; preds = %4993
  %5021 = add nsw i32 %4994, 2
  store i32 %5021, ptr @test_count, align 4, !tbaa !5
  %5022 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %5023 = icmp eq ptr %5022, null
  br i1 %5023, label %5024, label %5046

5024:                                             ; preds = %5020
  %5025 = load i32, ptr %287, align 4, !tbaa !5
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = call i32 @s2n_print_stacktrace(ptr noundef %5026) #12
  %5028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5029 = trunc nuw i8 %5028 to i1
  br i1 %5029, label %5030, label %5034

5030:                                             ; preds = %5024
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = call i32 @fileno(ptr noundef %5031) #12
  %5033 = call i32 @isatty(i32 noundef %5032) #12
  %.not730 = icmp eq i32 %5033, 0
  br i1 %.not730, label %5034, label %5035

5034:                                             ; preds = %5030, %5024
  br label %5035

5035:                                             ; preds = %5030, %5034
  %.str.25.sink2510 = phi ptr [ @.str.25, %5034 ], [ @.str.22, %5030 ]
  store i32 %5025, ptr %287, align 4, !tbaa !5
  %5036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5037 = load i32, ptr @test_count, align 4, !tbaa !5
  %5038 = load i32, ptr %233, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef nonnull @.str.24) #12
  %5040 = load i32, ptr %233, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef nonnull @.str.24) #12
  %5042 = load i32, ptr %287, align 4, !tbaa !5
  %5043 = call ptr @strerror(i32 noundef %5042) #12
  %5044 = load i32, ptr %287, align 4, !tbaa !5
  %5045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5036, ptr noundef nonnull %.str.25.sink2510, i32 noundef %5037, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 494, ptr noundef %5039, ptr noundef %5041, ptr noundef %5043, i32 noundef %5044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5046:                                             ; preds = %5020
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = add nsw i32 %5047, 1
  store i32 %5048, ptr @test_count, align 4, !tbaa !5
  %5049 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %4861)
  %5050 = icmp eq i32 %5049, 0
  br i1 %5050, label %5073, label %5051

5051:                                             ; preds = %5046
  %5052 = load i32, ptr %287, align 4, !tbaa !5
  %5053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5054 = call i32 @s2n_print_stacktrace(ptr noundef %5053) #12
  %5055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5056 = trunc nuw i8 %5055 to i1
  br i1 %5056, label %5057, label %5061

5057:                                             ; preds = %5051
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = call i32 @fileno(ptr noundef %5058) #12
  %5060 = call i32 @isatty(i32 noundef %5059) #12
  %.not680 = icmp eq i32 %5060, 0
  br i1 %.not680, label %5061, label %5062

5061:                                             ; preds = %5057, %5051
  br label %5062

5062:                                             ; preds = %5057, %5061
  %.str.25.sink2519 = phi ptr [ @.str.25, %5061 ], [ @.str.22, %5057 ]
  store i32 %5052, ptr %287, align 4, !tbaa !5
  %5063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = load i32, ptr %233, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror(i32 noundef %5065, ptr noundef nonnull @.str.24) #12
  %5067 = load i32, ptr %233, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror_debug(i32 noundef %5067, ptr noundef nonnull @.str.24) #12
  %5069 = load i32, ptr %287, align 4, !tbaa !5
  %5070 = call ptr @strerror(i32 noundef %5069) #12
  %5071 = load i32, ptr %287, align 4, !tbaa !5
  %5072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5063, ptr noundef nonnull %.str.25.sink2519, i32 noundef %5064, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.21, i32 noundef 495, ptr noundef %5066, ptr noundef %5068, ptr noundef %5070, i32 noundef %5071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5073:                                             ; preds = %5046
  %5074 = load i32, ptr @test_count, align 4, !tbaa !5
  %5075 = add nsw i32 %5074, 1
  store i32 %5075, ptr @test_count, align 4, !tbaa !5
  %5076 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 28), align 4, !tbaa !53
  %5077 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 24), align 8, !tbaa !54
  %5078 = icmp eq i32 %5076, %5077
  br i1 %5078, label %5101, label %5079

5079:                                             ; preds = %5073
  %5080 = load i32, ptr %287, align 4, !tbaa !5
  %5081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5082 = call i32 @s2n_print_stacktrace(ptr noundef %5081) #12
  %5083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5084 = trunc nuw i8 %5083 to i1
  br i1 %5084, label %5085, label %5089

5085:                                             ; preds = %5079
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = call i32 @fileno(ptr noundef %5086) #12
  %5088 = call i32 @isatty(i32 noundef %5087) #12
  %.not681 = icmp eq i32 %5088, 0
  br i1 %.not681, label %5089, label %5090

5089:                                             ; preds = %5085, %5079
  br label %5090

5090:                                             ; preds = %5085, %5089
  %.str.25.sink2528 = phi ptr [ @.str.25, %5089 ], [ @.str.22, %5085 ]
  store i32 %5080, ptr %287, align 4, !tbaa !5
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %5093 = load i32, ptr %233, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror(i32 noundef %5093, ptr noundef nonnull @.str.24) #12
  %5095 = load i32, ptr %233, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror_debug(i32 noundef %5095, ptr noundef nonnull @.str.24) #12
  %5097 = load i32, ptr %287, align 4, !tbaa !5
  %5098 = call ptr @strerror(i32 noundef %5097) #12
  %5099 = load i32, ptr %287, align 4, !tbaa !5
  %5100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5091, ptr noundef nonnull %.str.25.sink2528, i32 noundef %5092, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.21, i32 noundef 496, ptr noundef %5094, ptr noundef %5096, ptr noundef %5098, i32 noundef %5099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5101:                                             ; preds = %5073
  %5102 = add nsw i32 %5074, 2
  store i32 %5102, ptr @test_count, align 4, !tbaa !5
  %5103 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull @input_stuffer, ptr noundef nonnull @output_stuffer, ptr noundef nonnull %4861) #12
  %5104 = icmp eq i32 %5103, -1
  br i1 %5104, label %5105, label %5127

5105:                                             ; preds = %5101
  %5106 = load i32, ptr %287, align 4, !tbaa !5
  %5107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5108 = call i32 @s2n_print_stacktrace(ptr noundef %5107) #12
  %5109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5110 = trunc nuw i8 %5109 to i1
  br i1 %5110, label %5111, label %5115

5111:                                             ; preds = %5105
  %5112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5113 = call i32 @fileno(ptr noundef %5112) #12
  %5114 = call i32 @isatty(i32 noundef %5113) #12
  %.not729 = icmp eq i32 %5114, 0
  br i1 %.not729, label %5115, label %5116

5115:                                             ; preds = %5111, %5105
  br label %5116

5116:                                             ; preds = %5111, %5115
  %.str.25.sink2537 = phi ptr [ @.str.25, %5115 ], [ @.str.22, %5111 ]
  store i32 %5106, ptr %287, align 4, !tbaa !5
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = load i32, ptr @test_count, align 4, !tbaa !5
  %5119 = load i32, ptr %233, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror(i32 noundef %5119, ptr noundef nonnull @.str.24) #12
  %5121 = load i32, ptr %233, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror_debug(i32 noundef %5121, ptr noundef nonnull @.str.24) #12
  %5123 = load i32, ptr %287, align 4, !tbaa !5
  %5124 = call ptr @strerror(i32 noundef %5123) #12
  %5125 = load i32, ptr %287, align 4, !tbaa !5
  %5126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5117, ptr noundef nonnull %.str.25.sink2537, i32 noundef %5118, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.21, i32 noundef 499, ptr noundef %5120, ptr noundef %5122, ptr noundef %5124, i32 noundef %5125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5127:                                             ; preds = %5101
  %5128 = load i32, ptr @test_count, align 4, !tbaa !5
  %5129 = add nsw i32 %5128, 1
  store i32 %5129, ptr @test_count, align 4, !tbaa !5
  %5130 = call i32 @s2n_negotiate(ptr noundef nonnull %4861, ptr noundef nonnull %20)
  %5131 = icmp eq i32 %5130, -1
  br i1 %5131, label %5154, label %5132

5132:                                             ; preds = %5127
  %5133 = load i32, ptr %287, align 4, !tbaa !5
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = call i32 @s2n_print_stacktrace(ptr noundef %5134) #12
  %5136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5137 = trunc nuw i8 %5136 to i1
  br i1 %5137, label %5138, label %5142

5138:                                             ; preds = %5132
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = call i32 @fileno(ptr noundef %5139) #12
  %5141 = call i32 @isatty(i32 noundef %5140) #12
  %.not682 = icmp eq i32 %5141, 0
  br i1 %.not682, label %5142, label %5143

5142:                                             ; preds = %5138, %5132
  br label %5143

5143:                                             ; preds = %5138, %5142
  %.str.25.sink2546 = phi ptr [ @.str.25, %5142 ], [ @.str.22, %5138 ]
  store i32 %5133, ptr %287, align 4, !tbaa !5
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = load i32, ptr %233, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror(i32 noundef %5146, ptr noundef nonnull @.str.24) #12
  %5148 = load i32, ptr %233, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror_debug(i32 noundef %5148, ptr noundef nonnull @.str.24) #12
  %5150 = load i32, ptr %287, align 4, !tbaa !5
  %5151 = call ptr @strerror(i32 noundef %5150) #12
  %5152 = load i32, ptr %287, align 4, !tbaa !5
  %5153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5144, ptr noundef nonnull %.str.25.sink2546, i32 noundef %5145, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.21, i32 noundef 501, ptr noundef %5147, ptr noundef %5149, ptr noundef %5151, i32 noundef %5152) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5154:                                             ; preds = %5127
  %5155 = load i32, ptr @test_count, align 4, !tbaa !5
  %5156 = add nsw i32 %5155, 1
  store i32 %5156, ptr @test_count, align 4, !tbaa !5
  %5157 = load i32, ptr %233, align 4, !tbaa !5
  %5158 = icmp eq i32 %5157, 201326592
  br i1 %5158, label %5181, label %5159

5159:                                             ; preds = %5154
  %5160 = load i32, ptr %287, align 4, !tbaa !5
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5162 = call i32 @s2n_print_stacktrace(ptr noundef %5161) #12
  %5163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5164 = trunc nuw i8 %5163 to i1
  br i1 %5164, label %5165, label %5169

5165:                                             ; preds = %5159
  %5166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5167 = call i32 @fileno(ptr noundef %5166) #12
  %5168 = call i32 @isatty(i32 noundef %5167) #12
  %.not683 = icmp eq i32 %5168, 0
  br i1 %.not683, label %5169, label %5170

5169:                                             ; preds = %5165, %5159
  br label %5170

5170:                                             ; preds = %5165, %5169
  %.str.25.sink2555 = phi ptr [ @.str.25, %5169 ], [ @.str.22, %5165 ]
  store i32 %5160, ptr %287, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = load i32, ptr @test_count, align 4, !tbaa !5
  %5173 = load i32, ptr %233, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror(i32 noundef %5173, ptr noundef nonnull @.str.24) #12
  %5175 = load i32, ptr %233, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror_debug(i32 noundef %5175, ptr noundef nonnull @.str.24) #12
  %5177 = load i32, ptr %287, align 4, !tbaa !5
  %5178 = call ptr @strerror(i32 noundef %5177) #12
  %5179 = load i32, ptr %287, align 4, !tbaa !5
  %5180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5171, ptr noundef nonnull %.str.25.sink2555, i32 noundef %5172, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 501, ptr noundef %5174, ptr noundef %5176, ptr noundef %5178, i32 noundef %5179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5181:                                             ; preds = %5154
  %5182 = add nsw i32 %5155, 2
  store i32 %5182, ptr @test_count, align 4, !tbaa !5
  %5183 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %5184 = icmp eq ptr %5183, null
  br i1 %5184, label %5185, label %5207

5185:                                             ; preds = %5181
  %5186 = load i32, ptr %287, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @s2n_print_stacktrace(ptr noundef %5187) #12
  %5189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5190 = trunc nuw i8 %5189 to i1
  br i1 %5190, label %5191, label %5195

5191:                                             ; preds = %5185
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = call i32 @fileno(ptr noundef %5192) #12
  %5194 = call i32 @isatty(i32 noundef %5193) #12
  %.not728 = icmp eq i32 %5194, 0
  br i1 %.not728, label %5195, label %5196

5195:                                             ; preds = %5191, %5185
  br label %5196

5196:                                             ; preds = %5191, %5195
  %.str.25.sink2564 = phi ptr [ @.str.25, %5195 ], [ @.str.22, %5191 ]
  store i32 %5186, ptr %287, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = load i32, ptr %233, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror(i32 noundef %5199, ptr noundef nonnull @.str.24) #12
  %5201 = load i32, ptr %233, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror_debug(i32 noundef %5201, ptr noundef nonnull @.str.24) #12
  %5203 = load i32, ptr %287, align 4, !tbaa !5
  %5204 = call ptr @strerror(i32 noundef %5203) #12
  %5205 = load i32, ptr %287, align 4, !tbaa !5
  %5206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef nonnull %.str.25.sink2564, i32 noundef %5198, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 501, ptr noundef %5200, ptr noundef %5202, ptr noundef %5204, i32 noundef %5205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5207:                                             ; preds = %5181
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %5208 = load i32, ptr @test_count, align 4, !tbaa !5
  %5209 = add nsw i32 %5208, 1
  store i32 %5209, ptr @test_count, align 4, !tbaa !5
  %5210 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %4861)
  %5211 = icmp eq i32 %5210, 1
  br i1 %5211, label %5234, label %5212

5212:                                             ; preds = %5207
  %5213 = load i32, ptr %287, align 4, !tbaa !5
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = call i32 @s2n_print_stacktrace(ptr noundef %5214) #12
  %5216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5217 = trunc nuw i8 %5216 to i1
  br i1 %5217, label %5218, label %5222

5218:                                             ; preds = %5212
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = call i32 @fileno(ptr noundef %5219) #12
  %5221 = call i32 @isatty(i32 noundef %5220) #12
  %.not684 = icmp eq i32 %5221, 0
  br i1 %.not684, label %5222, label %5223

5222:                                             ; preds = %5218, %5212
  br label %5223

5223:                                             ; preds = %5218, %5222
  %.str.25.sink2573 = phi ptr [ @.str.25, %5222 ], [ @.str.22, %5218 ]
  store i32 %5213, ptr %287, align 4, !tbaa !5
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = load i32, ptr %233, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror(i32 noundef %5226, ptr noundef nonnull @.str.24) #12
  %5228 = load i32, ptr %233, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror_debug(i32 noundef %5228, ptr noundef nonnull @.str.24) #12
  %5230 = load i32, ptr %287, align 4, !tbaa !5
  %5231 = call ptr @strerror(i32 noundef %5230) #12
  %5232 = load i32, ptr %287, align 4, !tbaa !5
  %5233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5224, ptr noundef nonnull %.str.25.sink2573, i32 noundef %5225, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.21, i32 noundef 502, ptr noundef %5227, ptr noundef %5229, ptr noundef %5231, i32 noundef %5232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5234:                                             ; preds = %5207
  %5235 = load i32, ptr @test_count, align 4, !tbaa !5
  %5236 = add nsw i32 %5235, 1
  store i32 %5236, ptr @test_count, align 4, !tbaa !5
  %5237 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 28), align 4, !tbaa !53
  %5238 = load i32, ptr getelementptr inbounds (i8, ptr @output_stuffer, i64 24), align 8, !tbaa !54
  %5239 = sub i32 %5237, %5238
  %5240 = icmp eq i32 %5239, %4643
  br i1 %5240, label %5263, label %5241

5241:                                             ; preds = %5234
  %5242 = load i32, ptr %287, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = call i32 @s2n_print_stacktrace(ptr noundef %5243) #12
  %5245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5246 = trunc nuw i8 %5245 to i1
  br i1 %5246, label %5247, label %5251

5247:                                             ; preds = %5241
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = call i32 @fileno(ptr noundef %5248) #12
  %5250 = call i32 @isatty(i32 noundef %5249) #12
  %.not685 = icmp eq i32 %5250, 0
  br i1 %.not685, label %5251, label %5252

5251:                                             ; preds = %5247, %5241
  br label %5252

5252:                                             ; preds = %5247, %5251
  %.str.25.sink2582 = phi ptr [ @.str.25, %5251 ], [ @.str.22, %5247 ]
  store i32 %5242, ptr %287, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = load i32, ptr @test_count, align 4, !tbaa !5
  %5255 = load i32, ptr %233, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror(i32 noundef %5255, ptr noundef nonnull @.str.24) #12
  %5257 = load i32, ptr %233, align 4, !tbaa !5
  %5258 = call ptr @s2n_strerror_debug(i32 noundef %5257, ptr noundef nonnull @.str.24) #12
  %5259 = load i32, ptr %287, align 4, !tbaa !5
  %5260 = call ptr @strerror(i32 noundef %5259) #12
  %5261 = load i32, ptr %287, align 4, !tbaa !5
  %5262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5253, ptr noundef nonnull %.str.25.sink2582, i32 noundef %5254, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.21, i32 noundef 503, ptr noundef %5256, ptr noundef %5258, ptr noundef %5260, i32 noundef %5261) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5263:                                             ; preds = %5234
  %5264 = add nsw i32 %5235, 2
  store i32 %5264, ptr @test_count, align 4, !tbaa !5
  %5265 = call i32 @s2n_connection_free(ptr noundef nonnull %4861) #12
  %5266 = icmp eq i32 %5265, -1
  br i1 %5266, label %5267, label %5289

5267:                                             ; preds = %5263
  %5268 = load i32, ptr %287, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = call i32 @s2n_print_stacktrace(ptr noundef %5269) #12
  %5271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5272 = trunc nuw i8 %5271 to i1
  br i1 %5272, label %5273, label %5277

5273:                                             ; preds = %5267
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @fileno(ptr noundef %5274) #12
  %5276 = call i32 @isatty(i32 noundef %5275) #12
  %.not727 = icmp eq i32 %5276, 0
  br i1 %.not727, label %5277, label %5278

5277:                                             ; preds = %5273, %5267
  br label %5278

5278:                                             ; preds = %5273, %5277
  %.str.25.sink2591 = phi ptr [ @.str.25, %5277 ], [ @.str.22, %5273 ]
  store i32 %5268, ptr %287, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = load i32, ptr %233, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror(i32 noundef %5281, ptr noundef nonnull @.str.24) #12
  %5283 = load i32, ptr %233, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror_debug(i32 noundef %5283, ptr noundef nonnull @.str.24) #12
  %5285 = load i32, ptr %287, align 4, !tbaa !5
  %5286 = call ptr @strerror(i32 noundef %5285) #12
  %5287 = load i32, ptr %287, align 4, !tbaa !5
  %5288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5279, ptr noundef nonnull %.str.25.sink2591, i32 noundef %5280, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.21, i32 noundef 505, ptr noundef %5282, ptr noundef %5284, ptr noundef %5286, i32 noundef %5287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5289:                                             ; preds = %5263
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = add nsw i32 %5290, 1
  store i32 %5291, ptr @test_count, align 4, !tbaa !5
  %5292 = call i32 @s2n_stuffer_free(ptr noundef nonnull @input_stuffer) #12
  %5293 = icmp eq i32 %5292, -1
  br i1 %5293, label %5294, label %5316

5294:                                             ; preds = %5289
  %5295 = load i32, ptr %287, align 4, !tbaa !5
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @s2n_print_stacktrace(ptr noundef %5296) #12
  %5298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5299 = trunc nuw i8 %5298 to i1
  br i1 %5299, label %5300, label %5304

5300:                                             ; preds = %5294
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = call i32 @fileno(ptr noundef %5301) #12
  %5303 = call i32 @isatty(i32 noundef %5302) #12
  %.not726 = icmp eq i32 %5303, 0
  br i1 %.not726, label %5304, label %5305

5304:                                             ; preds = %5300, %5294
  br label %5305

5305:                                             ; preds = %5300, %5304
  %.str.25.sink2600 = phi ptr [ @.str.25, %5304 ], [ @.str.22, %5300 ]
  store i32 %5295, ptr %287, align 4, !tbaa !5
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5307 = load i32, ptr @test_count, align 4, !tbaa !5
  %5308 = load i32, ptr %233, align 4, !tbaa !5
  %5309 = call ptr @s2n_strerror(i32 noundef %5308, ptr noundef nonnull @.str.24) #12
  %5310 = load i32, ptr %233, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef nonnull @.str.24) #12
  %5312 = load i32, ptr %287, align 4, !tbaa !5
  %5313 = call ptr @strerror(i32 noundef %5312) #12
  %5314 = load i32, ptr %287, align 4, !tbaa !5
  %5315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5306, ptr noundef nonnull %.str.25.sink2600, i32 noundef %5307, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.21, i32 noundef 508, ptr noundef %5309, ptr noundef %5311, ptr noundef %5313, i32 noundef %5314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5316:                                             ; preds = %5289
  %5317 = load i32, ptr @test_count, align 4, !tbaa !5
  %5318 = add nsw i32 %5317, 1
  store i32 %5318, ptr @test_count, align 4, !tbaa !5
  %5319 = call i32 @s2n_stuffer_free(ptr noundef nonnull @output_stuffer) #12
  %5320 = icmp eq i32 %5319, -1
  br i1 %5320, label %5321, label %5343

5321:                                             ; preds = %5316
  %5322 = load i32, ptr %287, align 4, !tbaa !5
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = call i32 @s2n_print_stacktrace(ptr noundef %5323) #12
  %5325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5326 = trunc nuw i8 %5325 to i1
  br i1 %5326, label %5327, label %5331

5327:                                             ; preds = %5321
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = call i32 @fileno(ptr noundef %5328) #12
  %5330 = call i32 @isatty(i32 noundef %5329) #12
  %.not725 = icmp eq i32 %5330, 0
  br i1 %.not725, label %5331, label %5332

5331:                                             ; preds = %5327, %5321
  br label %5332

5332:                                             ; preds = %5327, %5331
  %.str.25.sink2609 = phi ptr [ @.str.25, %5331 ], [ @.str.22, %5327 ]
  store i32 %5322, ptr %287, align 4, !tbaa !5
  %5333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5334 = load i32, ptr @test_count, align 4, !tbaa !5
  %5335 = load i32, ptr %233, align 4, !tbaa !5
  %5336 = call ptr @s2n_strerror(i32 noundef %5335, ptr noundef nonnull @.str.24) #12
  %5337 = load i32, ptr %233, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror_debug(i32 noundef %5337, ptr noundef nonnull @.str.24) #12
  %5339 = load i32, ptr %287, align 4, !tbaa !5
  %5340 = call ptr @strerror(i32 noundef %5339) #12
  %5341 = load i32, ptr %287, align 4, !tbaa !5
  %5342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5333, ptr noundef nonnull %.str.25.sink2609, i32 noundef %5334, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.21, i32 noundef 509, ptr noundef %5336, ptr noundef %5338, ptr noundef %5340, i32 noundef %5341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5343:                                             ; preds = %5316
  %5344 = load i32, ptr @test_count, align 4, !tbaa !5
  %5345 = add nsw i32 %5344, 1
  store i32 %5345, ptr @test_count, align 4, !tbaa !5
  %5346 = call i32 @s2n_config_free(ptr noundef nonnull %2959) #12
  %5347 = icmp eq i32 %5346, -1
  br i1 %5347, label %5348, label %5371

5348:                                             ; preds = %5343
  %5349 = load i32, ptr %287, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = call i32 @s2n_print_stacktrace(ptr noundef %5350) #12
  %5352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5353 = trunc nuw i8 %5352 to i1
  br i1 %5353, label %5354, label %5358

5354:                                             ; preds = %5348
  %5355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5356 = call i32 @fileno(ptr noundef %5355) #12
  %5357 = call i32 @isatty(i32 noundef %5356) #12
  %.not724 = icmp eq i32 %5357, 0
  br i1 %.not724, label %5358, label %5359

5358:                                             ; preds = %5354, %5348
  br label %5359

5359:                                             ; preds = %5354, %5358
  %.str.25.sink2618 = phi ptr [ @.str.25, %5358 ], [ @.str.22, %5354 ]
  store i32 %5349, ptr %287, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = load i32, ptr @test_count, align 4, !tbaa !5
  %5362 = load i32, ptr %233, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror(i32 noundef %5362, ptr noundef nonnull @.str.24) #12
  %5364 = load i32, ptr %233, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror_debug(i32 noundef %5364, ptr noundef nonnull @.str.24) #12
  %5366 = load i32, ptr %287, align 4, !tbaa !5
  %5367 = call ptr @strerror(i32 noundef %5366) #12
  %5368 = load i32, ptr %287, align 4, !tbaa !5
  %5369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5360, ptr noundef nonnull %.str.25.sink2618, i32 noundef %5361, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.21, i32 noundef 510, ptr noundef %5363, ptr noundef %5365, ptr noundef %5367, i32 noundef %5368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.thread858:                                       ; preds = %4128, %4131, %4134, %4137, %4357, %4360, %4363, %4366, %4369
  %5370 = call i32 @s2n_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  br label %6367

5371:                                             ; preds = %5343
  %5372 = call i32 @s2n_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #12
  store i32 0, ptr %26, align 4, !tbaa !5
  %5373 = load i32, ptr @test_count, align 4, !tbaa !5
  %5374 = add nsw i32 %5373, 1
  store i32 %5374, ptr @test_count, align 4, !tbaa !5
  %5375 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef null, ptr noundef nonnull %26) #12
  %5376 = icmp eq i32 %5375, -1
  br i1 %5376, label %5399, label %5377

5377:                                             ; preds = %5371
  %5378 = load i32, ptr %287, align 4, !tbaa !5
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = call i32 @s2n_print_stacktrace(ptr noundef %5379) #12
  %5381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5382 = trunc nuw i8 %5381 to i1
  br i1 %5382, label %5383, label %5387

5383:                                             ; preds = %5377
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5385 = call i32 @fileno(ptr noundef %5384) #12
  %5386 = call i32 @isatty(i32 noundef %5385) #12
  %.not686 = icmp eq i32 %5386, 0
  br i1 %.not686, label %5387, label %5388

5387:                                             ; preds = %5383, %5377
  br label %5388

5388:                                             ; preds = %5383, %5387
  %.str.25.sink2627 = phi ptr [ @.str.25, %5387 ], [ @.str.22, %5383 ]
  store i32 %5378, ptr %287, align 4, !tbaa !5
  %5389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5390 = load i32, ptr @test_count, align 4, !tbaa !5
  %5391 = load i32, ptr %233, align 4, !tbaa !5
  %5392 = call ptr @s2n_strerror(i32 noundef %5391, ptr noundef nonnull @.str.24) #12
  %5393 = load i32, ptr %233, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror_debug(i32 noundef %5393, ptr noundef nonnull @.str.24) #12
  %5395 = load i32, ptr %287, align 4, !tbaa !5
  %5396 = call ptr @strerror(i32 noundef %5395) #12
  %5397 = load i32, ptr %287, align 4, !tbaa !5
  %5398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5389, ptr noundef nonnull %.str.25.sink2627, i32 noundef %5390, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.21, i32 noundef 517, ptr noundef %5392, ptr noundef %5394, ptr noundef %5396, i32 noundef %5397) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5399:                                             ; preds = %5371
  %5400 = load i32, ptr @test_count, align 4, !tbaa !5
  %5401 = add nsw i32 %5400, 1
  store i32 %5401, ptr @test_count, align 4, !tbaa !5
  %5402 = load i32, ptr %233, align 4, !tbaa !5
  %5403 = icmp eq i32 %5402, 0
  br i1 %5403, label %5404, label %5426

5404:                                             ; preds = %5399
  %5405 = load i32, ptr %287, align 4, !tbaa !5
  %5406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5407 = call i32 @s2n_print_stacktrace(ptr noundef %5406) #12
  %5408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5409 = trunc nuw i8 %5408 to i1
  br i1 %5409, label %5410, label %5414

5410:                                             ; preds = %5404
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5412 = call i32 @fileno(ptr noundef %5411) #12
  %5413 = call i32 @isatty(i32 noundef %5412) #12
  %.not723 = icmp eq i32 %5413, 0
  br i1 %.not723, label %5414, label %5415

5414:                                             ; preds = %5410, %5404
  br label %5415

5415:                                             ; preds = %5410, %5414
  %.str.25.sink2636 = phi ptr [ @.str.25, %5414 ], [ @.str.22, %5410 ]
  store i32 %5405, ptr %287, align 4, !tbaa !5
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = load i32, ptr @test_count, align 4, !tbaa !5
  %5418 = load i32, ptr %233, align 4, !tbaa !5
  %5419 = call ptr @s2n_strerror(i32 noundef %5418, ptr noundef nonnull @.str.24) #12
  %5420 = load i32, ptr %233, align 4, !tbaa !5
  %5421 = call ptr @s2n_strerror_debug(i32 noundef %5420, ptr noundef nonnull @.str.24) #12
  %5422 = load i32, ptr %287, align 4, !tbaa !5
  %5423 = call ptr @strerror(i32 noundef %5422) #12
  %5424 = load i32, ptr %287, align 4, !tbaa !5
  %5425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5416, ptr noundef nonnull %.str.25.sink2636, i32 noundef %5417, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.21, i32 noundef 517, ptr noundef %5419, ptr noundef %5421, ptr noundef %5423, i32 noundef %5424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5426:                                             ; preds = %5399
  %5427 = add nsw i32 %5400, 2
  store i32 %5427, ptr @test_count, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror_debug(i32 noundef %5402, ptr noundef nonnull @.str.24) #12
  %5429 = icmp eq ptr %5428, null
  br i1 %5429, label %5430, label %5452

5430:                                             ; preds = %5426
  %5431 = load i32, ptr %287, align 4, !tbaa !5
  %5432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5433 = call i32 @s2n_print_stacktrace(ptr noundef %5432) #12
  %5434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5435 = trunc nuw i8 %5434 to i1
  br i1 %5435, label %5436, label %5440

5436:                                             ; preds = %5430
  %5437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5438 = call i32 @fileno(ptr noundef %5437) #12
  %5439 = call i32 @isatty(i32 noundef %5438) #12
  %.not722 = icmp eq i32 %5439, 0
  br i1 %.not722, label %5440, label %5441

5440:                                             ; preds = %5436, %5430
  br label %5441

5441:                                             ; preds = %5436, %5440
  %.str.25.sink2645 = phi ptr [ @.str.25, %5440 ], [ @.str.22, %5436 ]
  store i32 %5431, ptr %287, align 4, !tbaa !5
  %5442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5443 = load i32, ptr @test_count, align 4, !tbaa !5
  %5444 = load i32, ptr %233, align 4, !tbaa !5
  %5445 = call ptr @s2n_strerror(i32 noundef %5444, ptr noundef nonnull @.str.24) #12
  %5446 = load i32, ptr %233, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror_debug(i32 noundef %5446, ptr noundef nonnull @.str.24) #12
  %5448 = load i32, ptr %287, align 4, !tbaa !5
  %5449 = call ptr @strerror(i32 noundef %5448) #12
  %5450 = load i32, ptr %287, align 4, !tbaa !5
  %5451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5442, ptr noundef nonnull %.str.25.sink2645, i32 noundef %5443, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 517, ptr noundef %5445, ptr noundef %5447, ptr noundef %5449, i32 noundef %5450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5452:                                             ; preds = %5426
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %27) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %27, ptr noundef nonnull align 16 dereferenceable(22) @__const.main.ticket_message_bytes, i64 22, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %5453 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5453, ptr %28, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %29, i8 0, i64 40, i1 false)
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = add nsw i32 %5454, 1
  store i32 %5455, ptr @test_count, align 4, !tbaa !5
  %5456 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %29, i32 noundef 0) #12
  %5457 = icmp eq i32 %5456, -1
  br i1 %5457, label %5458, label %5480

5458:                                             ; preds = %5452
  %5459 = load i32, ptr %287, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @s2n_print_stacktrace(ptr noundef %5460) #12
  %5462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5463 = trunc nuw i8 %5462 to i1
  br i1 %5463, label %5464, label %5468

5464:                                             ; preds = %5458
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = call i32 @fileno(ptr noundef %5465) #12
  %5467 = call i32 @isatty(i32 noundef %5466) #12
  %.not721 = icmp eq i32 %5467, 0
  br i1 %.not721, label %5468, label %5469

5468:                                             ; preds = %5464, %5458
  br label %5469

5469:                                             ; preds = %5464, %5468
  %.str.25.sink2654 = phi ptr [ @.str.25, %5468 ], [ @.str.22, %5464 ]
  store i32 %5459, ptr %287, align 4, !tbaa !5
  %5470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5471 = load i32, ptr @test_count, align 4, !tbaa !5
  %5472 = load i32, ptr %233, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror(i32 noundef %5472, ptr noundef nonnull @.str.24) #12
  %5474 = load i32, ptr %233, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef nonnull @.str.24) #12
  %5476 = load i32, ptr %287, align 4, !tbaa !5
  %5477 = call ptr @strerror(i32 noundef %5476) #12
  %5478 = load i32, ptr %287, align 4, !tbaa !5
  %5479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5470, ptr noundef nonnull %.str.25.sink2654, i32 noundef %5471, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 538, ptr noundef %5473, ptr noundef %5475, ptr noundef %5477, i32 noundef %5478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5480:                                             ; preds = %5452
  %5481 = load i32, ptr @test_count, align 4, !tbaa !5
  %5482 = add nsw i32 %5481, 1
  store i32 %5482, ptr @test_count, align 4, !tbaa !5
  %5483 = load ptr, ptr %28, align 8, !tbaa !9
  %5484 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %29, ptr noundef nonnull %29, ptr noundef %5483) #12
  %5485 = icmp eq i32 %5484, -1
  br i1 %5485, label %5486, label %5508

5486:                                             ; preds = %5480
  %5487 = load i32, ptr %287, align 4, !tbaa !5
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = call i32 @s2n_print_stacktrace(ptr noundef %5488) #12
  %5490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5491 = trunc nuw i8 %5490 to i1
  br i1 %5491, label %5492, label %5496

5492:                                             ; preds = %5486
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5494 = call i32 @fileno(ptr noundef %5493) #12
  %5495 = call i32 @isatty(i32 noundef %5494) #12
  %.not720 = icmp eq i32 %5495, 0
  br i1 %.not720, label %5496, label %5497

5496:                                             ; preds = %5492, %5486
  br label %5497

5497:                                             ; preds = %5492, %5496
  %.str.25.sink2663 = phi ptr [ @.str.25, %5496 ], [ @.str.22, %5492 ]
  store i32 %5487, ptr %287, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %5500 = load i32, ptr %233, align 4, !tbaa !5
  %5501 = call ptr @s2n_strerror(i32 noundef %5500, ptr noundef nonnull @.str.24) #12
  %5502 = load i32, ptr %233, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror_debug(i32 noundef %5502, ptr noundef nonnull @.str.24) #12
  %5504 = load i32, ptr %287, align 4, !tbaa !5
  %5505 = call ptr @strerror(i32 noundef %5504) #12
  %5506 = load i32, ptr %287, align 4, !tbaa !5
  %5507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5498, ptr noundef nonnull %.str.25.sink2663, i32 noundef %5499, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 539, ptr noundef %5501, ptr noundef %5503, ptr noundef %5505, i32 noundef %5506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5508:                                             ; preds = %5480
  %5509 = load i32, ptr @test_count, align 4, !tbaa !5
  %5510 = add nsw i32 %5509, 1
  store i32 %5510, ptr @test_count, align 4, !tbaa !5
  %5511 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %29, i8 noundef zeroext 24) #12
  %5512 = icmp eq i32 %5511, -1
  br i1 %5512, label %5513, label %5535

5513:                                             ; preds = %5508
  %5514 = load i32, ptr %287, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = call i32 @s2n_print_stacktrace(ptr noundef %5515) #12
  %5517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5518 = trunc nuw i8 %5517 to i1
  br i1 %5518, label %5519, label %5523

5519:                                             ; preds = %5513
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = call i32 @fileno(ptr noundef %5520) #12
  %5522 = call i32 @isatty(i32 noundef %5521) #12
  %.not719 = icmp eq i32 %5522, 0
  br i1 %.not719, label %5523, label %5524

5523:                                             ; preds = %5519, %5513
  br label %5524

5524:                                             ; preds = %5519, %5523
  %.str.25.sink2672 = phi ptr [ @.str.25, %5523 ], [ @.str.22, %5519 ]
  store i32 %5514, ptr %287, align 4, !tbaa !5
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = load i32, ptr @test_count, align 4, !tbaa !5
  %5527 = load i32, ptr %233, align 4, !tbaa !5
  %5528 = call ptr @s2n_strerror(i32 noundef %5527, ptr noundef nonnull @.str.24) #12
  %5529 = load i32, ptr %233, align 4, !tbaa !5
  %5530 = call ptr @s2n_strerror_debug(i32 noundef %5529, ptr noundef nonnull @.str.24) #12
  %5531 = load i32, ptr %287, align 4, !tbaa !5
  %5532 = call ptr @strerror(i32 noundef %5531) #12
  %5533 = load i32, ptr %287, align 4, !tbaa !5
  %5534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5525, ptr noundef nonnull %.str.25.sink2672, i32 noundef %5526, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.21, i32 noundef 542, ptr noundef %5528, ptr noundef %5530, ptr noundef %5532, i32 noundef %5533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5535:                                             ; preds = %5508
  %5536 = load i32, ptr @test_count, align 4, !tbaa !5
  %5537 = add nsw i32 %5536, 1
  store i32 %5537, ptr @test_count, align 4, !tbaa !5
  %5538 = call i32 @s2n_stuffer_write_uint24(ptr noundef nonnull %29, i32 noundef 5) #12
  %5539 = icmp eq i32 %5538, -1
  br i1 %5539, label %5540, label %5562

5540:                                             ; preds = %5535
  %5541 = load i32, ptr %287, align 4, !tbaa !5
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5543 = call i32 @s2n_print_stacktrace(ptr noundef %5542) #12
  %5544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5545 = trunc nuw i8 %5544 to i1
  br i1 %5545, label %5546, label %5550

5546:                                             ; preds = %5540
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = call i32 @fileno(ptr noundef %5547) #12
  %5549 = call i32 @isatty(i32 noundef %5548) #12
  %.not718 = icmp eq i32 %5549, 0
  br i1 %.not718, label %5550, label %5551

5550:                                             ; preds = %5546, %5540
  br label %5551

5551:                                             ; preds = %5546, %5550
  %.str.25.sink2681 = phi ptr [ @.str.25, %5550 ], [ @.str.22, %5546 ]
  store i32 %5541, ptr %287, align 4, !tbaa !5
  %5552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5553 = load i32, ptr @test_count, align 4, !tbaa !5
  %5554 = load i32, ptr %233, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror(i32 noundef %5554, ptr noundef nonnull @.str.24) #12
  %5556 = load i32, ptr %233, align 4, !tbaa !5
  %5557 = call ptr @s2n_strerror_debug(i32 noundef %5556, ptr noundef nonnull @.str.24) #12
  %5558 = load i32, ptr %287, align 4, !tbaa !5
  %5559 = call ptr @strerror(i32 noundef %5558) #12
  %5560 = load i32, ptr %287, align 4, !tbaa !5
  %5561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5552, ptr noundef nonnull %.str.25.sink2681, i32 noundef %5553, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.21, i32 noundef 543, ptr noundef %5555, ptr noundef %5557, ptr noundef %5559, i32 noundef %5560) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5562:                                             ; preds = %5535
  %5563 = load i32, ptr @test_count, align 4, !tbaa !5
  %5564 = add nsw i32 %5563, 1
  store i32 %5564, ptr @test_count, align 4, !tbaa !5
  %5565 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %29, ptr noundef nonnull @TEST_DATA, i32 noundef 5) #12
  %5566 = icmp eq i32 %5565, -1
  br i1 %5566, label %5567, label %5589

5567:                                             ; preds = %5562
  %5568 = load i32, ptr %287, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = call i32 @s2n_print_stacktrace(ptr noundef %5569) #12
  %5571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5572 = trunc nuw i8 %5571 to i1
  br i1 %5572, label %5573, label %5577

5573:                                             ; preds = %5567
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = call i32 @fileno(ptr noundef %5574) #12
  %5576 = call i32 @isatty(i32 noundef %5575) #12
  %.not717 = icmp eq i32 %5576, 0
  br i1 %.not717, label %5577, label %5578

5577:                                             ; preds = %5573, %5567
  br label %5578

5578:                                             ; preds = %5573, %5577
  %.str.25.sink2690 = phi ptr [ @.str.25, %5577 ], [ @.str.22, %5573 ]
  store i32 %5568, ptr %287, align 4, !tbaa !5
  %5579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5580 = load i32, ptr @test_count, align 4, !tbaa !5
  %5581 = load i32, ptr %233, align 4, !tbaa !5
  %5582 = call ptr @s2n_strerror(i32 noundef %5581, ptr noundef nonnull @.str.24) #12
  %5583 = load i32, ptr %233, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror_debug(i32 noundef %5583, ptr noundef nonnull @.str.24) #12
  %5585 = load i32, ptr %287, align 4, !tbaa !5
  %5586 = call ptr @strerror(i32 noundef %5585) #12
  %5587 = load i32, ptr %287, align 4, !tbaa !5
  %5588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5579, ptr noundef nonnull %.str.25.sink2690, i32 noundef %5580, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.21, i32 noundef 544, ptr noundef %5582, ptr noundef %5584, ptr noundef %5586, i32 noundef %5587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5589:                                             ; preds = %5562
  %5590 = load i32, ptr @test_count, align 4, !tbaa !5
  %5591 = add nsw i32 %5590, 1
  store i32 %5591, ptr @test_count, align 4, !tbaa !5
  %5592 = load ptr, ptr %28, align 8, !tbaa !9
  %5593 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %5592, ptr noundef nonnull %26) #12
  %5594 = icmp eq i32 %5593, -1
  br i1 %5594, label %5617, label %5595

5595:                                             ; preds = %5589
  %5596 = load i32, ptr %287, align 4, !tbaa !5
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = call i32 @s2n_print_stacktrace(ptr noundef %5597) #12
  %5599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5600 = trunc nuw i8 %5599 to i1
  br i1 %5600, label %5601, label %5605

5601:                                             ; preds = %5595
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = call i32 @fileno(ptr noundef %5602) #12
  %5604 = call i32 @isatty(i32 noundef %5603) #12
  %.not687 = icmp eq i32 %5604, 0
  br i1 %.not687, label %5605, label %5606

5605:                                             ; preds = %5601, %5595
  br label %5606

5606:                                             ; preds = %5601, %5605
  %.str.25.sink2699 = phi ptr [ @.str.25, %5605 ], [ @.str.22, %5601 ]
  store i32 %5596, ptr %287, align 4, !tbaa !5
  %5607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5608 = load i32, ptr @test_count, align 4, !tbaa !5
  %5609 = load i32, ptr %233, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror(i32 noundef %5609, ptr noundef nonnull @.str.24) #12
  %5611 = load i32, ptr %233, align 4, !tbaa !5
  %5612 = call ptr @s2n_strerror_debug(i32 noundef %5611, ptr noundef nonnull @.str.24) #12
  %5613 = load i32, ptr %287, align 4, !tbaa !5
  %5614 = call ptr @strerror(i32 noundef %5613) #12
  %5615 = load i32, ptr %287, align 4, !tbaa !5
  %5616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5607, ptr noundef nonnull %.str.25.sink2699, i32 noundef %5608, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.21, i32 noundef 546, ptr noundef %5610, ptr noundef %5612, ptr noundef %5614, i32 noundef %5615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5617:                                             ; preds = %5589
  %5618 = load i32, ptr @test_count, align 4, !tbaa !5
  %5619 = add nsw i32 %5618, 1
  store i32 %5619, ptr @test_count, align 4, !tbaa !5
  %5620 = load i32, ptr %233, align 4, !tbaa !5
  %5621 = icmp eq i32 %5620, 469762107
  br i1 %5621, label %5644, label %5622

5622:                                             ; preds = %5617
  %5623 = load i32, ptr %287, align 4, !tbaa !5
  %5624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5625 = call i32 @s2n_print_stacktrace(ptr noundef %5624) #12
  %5626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5627 = trunc nuw i8 %5626 to i1
  br i1 %5627, label %5628, label %5632

5628:                                             ; preds = %5622
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = call i32 @fileno(ptr noundef %5629) #12
  %5631 = call i32 @isatty(i32 noundef %5630) #12
  %.not688 = icmp eq i32 %5631, 0
  br i1 %.not688, label %5632, label %5633

5632:                                             ; preds = %5628, %5622
  br label %5633

5633:                                             ; preds = %5628, %5632
  %.str.25.sink2708 = phi ptr [ @.str.25, %5632 ], [ @.str.22, %5628 ]
  store i32 %5623, ptr %287, align 4, !tbaa !5
  %5634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5635 = load i32, ptr @test_count, align 4, !tbaa !5
  %5636 = load i32, ptr %233, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror(i32 noundef %5636, ptr noundef nonnull @.str.24) #12
  %5638 = load i32, ptr %233, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror_debug(i32 noundef %5638, ptr noundef nonnull @.str.24) #12
  %5640 = load i32, ptr %287, align 4, !tbaa !5
  %5641 = call ptr @strerror(i32 noundef %5640) #12
  %5642 = load i32, ptr %287, align 4, !tbaa !5
  %5643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5634, ptr noundef nonnull %.str.25.sink2708, i32 noundef %5635, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.21, i32 noundef 546, ptr noundef %5637, ptr noundef %5639, ptr noundef %5641, i32 noundef %5642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5644:                                             ; preds = %5617
  %5645 = add nsw i32 %5618, 2
  store i32 %5645, ptr @test_count, align 4, !tbaa !5
  %5646 = call ptr @s2n_strerror_debug(i32 noundef 469762107, ptr noundef nonnull @.str.24) #12
  %5647 = icmp eq ptr %5646, null
  br i1 %5647, label %5648, label %5670

5648:                                             ; preds = %5644
  %5649 = load i32, ptr %287, align 4, !tbaa !5
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5651 = call i32 @s2n_print_stacktrace(ptr noundef %5650) #12
  %5652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5653 = trunc nuw i8 %5652 to i1
  br i1 %5653, label %5654, label %5658

5654:                                             ; preds = %5648
  %5655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5656 = call i32 @fileno(ptr noundef %5655) #12
  %5657 = call i32 @isatty(i32 noundef %5656) #12
  %.not716 = icmp eq i32 %5657, 0
  br i1 %.not716, label %5658, label %5659

5658:                                             ; preds = %5654, %5648
  br label %5659

5659:                                             ; preds = %5654, %5658
  %.str.25.sink2717 = phi ptr [ @.str.25, %5658 ], [ @.str.22, %5654 ]
  store i32 %5649, ptr %287, align 4, !tbaa !5
  %5660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5661 = load i32, ptr @test_count, align 4, !tbaa !5
  %5662 = load i32, ptr %233, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror(i32 noundef %5662, ptr noundef nonnull @.str.24) #12
  %5664 = load i32, ptr %233, align 4, !tbaa !5
  %5665 = call ptr @s2n_strerror_debug(i32 noundef %5664, ptr noundef nonnull @.str.24) #12
  %5666 = load i32, ptr %287, align 4, !tbaa !5
  %5667 = call ptr @strerror(i32 noundef %5666) #12
  %5668 = load i32, ptr %287, align 4, !tbaa !5
  %5669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5660, ptr noundef nonnull %.str.25.sink2717, i32 noundef %5661, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 546, ptr noundef %5663, ptr noundef %5665, ptr noundef %5667, i32 noundef %5668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5670:                                             ; preds = %5644
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %5671 = call i32 @s2n_stuffer_free(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #12
  %5672 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  %5673 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5673, ptr %30, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %5674 = call ptr @s2n_config_new() #12
  store ptr %5674, ptr %31, align 8, !tbaa !9
  %5675 = load i32, ptr @test_count, align 4, !tbaa !5
  %5676 = add nsw i32 %5675, 1
  store i32 %5676, ptr @test_count, align 4, !tbaa !5
  %5677 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %5674, i8 noundef zeroext 1) #12
  %5678 = icmp eq i32 %5677, -1
  br i1 %5678, label %5679, label %5701

5679:                                             ; preds = %5670
  %5680 = load i32, ptr %287, align 4, !tbaa !5
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = call i32 @s2n_print_stacktrace(ptr noundef %5681) #12
  %5683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5684 = trunc nuw i8 %5683 to i1
  br i1 %5684, label %5685, label %5689

5685:                                             ; preds = %5679
  %5686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5687 = call i32 @fileno(ptr noundef %5686) #12
  %5688 = call i32 @isatty(i32 noundef %5687) #12
  %.not715 = icmp eq i32 %5688, 0
  br i1 %.not715, label %5689, label %5690

5689:                                             ; preds = %5685, %5679
  br label %5690

5690:                                             ; preds = %5685, %5689
  %.str.25.sink2726 = phi ptr [ @.str.25, %5689 ], [ @.str.22, %5685 ]
  store i32 %5680, ptr %287, align 4, !tbaa !5
  %5691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5692 = load i32, ptr @test_count, align 4, !tbaa !5
  %5693 = load i32, ptr %233, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror(i32 noundef %5693, ptr noundef nonnull @.str.24) #12
  %5695 = load i32, ptr %233, align 4, !tbaa !5
  %5696 = call ptr @s2n_strerror_debug(i32 noundef %5695, ptr noundef nonnull @.str.24) #12
  %5697 = load i32, ptr %287, align 4, !tbaa !5
  %5698 = call ptr @strerror(i32 noundef %5697) #12
  %5699 = load i32, ptr %287, align 4, !tbaa !5
  %5700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5691, ptr noundef nonnull %.str.25.sink2726, i32 noundef %5692, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.21, i32 noundef 554, ptr noundef %5694, ptr noundef %5696, ptr noundef %5698, i32 noundef %5699) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5701:                                             ; preds = %5670
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #12
  store i8 0, ptr %32, align 1, !tbaa !43
  %5702 = load i32, ptr @test_count, align 4, !tbaa !5
  %5703 = add nsw i32 %5702, 1
  store i32 %5703, ptr @test_count, align 4, !tbaa !5
  %5704 = load ptr, ptr %31, align 8, !tbaa !9
  %5705 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %5704, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef nonnull %32) #12
  %5706 = icmp eq i32 %5705, -1
  br i1 %5706, label %5707, label %5729

5707:                                             ; preds = %5701
  %5708 = load i32, ptr %287, align 4, !tbaa !5
  %5709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5710 = call i32 @s2n_print_stacktrace(ptr noundef %5709) #12
  %5711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5712 = trunc nuw i8 %5711 to i1
  br i1 %5712, label %5713, label %5717

5713:                                             ; preds = %5707
  %5714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5715 = call i32 @fileno(ptr noundef %5714) #12
  %5716 = call i32 @isatty(i32 noundef %5715) #12
  %.not714 = icmp eq i32 %5716, 0
  br i1 %.not714, label %5717, label %5718

5717:                                             ; preds = %5713, %5707
  br label %5718

5718:                                             ; preds = %5713, %5717
  %.str.25.sink2735 = phi ptr [ @.str.25, %5717 ], [ @.str.22, %5713 ]
  store i32 %5708, ptr %287, align 4, !tbaa !5
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = load i32, ptr @test_count, align 4, !tbaa !5
  %5721 = load i32, ptr %233, align 4, !tbaa !5
  %5722 = call ptr @s2n_strerror(i32 noundef %5721, ptr noundef nonnull @.str.24) #12
  %5723 = load i32, ptr %233, align 4, !tbaa !5
  %5724 = call ptr @s2n_strerror_debug(i32 noundef %5723, ptr noundef nonnull @.str.24) #12
  %5725 = load i32, ptr %287, align 4, !tbaa !5
  %5726 = call ptr @strerror(i32 noundef %5725) #12
  %5727 = load i32, ptr %287, align 4, !tbaa !5
  %5728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5719, ptr noundef nonnull %.str.25.sink2735, i32 noundef %5720, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.21, i32 noundef 556, ptr noundef %5722, ptr noundef %5724, ptr noundef %5726, i32 noundef %5727) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5729:                                             ; preds = %5701
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = add nsw i32 %5730, 1
  store i32 %5731, ptr @test_count, align 4, !tbaa !5
  %5732 = load ptr, ptr %30, align 8, !tbaa !9
  %5733 = load ptr, ptr %31, align 8, !tbaa !9
  %5734 = call i32 @s2n_connection_set_config(ptr noundef %5732, ptr noundef %5733) #12
  %5735 = icmp eq i32 %5734, -1
  br i1 %5735, label %5736, label %5758

5736:                                             ; preds = %5729
  %5737 = load i32, ptr %287, align 4, !tbaa !5
  %5738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5739 = call i32 @s2n_print_stacktrace(ptr noundef %5738) #12
  %5740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5741 = trunc nuw i8 %5740 to i1
  br i1 %5741, label %5742, label %5746

5742:                                             ; preds = %5736
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @fileno(ptr noundef %5743) #12
  %5745 = call i32 @isatty(i32 noundef %5744) #12
  %.not713 = icmp eq i32 %5745, 0
  br i1 %.not713, label %5746, label %5747

5746:                                             ; preds = %5742, %5736
  br label %5747

5747:                                             ; preds = %5742, %5746
  %.str.25.sink2744 = phi ptr [ @.str.25, %5746 ], [ @.str.22, %5742 ]
  store i32 %5737, ptr %287, align 4, !tbaa !5
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = load i32, ptr @test_count, align 4, !tbaa !5
  %5750 = load i32, ptr %233, align 4, !tbaa !5
  %5751 = call ptr @s2n_strerror(i32 noundef %5750, ptr noundef nonnull @.str.24) #12
  %5752 = load i32, ptr %233, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror_debug(i32 noundef %5752, ptr noundef nonnull @.str.24) #12
  %5754 = load i32, ptr %287, align 4, !tbaa !5
  %5755 = call ptr @strerror(i32 noundef %5754) #12
  %5756 = load i32, ptr %287, align 4, !tbaa !5
  %5757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5748, ptr noundef nonnull %.str.25.sink2744, i32 noundef %5749, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 557, ptr noundef %5751, ptr noundef %5753, ptr noundef %5755, i32 noundef %5756) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5758:                                             ; preds = %5729
  %5759 = load ptr, ptr %30, align 8, !tbaa !9
  %5760 = getelementptr inbounds i8, ptr %5759, i64 232
  %5761 = load ptr, ptr %5760, align 8, !tbaa !58
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5761, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %33) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %33, i8 0, i64 40, i1 false)
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = add nsw i32 %5762, 1
  store i32 %5763, ptr @test_count, align 4, !tbaa !5
  %5764 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %33, i32 noundef 0) #12
  %5765 = icmp eq i32 %5764, -1
  br i1 %5765, label %5766, label %5788

5766:                                             ; preds = %5758
  %5767 = load i32, ptr %287, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = call i32 @s2n_print_stacktrace(ptr noundef %5768) #12
  %5770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5771 = trunc nuw i8 %5770 to i1
  br i1 %5771, label %5772, label %5776

5772:                                             ; preds = %5766
  %5773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5774 = call i32 @fileno(ptr noundef %5773) #12
  %5775 = call i32 @isatty(i32 noundef %5774) #12
  %.not712 = icmp eq i32 %5775, 0
  br i1 %.not712, label %5776, label %5777

5776:                                             ; preds = %5772, %5766
  br label %5777

5777:                                             ; preds = %5772, %5776
  %.str.25.sink2753 = phi ptr [ @.str.25, %5776 ], [ @.str.22, %5772 ]
  store i32 %5767, ptr %287, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = load i32, ptr %233, align 4, !tbaa !5
  %5781 = call ptr @s2n_strerror(i32 noundef %5780, ptr noundef nonnull @.str.24) #12
  %5782 = load i32, ptr %233, align 4, !tbaa !5
  %5783 = call ptr @s2n_strerror_debug(i32 noundef %5782, ptr noundef nonnull @.str.24) #12
  %5784 = load i32, ptr %287, align 4, !tbaa !5
  %5785 = call ptr @strerror(i32 noundef %5784) #12
  %5786 = load i32, ptr %287, align 4, !tbaa !5
  %5787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5778, ptr noundef nonnull %.str.25.sink2753, i32 noundef %5779, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 561, ptr noundef %5781, ptr noundef %5783, ptr noundef %5785, i32 noundef %5786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5788:                                             ; preds = %5758
  %5789 = load i32, ptr @test_count, align 4, !tbaa !5
  %5790 = add nsw i32 %5789, 1
  store i32 %5790, ptr @test_count, align 4, !tbaa !5
  %5791 = load ptr, ptr %30, align 8, !tbaa !9
  %5792 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %33, ptr noundef nonnull %33, ptr noundef %5791) #12
  %5793 = icmp eq i32 %5792, -1
  br i1 %5793, label %5794, label %5816

5794:                                             ; preds = %5788
  %5795 = load i32, ptr %287, align 4, !tbaa !5
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = call i32 @s2n_print_stacktrace(ptr noundef %5796) #12
  %5798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5799 = trunc nuw i8 %5798 to i1
  br i1 %5799, label %5800, label %5804

5800:                                             ; preds = %5794
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = call i32 @fileno(ptr noundef %5801) #12
  %5803 = call i32 @isatty(i32 noundef %5802) #12
  %.not711 = icmp eq i32 %5803, 0
  br i1 %.not711, label %5804, label %5805

5804:                                             ; preds = %5800, %5794
  br label %5805

5805:                                             ; preds = %5800, %5804
  %.str.25.sink2762 = phi ptr [ @.str.25, %5804 ], [ @.str.22, %5800 ]
  store i32 %5795, ptr %287, align 4, !tbaa !5
  %5806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5807 = load i32, ptr @test_count, align 4, !tbaa !5
  %5808 = load i32, ptr %233, align 4, !tbaa !5
  %5809 = call ptr @s2n_strerror(i32 noundef %5808, ptr noundef nonnull @.str.24) #12
  %5810 = load i32, ptr %233, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror_debug(i32 noundef %5810, ptr noundef nonnull @.str.24) #12
  %5812 = load i32, ptr %287, align 4, !tbaa !5
  %5813 = call ptr @strerror(i32 noundef %5812) #12
  %5814 = load i32, ptr %287, align 4, !tbaa !5
  %5815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5806, ptr noundef nonnull %.str.25.sink2762, i32 noundef %5807, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 562, ptr noundef %5809, ptr noundef %5811, ptr noundef %5813, i32 noundef %5814) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5816:                                             ; preds = %5788
  %5817 = load i32, ptr @test_count, align 4, !tbaa !5
  %5818 = add nsw i32 %5817, 1
  store i32 %5818, ptr @test_count, align 4, !tbaa !5
  %5819 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %33, ptr noundef nonnull %27, i32 noundef 22) #12
  %5820 = icmp eq i32 %5819, -1
  br i1 %5820, label %5821, label %5843

5821:                                             ; preds = %5816
  %5822 = load i32, ptr %287, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = call i32 @s2n_print_stacktrace(ptr noundef %5823) #12
  %5825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5826 = trunc nuw i8 %5825 to i1
  br i1 %5826, label %5827, label %5831

5827:                                             ; preds = %5821
  %5828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5829 = call i32 @fileno(ptr noundef %5828) #12
  %5830 = call i32 @isatty(i32 noundef %5829) #12
  %.not710 = icmp eq i32 %5830, 0
  br i1 %.not710, label %5831, label %5832

5831:                                             ; preds = %5827, %5821
  br label %5832

5832:                                             ; preds = %5827, %5831
  %.str.25.sink2771 = phi ptr [ @.str.25, %5831 ], [ @.str.22, %5827 ]
  store i32 %5822, ptr %287, align 4, !tbaa !5
  %5833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = load i32, ptr %233, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror(i32 noundef %5835, ptr noundef nonnull @.str.24) #12
  %5837 = load i32, ptr %233, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror_debug(i32 noundef %5837, ptr noundef nonnull @.str.24) #12
  %5839 = load i32, ptr %287, align 4, !tbaa !5
  %5840 = call ptr @strerror(i32 noundef %5839) #12
  %5841 = load i32, ptr %287, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5833, ptr noundef nonnull %.str.25.sink2771, i32 noundef %5834, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.21, i32 noundef 565, ptr noundef %5836, ptr noundef %5838, ptr noundef %5840, i32 noundef %5841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5843:                                             ; preds = %5816
  %5844 = load i32, ptr @test_count, align 4, !tbaa !5
  %5845 = add nsw i32 %5844, 1
  store i32 %5845, ptr @test_count, align 4, !tbaa !5
  %5846 = load ptr, ptr %30, align 8, !tbaa !9
  %5847 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %5846, ptr noundef nonnull %26) #12
  %5848 = icmp eq i32 %5847, -1
  br i1 %5848, label %5849, label %5871

5849:                                             ; preds = %5843
  %5850 = load i32, ptr %287, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = call i32 @s2n_print_stacktrace(ptr noundef %5851) #12
  %5853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5854 = trunc nuw i8 %5853 to i1
  br i1 %5854, label %5855, label %5859

5855:                                             ; preds = %5849
  %5856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5857 = call i32 @fileno(ptr noundef %5856) #12
  %5858 = call i32 @isatty(i32 noundef %5857) #12
  %.not709 = icmp eq i32 %5858, 0
  br i1 %.not709, label %5859, label %5860

5859:                                             ; preds = %5855, %5849
  br label %5860

5860:                                             ; preds = %5855, %5859
  %.str.25.sink2780 = phi ptr [ @.str.25, %5859 ], [ @.str.22, %5855 ]
  store i32 %5850, ptr %287, align 4, !tbaa !5
  %5861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5862 = load i32, ptr @test_count, align 4, !tbaa !5
  %5863 = load i32, ptr %233, align 4, !tbaa !5
  %5864 = call ptr @s2n_strerror(i32 noundef %5863, ptr noundef nonnull @.str.24) #12
  %5865 = load i32, ptr %233, align 4, !tbaa !5
  %5866 = call ptr @s2n_strerror_debug(i32 noundef %5865, ptr noundef nonnull @.str.24) #12
  %5867 = load i32, ptr %287, align 4, !tbaa !5
  %5868 = call ptr @strerror(i32 noundef %5867) #12
  %5869 = load i32, ptr %287, align 4, !tbaa !5
  %5870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5861, ptr noundef nonnull %.str.25.sink2780, i32 noundef %5862, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.21, i32 noundef 567, ptr noundef %5864, ptr noundef %5866, ptr noundef %5868, i32 noundef %5869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5871:                                             ; preds = %5843
  %5872 = load i32, ptr @test_count, align 4, !tbaa !5
  %5873 = add nsw i32 %5872, 1
  store i32 %5873, ptr @test_count, align 4, !tbaa !5
  %5874 = load i8, ptr %32, align 1, !tbaa !43
  %5875 = icmp eq i8 %5874, 1
  br i1 %5875, label %5898, label %5876

5876:                                             ; preds = %5871
  %5877 = load i32, ptr %287, align 4, !tbaa !5
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = call i32 @s2n_print_stacktrace(ptr noundef %5878) #12
  %5880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5881 = trunc nuw i8 %5880 to i1
  br i1 %5881, label %5882, label %5886

5882:                                             ; preds = %5876
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = call i32 @fileno(ptr noundef %5883) #12
  %5885 = call i32 @isatty(i32 noundef %5884) #12
  %.not689 = icmp eq i32 %5885, 0
  br i1 %.not689, label %5886, label %5887

5886:                                             ; preds = %5882, %5876
  br label %5887

5887:                                             ; preds = %5882, %5886
  %.str.25.sink2789 = phi ptr [ @.str.25, %5886 ], [ @.str.22, %5882 ]
  store i32 %5877, ptr %287, align 4, !tbaa !5
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = load i32, ptr @test_count, align 4, !tbaa !5
  %5890 = load i32, ptr %233, align 4, !tbaa !5
  %5891 = call ptr @s2n_strerror(i32 noundef %5890, ptr noundef nonnull @.str.24) #12
  %5892 = load i32, ptr %233, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror_debug(i32 noundef %5892, ptr noundef nonnull @.str.24) #12
  %5894 = load i32, ptr %287, align 4, !tbaa !5
  %5895 = call ptr @strerror(i32 noundef %5894) #12
  %5896 = load i32, ptr %287, align 4, !tbaa !5
  %5897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5888, ptr noundef nonnull %.str.25.sink2789, i32 noundef %5889, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.21, i32 noundef 570, ptr noundef %5891, ptr noundef %5893, ptr noundef %5895, i32 noundef %5896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5898:                                             ; preds = %5871
  %5899 = call i32 @s2n_stuffer_free(ptr noundef nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #12
  %5900 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  %5901 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  br label %5905

5902:                                             ; preds = %6294
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #12
  %5903 = call i32 @s2n_cleanup() #12
  %5904 = icmp eq i32 %5903, -1
  br i1 %5904, label %6299, label %6321

5905:                                             ; preds = %5898, %6294
  %.0595882 = phi i64 [ 1, %5898 ], [ %6298, %6294 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  %5906 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5906, ptr %34, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %5907 = call ptr @s2n_config_new() #12
  store ptr %5907, ptr %35, align 8, !tbaa !9
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = add nsw i32 %5908, 1
  store i32 %5909, ptr @test_count, align 4, !tbaa !5
  %5910 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %5907, i8 noundef zeroext 1) #12
  %5911 = icmp eq i32 %5910, -1
  br i1 %5911, label %5912, label %5934

5912:                                             ; preds = %5905
  %5913 = load i32, ptr %287, align 4, !tbaa !5
  %5914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5915 = call i32 @s2n_print_stacktrace(ptr noundef %5914) #12
  %5916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5917 = trunc nuw i8 %5916 to i1
  br i1 %5917, label %5918, label %5922

5918:                                             ; preds = %5912
  %5919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5920 = call i32 @fileno(ptr noundef %5919) #12
  %5921 = call i32 @isatty(i32 noundef %5920) #12
  %.not708 = icmp eq i32 %5921, 0
  br i1 %.not708, label %5922, label %5923

5922:                                             ; preds = %5918, %5912
  br label %5923

5923:                                             ; preds = %5918, %5922
  %.str.25.sink2798 = phi ptr [ @.str.25, %5922 ], [ @.str.22, %5918 ]
  store i32 %5913, ptr %287, align 4, !tbaa !5
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = load i32, ptr @test_count, align 4, !tbaa !5
  %5926 = load i32, ptr %233, align 4, !tbaa !5
  %5927 = call ptr @s2n_strerror(i32 noundef %5926, ptr noundef nonnull @.str.24) #12
  %5928 = load i32, ptr %233, align 4, !tbaa !5
  %5929 = call ptr @s2n_strerror_debug(i32 noundef %5928, ptr noundef nonnull @.str.24) #12
  %5930 = load i32, ptr %287, align 4, !tbaa !5
  %5931 = call ptr @strerror(i32 noundef %5930) #12
  %5932 = load i32, ptr %287, align 4, !tbaa !5
  %5933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5924, ptr noundef nonnull %.str.25.sink2798, i32 noundef %5925, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.21, i32 noundef 577, ptr noundef %5927, ptr noundef %5929, ptr noundef %5931, i32 noundef %5932) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5934:                                             ; preds = %5905
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #12
  store i8 0, ptr %36, align 1, !tbaa !43
  %5935 = load i32, ptr @test_count, align 4, !tbaa !5
  %5936 = add nsw i32 %5935, 1
  store i32 %5936, ptr @test_count, align 4, !tbaa !5
  %5937 = load ptr, ptr %35, align 8, !tbaa !9
  %5938 = call i32 @s2n_config_set_session_ticket_cb(ptr noundef %5937, ptr noundef nonnull @s2n_test_session_ticket_cb, ptr noundef nonnull %36) #12
  %5939 = icmp eq i32 %5938, -1
  br i1 %5939, label %5940, label %5962

5940:                                             ; preds = %5934
  %5941 = load i32, ptr %287, align 4, !tbaa !5
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5943 = call i32 @s2n_print_stacktrace(ptr noundef %5942) #12
  %5944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5945 = trunc nuw i8 %5944 to i1
  br i1 %5945, label %5946, label %5950

5946:                                             ; preds = %5940
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @fileno(ptr noundef %5947) #12
  %5949 = call i32 @isatty(i32 noundef %5948) #12
  %.not707 = icmp eq i32 %5949, 0
  br i1 %.not707, label %5950, label %5951

5950:                                             ; preds = %5946, %5940
  br label %5951

5951:                                             ; preds = %5946, %5950
  %.str.25.sink2807 = phi ptr [ @.str.25, %5950 ], [ @.str.22, %5946 ]
  store i32 %5941, ptr %287, align 4, !tbaa !5
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = load i32, ptr @test_count, align 4, !tbaa !5
  %5954 = load i32, ptr %233, align 4, !tbaa !5
  %5955 = call ptr @s2n_strerror(i32 noundef %5954, ptr noundef nonnull @.str.24) #12
  %5956 = load i32, ptr %233, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror_debug(i32 noundef %5956, ptr noundef nonnull @.str.24) #12
  %5958 = load i32, ptr %287, align 4, !tbaa !5
  %5959 = call ptr @strerror(i32 noundef %5958) #12
  %5960 = load i32, ptr %287, align 4, !tbaa !5
  %5961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5952, ptr noundef nonnull %.str.25.sink2807, i32 noundef %5953, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.21, i32 noundef 579, ptr noundef %5955, ptr noundef %5957, ptr noundef %5959, i32 noundef %5960) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5962:                                             ; preds = %5934
  %5963 = load i32, ptr @test_count, align 4, !tbaa !5
  %5964 = add nsw i32 %5963, 1
  store i32 %5964, ptr @test_count, align 4, !tbaa !5
  %5965 = load ptr, ptr %34, align 8, !tbaa !9
  %5966 = load ptr, ptr %35, align 8, !tbaa !9
  %5967 = call i32 @s2n_connection_set_config(ptr noundef %5965, ptr noundef %5966) #12
  %5968 = icmp eq i32 %5967, -1
  br i1 %5968, label %5969, label %5991

5969:                                             ; preds = %5962
  %5970 = load i32, ptr %287, align 4, !tbaa !5
  %5971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5972 = call i32 @s2n_print_stacktrace(ptr noundef %5971) #12
  %5973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5974 = trunc nuw i8 %5973 to i1
  br i1 %5974, label %5975, label %5979

5975:                                             ; preds = %5969
  %5976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5977 = call i32 @fileno(ptr noundef %5976) #12
  %5978 = call i32 @isatty(i32 noundef %5977) #12
  %.not706 = icmp eq i32 %5978, 0
  br i1 %.not706, label %5979, label %5980

5979:                                             ; preds = %5975, %5969
  br label %5980

5980:                                             ; preds = %5975, %5979
  %.str.25.sink2816 = phi ptr [ @.str.25, %5979 ], [ @.str.22, %5975 ]
  store i32 %5970, ptr %287, align 4, !tbaa !5
  %5981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5982 = load i32, ptr @test_count, align 4, !tbaa !5
  %5983 = load i32, ptr %233, align 4, !tbaa !5
  %5984 = call ptr @s2n_strerror(i32 noundef %5983, ptr noundef nonnull @.str.24) #12
  %5985 = load i32, ptr %233, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror_debug(i32 noundef %5985, ptr noundef nonnull @.str.24) #12
  %5987 = load i32, ptr %287, align 4, !tbaa !5
  %5988 = call ptr @strerror(i32 noundef %5987) #12
  %5989 = load i32, ptr %287, align 4, !tbaa !5
  %5990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5981, ptr noundef nonnull %.str.25.sink2816, i32 noundef %5982, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.21, i32 noundef 580, ptr noundef %5984, ptr noundef %5986, ptr noundef %5988, i32 noundef %5989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5991:                                             ; preds = %5962
  %5992 = load ptr, ptr %34, align 8, !tbaa !9
  %5993 = getelementptr inbounds i8, ptr %5992, i64 232
  %5994 = load ptr, ptr %5993, align 8, !tbaa !58
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5994, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %37) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %37, i8 0, i64 40, i1 false)
  %5995 = load i32, ptr @test_count, align 4, !tbaa !5
  %5996 = add nsw i32 %5995, 1
  store i32 %5996, ptr @test_count, align 4, !tbaa !5
  %5997 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %37, i32 noundef 0) #12
  %5998 = icmp eq i32 %5997, -1
  br i1 %5998, label %5999, label %6021

5999:                                             ; preds = %5991
  %6000 = load i32, ptr %287, align 4, !tbaa !5
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = call i32 @s2n_print_stacktrace(ptr noundef %6001) #12
  %6003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6004 = trunc nuw i8 %6003 to i1
  br i1 %6004, label %6005, label %6009

6005:                                             ; preds = %5999
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = call i32 @fileno(ptr noundef %6006) #12
  %6008 = call i32 @isatty(i32 noundef %6007) #12
  %.not705 = icmp eq i32 %6008, 0
  br i1 %.not705, label %6009, label %6010

6009:                                             ; preds = %6005, %5999
  br label %6010

6010:                                             ; preds = %6005, %6009
  %.str.25.sink2825 = phi ptr [ @.str.25, %6009 ], [ @.str.22, %6005 ]
  store i32 %6000, ptr %287, align 4, !tbaa !5
  %6011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6012 = load i32, ptr @test_count, align 4, !tbaa !5
  %6013 = load i32, ptr %233, align 4, !tbaa !5
  %6014 = call ptr @s2n_strerror(i32 noundef %6013, ptr noundef nonnull @.str.24) #12
  %6015 = load i32, ptr %233, align 4, !tbaa !5
  %6016 = call ptr @s2n_strerror_debug(i32 noundef %6015, ptr noundef nonnull @.str.24) #12
  %6017 = load i32, ptr %287, align 4, !tbaa !5
  %6018 = call ptr @strerror(i32 noundef %6017) #12
  %6019 = load i32, ptr %287, align 4, !tbaa !5
  %6020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6011, ptr noundef nonnull %.str.25.sink2825, i32 noundef %6012, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.21, i32 noundef 584, ptr noundef %6014, ptr noundef %6016, ptr noundef %6018, i32 noundef %6019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6021:                                             ; preds = %5991
  %6022 = load i32, ptr @test_count, align 4, !tbaa !5
  %6023 = add nsw i32 %6022, 1
  store i32 %6023, ptr @test_count, align 4, !tbaa !5
  %6024 = load ptr, ptr %34, align 8, !tbaa !9
  %6025 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %37, ptr noundef nonnull %37, ptr noundef %6024) #12
  %6026 = icmp eq i32 %6025, -1
  br i1 %6026, label %6027, label %6049

6027:                                             ; preds = %6021
  %6028 = load i32, ptr %287, align 4, !tbaa !5
  %6029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6030 = call i32 @s2n_print_stacktrace(ptr noundef %6029) #12
  %6031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6032 = trunc nuw i8 %6031 to i1
  br i1 %6032, label %6033, label %6037

6033:                                             ; preds = %6027
  %6034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6035 = call i32 @fileno(ptr noundef %6034) #12
  %6036 = call i32 @isatty(i32 noundef %6035) #12
  %.not704 = icmp eq i32 %6036, 0
  br i1 %.not704, label %6037, label %6038

6037:                                             ; preds = %6033, %6027
  br label %6038

6038:                                             ; preds = %6033, %6037
  %.str.25.sink2834 = phi ptr [ @.str.25, %6037 ], [ @.str.22, %6033 ]
  store i32 %6028, ptr %287, align 4, !tbaa !5
  %6039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6040 = load i32, ptr @test_count, align 4, !tbaa !5
  %6041 = load i32, ptr %233, align 4, !tbaa !5
  %6042 = call ptr @s2n_strerror(i32 noundef %6041, ptr noundef nonnull @.str.24) #12
  %6043 = load i32, ptr %233, align 4, !tbaa !5
  %6044 = call ptr @s2n_strerror_debug(i32 noundef %6043, ptr noundef nonnull @.str.24) #12
  %6045 = load i32, ptr %287, align 4, !tbaa !5
  %6046 = call ptr @strerror(i32 noundef %6045) #12
  %6047 = load i32, ptr %287, align 4, !tbaa !5
  %6048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6039, ptr noundef nonnull %.str.25.sink2834, i32 noundef %6040, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.21, i32 noundef 585, ptr noundef %6042, ptr noundef %6044, ptr noundef %6046, i32 noundef %6047) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6049:                                             ; preds = %6021
  %6050 = load i32, ptr @test_count, align 4, !tbaa !5
  %6051 = add nsw i32 %6050, 1
  store i32 %6051, ptr @test_count, align 4, !tbaa !5
  %6052 = trunc nuw nsw i64 %.0595882 to i32
  %6053 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %37, ptr noundef nonnull %27, i32 noundef %6052) #12
  %6054 = icmp eq i32 %6053, -1
  br i1 %6054, label %6055, label %6077

6055:                                             ; preds = %6049
  %6056 = load i32, ptr %287, align 4, !tbaa !5
  %6057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6058 = call i32 @s2n_print_stacktrace(ptr noundef %6057) #12
  %6059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6060 = trunc nuw i8 %6059 to i1
  br i1 %6060, label %6061, label %6065

6061:                                             ; preds = %6055
  %6062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6063 = call i32 @fileno(ptr noundef %6062) #12
  %6064 = call i32 @isatty(i32 noundef %6063) #12
  %.not703 = icmp eq i32 %6064, 0
  br i1 %.not703, label %6065, label %6066

6065:                                             ; preds = %6061, %6055
  br label %6066

6066:                                             ; preds = %6061, %6065
  %.str.25.sink2843 = phi ptr [ @.str.25, %6065 ], [ @.str.22, %6061 ]
  store i32 %6056, ptr %287, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = load i32, ptr @test_count, align 4, !tbaa !5
  %6069 = load i32, ptr %233, align 4, !tbaa !5
  %6070 = call ptr @s2n_strerror(i32 noundef %6069, ptr noundef nonnull @.str.24) #12
  %6071 = load i32, ptr %233, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror_debug(i32 noundef %6071, ptr noundef nonnull @.str.24) #12
  %6073 = load i32, ptr %287, align 4, !tbaa !5
  %6074 = call ptr @strerror(i32 noundef %6073) #12
  %6075 = load i32, ptr %287, align 4, !tbaa !5
  %6076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6067, ptr noundef nonnull %.str.25.sink2843, i32 noundef %6068, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.21, i32 noundef 588, ptr noundef %6070, ptr noundef %6072, ptr noundef %6074, i32 noundef %6075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6077:                                             ; preds = %6049
  %6078 = load i32, ptr @test_count, align 4, !tbaa !5
  %6079 = add nsw i32 %6078, 1
  store i32 %6079, ptr @test_count, align 4, !tbaa !5
  %6080 = load ptr, ptr %34, align 8, !tbaa !9
  %6081 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %6080, ptr noundef nonnull %26) #12
  %6082 = icmp eq i32 %6081, -1
  br i1 %6082, label %6105, label %6083

6083:                                             ; preds = %6077
  %6084 = load i32, ptr %287, align 4, !tbaa !5
  %6085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6086 = call i32 @s2n_print_stacktrace(ptr noundef %6085) #12
  %6087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6088 = trunc nuw i8 %6087 to i1
  br i1 %6088, label %6089, label %6093

6089:                                             ; preds = %6083
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = call i32 @fileno(ptr noundef %6090) #12
  %6092 = call i32 @isatty(i32 noundef %6091) #12
  %.not695 = icmp eq i32 %6092, 0
  br i1 %.not695, label %6093, label %6094

6093:                                             ; preds = %6089, %6083
  br label %6094

6094:                                             ; preds = %6089, %6093
  %.str.25.sink2852 = phi ptr [ @.str.25, %6093 ], [ @.str.22, %6089 ]
  store i32 %6084, ptr %287, align 4, !tbaa !5
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = load i32, ptr @test_count, align 4, !tbaa !5
  %6097 = load i32, ptr %233, align 4, !tbaa !5
  %6098 = call ptr @s2n_strerror(i32 noundef %6097, ptr noundef nonnull @.str.24) #12
  %6099 = load i32, ptr %233, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror_debug(i32 noundef %6099, ptr noundef nonnull @.str.24) #12
  %6101 = load i32, ptr %287, align 4, !tbaa !5
  %6102 = call ptr @strerror(i32 noundef %6101) #12
  %6103 = load i32, ptr %287, align 4, !tbaa !5
  %6104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6095, ptr noundef nonnull %.str.25.sink2852, i32 noundef %6096, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.21, i32 noundef 590, ptr noundef %6098, ptr noundef %6100, ptr noundef %6102, i32 noundef %6103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6105:                                             ; preds = %6077
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %6107 = add nsw i32 %6106, 1
  store i32 %6107, ptr @test_count, align 4, !tbaa !5
  %6108 = load i32, ptr %233, align 4, !tbaa !5
  %6109 = icmp eq i32 %6108, 201326592
  br i1 %6109, label %6132, label %6110

6110:                                             ; preds = %6105
  %6111 = load i32, ptr %287, align 4, !tbaa !5
  %6112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6113 = call i32 @s2n_print_stacktrace(ptr noundef %6112) #12
  %6114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6115 = trunc nuw i8 %6114 to i1
  br i1 %6115, label %6116, label %6120

6116:                                             ; preds = %6110
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @fileno(ptr noundef %6117) #12
  %6119 = call i32 @isatty(i32 noundef %6118) #12
  %.not696 = icmp eq i32 %6119, 0
  br i1 %.not696, label %6120, label %6121

6120:                                             ; preds = %6116, %6110
  br label %6121

6121:                                             ; preds = %6116, %6120
  %.str.25.sink2861 = phi ptr [ @.str.25, %6120 ], [ @.str.22, %6116 ]
  store i32 %6111, ptr %287, align 4, !tbaa !5
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = load i32, ptr @test_count, align 4, !tbaa !5
  %6124 = load i32, ptr %233, align 4, !tbaa !5
  %6125 = call ptr @s2n_strerror(i32 noundef %6124, ptr noundef nonnull @.str.24) #12
  %6126 = load i32, ptr %233, align 4, !tbaa !5
  %6127 = call ptr @s2n_strerror_debug(i32 noundef %6126, ptr noundef nonnull @.str.24) #12
  %6128 = load i32, ptr %287, align 4, !tbaa !5
  %6129 = call ptr @strerror(i32 noundef %6128) #12
  %6130 = load i32, ptr %287, align 4, !tbaa !5
  %6131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6122, ptr noundef nonnull %.str.25.sink2861, i32 noundef %6123, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.21, i32 noundef 590, ptr noundef %6125, ptr noundef %6127, ptr noundef %6129, i32 noundef %6130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6132:                                             ; preds = %6105
  %6133 = add nsw i32 %6106, 2
  store i32 %6133, ptr @test_count, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.24) #12
  %6135 = icmp eq ptr %6134, null
  br i1 %6135, label %6136, label %6158

6136:                                             ; preds = %6132
  %6137 = load i32, ptr %287, align 4, !tbaa !5
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = call i32 @s2n_print_stacktrace(ptr noundef %6138) #12
  %6140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6141 = trunc nuw i8 %6140 to i1
  br i1 %6141, label %6142, label %6146

6142:                                             ; preds = %6136
  %6143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6144 = call i32 @fileno(ptr noundef %6143) #12
  %6145 = call i32 @isatty(i32 noundef %6144) #12
  %.not702 = icmp eq i32 %6145, 0
  br i1 %.not702, label %6146, label %6147

6146:                                             ; preds = %6142, %6136
  br label %6147

6147:                                             ; preds = %6142, %6146
  %.str.25.sink2870 = phi ptr [ @.str.25, %6146 ], [ @.str.22, %6142 ]
  store i32 %6137, ptr %287, align 4, !tbaa !5
  %6148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6149 = load i32, ptr @test_count, align 4, !tbaa !5
  %6150 = load i32, ptr %233, align 4, !tbaa !5
  %6151 = call ptr @s2n_strerror(i32 noundef %6150, ptr noundef nonnull @.str.24) #12
  %6152 = load i32, ptr %233, align 4, !tbaa !5
  %6153 = call ptr @s2n_strerror_debug(i32 noundef %6152, ptr noundef nonnull @.str.24) #12
  %6154 = load i32, ptr %287, align 4, !tbaa !5
  %6155 = call ptr @strerror(i32 noundef %6154) #12
  %6156 = load i32, ptr %287, align 4, !tbaa !5
  %6157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6148, ptr noundef nonnull %.str.25.sink2870, i32 noundef %6149, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.21, i32 noundef 590, ptr noundef %6151, ptr noundef %6153, ptr noundef %6155, i32 noundef %6156) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6158:                                             ; preds = %6132
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %287, align 4, !tbaa !5
  %6159 = load i32, ptr @test_count, align 4, !tbaa !5
  %6160 = add nsw i32 %6159, 1
  store i32 %6160, ptr @test_count, align 4, !tbaa !5
  %6161 = load i32, ptr %26, align 4, !tbaa !5
  %6162 = icmp eq i32 %6161, 1
  br i1 %6162, label %6185, label %6163

6163:                                             ; preds = %6158
  %6164 = load i32, ptr %287, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = call i32 @s2n_print_stacktrace(ptr noundef %6165) #12
  %6167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6168 = trunc nuw i8 %6167 to i1
  br i1 %6168, label %6169, label %6173

6169:                                             ; preds = %6163
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = call i32 @fileno(ptr noundef %6170) #12
  %6172 = call i32 @isatty(i32 noundef %6171) #12
  %.not697 = icmp eq i32 %6172, 0
  br i1 %.not697, label %6173, label %6174

6173:                                             ; preds = %6169, %6163
  br label %6174

6174:                                             ; preds = %6169, %6173
  %.str.25.sink2879 = phi ptr [ @.str.25, %6173 ], [ @.str.22, %6169 ]
  store i32 %6164, ptr %287, align 4, !tbaa !5
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = load i32, ptr @test_count, align 4, !tbaa !5
  %6177 = load i32, ptr %233, align 4, !tbaa !5
  %6178 = call ptr @s2n_strerror(i32 noundef %6177, ptr noundef nonnull @.str.24) #12
  %6179 = load i32, ptr %233, align 4, !tbaa !5
  %6180 = call ptr @s2n_strerror_debug(i32 noundef %6179, ptr noundef nonnull @.str.24) #12
  %6181 = load i32, ptr %287, align 4, !tbaa !5
  %6182 = call ptr @strerror(i32 noundef %6181) #12
  %6183 = load i32, ptr %287, align 4, !tbaa !5
  %6184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6175, ptr noundef nonnull %.str.25.sink2879, i32 noundef %6176, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.21, i32 noundef 591, ptr noundef %6178, ptr noundef %6180, ptr noundef %6182, i32 noundef %6183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6185:                                             ; preds = %6158
  %6186 = add nsw i32 %6159, 2
  store i32 %6186, ptr @test_count, align 4, !tbaa !5
  %6187 = load i8, ptr %36, align 1, !tbaa !43
  %6188 = icmp eq i8 %6187, 0
  br i1 %6188, label %6211, label %6189

6189:                                             ; preds = %6185
  %6190 = load i32, ptr %287, align 4, !tbaa !5
  %6191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6192 = call i32 @s2n_print_stacktrace(ptr noundef %6191) #12
  %6193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6194 = trunc nuw i8 %6193 to i1
  br i1 %6194, label %6195, label %6199

6195:                                             ; preds = %6189
  %6196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6197 = call i32 @fileno(ptr noundef %6196) #12
  %6198 = call i32 @isatty(i32 noundef %6197) #12
  %.not698 = icmp eq i32 %6198, 0
  br i1 %.not698, label %6199, label %6200

6199:                                             ; preds = %6195, %6189
  br label %6200

6200:                                             ; preds = %6195, %6199
  %.str.25.sink2888 = phi ptr [ @.str.25, %6199 ], [ @.str.22, %6195 ]
  store i32 %6190, ptr %287, align 4, !tbaa !5
  %6201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6202 = load i32, ptr @test_count, align 4, !tbaa !5
  %6203 = load i32, ptr %233, align 4, !tbaa !5
  %6204 = call ptr @s2n_strerror(i32 noundef %6203, ptr noundef nonnull @.str.24) #12
  %6205 = load i32, ptr %233, align 4, !tbaa !5
  %6206 = call ptr @s2n_strerror_debug(i32 noundef %6205, ptr noundef nonnull @.str.24) #12
  %6207 = load i32, ptr %287, align 4, !tbaa !5
  %6208 = call ptr @strerror(i32 noundef %6207) #12
  %6209 = load i32, ptr %287, align 4, !tbaa !5
  %6210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6201, ptr noundef nonnull %.str.25.sink2888, i32 noundef %6202, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.21, i32 noundef 594, ptr noundef %6204, ptr noundef %6206, ptr noundef %6208, i32 noundef %6209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6211:                                             ; preds = %6185
  %6212 = add nsw i32 %6159, 3
  store i32 %6212, ptr @test_count, align 4, !tbaa !5
  %6213 = getelementptr inbounds i8, ptr %27, i64 %.0595882
  %6214 = sub nuw nsw i32 22, %6052
  %6215 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %37, ptr noundef nonnull %6213, i32 noundef %6214) #12
  %6216 = icmp eq i32 %6215, -1
  br i1 %6216, label %6217, label %6239

6217:                                             ; preds = %6211
  %6218 = load i32, ptr %287, align 4, !tbaa !5
  %6219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6220 = call i32 @s2n_print_stacktrace(ptr noundef %6219) #12
  %6221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6222 = trunc nuw i8 %6221 to i1
  br i1 %6222, label %6223, label %6227

6223:                                             ; preds = %6217
  %6224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6225 = call i32 @fileno(ptr noundef %6224) #12
  %6226 = call i32 @isatty(i32 noundef %6225) #12
  %.not701 = icmp eq i32 %6226, 0
  br i1 %.not701, label %6227, label %6228

6227:                                             ; preds = %6223, %6217
  br label %6228

6228:                                             ; preds = %6223, %6227
  %.str.25.sink2897 = phi ptr [ @.str.25, %6227 ], [ @.str.22, %6223 ]
  store i32 %6218, ptr %287, align 4, !tbaa !5
  %6229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = load i32, ptr %233, align 4, !tbaa !5
  %6232 = call ptr @s2n_strerror(i32 noundef %6231, ptr noundef nonnull @.str.24) #12
  %6233 = load i32, ptr %233, align 4, !tbaa !5
  %6234 = call ptr @s2n_strerror_debug(i32 noundef %6233, ptr noundef nonnull @.str.24) #12
  %6235 = load i32, ptr %287, align 4, !tbaa !5
  %6236 = call ptr @strerror(i32 noundef %6235) #12
  %6237 = load i32, ptr %287, align 4, !tbaa !5
  %6238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6229, ptr noundef nonnull %.str.25.sink2897, i32 noundef %6230, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.21, i32 noundef 597, ptr noundef %6232, ptr noundef %6234, ptr noundef %6236, i32 noundef %6237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6239:                                             ; preds = %6211
  %6240 = load i32, ptr @test_count, align 4, !tbaa !5
  %6241 = add nsw i32 %6240, 1
  store i32 %6241, ptr @test_count, align 4, !tbaa !5
  %6242 = load ptr, ptr %34, align 8, !tbaa !9
  %6243 = call i32 @s2n_recv_quic_post_handshake_message(ptr noundef %6242, ptr noundef nonnull %26) #12
  %6244 = icmp eq i32 %6243, -1
  br i1 %6244, label %6245, label %6267

6245:                                             ; preds = %6239
  %6246 = load i32, ptr %287, align 4, !tbaa !5
  %6247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6248 = call i32 @s2n_print_stacktrace(ptr noundef %6247) #12
  %6249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6250 = trunc nuw i8 %6249 to i1
  br i1 %6250, label %6251, label %6255

6251:                                             ; preds = %6245
  %6252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6253 = call i32 @fileno(ptr noundef %6252) #12
  %6254 = call i32 @isatty(i32 noundef %6253) #12
  %.not700 = icmp eq i32 %6254, 0
  br i1 %.not700, label %6255, label %6256

6255:                                             ; preds = %6251, %6245
  br label %6256

6256:                                             ; preds = %6251, %6255
  %.str.25.sink2906 = phi ptr [ @.str.25, %6255 ], [ @.str.22, %6251 ]
  store i32 %6246, ptr %287, align 4, !tbaa !5
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = load i32, ptr @test_count, align 4, !tbaa !5
  %6259 = load i32, ptr %233, align 4, !tbaa !5
  %6260 = call ptr @s2n_strerror(i32 noundef %6259, ptr noundef nonnull @.str.24) #12
  %6261 = load i32, ptr %233, align 4, !tbaa !5
  %6262 = call ptr @s2n_strerror_debug(i32 noundef %6261, ptr noundef nonnull @.str.24) #12
  %6263 = load i32, ptr %287, align 4, !tbaa !5
  %6264 = call ptr @strerror(i32 noundef %6263) #12
  %6265 = load i32, ptr %287, align 4, !tbaa !5
  %6266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6257, ptr noundef nonnull %.str.25.sink2906, i32 noundef %6258, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.21, i32 noundef 599, ptr noundef %6260, ptr noundef %6262, ptr noundef %6264, i32 noundef %6265) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6267:                                             ; preds = %6239
  %6268 = load i32, ptr @test_count, align 4, !tbaa !5
  %6269 = add nsw i32 %6268, 1
  store i32 %6269, ptr @test_count, align 4, !tbaa !5
  %6270 = load i8, ptr %36, align 1, !tbaa !43
  %6271 = icmp eq i8 %6270, 1
  br i1 %6271, label %6294, label %6272

6272:                                             ; preds = %6267
  %6273 = load i32, ptr %287, align 4, !tbaa !5
  %6274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6275 = call i32 @s2n_print_stacktrace(ptr noundef %6274) #12
  %6276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6277 = trunc nuw i8 %6276 to i1
  br i1 %6277, label %6278, label %6282

6278:                                             ; preds = %6272
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @fileno(ptr noundef %6279) #12
  %6281 = call i32 @isatty(i32 noundef %6280) #12
  %.not699 = icmp eq i32 %6281, 0
  br i1 %.not699, label %6282, label %6283

6282:                                             ; preds = %6278, %6272
  br label %6283

6283:                                             ; preds = %6278, %6282
  %.str.25.sink2915 = phi ptr [ @.str.25, %6282 ], [ @.str.22, %6278 ]
  store i32 %6273, ptr %287, align 4, !tbaa !5
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = load i32, ptr @test_count, align 4, !tbaa !5
  %6286 = load i32, ptr %233, align 4, !tbaa !5
  %6287 = call ptr @s2n_strerror(i32 noundef %6286, ptr noundef nonnull @.str.24) #12
  %6288 = load i32, ptr %233, align 4, !tbaa !5
  %6289 = call ptr @s2n_strerror_debug(i32 noundef %6288, ptr noundef nonnull @.str.24) #12
  %6290 = load i32, ptr %287, align 4, !tbaa !5
  %6291 = call ptr @strerror(i32 noundef %6290) #12
  %6292 = load i32, ptr %287, align 4, !tbaa !5
  %6293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6284, ptr noundef nonnull %.str.25.sink2915, i32 noundef %6285, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.21, i32 noundef 602, ptr noundef %6287, ptr noundef %6289, ptr noundef %6291, i32 noundef %6292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6294:                                             ; preds = %6267
  %6295 = call i32 @s2n_stuffer_free(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #12
  %6296 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  %6297 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  %6298 = add nuw nsw i64 %.0595882, 1
  %exitcond894.not = icmp eq i64 %6298, 22
  br i1 %exitcond894.not, label %5902, label %5905, !llvm.loop !64

6299:                                             ; preds = %5902
  %6300 = load i32, ptr %287, align 4, !tbaa !5
  %6301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6302 = call i32 @s2n_print_stacktrace(ptr noundef %6301) #12
  %6303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6304 = trunc nuw i8 %6303 to i1
  br i1 %6304, label %6305, label %6309

6305:                                             ; preds = %6299
  %6306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6307 = call i32 @fileno(ptr noundef %6306) #12
  %6308 = call i32 @isatty(i32 noundef %6307) #12
  %.not694 = icmp eq i32 %6308, 0
  br i1 %.not694, label %6309, label %6310

6309:                                             ; preds = %6305, %6299
  br label %6310

6310:                                             ; preds = %6305, %6309
  %.str.25.sink2924 = phi ptr [ @.str.25, %6309 ], [ @.str.22, %6305 ]
  store i32 %6300, ptr %287, align 4, !tbaa !5
  %6311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6312 = load i32, ptr @test_count, align 4, !tbaa !5
  %6313 = load i32, ptr %233, align 4, !tbaa !5
  %6314 = call ptr @s2n_strerror(i32 noundef %6313, ptr noundef nonnull @.str.24) #12
  %6315 = load i32, ptr %233, align 4, !tbaa !5
  %6316 = call ptr @s2n_strerror_debug(i32 noundef %6315, ptr noundef nonnull @.str.24) #12
  %6317 = load i32, ptr %287, align 4, !tbaa !5
  %6318 = call ptr @strerror(i32 noundef %6317) #12
  %6319 = load i32, ptr %287, align 4, !tbaa !5
  %6320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6311, ptr noundef nonnull %.str.25.sink2924, i32 noundef %6312, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.21, i32 noundef 606, ptr noundef %6314, ptr noundef %6316, ptr noundef %6318, i32 noundef %6319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6321:                                             ; preds = %5902
  %6322 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %6323 = icmp eq i32 %6322, -1
  br i1 %6323, label %6324, label %6346

6324:                                             ; preds = %6321
  %6325 = load i32, ptr %287, align 4, !tbaa !5
  %6326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6327 = call i32 @s2n_print_stacktrace(ptr noundef %6326) #12
  %6328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6329 = trunc nuw i8 %6328 to i1
  br i1 %6329, label %6330, label %6334

6330:                                             ; preds = %6324
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @fileno(ptr noundef %6331) #12
  %6333 = call i32 @isatty(i32 noundef %6332) #12
  %.not693 = icmp eq i32 %6333, 0
  br i1 %.not693, label %6334, label %6335

6334:                                             ; preds = %6330, %6324
  br label %6335

6335:                                             ; preds = %6330, %6334
  %.str.25.sink2933 = phi ptr [ @.str.25, %6334 ], [ @.str.22, %6330 ]
  store i32 %6325, ptr %287, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = load i32, ptr @test_count, align 4, !tbaa !5
  %6338 = load i32, ptr %233, align 4, !tbaa !5
  %6339 = call ptr @s2n_strerror(i32 noundef %6338, ptr noundef nonnull @.str.24) #12
  %6340 = load i32, ptr %233, align 4, !tbaa !5
  %6341 = call ptr @s2n_strerror_debug(i32 noundef %6340, ptr noundef nonnull @.str.24) #12
  %6342 = load i32, ptr %287, align 4, !tbaa !5
  %6343 = call ptr @strerror(i32 noundef %6342) #12
  %6344 = load i32, ptr %287, align 4, !tbaa !5
  %6345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6336, ptr noundef nonnull %.str.25.sink2933, i32 noundef %6337, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.21, i32 noundef 606, ptr noundef %6339, ptr noundef %6341, ptr noundef %6343, i32 noundef %6344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6346:                                             ; preds = %6321
  %6347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6348 = trunc nuw i8 %6347 to i1
  br i1 %6348, label %6349, label %6360

6349:                                             ; preds = %6346
  %6350 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6351 = call i32 @fileno(ptr noundef %6350) #12
  %6352 = call i32 @isatty(i32 noundef %6351) #12
  %.not690 = icmp eq i32 %6352, 0
  br i1 %.not690, label %6360, label %6353

6353:                                             ; preds = %6349
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not692 = icmp eq i32 %6354, 0
  %6355 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not692, label %6358, label %6356

6356:                                             ; preds = %6353
  %6357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6355, ptr noundef nonnull @.str.30, i32 noundef %6354) #12
  br label %6367

6358:                                             ; preds = %6353
  %6359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6355, ptr noundef nonnull @.str.31) #12
  br label %6367

6360:                                             ; preds = %6349, %6346
  %6361 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not691 = icmp eq i32 %6361, 0
  %6362 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not691, label %6365, label %6363

6363:                                             ; preds = %6360
  %6364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6362, ptr noundef nonnull @.str.32, i32 noundef %6361) #12
  br label %6367

6365:                                             ; preds = %6360
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6362, ptr noundef nonnull @.str.33) #12
  br label %6367

6367:                                             ; preds = %.thread858, %6358, %6356, %6365, %6363, %192, %190, %199, %197
  %.3 = phi i32 [ 0, %197 ], [ 0, %199 ], [ 0, %190 ], [ 0, %192 ], [ 0, %6363 ], [ 0, %6365 ], [ 0, %6356 ], [ 0, %6358 ], [ -1, %.thread858 ]
  ret i32 %.3
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #8

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #8

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #5

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #8

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #5

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #9

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #10

declare i32 @s2n_enable_atexit() local_unnamed_addr #5

declare i32 @s2n_init() local_unnamed_addr #5

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #5

declare i32 @s2n_cleanup() local_unnamed_addr #5

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #3

declare void @s2n_debug_info_reset() local_unnamed_addr #5

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_quic_read_handshake_message(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #5

declare i32 @s2n_stuffer_write_uint24(ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_record_wipe(ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_read_handler(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_write_handler(ptr noundef) #0

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #5

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

declare ptr @s2n_config_new() local_unnamed_addr #5

declare i32 @s2n_config_enable_quic(ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_conn_for_server_hello(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_conn_for_client_hello(ptr noundef) local_unnamed_addr #0

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_recv_quic_post_handshake_message(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) local_unnamed_addr #5

declare i32 @s2n_config_set_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_session_ticket_cb(ptr noundef, ptr noundef, ptr noundef) #0

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { 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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nofree nosync nounwind willreturn memory(none) "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 #7 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nofree nounwind "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 #9 = { nounwind "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 #10 = { noreturn nounwind "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 #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 1924}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !6, i64 1920}
!43 = !{!7, !7, i64 0}
!44 = !{!16, !6, i64 2044}
!45 = !{!16, !6, i64 2040}
!46 = !{!16, !6, i64 1884}
!47 = !{!16, !6, i64 1880}
!48 = !{!16, !6, i64 1824}
!49 = !{!16, !6, i64 1844}
!50 = distinct !{!50, !51, !52}
!51 = !{!"llvm.loop.mustprogress"}
!52 = !{!"llvm.loop.peeled.count", i32 1}
!53 = !{!32, !6, i64 28}
!54 = !{!32, !6, i64 24}
!55 = !{!25, !6, i64 8}
!56 = distinct !{!56, !51}
!57 = !{!25, !10, i64 0}
!58 = !{!16, !10, i64 232}
!59 = !{!60, !10, i64 0}
!60 = !{!"s2n_crypto_parameters", !10, i64 0, !61, i64 8, !61, i64 16, !62, i64 24, !62, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!61 = !{!"s2n_session_key", !10, i64 0}
!62 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !63, i64 16, !63, i64 72, !63, i64 128, !63, i64 184, !7, i64 240, !7, i64 368}
!63 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!64 = distinct !{!64, !51}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopFullUnrollPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass